The landscape of geospatial software, listed by categories.

GIS Software Hierarchy Figure: A high-level summary of the geospatial software ecosystem. The "800-pound gorillas" including GDAL, PROJ and GEOS are the foundation of nearly all other geospatial software; CGAL and JTS are the reference implementations for many of the algorithms used by GEOS.

Geospatial Libraries

  1. Data access:
    • GDAL, Geospatial Data (Raster/Vector) Translation Tools
  2. Computational geometry:
    • GeoTools, Java Geospatial Toolkit
      • Java Topology Suite (JTS), Java Library for Geometry Processing
    • GEOS, C/C++ Port of JTS and CGAL
  3. Coordinate Reference System:
    • MetaCRS, Coordinate Reference System Transformations
      • PROJ.4, Map projection conversions

GeoTools is an open source (LGPL) Java code library which provides standards-compliant methods for the manipulation of geospatial data. GeoTools is used by many Web Feature Servers, Web Map Servers, and desktop applications. A list of projects provided on GeoTools wiki is: uDig, Spearfish, Sound Velocity, WorldImageReader, NOAA/NCDC Java NEXRAD Viewer, Virtual GIS village, Balloon Project, Spatial Data Integrator, AtlasStyler, GeoPublisher.

Programming Language Bindings

Python

  • Parsers
    • for markup and tag-based languages: minidom, ElementTree, WKT
    • for JSON: json, geojson
    • for Shapefile: PyShp, dbfpy
  • GDAL Python bindings: GDAL, fiona.
  • GRASS 7 Python API: PyGRASS
  • Computational geometry: Shapely
  • Image processing: PIL, PNGCanvas, SPy (hyper-spectral processing)
  • Meteorology and Climatology: Iris
  • Geocoding: geopy

R

GRASS interface in R

Databases

  • PostgreSQL with PostGIS extension [Spatial Database]
    • pgRouting, Routing Queries within PostGIS
  • SQLite with SpatiaLite extension [Lightweight Database]
  • Rasdaman [Multi-Dimensional Raster Database]
  • CartoDB [Hosted software]
  • Spreadsheets
    • OS: MS Excel, Numbers (OS X)
    • Web: Google Sheets, Google Fusion Table

Navigation and Maps

OpenStreetMap

Marble: Virtual globe with multiple projections, tiles and vector data, routing and POI search.

GPS/Navigation:

  • GpsDrive: Multimodal GPS Navigation
  • GpsPrune: View, Edit and Convert GPS Tracks
  • OpenCPN: Marine GPS Chart-plotter
  • Viking: GPS Data Analysis and Viewer

Graphic Design:

  • TileMill (Styling and Web Publishing) [Web Mercator is the main supported projection];
  • Mapbox Studio;

GUI Applications

