1

This question has been asked multiple times before, but not in the last 5+ years so I think it's worth asking again as I'm struggling and the answer way well be different now.

I want to create a C# application (WPF) which has some GIS capabilities. I'm new to C#, application development and GIS so this should be an interesting challenge. My main objectives are:

Load (ideally free to use) OpenStreetMap tiles Load Shape Files Load DXF Files (not critical as could convert to SHP first) Add points, lines and polygons Interrogate SHP files Allow a flat world projection for working in local coordinate systems. For now the package will be used internally at work, but I wouldn't want to write off the possibility of selling it if it exceeds my expectations so I don't want to base it on free to develop but prohibitively expensive libraries if used commercially.

I have tried the following:

MapSui for WPF - Very easy to get a basic map started, but I find the documentation just stops after that (at least in a language I can understand) and you have to rely on their examples which for me are too involved for me to pick apart and re-create.

DotSpatial - I believe to be WinFrom only. Still I could use this. Again, getting a basic map working was fairly simple (bit more involved than MapSui) but I couldn't work out how to only display the tools I wanted for example. Again, documentation seemed to stop after a basic set up.

ArcGIS Runtime WPF - Documentation appears to be excellent but it's not free. I find their Pricing a little confusing. It appears that if you don't use their locator services then it may be free? They mention a monthly developers charge, but unclear if this is for additional services that I don't need? The terms also say you have to allow location services and you can't use it for the "Runtime in a service" which makes no sense to me. If anyone can clarify the above that would be useful. If it can be used for free with local data that would be great.

SharpMap - Hasn't been updated since 2014 so I may avoid.

GMap - I don't believe it can operate in flat world or load SHP files which could make it's use very complicated.

ThinkGeo Desktop Maps - $1000 per year which isn't inline with my expectations from this package.

Any suggestions or thought on the best route forward for me would be highly appreciated.

Edit:

I've found East GIS .NET to be the best fit so far. The examples are very simple to follow and appears to do everything I need. It's also still actively being developed which is a bonus.

1
1

The only thing I can recommend is ProjNET4GeoAPI NuGet package. It performs point-to-point coordinate conversions between geodetic coordinate systems for use in .NET applications. However I used this package for the back-end side of a web-based application along with Leaflet JS, it could probably solve an important part of your needs. It is really helpful while you are using GeoJSON as your GIS data format.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.