FOSS4G Software List
>> return to Open Source GIS Software
This is an overview of major free GIS software projects. It is a personal selection aiming at listing only those projects that seem to have a stable user community or have potential to establish a wider user base. The content of this page (until 2012) is part of a paper published in Computers Environment and Urban Systems: S. Steiniger and A.J.S. Hunter: "The 2012 Free and Open Source GIS Software Map – A Guide to facilitate Research, Development and Adoption" (download pdf - ver. 3.Oct.2012).
The categories of software used are based on those presented in Steiniger and Weibel (2010): "GIS software" [1].
To test some of the software below we recommend the OSGeo Live DVD (http://live.osgeo.org).
For updates to the list you can send an email to sstein=.at.=geo.uzh.ch. However, I keep myself informed by reading the SpatialTau Newsletter by James Fee.
Contents
- 1 Desktop GIS
- 2 Spatial Data Base Managment Systems
- 3 Server GIS (OGC WPS)
- 4 Mobile GIS and Survey Tools
- 5 Exploratory Spatial Data Analysis Software
- 6 Remote Sensing Software
- 7 Software Libraries and Extensions
- 8 Web Map Server (OGC WMS, WFS etc.)
- 9 MetaData and Registry
- 10 Web Map Application Development Frameworks
- 11 Complete SDI Packages
- 12 GIS 2.0 a.k.a GIS on the web
- 13 Geospatial web data formats
- 14 Spatial Analysis and Processing in Python
Desktop GIS
major:
- GRASS - http://grass.osgeo.org
- OpenJUMP - http://www.openjump.org
- Quantum GIS - http://www.qgis.org
- ILWIS Open - http://www.ilwis.org (see also the page of [https//52north.org/communities/ilwis/ 52 North] for latest releases)
- uDig - http://udig.refractions.net
- SAGA - http://www.saga-gis.org
- vgSIG - http://www.gvsig.org , and for the community edition http://www.gvsigce.org
- MapWindow - http://www.mapwindow.org
others:
- KOSMO - http://www.opengis.es
- Puzzle GIS - http://puzzle-gis.codehaus.org
- iGeoDesktop - http://www.deegree.org
- Orbis GIS - http://www.orbisgis.org
- Whitebox - http://www.uoguelph.ca/~hydrogeo/Whitebox
- Kalypso - http://kalypso.bjoernsen.de
- GearScape - http://gearscape.fergonco.es/
- Spring GIS - (not yet open source) http://www.dpi.inpe.br/spring/
Spatial Data Base Managment Systems
major:
- PostGIS for PostgreSQL - http://postgis.refractions.net
- MySQL - http://forge.mysql.com/wiki/GIS_Functions
- SpatiaLite for SQLite - http://gaia-gis.it/spatialite/
others:
- JASPA for PostgreSQL and(!) H2 - http://jaspa.upv.es/blog/)
- Hatbox for H2 - http://hatbox.sourceforge.net
- Hibernate Spatial for Hibernate - http://hibernatespatial.org
- INGRES - http://community.ingres.com/wiki/IngresGeospatial
- Rasdaman (for multi-dimensional rasters) - http://rasdaman.com/
NoSQL (see http://nosql-database.org/):
- GeoCouch for CouchDB - http://github.com/couchbase/geocouch
- MongoDB - http://www.mongodb.or
Server GIS (OGC WPS)
- 52 North WPS - http://52north.org/communities/geoprocessing/
- deegree WPS - http://wiki.deegree.org/deegreeWiki/deegree3/ProcessingService
- PyWPS - http://pywps.wald.intevation.org
- Zoo - http://www.zoo-project.org
- GeoServer - http://www.geoserver.or
- WebGEN - new: http://github.com/TUD-IfC/WebGen-WPS - old: http://aci.ign.fr/web_service.php
Mobile GIS and Survey Tools
- gvSIG Mobile - http://gvsig.org/web/projects/gvsig-mobile
- Geopaparazzi - see Android Market and http://code.google.com/p/geopaparazzi/
viewers for smart phones:
- gvSIG Mini - http://market.android.com/details?id=es.prodevelop.gvsig.mini&hl=en
- tangoGPS - http://www.tangogps.org
- FoxtrotGPS - http://www.foxtrotgps.org
further (mobile phone) survey applications:
- Kobo Toolbox - http://www.kobotoolbox.org/
- OpenDataKit - http://opendatakit.org/
- EpiCollect - http://www.epicollect.net/
Exploratory Spatial Data Analysis Software
- OpenGeoDa - http://geodacenter.asu.edu
- STARS - http://geodacenter.asu.edu
- PySAL - http://geodacenter.asu.edu
- R - http://www.r-project.org
- GeoVista Studio - http://geovistastudio.psu.edu
- HiDE - Hierarchical Data Explorer - http://www.gicentre.org/hide/
not integrated tools:
- GeoPandas + iPython Notebook
- => see also use of GeoPandas and Leaflet together with UrbanSim (a video: http://www.youtube.com/watch?feature=player_embedded&v=KzTtCvSmUxY )
Remote Sensing Software
- OSSIM - http://www.ossim.org
- InterImage - http://www.lvc.ele.puc-rio.br/projects/interimage/
- Opticks - http://www.opticks.org
- GDL (free IDL) - http://gnudatalanguage.sourceforge.net/
- ILWIS - http://52north.org/communities/ilwis/
- e-Foto - http://sourceforge.net/projects/e-foto/
- GeoDMA - http://sourceforge.net/apps/mediawiki/geodma/index.php?title=Main_Page
- leoworks - http://leoworks.asrc.ro/
Software Libraries and Extensions
Data input/output and conversion libraries
- GDAL & OGR - http://www.gdal.org
- FDO - http://fdo.osgeo.org
- GDMS - http://trac.orbisgis.org/t/wiki/devs/GDMS
- GeoTools - http://www.geotools.org
- SharpMap - http://codeplex.com/SharpMap/
- LibLAS - for Lidar data, http://www.liblas.org
- JEQL - an ETL tool, http://tsusiatsoftware.net/jeql/main.html
- GeoKettle - an ETL tool, http://www.geokettle.org
Geometry libraries
- JTS Topology Suite and its ports
- JTS (JAVA) - http://tsusiatsoftware.net
- GEOS (C++) - http://geos.refractions.net
- NetTopologySuite (.NET) - http://code.google.com/p/nettopologysuite/
- CGAL - http://www.cgal.org
- CGL / Boost - http://geometrylibrary.geodan.nl
Projection libraries
- Proj.4 (C/C++) - http://trac.osgeo.org/proj/
- Proj4J (Java) - http://trac.osgeo.org/proj4j/
- deegree 3 - http://wiki.deegree.org/deegreeWiki/deegree3/CRSSubsystemDevelopment
- Proj.Net - http://codeplex.com/ProjNET/
- Generic Mapping Tools (GMT) - also for beautiful maps, http://gmt.soest.hawaii.edu
Geographic data processing and analysis libraries
- Sextante - known to work with gvSIG, OpenJUMP, GRASS and ArcGIS, http://www.sextantegis.com - and since Summer 2012 available as plugin for Quantum GIS
- ImageJ - http://rsbweb.nih.gov/ij/
- Orfeo Toolbox - http://www.orfeo-toolbox.org
- TerraLib - a spatial DBMS and more, http://www.terralib.org
- R - http://www.r-project.org
- PAL - cartographic label placement, http://pal.heig-vd.ch
- for Synthetic Aperture Radar (SAR) image tools see Simonetto and Follin (2012). Note, I can send a copy of the manuscript.
- CartoPy - http://scitools.org.uk/cartopy/
Other useful libraries
- JAVA Matrix Package (JAVA) - http://math.nist.gov/javanumerics/jama/
- JMathTools (Java) - http://jmathtools.berlios.de
- JGraphT (Java) - http://jgrapht.sourceforge.net
- JFreeChart (Java) - http://www.jfree.org
- GNU Scientific Library (C/C++) - http://www.gnu.org/software/gsl/
- Boost (C/C++) - http://www.boost.org
General Frameworks for own GIS Development
- GeoTools for Java - http://www.geotools.org
- OpenMap for Java - http://openmap.bbn.com
- OpenJUMP GIS for Java & Jython (Python) - http://www.openjump.org
- SharpMap for .NET - http://codeplex.com/SharpMap
- DotSpatial for C++/.NET - by the MapWindow GIS developers, http://dotspatial.codeplex.com
- QGIS for C++ & Python - http://www.gqis.org
- Fiona and Rasterio for Python development - http://pypi.python.org/pypi/Fiona/, http://github.com/mapbox/rasterio
- CartoPy for Python development- http://scitools.org.uk/cartopy/
Web Map Server (OGC WMS, WFS etc.)
see also the OSGeo server benchmarking docs: http://wiki.osgeo.org/wiki/Benchmarking_2011
major:
- MapServer - http://www.mapserver.org
- GeoServer - http://www.geoserver.org
- deegree - http://wiki.deegree.org
- MapGuide OpenSource - http://mapguide.osgeo.org
- QGIS mapserver - http://karlinapp.ethz.ch/qgis_wms
other:
- Mapnik - more or less a renderer, http://www.mapnik.org
- TinyOWS - http://www.tinyows.org
Rest-based:
- GeoServer - http://www.geoserver.org
- FeatureServer - http://www.drupal.org/project/fserver
- GeoRest - http://code.google.com/p/georest
MetaData and Registry
- GeoNetwork - http://geonetwork-opensource.org
- deegree - http://wiki.deegree.org
- MDweb - http://www.mdweb-project.org
editor:
- CADMEdit - http://catmdedit.sourceforge.net
Web Map Application Development Frameworks
Map Viewer
major:
- OpenLayers - http://www.openlayers.org
- Leaflet - http://leaflet.cloudmade.com (by the OpenStreetMap founders)
- OpenScales - http://www.openscales.org
- ModestMaps - http://modestmaps.com (used by MapBox)
others:
- SLMapViewer - SilverLight map viewer for MapServer, http://slmapviewer.codeplex.com/
- OpenZoom - image viewer for very large images, http://www.openzoom.org/
3D:
- ReadyMap - http://readymap.com/
- OpenWebGlobe - http://wiki.openwebglobe.org/
- NASA WorldWind - http://www.goworldwind.org/
- Cesium - http://cesium.agi.com/
General Map Application Development Frameworks (Packages)
- MapFish - includes OpenLayers and GeoExt, http://www.mapfish.org
- GeoMoose - http://www.geomoose.org
- GeoMajas - http://www.geomajas.org
- MapBender - http://www.mapbender.org
- MapStraction - allows switching between mapping frameworks (e.g. Google, OpenStreetMap, Yahoo, Bing etc.), http://www.mapstraction.com
- GeoExt - http://www.geoext.org
- SharpMap for .NET - http://codeplex.com/SharpMap
- i3Geo - http://gvsig.org/web/projects/i3Geo
- GeoNode - a full web-publishing Stack by OpenGeo that includes OpenLayers, GeoEx, GeoServer, GeoNetwork, etc - http://geonode.org/
Web Map Rendering & Tiling
- Mapnik - http://mapnik.org/
- TileMill - http://mapbox.com/tilemill/
- TileMill 1 - raster tiles
- TileMill 2 - vector tiles
serving tiles:
- TileCache - http://www.tilecache.org
- TileServer - http://github.com/klokantech/tileserver-php/
- TileStream - http://github.com/mapbox/tilestream
Complete SDI Packages
- GeoNode - http://www.geonode.org (base: GeoServer, Postgis, pycsw, OpenLayers, web framework: python: Django, Angular)
- Deegree - http://www.degree.org (base: degree websever)
- IGO - Infrastructure Géomatique Ouverte - http://igouverte.org/english/ (base: MapServer, Postgis, Zoo Project , OpenLayers, web framework: php: Phalcon)
- perhaps: Mapbender (http://www.mapbender.org)
GIS 2.0 a.k.a GIS on the web
GIS 2.0 Tools and Services
- MapBox Turf - javascript GIS library - http://turfjs.org/ & http://www.mapbox.com/blog/turf-gis-for-web-maps/
- MapBox/OpenStreetMap iD - web editor - http://github.com/openstreetmap/iD
- CartoDB - creating thematic maps online - http://www.cartodb.com
Other useful tools for GIS 2.0 development
libraries:
- D3.js - a powerful diagramming/visualisazion lib
- Angular.js or Backbone.js - to develop Single Page Applications (SPAs)
- React - the V(iew) in MVC develpment?
- and node.js ... of course
development tools:
- Coffee script for object-oriented javascript programming - coffeescript.org
- Sublime text editor - www.sublimetext.com
- GitLab - storing code on a local Git server.
Geospatial web data formats
- GeoJSON spec - http://geojson.org
- TopoJSON - an extension of GeoJSON that encodes topology
- CartaGen - a vector-based, client-side framework for rendering maps in native HTML 5.
- Vector Tiles:
- MapBox VectorTiles - http://github.com/mapbox/mapnik-vector-tile (Dane Springmeier)
- see also Thunderforest Lightning VectorTiles presentation using tilelive.js by MapBox: https://www.youtube.com/watch?v=NoLJHgqDCzc (http://www.thunderforest.com/lightning/)
- 2014/2015: looking at Apple Maps App (on iPad) vector data are transferred as well, not sure though if it is "tiled".
- GeoRSS spec - www.georss.org
- check the Open GeoSpatial Consortium webpages for further web format standards
- GML
- KML
- CityGML
- NetCDF
- and related OGC services
- WMS
- WFS
- WCS
- SOS
- WPS
Spatial Analysis and Processing in Python
A lot of desktop GIS allow to custom functions with Python: notably QGIS, gvSIG (in Jython), OpenJUMP (in Jython). However, there are couple of tools/toolboxes to look at. Maybe start with this blog entry by TalYarkoni and the comments on this blog entry when searching for some analysis tools.
- Anaconda - a distribution of python tools, including:
- iPython a nice web-based interface to program and comment data analysis in python
- NumPy
- SciPy
- Pandas - to read data from files, subset and analyse them
- MatplotLib
- Bokeh
- on the geodata side of things exist:
- Fiona (github) - vector data processing
- Rasterio (github) - raster data processing
- Shapely - for manipulation and analysis of geometric objects in the Cartesian plane
- GeoScript
- Cartopy by the UK Met Office - which handles projections, shapefile reading, etc.
- Iris by the UK Met Office - for analysis and viz of meteorological and oceanographic data (e.g. netCDF)
- other toolboxes:
- scikit-learn - a machine learning toolbox with algorithms for classification, regression, clustering, etc.
- Scrapy and BeautifulSoup - for (web) document parsing and crawling