I am searching for a gis/map engine SDK for WPF, that supports loading and editing CAD drawings onto a map (edit = switch layers on/off), with an option to use only local/network resources. Our users are diverse and some might use an actual map (eg bing maps), others might only need CAD drawings. The GIS part seems to be less important right now, but we want a future proof solution, and GIS will definately become a high priority over time.

So far I have been looking mostly at ArcGIS, because it seems to be able to do a lot. But then I discover I am using an SDK that is about to be retired, and the new one does not support WPF controls on the map itself. No good. The map symbols need to very interactive and configurable at runtime. Maybe there is another way to achive this in ArcGIS? Also, neither of the SDKs seem to be able to load CAD drawings, unless they have already been converted to ArcGIS layers in ArcMap.

Other candidates include MapDotNet and ThinkGeo, but nothing really seems optimal so far.

Edit: If anybody is curious, we ended up choosing ThinkGeo.

  • 1
    You should mark the answer as accepted
    – nmtoken
    Mar 1, 2018 at 4:00

1 Answer 1


We use the ThinkGeo .NET tools for WPF, and I would vote for them for a simple application.

The support CAD drawings as a layer type, and you should be able to dynamically symbolize them relatively easily by changing the Default styles within the layer. We use shapefiles, but I dynamically switch styles for polyline/polygon/point features to make it seem like it is flashing as a selection symbol using the same styling methods that CAD drawings get theirs from.

As for supporting WPF controls on the map. You should be able to do that by arranging them on top of the map and making sure your Panel.ZIndex value is set right so your controls are on top. I have listboxes, toolbars, extra windows, and other stuff on top of my WPF map.

Although I have found some of ThinkGeo's API documentation lacking and the occasional random error thrown from a wrapped DLL, they have been pretty good at supporting their product. They usually respond within a day or so from their forums, and provide simple examples to get you started. Also, it is an active product so you can constantly update your DLLs with daily builds (development and production quality), and if you have a good enough idea, they may integrate it into a future build.

I am not sure if the ESRI option is similar to ArcObjects with all the potentially confusing COM Interfaces. Usually I opt for ESRI since their stuff is pretty well tested and very reliable. Both softwares use the a lot of the same underlying, wrapped code, and they do most of the same processes. The major benefit for our company of ThinkGeo is the royalty free distribution of software we create. That is a huge savings over the licensing we would need to do with ESRI.

Our software (using ThinkGeo) is designed to work both connected and disconnected. The only difference in a connected environment is we then load in Google Maps. The shapefiles we use are local to each machine. We set symbology for our features through use of a database, but you can set up a window/process/whatever to have the user manually change it. That change can quickly be reflected by changing the default point/area/line styles and refreshing the overlay containing the layer.

I have been using their software for a while now and can probably point you in semi-right direction if you have questions. I would suggest downloading the evaluation version and trying it out.

  • Thanks for this great answer. I will be trying out ThinkGeo next week. I am a little hesitant since there seems to be very little community around their product. When I searched for it on this forum it only came up with 8 hits. We need to know that it will stay around.
    – jluu
    Apr 1, 2015 at 8:37
  • We have the same concerns, but we opted to go for it anyway. Their forums have a decent amount of posting happening, but they are really absent from here.
    – Branco
    Apr 1, 2015 at 12:16
  • We ended up choosing ThinkGeo, with ArcGIS as a close contender. ThinkGEO api supports CAD import (ArcGIS .net sdk doesn't), and image/shapefile import is more straightforward than ArcGIS - and it performs better. The ThinkGeo license model is also better suited for our business.
    – jluu
    Jun 10, 2015 at 10:32
  • The license model was the biggest seller for us. The larger upfront cost really beats the yearly per user license fees. Their documentation could use a little work (ESRI is way better there), but their user forums have been helpful. I have found some quirks here and there with the software but nothing I can't code around. Good luck on your development!
    – Branco
    Jun 10, 2015 at 13:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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