Long list of geospatial tools and resources
Go to file
2017-03-29 15:08:00 -03:00
LICENSE Initial commit 2016-05-06 15:05:43 -03:00
README.md Update README.md 2017-03-29 15:08:00 -03:00

Awesome-Geospatial


Database

Image Classification & DIP Software

  • eCognition - GEOBIA software.
  • Interimage - Open Source GEOBIA software.
  • ENVI - Geospatial image processing and classification software.
  • ERDAS - Geospatial image processing and classification software.
  • PCI Geomatica - Remote sensing software package for image processing
  • Global Mapper - Geospatial and remote sensing data analysis.
  • Spring - GIS and remote sensing image processing system with an object-oriented data model.
  • TerrSet - TerrSet (formerly IDRISI) is an integrated geographic information system (GIS) and remote sensing software
  • OSSIM - Suite of geospatial libraries and applications used to process imagery, maps, terrain, and vector data.
  • e-Foto - Free and open source digital photogrammetric workstation.
  • Guidos Toolbox - Some GDAL functionalities and includes MSPA (Morphological Spatial Pattern Analysis) for connectivity maps.
  • Matlab - Multi-paradigm numerical computing environment and fourth-generation programming language.
  • IDL - IDL is a programming language used for data analysis and image processing programming.
  • ArcMap Raster Edit Suite - An ArcMap Addin that enables manual editing of single pixels on raster layer.

Geographic Information System

  • ArcGIS - GIS for working with maps and geographic information.
  • QGIS - Cross-platform free and open-source desktop geographic information system.
  • Terraview - GIS application built using the TerraLib GIS library.
  • gvSIG - Free and open source GIS.
  • GRASS GIS - GRASS (Geographic Resources Analysis Support System) is a free and open source GIS.
  • ILWIS - Integrated Land and Water Information System (ILWIS) is a remote sensing and GIS software.
  • MapWindow GIS - Free and open source desktop geographic information system.
  • MapInfo - Commercial GIS.
  • Geomedia - Commercial GIS.
  • uDig - A GIS Framework for Eclipse (Java) and also a GIS software.
  • SAGA - SAGA is the abbreviation for System for Automated Geoscientific Analyses.
  • Manifold System - Commercial GIS.
  • AutoCAD Map 3D - GIS AutoCAD integration.
  • Smallworld - Commercial GIS.
  • OpenJUMP - Open source Java GIS.
  • Mapbox Studio - Desktop application for vector tile driven map design.

Web Map Development

  • OpenLayers - Open source AJAX library.
  • Leaflet - Open-Source JavaScript Library for Mobile-Friendly Interactive Maps.
  • Geomanjas - Open source development software for web-based and cloud based GIS applications.
  • Cesium - An open-source JavaScript library for world-class 3D globes and maps.
  • geojson-vt - A highly efficient JavaScript library for slicing GeoJSON data into vector tiles on the fly.
  • ArcGIS JS App Generator - This is a yeoman generator for ArcGIS API for JavaScript applications.
  • CMV - The Configurable Map Viewer - CMV is a community-supported open source mapping framework. CMV works with the Esri JavaScript API, ArcGIS Server, ArcGIS Online and more.
  • Leaflet.MapboxVectorTile - A Leaflet Plugin that renders Mapbox Vector Tiles on HTML5 Canvas.
  • Flare Cluster Layer - ArcGIS javascript custom graphics layer. Creates clusters and creates flares for clusters.
  • Google Maps API Polyline String Decoder - Function that will convert encoded polyline strings (as returned by the Google Maps API) into a list of lat/lon pairs.
  • Mapzen Tangram - JavaScript library for rendering 2D & 3D maps live in a web browser with WebGL, supports MVT, GeoJSON, TopoJSON.

Web Map Server

  • Geoserver - WMS written in Java and relies on GeoTools. Allows users to share and edit geospatial data.
  • Mapserver - WMS written in C.
  • MapGuide - Runs on Linux or Windows, supports Apache and IIS web servers, and has APIs (PHP, .NET, Java, and JavaScript) for application development.
  • PGRestAPI - Node.js REST API for PostGres Spatial Entities. AKA: SpatialServer.
  • utilery - Micro vector tile manufacturing from PostGIS.

Radar

  • PolSARpro - Open source radar image data processing software.
  • Sarmap - Synthetic Aperture Radar processing software.
  • GAMMA - Allows processing of SAR, interferometric SAR (InSAR) and differential interferometric SAR (DInSAR).
  • Sentinel Toolboxes - Free open source toolboxes for the scientific exploitation of the Sentinel missions.
  • NANSAT - Nansat is a scientist friendly Python toolbox for processing 2D satellite earth observation data.

