We’ve been working on MapObjects application in .NET this past month, trying to see how it would work using some COM objects (previously we’ve always just used VB6). While it seems to have worked well enough, getting it to deploy has been quite a pain. We just can’t seem to get the MO runtime to work well enough with the default Visual Studio installer or even the InstallShield installer. ESRI has been a little help, but we just can’t seem to pin down the problem. My programmer came up with a solution using a batch file to run the MO runtime, then install our product. It works, but I’d like to think in 2005 we could get away from using batch files for installation. I came across a .NET freeware project called The Carbon Project which seems to be closer to what we want, a pure .NET solution. We’ve looked at ArcEngine, but until we get our ESRI Developer Network license paid for, we just can’t afford to buy it. I had my programmer contact some of the developers on The Carbon Project to see if it could do what we wish. He wrote:

how you can take one polygon, overlay it with another, and get either the area inclusive the two (intersection), the area non-inclusive of the two (clip), the area contained in the first but only that which overlays from the second (identifying), or the total area from both (union).

That is all we really want with this application. Something that us GIS folks have been doing since the beginning of time. MapObjects LT can’t do it, but MapObjects 2.3 can. One of the team members of The Carbon Project quickly wrote back:

We have not yet implemented advance geometry manipulations in CarbonTools. I’m sure that there are some source samples on the Web for implementing some of the more common algorithms. If you are up to the challenge and come up with code to resolve some of the issues you described, we would love to share them with our community of users. Hopefully in future versions of CarbonTools we will implement some advanced geometry work (not in the near release of beta 3 however).

Damn, so close. While we’d love to see if we could do it (and we still might) our little application is due early next week. Looks like the batch file install is going to be it.

So what can I learn from this? Well while MapObjects is still a great platform, we’ve move beyond COM and I think we’ll have to leave it in the dust. Not my first choice, but for ease of use, I’d love to keep all .NET code. Also, we’ll want to keep on top of The Carbon Project to see if when we have somedown-time, we can possible do what we want. I really wish they had a RSS feed so I know I won’t miss anything. When we finally get our ESRI Developer Network subscription, we’ll be able to check out ArcEngine and see if it can help us out. I’m just concerned with how the licensing will work with it. We’ll just have to wait and see.