Open Source GIS and Freeware GIS Applications

Caitlin Dempsey

Updated:

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.  

There are several open source GIS software programs that use Java. GeoTools, Geoserve, gvSIG, and OpenMap, are among the most popular open source GIS in this group of JAVA tools.

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
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.

GDAL
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.

GRASS GIS
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 ResourcesGRASS GIS

gvSIG
gvSIG is an open source GIS application written in Java.

MapWindow GIS
MapWindow GIS is open source GIS application that can be extended through plugins.  The application is built using Microsoft’s .NET

OpenJUMP GIS
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.

QGIS 
QGIS is an Open Source Geographic Information System (GIS) and is one of the more popular and use friendly open source GIS packages available.
More: Getting Started With QGIS: Open Source GIS

SPRING
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.

TNTmips Free
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
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.

Screenshot of Udig GIS interface.
uDig GIS

Open Source Web Mapping

GeoServer
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.

MapFish
An open source mapping development framework for web mapping applications based on the Pylon Pythons web framework.

MapServer
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.

OpenLayers
Javascript library that is open source for displaying GIS data within a browser environment.   OpenStreetMap uses OpenLayers for its main map display (aka the “Slippy Map“).
Further Resource: Openlayers: Geospatial JavaScript Library

OpenWebGIS
OpenWebGIS is an open source Geographic information system. It is a web-based system and it functions both inonline, and offline modes.  

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 sensorsWiFi 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

EDBS Reader
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.

fmaps
GIS/RS application for Linux and Gnome platforms. Open source code is available for downloading from this site.

GeoTools
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
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
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
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
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
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
Vhclmaps is a package of map viewers and spatial data servers that work with map databases.

Related Resources:

OSGeo
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 editor@gislounge.com.

This article was originally published on May 4, 2003 and has since been updated.

Related

Photo of author
About the author
Caitlin Dempsey
Caitlin Dempsey is the editor of Geography Realm and holds a master's degree in Geography from UCLA as well as a Master of Library and Information Science (MLIS) from SJSU.