Lidar

  • FME Desktop - FME is an integrated collection of Spatial ETL tools for data transformation and data translation.
  • LAStools - A collection of highly-efficient, scriptable tools with multi-core batching that process LAS, compressed LAZ, Terrasolid BIN, .shp, and ASCII.
  • FullAnalyze - Handling, visualizing and processing lidar data (3D point clouds and waveforms).
  • DielmoOpenLidar - Open source software based in gvSIG for the management of LiDAR data.
  • Global Mapper Lidar Module - Lidar module for Global Mapper.
  • Fusion - Python for Lidar data.
  • libLAS - libLAS is a C/C++ library for reading and writing the very common LAS LiDAR format.
  • PyLAS - A python library for reading and writing LAS files.
  • Laspy - Laspy is a python library for reading, modifying, and creating .LAS LIDAR files.
  • PDAL - PDAL is a C++ BSD library for translating and manipulating point cloud data.

Geographic Data Mining

  • Weka - Weka is a collection of machine learning algorithms for data mining tasks written in Java.
  • GeoDMA - GeoDMA is a plugin for TerraView software, used for geographical data mining.

Atmospheric Correction

  • ATCOR - ERDAS Imagine module.
  • 6S - Open source algorithm.

Libraries

  • GDAL - Geospatial Data Abstraction Library (GDAL) is a computer library.
  • Mapnik - C++/Python/Node.js library for rendering.
  • Terralib - TerraLib is a GIS classes and functions open source library.
  • GeographicLib - For solving geodesic problems. Implemented in C, C++, Java, Javascript, Fortran, Python and Matlab.
  • Orfeo ToolBox - Orfeo ToolBox (OTB) is an open-source C++ library for remote sensing images processing.
  • Geolib - GeoLib is a fast, efficient, computational geometry library available in C++, C# and Java.

Python

  • GeoDjango - Django geographic web framework.
  • Landsat-util - Landsat-util is a command line utility that makes it easy to search, download, and process Landsat imagery.
  • Rasterio - Rasterio employs GDAL under the hood for file I/O and raster formatting.
  • Rasterstats - Python module for summarizing geospatial raster datasets based on vector geometries.
  • Pandas - Open source library providing high-performance, easy-to-use data structures and data analysis tools for the Python.
  • Shapely - Manipulation and analysis of geometric objects in the Cartesian plane.
  • Cartopy - A library providing cartographic tools for python for plotting spatial data.
  • Rtree - For efficiently querying spatial data.
  • NodeBox-opengl - For playing around with animations.
  • Statsmodels - Python module that allows users to explore data, estimate statistical models, and perform statistical tests.
  • NumPy - NumPy is the fundamental package for scientific computing with Python.
  • geopy - geopy is a Python 2 and 3 client for several popular geocoding web services.
  • IPython - For a wondering interactive environment in which to play.
  • FreeType - For converting font glyphs to polygons.
  • PyQGIS - Python for QGIS.
  • Fiona - For making it easy to read/write geospatial data formats.
  • matplotlib - Python 2D plotting library.
  • networkx - To work with networks.
  • PySAL - For all your spatial econometrics needs.
  • Descartes - Plot geometries in matplotlib.
  • PyShp - For reading and writing shapefiles.
  • PyProj - For conversions between projections.
  • Pyncf - Pure Python NetCDF file reading and writing.
  • chupaESRI - ChupaESRI is a Python module/command line tool to extract features from ArcGIS Server map services.
  • GeoPandas - Python tools for geographic data.
  • geojsonio.py - Open GeoJSON data on geojson.io from Python. geojsonio.py also contains a command line utility that is a Python port of geojsonio-cli.
  • Ogcserver - Python WMS implementation using Mapnik.
  • RSGISLib - The Remote Sensing and GIS software library (RSGISLib) is a collection of tools for processing remote sensing and GIS datasets. The tools are accessed using Python bindings or an XML interface.
  • Scikit-image - Scikit-image is a collection of algorithms for image processing.

PaaS - Platform as a Service

SaaS - Software as a Service

  • ArcGIS Online - ArcGIS Online GIS platform for mapping ans spatial analysis.
  • CartoDB - Cloud computing platform that provides GIS and web mapping tools for display in a web browser.
  • Mapbox - Plataform for web map design and manipulation.

DaaS - Data as a Service

