This project has moved. For the latest updates, please go here.

What parts of SharpMap v2.0 are stable or useable

Topics: SharpMap Project, SharpMap v2.0, WinForms Controls
Feb 20, 2010 at 9:15 AM

Hi John/Codekaizen,

Currently I have a working application written using SharpMap v0.9. However, I am interested in porting my application to SharpMap v2.0. I spent a whole lot of time today trying to figure out what is stable and what is still under major development in v2.0 source tree. Currently my app is WinForms only. But I also plan to come up with a Silverlight (preferrably) or ASP.NET version. Unfortunately, I don't think I am able to figure it out. Below are the features I need to be in stable condition:

  1. MsSql 2008 Provider
  2. ShapeFile Provider
  3. Custom themes on any of the above providers
  4. Intersection queries
  5. Transformations to and from Transverse Mercator, Polyconic or any other related to WGS 1984 Datum
  6. Ability to create new shape files by merging features from different layers in the map
  7. Ability to load layers with more than 100,000 features in them

If the above mentioned features are stable for WinForms then it is sufficient for now. I will be looking into Silverlight/ASP.NET at a much more later stage when either Bing or Google Maps have better tiles for my area of interest :)


Feb 20, 2010 at 11:12 AM
Edited Feb 20, 2010 at 11:13 AM

Hi Raghu, pretty much all you describe is possible with the current v2. MsSql2008 provider is stable, shapefile provider is stable with one caveat - you can only have on shapefile provider attached to a given shapefile - there is a branched provider which allows multiple shapefile providers to target the same file but it has not been merged yet and requires a few small changes elsewhere. Custom themes are ok however in the JD symbolizer (unstable) branch there is work ongoing to allow multipass rendering which will allow more complex styles. There is also work on new renderers targeting Cairo and Direct2D - Cairo requires the solution to target x86 currently. Another branch has work implementing GDAL providers and layers which will allow raster datasets to be used - this should be merged soon.

Intersection queries is fine though it uses  Expressions to define arbitary queries - could do with some love to make it a bit easier to use but it works well.

Reprojection is reasonably well represented through ProjNet, it is worth making sure the exact projections you need work however. SridMap is used to map between srid codes and projections and must be configured as your app is initialised, could do with some refactoring to get away from the global static but works for now. See the WinFormsDemo for an example of configuring the SridMap.

ShapefileProvider is writable.

Should work with layers of 100K features though I would go for DB providers and switch off the Layer and Provider indexing for now.

The WMS aspect of the web is there however there are issues with the GDI+ renderer  running on a webserver - random cryptic GDI+ exceptions can occur and rendering turns grey scale or fails completely. This should be sorted when the Cairo, or D2D renderers come on stream.

There is no Ajax or simple controls but there is SharpLayers which is an wrapper around OpenLayers however it requires some knowledge of javascript and possibly OpenLayers to use effectively.

Silverlight/WPF support is planned however no real work has been done there yet.

The geometry model in V2 comes from v2 of GeoAPI / NetTopologySuite and offers a far richer model than the current 0.9 trunk.

hth jd