Bringing Open Source GIS into an “ESRI Shop”

I don’t like the term “ESRI Shop”. Both open source developers and ESRI developers use it as an excuse one way or another. Just because you are running ArcMap or ArcGIS Server, doesn’t mean that you can’t explore open source GIS software and in fact you might be surprised how it makes your ESRI ArcGIS software even better.

A couple months ago, one of my clients asked me how they could bring KML into their ArcGIS Desktop maps. We’ve been through this before so I won’t detail my feelings on the subject, but ArcMap cannot read KML without some help. We looked at a couple different solutions and FeatureServer seemed to be a perfect fit for what they wanted. They’ve got people digitizing points/lines/polygons in Google Earth pro and getting that data into their SDE databases needed to be easier. Then another client wanted to digitize polygons inside ArcGIS Server, but they couldn’t afford a license for ArcGIS Server. Again FeatureServer seemed to be a great choice, coupled with OpenLayers. The idea seemed to come together at that point. Use OpenLayers to allow people to create and use FeatureServer as the translator to move the data between KML, GML, PostGIS and eventually ArcSDE. The idea is to let folks use the tools they are most comfortable with, whether it be ArcMap, Google Earth, or any OGC complaint application.

Now the concept sounded perfect but we ran into some problems. First off ArcMap still couldn’t read KML without help (and I could not be assured that an extension would be installed on ever workstation) so GML sounded like the perfect solution. ArcGIS Desktop can read “GML Simple Features”, but what FeatureServer was giving out was more complicated. You could read the GML from FeatureServer with Data Interop extension, but without it, ArcMap gave an error. Thanks to Christopher Schmidt, we were able figure out the schema for the ArcGIS GML “format” and any data that was digitized in OpenLayers could be downloaded as GML and viewed in ArcMap. That was huge because now you can view any features in OpenLayers, Google Earth and ArcMap which is exactly what they wanted.

What is really important to understand here is this was all done with open source software (FeatureServer, OpenLayers, PostGIS) and was developed quicker than an ArcGIS Server application could have been done. Christopher was obviously a huge help and the prototype couldn’t have been developed without him figuring out how to get FeatureServer to interop with ArcGIS. There is no overhead involved and no licensing fees/maintenance that needs to be paid.

Having a group of GIS techs digitizing PDF maps that people have marked up is not cost effective for anyone. Having people remotely digitize features and be able to work with them in PostGIS, Google Earth, ArcGIS and just about any OGC complaint application is very powerful. It really comes down to using open source to make everyones job easier and doing much more than you could before with much less money. When you take out the maintenance and the licensing of server software, you can focus your money directly on the problem and solution.

The next step is to get FeatureServer to write directly to ArcSDE (or as we now call it ArcGIS Server Enterprise). That way there is no importing of GML (or any other data layers) into your ESRI workflows. FeatureServer takes care of everything and you just interact with you spatial database like you always have. I’ve heard that OGR support for ArcSDE write is on its way so that will open FeatureServer up to many more folks.

That brings up a huge issues for many folks. How do I get my ArcSDE datasets out to the public so they can use them? Imagine FeatureServer just sitting there offering up KML, GML, WFS, GeoJSON, OpenStreetMap .OSM for all to use. I love this approach to getting data in and out of ArcSDE; quick, easy, cheap and it just works.