Java

  • Geotools - GeoTools is an open source Java library that provides tools for geospatial data.
  • Geonetwork - GeoNetwork is a catalog application to manage spatially referenced resources.
  • JTS Topology Suite - JTS Topology Suite is an API of 2D spatial predicates and functions.
  • GeOxygene - Provide an open framework which implements OGC/ISO specifications for the development and deployment of GIS applications.
  • Gisgraphy - Open source framework that offers the ability to do geolocalisation and geocoding via Java APIs or REST webservices.
  • JGeocoder - Free Java Geocoder.
  • Spatial4j - Spatial4j is a general purpose geospatial ASL licensed open-source Java library.
  • Geoapi - GeoAPI provides a set of Java language programming interfaces for geospatial applications.
  • Openmap - Open Source JavaBeans-based programmer's toolkit.
  • Apache SIS - Apache Spatial Information System (SIS) is a free software, Java language library for developing geospatial applications.
  • World Wind Java SDK - Nasa cross-platform Java SDK.

C Sharp

  • SharpMap - SharpMap is an easy-to-use mapping library for use in web and desktop applications.
  • DotSpatial - DotSpatial is a geographic information system library written for .NET 4.
  • NTS Net Topology Suite - A .NET GIS solution that is fast and reliable for the .NET platform.
  • Geo - A geospatial library for .NET
  • SharpKml - Is able to read/write both KML files and KMZ files.

C++

  • GEOS - GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS).
  • GDAL - Geospatial Data Abstraction Library (GDAL) is a computer library that serve as a translator library for raster and vector geospatial data formats.
  • Mapnik - C++ library for rendering.
  • Terralib - TerraLib is a GIS classes and functions open source library.
  • Boost Geometry - Part of collection of the Boost C++ Libraries, defines concepts, primitives and algorithms for solving geometry problems.
  • Capaware - 3D terrain representation with multilayer representation.
  • libspatialindex - C++ implementation of R*-tree, an MVR-tree and a TPR-tree with C API.
  • Spatial - Spatial is a generic header-only C++ library providing multi-dimensional in-memory containers, iterators and functionals.
  • geojson-vt-cpp - Port to C++ of JS GeoJSON-VT for slicing GeoJSON into vector tiles on the fly.
  • Supercluster - A C++14 port of supercluster, a fast 2D point clustering library for use in interactive maps.
  • Mapbox GL Native - Render Mapbox styles in mobile, desktop, and node applications using C++ and OpenGL.
  • Mapzen Tangram-ES - C++ library for rendering 2D and 3D maps using OpenGL ES 2 with custom styling and interactions
  • Mapnik Vector Tile - Mapnik C++ implemention of Mapbox Vector Tile specification.
  • Vector Tiles Producer - Command line tool in C++ to creates vector tiles for a given area at chosen zoom levels using a Mapnik XML.
  • libGeoTiff - Manipulate TIFF based interchange format for georeferenced raster imagery.
  • Orfeo ToolBox - Orfeo TooLBox (OTB) is an open-source C++ library for remote sensing images processing, distributed under the CeCILL-v2 licence.
  • ITK - ITK is an open-source, cross-platform system that provides developers with an extensive suite of software tools for image analysis.
  • RSGISLib - The Remote Sensing and GIS software library (RSGISLib) is a collection of tools for processing remote sensing and GIS datasets. The tools are accessed using Python bindings or an XML interface.

C

  • Shapefile C Library - Provides the ability to write simple C programs for reading, writing and updating (to a limited extent) .shp and .dbf files.
  • Libuv - Cross-platform asynchronous I/O.
  • Datamaps - This is a tool for indexing large lists of geographic points or lines and dynamically generating map tiles from the index for display.

Ruby

  • Geokit - A Ruby gem & Rails plugin for easier map-based applications.
  • Rgeo - RGeo is a geospatial data library for Ruby. It provides an implementation of the Open Geospatial Consortium's Simple Features Specification
  • Rgeo Shapefile - Optional module for RGeo for reading geospatial data from ESRI shapefiles.
  • Rgeo GeoJSON - RGeo component for reading and writing GeoJSON.
  • [ffi-geos](RGeo component for reading and writing GeoJSON) - Low-level ruby bindings to GEOS library.
  • PostGIS ActiveRecord Adapter - ActiveRecord adapter for PostGIS.
  • SpatiaLite ActiveRecord Adapter - ActiveRecord adapter for Spatialite.
  • Mongoid Geospatial - A Mongoid Extension that simplifies the use of MongoDB spatial features.
  • Ruby Geocoder - Integration with geocoding services.

CSS

  • CartoCSS - TileMills language.
  • MapCSS - MapCSS is a CSS-like language for map stylesheets.

Julia

  • RasterIO.jl - Simple Raster Formats for Julia.
  • OpenStreetMaps.jl - This package provides basic functionality for parsing, viewing, and working with OpenStreetMap map data.

