An open source software application by definition is software that GIS users can freely access and modify the source code for. Open source projects typically are worked on by a community of volunteer programmers.
Open source GIS has many benefits, such as being freely available, customizable, and supported by a large and active community of users and developers. In contrast, commercial GIS software, like Esri’s ArcGIS Pro, are fee-based and proprietary systems.
The use of open source GIS is growing rapidly, and it is becoming an increasingly important part of the geospatial industry for GIS data creation, spatial analysis, visualizations, and cartography.
Base Programming Languages of Open Source GIS Software Programs
Open source GIS programs are based on different base programming languages. Three main groups of open source GIS (outside of web GIS) in terms of programming languages are: “C” languages, Java, and .NET.
C++ Language Open Source GIS Software
The first group would be the group that use C++ language for its implementation. This is the more mature of the groups of open source GIS, probably for the simple reason that is the group that has been working on GIS software applications the longest and has a long history of resuse of code.
C++ is often used for GIS programming because it is a powerful and versatile programming language that is well-suited to the complex and computationally intensive tasks involved in GIS. C++ allows developers to create highly efficient and performant GIS software that can handle large amounts of data and complex geospatial operations.
Additionally, C++ has a large and active community of developers who contribute to and support the language, making it a popular choice for GIS programming.
The libraries in the C++ group, from the base infrastructure, and include some capabilities like coordinate reprojection that make them very useful and popular.
Popular “C” based open source GIS software applications include GRASS GIS, a project started in 1982 by the US Army but is now open source,Geospatial Data Abstraction Library (GDAL), and QGIS (formerly known as Quantum GIS).
QGIS is a free and open-source desktop GIS software that is popular among GIS professionals and hobbyists alike. GRASS GIS is a powerful GIS software that is designed for geospatial data management and analysis. GDAL is a library for reading, writing, and manipulating geospatial data that is used by many other GIS software programs.
JAVA Language Open Source GIS Software
The second group of Open Source GIS would be the ones that use JAVA programming language as the implementation language. JTS, central library for the Java GIS development, offers some geospatial functions that allow to compare objects and return a boolean true/false result indicating the existence (or absence) of any questioned spatial relationship.
Other operators, like Union or Buffer, which are very hard to code, are offered in this group making it very appreciated by GIS developers.
These programs are written in Java, which is a popular programming language that is known for its portability, versatility, and reliability. Java is often used for building complex, scalable, and high-performance applications, including GIS software.
By using Java, these open source GIS programs can be run on a wide variety of operating systems and hardware platforms.
.NET Language Open Source GIS Software
The third most influential group of Open Source GIS would be the one that integrates applications that use “.NET” as the implementation language. SharpMap and WorldWind are the most popular of these applications.
Outside of the three major language groups, open source web mapping is another group. Population open source web mapping includes OpenLayers and MapBuilder, widely used due to their simplicity and accessibility.
To learn GIS using open source software, read Sid Feygin’s article How to Go from GIS Novice to Pro without Spending a Dime which provides tips and resources.
Listed on the next page are available open source GIS based applications you can download written for a variety of platforms and in various languages categorized by desktop GIS and web mapping applications.
Open Source GIS Software
FlowMap is a freeware application designed to analyze and display flow data. This application was developed at the Faculty of Geographical Sciences of the Utrecht University in the Netherlands.
The Geospatial Data Abstraction Library (GDAL) is a set of software tools used by GIS platforms such as ArcGIS, QGIS, and GRASS GIS. GDAL is a library for translating raster and vector geospatial data formats. More than 200 raster and vector geospatial data formats are found in this C++ translator library. More: GDAL: Geospatial Data Abstraction Library
GMT Mapping Tools
GMT is a free, public-domain collection of ~60 UNIX tools that allow users to manipulate (x,y) and (x,y,z) data sets (including filtering, trend fitting, gridding, projecting, etc.) and produce Encapsulated PostScript File (EPS) illustrations ranging from simple x-y plots through contour maps to artificially illuminated surfaces and 3-D perspective views in black and white, gray tone, hachure patterns, and 24-bit color.
Geographic Resources Analysis Support System (GRASS) is the public domain GIS software application originally developed by the US Government. GRASS is probably the most well-known open source and original GIS software applications. GRASS is a raster-based GIS, vector GIS, image processing system, graphics production system, data management system, and spatial modeling system. GRASS can be downloaded for free.
Further Resources: GRASS GIS
gvSIG is an open source GIS application written in Java.
MapWindow GIS is open source GIS application that can be extended through plugins. The application is built using Microsoft’s .NET
OpenJUMP GIS is an open source GIS written in Java through a collaborative effort by volunteers. Formerly known as JUMP GIS, the application can read shapefiles and GML format files.
SPRING is a GIS and Remote Sensing Image Processing system with an object-oriented data model which provides for the integration of raster and vector data representations in a single environment.
TNTLite MicroImages, Inc. provides TNTmips Free as a free version of TNTmips , the professional software for geospatial data analysis. The free TNTlite product has all the features of the professional version, except TNTlite limits the size of Project File objects, and TNTlite enables data sharing only with other copies of TNTlite (export processes are disabled). Can either be downloaded or ordered on CD.
uDig GIS is a free, open source GIS desktop application that runs on Windows, Linux and MacOS. uDig was designed to use OGC’s OpenGIS standards such as WMS, WFS and more. One-click install allows you to view local shapefiles, remote WMS services and even directly edit your own spatial database geometries.
Open Source Web Mapping
Java based open source server software that allows users to edit and share geospatial data and uses open standards to spublish GIS data.
MapGuide Open Source
First introduced as open source by Autodesk in 2005, MapGuide Open Source allows for the development of web based mapping.
An open source mapping development framework for web mapping applications based on the Pylon Pythons web framework.
MapServer is an Open Source development environment for building spatially enabled Internet applications. The software builds upon other popular Open Source or freeware systems like Shapelib, FreeType, Proj.4, libTIFF, Perl and others.
In OpenWebGIS users can create, export and add layers in many common geospatial formats (gml, kml, geoJSON, gpx, shapefile, tiff, arcgrid, csv, osm), make vector layers with points, lines, polygons, add WMS layers, use WPS, style their own data, share as embedded maps, share as web pages, customize Interface, use analysis functions, create 2D, 2.5D and 3D maps, charts and so on.
In Android App you can use sensors, WiFi statistic in you mobile device and refer this data to geographic coordinates. The OpenWebGIS blog and a full list of articles about OpenWebGIS provide a lot of information about possibilities and specific features of OpenWebGIS.
Further Resources: full list of articles about OpenWebGIS
Open Source GIS Components and Packages
A free (GPLed) reader software for the EDBS format has been released: EDBS_extra 2.0. This open source utility is written in ‘C’. The page is mostly in German.
GIS/RS application for Linux and Gnome platforms. Open source code is available for downloading from this site.
GeoTools is an open source, Java GIS toolkit for developing standards compliant solutions. It’s modular architecture allows extra functionality to be easily incorporated. GeoTools aims to support OpenGIS and other relevant standards as they are developed.
MITAB is an Open Source (i.e. Free) C++ library to read and write MapInfo .TAB (binary) and .MIF/MID files. It is based on the OGR library which is an implementation of the Open GIS Consortium Simple Feature specification.
OpenEV is a library, and reference application for viewing and analysing raster and vector geospatial data. Download for Windows 98/NT/2000, Linux, Irix or Solaris systems.
OpenMap is a FREE JavaBeans open source software component for viewing spatial data. JavaBeans is a component specification for software written in the Java language. In contrast to other GIS software components which offer both data viewing and analysis capabilities, OpenMap is primarily for data viewing and offers very little in the way of analysis functionality.
rmap is a package that will allow you to generate images of the earth from a distance or fairly zoomed in. The code is a small C binary that reads a datafile of vectors to generate the image.
Tkgeomap is a set of extensions to the Tcl/Tk scripting language for manipulating and displaying geographic data.
Topology Framework .NET (TF.NET)
TF.NET represents a managed topology manipulation API capable of handling managed objects representation of topological entities based on other popular APIs, exposing it’s JTS-based common topology manipulation core to them. Supported external managed APIs include: OSGeo Feature Data Objects (FDO) geometries, OSGeo MapGuide Server (FDO-based) geometries and Autodesk ObjectARX geometries (a.k.a. entities) and, most recently, Oracle’s ODP.NET. Functions provided include: Spatial predicates (based on the DE-9IM model), Overlay functions (intersection, difference, union, symmetric difference), Buffer, Convex hull, Area and distance functions, Topological validity checking, Coordinate systems manipulation (transformations), Topological graphs manipulation, and more. TF.NET libraries are free, licensed under GNU LGPL and available for download from Google Code page.
Vhclmaps is a package of map viewers and spatial data servers that work with map databases.
Also referred to as the Open Source Geospatial Foundation, this entity supports the collaborative development of open source GIS software.
Open Source Imagery Processing
Open source software for processing imagery.
State of Open Source GIS
Intensive survey by Paul Ramsey published in September of 2007 that reviews open source GIS grouped by programming language. The survey looks at C, Java, .NET and web-based GIS.
This list is a work in progress: Do you know of an open source GIS software that’s missing from this page or see outdated information listed here? Email the details to firstname.lastname@example.org.
This article was originally published on May 4, 2003 and has since been updated.