General GIS viewing, editing, and analysis.

  1. Desktop GIS
    • QGIS (Quantum GIS)
    • GRASS GIS (Geographic Resources Analysis Support System)
    • gvSIG (Generalitat Valenciana, Sistema d'Informació Geogràfica)
    • uDig (User-friendly Desktop Internet GIS)
    • SAGA GIS (System for Automated GeoScientific Analysis)
    • OpenJUMP GIS
    • Kosmo Desktop
  2. Browser Clients
    • Leaflet - Mobile Friendly Interactive Maps
    • OpenLayers3 - Browser Mapping JS Library
    • Cesium - 3D globes and 2D maps in a browser
    • Geomajas - Browser GIS Client
    • Mapbender - Geoportal Framework
    • GeoMoose - Web GIS Portal
    • GeoNode - Geospatial Content Management System (CMS)
    • Cartaro - Geospatial Content Management System (CMS)

There's a slew of destop GIS software, but I recommend sticking to the best. If you are really attempted to see how they differ from each other, here's a Desktop GIS Comparison Matrix nicely curated by Dragons8mycat.

GRASS + QGIS

GRASS is a very old GIS with very advanced features for raster and vector analysis. It also has interface to R. [Start R in GRASS console.] Python API (PyGRASS) is available in GRASS 7. QGIS is mainly a viewer and map builder, xalthough it also allows you to create new vector maps. It offers basic functionalities which you can then enhance through plugins. [Leaflet simply presents a map on the web, even lighter weight.] QGIS + GRASS plugin: allowing you to use the somewhat easier interface of QGIS to access the power of GRASS.

QGIS and GRASS

ArcGIS (Proprietary)

  • ArcGIS can be used for research, but no commercial use is allowed.
  • advantage of ArcGIS over Python (svg/xml)
    • data only available in ArcGIS format
    • ArcToolbox functionality
    • Database/group collaboration
    • Industry standard

ArcGIS online: Free online GIS software for basic mapping

Leavey Library PCs have ArcGIS & ATLAS.ti [Windows GUI for text analysis].

ArcMap Extension:

  • ST-Links (commercial license):
    • AlignmentKit - linear reference mapping
    • SpatialKit - directly connecting to spatial databases

IDRISI (Proprietary)

Key features:

  1. GIS Analysis
  2. Image Processing: remotely-sensed images, image classification.
  3. Surface Analysis
  4. Land Change and Time Series Analysis
  5. Decision Support and Uncertainty Management
  6. Modeling:
    • Land Change Modeler (land change analysis and prediction);
    • Earth Trends Modeler (image time series of environmental trends).

Web Services

Publishing spatial data to the internet.

  • GeoServer - OGC Web Services
  • MapServer - OGC Web Services
  • deegree - OGC Web Services
  • GeoNetwork - Metadata Catalogue
  • pycsw - Metadata Catalogue
  • QGIS Server - Web Map Service
  • ncWMS - Web Map Service
  • EOxServer - Web Coverage Service
  • ZOO Project - Web Processing Service
  • 52°North WPS/SOS - Web Processing Service, Sensor Observation Service
  • MapProxy - Proxy WMS & tile services
  • TinyOWS - WFS-T Service

Domain-specific Applications

Applications targeted at a specific domain.

  • Sahana Eden - Disaster Management
  • Ushahidi - Mapping and Timeline for Events
  • osgEarth - 3D Terrain Rendering
  • MB-System - Sea Floor Mapping
  • zyGrib - Weather Forecast Maps

  • libLAS - C/C++ Library for Accessing LAS LiDAR Data

  • Orfeo ToolBox (OTB) - Processing of Remote Sensing Images
  • OSSIM (Open Source Software Image Map) - Processing of Remote Sensing Images
  • MapSlicer - Create Map Tiles
  • GeoKettle - Extract, Transform and Load (ETL)

Resources

OSGeo

OSGeo (Open Source Geospatial Foundation) is an NGO promoting free and open source geospatial software and data.

OSGeo-Live is a self-contained bootable DVD/USB/VM based on Lubuntu, containing a wide variety of open source geospatial software. The following sections follows OSGeo-Live's main catalog Geospatial.

OSGeo4W is a binary distribution of a broad set of open source geospatial software for Microsoft Windows.

A framework model of OSGeo. GeoServer and GeoNetwork with interfaces and applications sketch. Green represents read and write paths. Dotted arrowed line indicates mostly read-only data flow.

GeoServer GeoNetwork

OSGeoLive reveal.js deck

Linux Projects

  • DebianGIS
    • UbuntuGIS (aggregation page)
  • Fedora Geo Spin
  • ELGIS (Enterprise Linux GIS) - Red Hat Enterprise Linux, CentOS, Scientific Linux
  • VigerGIS (VIrtual machine GEntoo Replace)

DebianGIS is a project for maintaining GIS packages in Debian's 'main' archives. It is the most mature repository among the above.

Debian GIS Blend tasks/meta-packages:

  • 'gis-workstation', Geographic Information Systems (GIS) workstation
  • 'gis-osm', OpenStreetMap parser, editor, viewer.
  • 'gis-statistics', Statistics with geographic data (R)
  • 'gis-devel', GIS development packages (OpenCV, HDF, NetCDF)
  • 'gis-gps', GPS data (tracks) and sensors.
  • 'gis-remotesensing', Remote sensing and earth observation (GDAL, OSSIM, etc.)
  • 'gis-web', Present geographic information via web map server
  • 'gis-data', Debian GIS data (coastlines by GMT)

On a normal computer desktop, you will most likely want to install at least the workstation task which contains most commonly used GIS applications.