This project has moved and is read-only. For the latest updates, please go here.

NoSQL data provider hooks, spefically how to integrate SharpMap with an object database

Topics: Data Access
Sep 9, 2013 at 12:55 AM
I am looking at how to integrate a non-relational database with SharpMap, the current IProvider interface appears to be designed for relational databases. How would I go about integrating an object database with SharpMap? The VelocityDB database stores any .NET object but needs a few modifications to the map data structures to add object identifier (subclass from OptimizedPersistable) and a call to Update() each time a persistent object is updated. It is very similar to an in memory usage of map data structures. I see how the database could easily replace shape files but that is only part of the picture. Any ideas for how to get started with this open source project? We already have QuadTree and R-tree implemented for VelocityDB.
Sep 10, 2013 at 8:19 AM
Implementing IProvider is actually fairly easy.
1.) You need to have some function that transforms your geodata into IGeometry objects.
2.) You need to have a way to fill as FeatureDataTable with your .Net objects. The DbaseReader class could be used as a source of inspiration.
3.) Pick one of the base Provider classes (I'd take PreparedGeometryProvider)

Currently we are looking for an IFeature, IFeatureSource interface. /Trunk/GeoAPI.Extensions and /Trunk/SharpMap.Features

Your input on this is highly appreciated.

Hth FObermaier