The landscape of geospatial software, listed by categories.

GIS Software Hierarchy 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 Abstraction Library, raster/vector format translation;
  2. Computational geometry:
    • GEOS, C/C++ port of JTS and CGAL;
    • GeoTools, Java geospatial toolkit.
      • Java Topology Suite (JTS), Java library for geometry processing;
  3. Coordinate Reference System:
    • MetaCRS, coordinate reference system transformations.
      • PROJ.4, conversions between geographic coordinates (longitude-latitude) and map projection coordinates (cartesian), also supports datum transformation; (Parameter List; Executable Documentation)

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 Support

Python:

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

geopython has a few geospatial Python projects, mostly OGC-compliant web services.

R:

  • Bindings: rgdal, rgeos
  • Map projections: mapproj
  • GRASS 7 interface: rgrass7
  • Data formats: sp, raster, sfr, satellite
  • Manipulation: maptools
  • Geostatistics: gstat, spatstat
  • Static mapping: tmap, RgoogleMaps
  • Web mapping: leaflet, mapview

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.

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.

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

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.


🏷 Category=Geographic Information System