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.
- Data access:
GDAL, Geospatial Data Abstraction Library, in C++, raster/vector format translation;
- Computational geometry:
GEOS, C/C++ port of JTS and CGAL;
GeoTools: Java Topology Suite (JTS), geometry processing library;
- Coordinate Reference System transformation:
PROJ.4, conversions between geographic coordinates (longitude-latitude) and map projection coordinates (cartesian), also supports datum transformation; (Parameter List; Executable Documentation)
GDAL was originally developed by Frank Warmerdam in 1998, until maintenance transferred to OSGeo in 2006.
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.
CGAL (C++ Geometric Algorithms Library) is a software project that provides easy access
to efficient and reliable geometric algorithms in the form of a C++ library.
CGAL is used in various areas needing geometric computation, such as geographic information systems,
computer aided design, molecular biology, medical imaging, computer graphics, and robotics.
Programming Language Support
- for markup and tag-based languages:
- for JSON:
- for Shapefile:
- GDAL bindings:
- GIS API:
- Computational geometry:
- Image processing:
SPy (hyper-spectral processing)
- Meteorology and Climatology:
geopython has a few geospatial Python projects, mostly OGC-compliant web services.
- Map projections:
- GRASS 7 interface:
- Data formats:
- Static mapping:
- Web mapping:
- PostgreSQL with PostGIS extension [Spatial Database]
pgRouting, Routing Queries within PostGIS
- SQLite with SpatiaLite extension [Lightweight Database]
- geodatabase (.gdb; ArcGIS only)
- Rasdaman [Multi-Dimensional Raster Database]
- OS: MS Excel, Numbers (OS X)
- Web: Google Sheets, Google Fusion Table
Maps and Navigation
Marble: Virtual globe with multiple projections, tiles and vector data, routing and POI search.
- GpsDrive: Multimodal GPS Navigation
- GpsPrune: View, Edit and Convert GPS trajectories.
- OpenCPN: Marine GPS Chart-plotter
- Viking: GPS Data Analysis and Viewer
- TileMill (Styling and Web Publishing) [Web Mercator is the main supported projection];
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 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].
- ST-Links (commercial license):
- AlignmentKit - linear reference mapping
- SpatialKit - directly connecting to spatial databases
ArcMap/map document (
.mxd) contain display properties of the geographic information,
and optional customizations and macros.
ArcGIS layer file (
.lyr) stores the path to a source dataset,
and other layer properties including symbology.
- GIS Analysis
- Image Processing: remotely-sensed images, image classification.
- Surface Analysis
- Land Change and Time Series Analysis
- Decision Support and Uncertainty Management
- Land Change Modeler (land change analysis and prediction);
- Earth Trends Modeler (image time series of environmental trends).
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;
Applications targeted at a specific domain.
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
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
- 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