Tuesday, December 12, 2006

GIS, Open Source, and Linux

Linux and Open Source are moving into the GIS realm from the direction of the web, rather than the direction of general end-user applications. All of our web servers have been running on Linux for some time, and our web-mapping environment is built on Mapserver, an open source technology which came out of the University of Minnesota and which has been very popular worldwide.

A year or two ago we made a decision to move almost all of our application development efforts into the server-side java world. No more enterprise applications deployed on individual machines. The development and application servers are running on linux. Our (traditional) databases are still running in Oracle on Solaris, but now that Oracle is offering it's wares on Linux that could change as we move to the next version(s) of Oracle.

On the GIS side, we are just beginning to use ESRI's Java API to their Spatial Database Engine (SDE) as a way to deliver our spatial data to our in-house web-based applications. Of course everything is up for grabs in this tight budgetary environment, and we are hoping to test Oracle Spatial on Linux to see if it can deliver the data and functionality that we need for less money. PostgreSQL is also on our radar screen but we already have a significant investment in Oracle training and implementation and we'll probably try to capitalize on that.

Just because we are using SDE or Oracle Spatial to interface with applications doesn't necessarily mean that we are delivering data to all of our users via these tools. In an organization like ours, where we have about 350 licensed ArcView 3.x users scattered in offices around the state, there is not enough bandwidth to deliver the data that our users want for ad-hoc, general GIS purposes from a central source in real-time. Instead we still store most of our GIS data in file-based formats (Coverage, Shapefile, Grid, Tiff, etc). We use tools like AML, Pearl, and Java to manage and replicate the data to cheap network attached storage (NAS) devices on a weekly basis. A typical NAS device in a field location holds about 90 gigabytes of GIS data, most of which is static imagery or base data in vector format.

On the end-user side, we are still a Microsoft / Windows organization and while techies like me would love to see a general purpose GIS developed for Linux (yes we are playing around with GRASS) it really doesn't stand a chance with our user base, at least in the short term. In my mind the place where such a product would succeed is in the third world where you can start with a clean slate. I think it would be very reasonable for ESRI to port ArcView 3.x to Linux (they already have a Solaris version) and it could have a wide audience and a big impact in Africa, Asia and Central/South America.

In terms of moving more of our GIS back-end to Linux here at the DNR, it would be much more helpful for ESRI to port the old "Workstation" parts of ArcInfo from Solaris to Linux and that would enable us to move off of Sun/Solaris at a significant cost savings.

Needless to say, with the convergence of GIS, web, database, and open-source technologies this is a fun and interesting time to be involved in GIS and I think we are just beginning to scratch the surface of how to save taxpayers money while delivering more sophisticated GIS solutions. This is a good thing, as just yesterday it was announced that the Minnesota DNR's GIS section is losing 37 percent of its budget and is moving from 13 to 8 positions as a result of state budget cuts. The motivations keeping organizations such as ours from moving to the latest-greatest Windows based GIS solution (read ArcView 8.x) for general users and instead looking to more targeted solutions via open-source are very real.