To celebrate GIS day this year, we decided to take a deep dive into the coding and software libraries that drive end user applications (like ArcMap). Enjoy!
GIS and Software Libraries:
A geographic information system (GIS) is a complex technology that involves challenging operations like: relating index/geometry/attribute tables, performing set theory between geometries, raster (pixel) calculations and querying/editing attributes while maintaining the integrity of the underlying tables.
Because of the underlying complexity involved with these GIS operations, most GIS end users take advantage of third-party software applications that provide an easy interface to these various tasks. The most popular applications are ESRI’s ArcGIS products. Examples of these operations would be ‘select by attribute’, ‘buffer’, ‘clip’, ‘append’.
What many may not know, however, is that these processes are largely performed and powered by lower level, opensource software libraries that are already widely available to the public. These operations are repackaged and given a user interface in order to create the higher-level interfaces that most GIS analysts interact with every day. The most prevalent of these ‘lower-level’ GIS libraries is GDAL/OGR.
What is GDAL/OGR?
According to the wiki page:
The Geospatial Data Abstraction Library (GDAL) is a computer software library for reading and writing raster and vector geospatial data formats, and is released under the permissive X/MIT style free software license by the Open Source Geospatial Foundation. As a library, it presents a single abstract data model to the calling application for all supported formats.
The related OGR library (OGR Simple Features Library[2]), which is part of the GDAL source tree, provides a similar ability for simple features vector graphics data.
Put simply, GDAL is for raster and OGR is for vector data formats. These lower level implementations are mainly of use to developers, but it is useful to know that when you click a button or run a tool in a GIS software, it is running the same lower level code exposed by these and other custom libraries. GDAL is in fact used by ArcGIS for some of it’s raster processing.
Demystifying what is “under the hood” of many GIS products may help in choosing one for your needs. Often the solution you need just involves some sort of math or data process that is implemented in free software and you may not need to buy a whole suite just to achieve a modest goal.