R

  • sp - Classes and Methods for Spatial Data.
  • rgdal - Bindings for the Geospatial Data Abstraction Library.
  • raster - Reading, writing, manipulating, analyzing and modeling of gridded spatial data.
  • ggplot2 - ggplot2 is a plotting system for R.
  • ggmap - Spatial Visualization with ggplot2.
  • rgeos - Interface to Geometry Engine - Open Source (GEOS) using the C API for topology operations on geometries.
  • rgrass7 - Interface Between GRASS 7 GIS and R.
  • Rnetcdf - Interface to NetCDF Datasets.
  • RSAGA - SAGA Geoprocessing and Terrain Analysis in R.
  • RODBC - ODBC Database Access.
  • RPyGeo - ArcGIS Geoprocessing in R via Python.
  • shapefiles - Read and Write ESRI Shapefiles.
  • Rgooglemaps - Overlays on Google map tiles in R.
  • leafletR - Interactive Web-Maps Based on the Leaflet JavaScript Library.
  • maptools - Tools for Reading and Handling Spatial Objects.
  • RArcInfo - Functions to import data from Arc/Info V7.x binary coverages.
  • Akima - Interpolation of Irregularly and Regularly Spaced Data.
  • maps - Draw Geographical Maps.
  • PBSmapping - Mapping Fisheries Data and Spatial Analysis Tools.
  • Landsat - Radiometric and topographic correction of satellite imagery.
  • spatstat - Spatial Point Pattern Analysis, Model-Fitting, Simulation, Tests.
  • splancs - Spatial and Space-Time Point Pattern Analysis.
  • plotKML - Visualization of Spatial and Spatio-Temporal Objects in Google Earth.
  • OpenStreetMap - Access to Open Street Map Raster Images.
  • GEOmap - Topographic and Geologic Mapping.
  • rworldmap - Mapping Global Data.
  • rasterVis - Visualization Methods for Raster Data.
  • spdep - Spatial Dependence: Weighting Schemes, Statistics and Models.
  • spacetime - Classes and Methods for Spatio-Temporal Data.
  • geoR - Analysis of Geostatistical Data.
  • ecespa - Functions for Spatial Point Pattern Analysis.
  • mapproj - Map Projections.
  • gstat - Spatio-Temporal Geostatistical Modelling, Prediction and Simulation.
  • intamap - Procedures for automated interpolation.

JavaScript

  • Heatmap.js - A heatmap implementation for Javascript.
  • Thermo.js - Another heatmap implementation for Javascript.
  • Heatcanvas.js - Yet another heatmap implementation for Javascript.

Node.js

  • Turf.js - Advanced geospatial analysis for browsers and node.
  • JSTS - Port of the Java JTS library.
  • Spatial - A 2d spatial hash module for node.js.
  • PGRestAPI - Node.js REST API for PostGres Spatial Entities.
  • Supercluster - A crazy fast geospatial point clustering library for browsers and Node.
  • SQLite3 - Asynchronous, non-blocking SQLite3 bindings for Node.js.
  • Windshaft - A Node.js map tile library for PostGIS and torque.js, with CartoCSS styling.

Mobile Development

Visualization

  • Processing - Processing is a flexible software sketchbook and a language for learning how to code within the context of the visual arts.
  • P5.js - Javascript library that starts with the original goal of Processing.
  • Processing.py - Python mode for Processing.
  • D3.js - D3.js is a JavaScript library for manipulating documents based on data.
  • openFrameworks - openFrameworks is an open source C++ toolkit for creative coding.
  • Folium - Python Data. Leaflet.js Maps.
  • Blender GIS - Blender addons to make the bridge between Blender and geographic data.
  • tippiecannoe - Build vector tilesets from large collections of GeoJSON features.
  • Kosmtik - Very lite but extendable mapping framework to create Mapnik ready maps with OpenStreetMap data (and more).
  • mplleaflet - Easily convert matplotlib plots from Python into interactive Leaflet web maps.

Tools

  • TileMill - TileMill is a modern map design studio powered by Node.js and Mapnik.
  • DataPillager - Download data from Esri service.
  • Osm2pgsql - osm2pgsql is a tool for loading OpenStreetMap data into a PostgreSQL.

Cheat sheets

Data Sources

  • TZ Timezone Shapefiles - Polygon boundaries of world timezones.
  • USGS Earth Explorer - Provides online search,metadata export, and data download for earth science data from the archives of the USGS.
  • GeoNames - The GeoNames geographical database covers all countries and contains over eight million place names (cities, postal codes, countries) that are available for download free of charge.
  • Mapzen - It provides data in OSM/PBF and Esri shapefile formats for popular cities.
  • Geofabrik - This is another source of prepared OpenStreetMap data. This distribution is generally built nightly and comes in OSM XML, pbf, and shapefile (for very popular areas) formats.
  • Natural Earth - This site offers public domain map data sets that contain both raster and vector data.
  • ASTER Data - Download ASTER data.

Resources

References