Topics: SharpMap v2.0
Oct 17, 2007 at 10:50 AM
I have been lobbying for namespace changes and interface migration in the ProjNet coordinate system project. But inspite of NTS, ProjNet, and GeoAPI being different projects than SharpMap, they seem to all be very closely related with most of the same players. So, this is a blantant lobby for some refactoring that I would like to see for SharpMap V2, B2.

1) I would like the ProjNet interfaces (which are basically compatible with OGC coordinate system and coordinate transformation specifications) to be moved into GeoAPI, which is basically the interfaces for the OGC Simple Feature specification. This would get us a single location for related interfaces and the coordinate system interfaces could be more easily implemented by otehr projects.

2) If the ProjNet stuff is supposed to be an independent and stand-alone project, wouldn't it be well served to get out from underneath the SharpMap namespace? The compiled dll no longer uses the SharpMap name.

3) Any thoughts of refactoring the namespace for NTS before fully integrating it into SharpMap?

Obviously, Item 1 is the biggy. It is not hard to do, but it is a conceptual change. The others are cosmetic but might lead to less confusion for new developers trying to figure out who's on first.

As we've only done a couple months work with NTS and ProjNet, these changes would not be a big impact on us, so it's easy for me to lobby for this change :) I just wanted to put it out on the table, while there are really not many projects based upon SharpMap V2 that are in production. If any of these changes were to be pursued, I volunteer the resources to update all of the test scripts, or do whatever other part of the effort might be assigned to us.

In either case... I'll not bring up the topic again.
Oct 17, 2007 at 12:57 PM
task 1-2 are planned as soon as possible. I plan to export interfaces to GeoAPI then release a v.1.1.
for task 3: I think that NTS code could remain separated from sharpmap code, so i plan to not modify the namespaces