The landscape of geospatial software, listed by categories.
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
- Data access:
-
GDAL, Geospatial Data Abstraction Library, raster/vector format translation;
- Computational geometry:
-
GEOS, C/C++ port of JTS and CGAL;
-
GeoTools, Java geospatial toolkit.
- Java Topology Suite (JTS), Java library for geometry processing;
- 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
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.
- 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
- 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:
- GIS Analysis
- Image Processing: remotely-sensed images, image classification.
- Surface Analysis
- Land Change and Time Series Analysis
- Decision Support and Uncertainty Management
- 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.
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.
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