Long list of geospatial tools and resources
Go to file
2019-07-30 10:10:30 -03:00
LICENSE Initial commit 2016-05-06 15:05:43 -03:00
README.md Update README.md 2019-07-30 10:10:30 -03:00

Awesome Geospatial Awesome

Long list of geospatial analysis tools. Geospatial analysis, or just spatial analysis, is an approach to applying statistical analysis and other analytic techniques to data which has a geographical or spatial aspect.

427672_2794027726746_176065793_n


Database

  • PostGIS 🌟 - PostgreSql spatial extension.
  • PostGIS Vector Tile Utils - A set of PostgreSQL functions that are useful when creating vector tile sources.
  • Spatialite - SQLite spatial extension.
  • Geopackage - SQLite spatial extension. More powerfull than its older brother Spatialite.
  • Microsoft SQL Server - Microsoft SQL/SQL Azure spatial features. All the spatial functionality is also available as a .NET library (can be downloaded using nuget)
  • Neo4j Spatial - Library of spatial utilities for Neo4j.
  • Oracle Spatial - Oracle database spatial extension.
  • MySql Spatial - MySql spatial extension.
  • GeoCouch - GeoCouch is a spatial extension for Couchbase and Apache CouchDB.
  • Cloudant - IBM noSQL database that supports spatial data (GeoJSON).
  • MondoDB - Also supports GeoJSON and spatial indexes.
  • DB2 Spatial Extender - Spatial Extender allows you to store, manage, and analyze spatial data in DB2.
  • Informix Spatial - Informix spatial extension.
  • Teradata Geospatial Feature - Teradata spatial extension for DW and BI.
  • Rasdaman - Array database that allows storing and querying massive multi-dimensional arrays, such as sensor, image, simulation, and statistics data appearing in domains like earth, space, and life science.
  • SciDB - Array database designed for multidimensional data management and analytics common to scientific, geospatial, financial, and industrial applications.
  • 3D CityDB - A free 3D geo database to store, represent, and manage virtual 3D city models on top of a standard spatial relational database. The database model contains semantically rich, hierarchically structured, multi-scale urban objects facilitating complex GIS modeling and analysis tasks, far beyond visualization.
  • Tile38 - Tile38 is a geospatial database, spatial index, and realtime geofence.
  • OrientDB - OrientDB is an Open Source Multi-Model NoSQL DBMS with the support of Native Graphs, Documents Full-Text, Reactivity, Geo-Spatial and Object Oriented concepts.

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.
  • The Sentinel Toolbox - The Sentinel Toolboxes consists of a collection of processing tools, data product readers and writers and a display and analysis application to process Sentinel data.
  • Dinamica EGO - Dinamica EGO consists of a sophisticated platform for environmental modeling.
  • TIMESAT - TIMESAT is a software package for analysing time-series of satellite sensor data.
  • gdal2tilesp - This enhancement to the gdal2tiles.py script includes additional features.

Geographic Information System

  • ArcGIS 🌟 - GIS for working with maps and geographic information.
  • ArcGIS Pro - Fully 64-bit version of ArcGIS with new GUI and 2D/3D integration.
  • LuciadFusion - An all-in-one server solution for your data publication workflow and geospatial data management
  • QGIS 🌟 - Cross-platform free and open-source desktop geographic information system.
  • GeoDa - Spatial data analysis software.
  • 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.
  • FME Desktop - FME is an integrated collection of Spatial ETL tools for data transformation and data translation.
  • GC2 - GC2 is a enterprise platform GIS (open source)

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.
  • CesiumJS - An open-source JavaScript library for world-class 3D globes and maps.
  • LuciadRIA - A JavaScript library for 3D globes and maps, with support for military symbology and desktop-like performance
  • 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.
  • GeoNode - A web-based application and platform for developing geospatial information systems (GIS) and for deploying spatial data infrastructures (SDI).

Web Map Server

  • Geoserver 🌟 - WMS written in Java and relies on GeoTools. Allows users to share and edit geospatial data.
  • MapProxy - An open source tile server proxy for geospatial data (WMS-C, TMS, WMTS, KML SuperOverlays). It caches, accelerates and transforms data from existing map services and serves any desktop or web GIS client.
  • 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.
  • Deegree - Open source software for spatial data infrastructures and the geospatial web. Deegree offers components for geospatial data management, including data access, visualization, discovery and security. Open standards are at the heart of Deegree. It supports WMS, WFS for Catalogue Service, WCS, WPS, WMTS.
  • 52North WPS - The 52°North Web Processing Service (WPS) enables the deployment of geo-processes on the web in a standardized way. It features a pluggable architecture for processes and data encodings. The implementation is based on the current OpenGIS specification: 05-007r7. Its focus was the creation of an extensible framework to provide algorithms for generalization on the web.
  • Zoo Project WPS - A WPS (Web Processing Service) implementation written in C, Python and JavaScript. It is an open source platform which implements the WPS 1.0.0 and WPS 2.0.0 standards edited by the Open Geospatial Consortium (OGC). It provides a developer-friendly framework for creating and chaining WPS compliant Web Services.
  • Nanocubes - An in-memory data structure for spatiotemporal data cubes.

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.
  • PySAR - InSAR time series analysis in Python.
  • SARbian - Free and open SAR operating system (based on Debian Linux).
  • GMT5SAR - InSAR processing system based on GMT.
  • PyRate - A Python tool for estimating velocity and time-series from Interferometric Synthetic Aperture Radar (InSAR) data.
  • SARPROZ - Implements a wide range of Synthetic Aperture Radar (SAR), Interferometric SAR (InSAR) and Multi-Temporal InSAR processing techniques.
  • GIAnT - Python libraries and scripts that implement various published time-series InSAR algorithms in a common framework.

Lidar

  • 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 🌟 - CLI/GUI Lidar software.
  • libLAS - libLAS is a C/C++ library for reading and writing the very common LAS LiDAR format.
  • LASzip - Quickly turns bulky LAS files into compact LAZ files without information loss.
  • 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.
  • displaz - A hackable lidar viewer.
  • lidario - A small Go library for reading and writing LiDAR (LAS) files.
  • lidar - A Crystal language library for reading and writing LiDAR data in LAS format.
  • MCC-LIDAR - Multiscale Curvature Classification for LIDAR Data.
  • lidR - R package for airborne LiDAR data manipulation and visualisation for forestry application.
  • Entwine - Point cloud indexing for massive datasets.
  • Quick Terrain Modeler - Proprietary LiDAR exploitation software by Applied Imagery.
  • TopoDOT - Proprietary software for extracting topography, 3D models, GIS Assets, and more from point cloud data.

3D Application

  • Skyline - A glimpse into Skyline's cutting-edge 3D geospatial visualization products, and their potential to transform the way your organization makes decisions, shares information and manages its assets
  • CityEngine - Transform 2D GIS Data into Smart 3D City Models
  • ArcGIS Earth - Display data, sketch placemarks, measure distances and areas, and add annotations at any part of the world
  • World Wind - Providing features for displaying with geographic data
  • Google Earth - Bringing a earth view for global mapping

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

  • ARCSI - The Atmospheric and Radiometric Correction of Satellite Imagery (ARCSI) software provides a command line tool for the generation of Analysis Ready Data (ARD) optical data including atmospheric correction, cloud masking, topographic correction etc.
  • radiometric_normalization - Implementation of radiometric normalization workflows.
  • ATCOR - ERDAS Imagine module.
  • 6S - Second Simulation of the Satellite Signal in the Solar Spectrum (6S) open source algorithm.
  • Py6S - Py6S is a interface to the Second Simulation of the Satellite Signal in the Solar Spectrum (6S) atmospheric Radiative Transfer Model through the Python programming language.
  • i.atcorr - GRASS GIS module that performs atmospheric correction using the 6S algorithm.
  • sen2cor - is a processor for Sentinel-2 Level 2A product generation and formatting; it performs the atmospheric-, terrain and cirrus correction of Top-Of- Atmosphere Level 1C input data.

Agent-based Modeling

  • Mesa - Mesa is an Apache2 licensed agent-based modeling (or ABM) framework in Python.
  • NetLogo - NetLogo is a multi-agent programmable modeling environment.
  • Repast - The Repast Suite is a family of advanced, free, and open source agent-based modeling and simulation platforms.
  • MASON - MASON is a fast discrete-event multiagent simulation library core in Java, designed to be the foundation for large custom-purpose Java simulations, and also to provide more than enough functionality for many lightweight simulation needs. MASON contains both a model library and an optional suite of visualization tools in 2D and 3D.
  • DMASON - DMASON is a parallel version of the MASON library for writing and running simulations of Agent based simulation models.

Libraries

  • GDAL 🌟 - Geospatial Data Abstraction Library (GDAL) is a translator library for raster and vector geospatial data formats.
  • Mapnik - C++/Python/Node.js library for map 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.
  • Geolib - GeoLib is a fast, efficient, computational geometry library available in C++, C# and Java.
  • pgRouting - Extends the PostGIS / PostgreSQL geospatial database to provide geospatial routing functionality.
  • PointCloud - A PostgreSQL extension for storing point cloud (LIDAR) data.
  • TerraMA2 - A free and open source computational platform for early warning systems.

PaaS - Platform as a Service

SaaS - Software as a Service

  • ArcGIS Online - ArcGIS Online GIS platform for mapping and spatial analysis.
  • Carto - Cloud computing platform that provides GIS and web mapping tools for display in a web browser.
  • Fulcrum - A mobile data collection platform that allows you to build, deploy, & collect field data with your own customizable data collection apps.
  • GIS Cloud - Real-time mapping platform for the entire workflow of your organization.
  • Linq - Business process mapping.
  • Mapbox - Plataform for web map design and manipulation.
  • NextGIS - A cloud geospatial service that allows you to create web GIS right in the browser.
  • OpenCage Geocoding API - An API aggregating multiple open geo datasources (OpenStreetMap and others).
  • OpenMapTiles - Vector tiles and map services as service, self-hosted or off-line.

DaaS - Data as a Service

Deep Learning

  • Darknet - Darknet is an open source neural network framework written in C and CUDA.
  • Raster Vision - An open source framework for deep learning on satellite and aerial imagery.
  • AirNet - SegNet-like network implemented in TensorFlow to use for segmenting aerial images.
  • TernausNetV2 - TernausNetV2: Fully Convolutional Network for Instance Segmentation.
  • YOLT - You Only Look Twice: Rapid Multi-Scale Object Detection In Satellite Imagery.
  • SIMRDWN - The Satellite Imagery Multiscale Rapid Detection with Windowed Networks (SIMRDWN) codebase combines some of the leading object detection algorithms into a unified framework designed to detect objects both large and small in overhead imagery.
  • Pixel Decoder - A machine learning python package to run deep learning with satellite imagery.
  • LightNet - LightNet: Light-weight Networks for Semantic Image Segmentation (Cityscapes and Mapillary Vistas Dataset)
  • eo-learn - Earth observation processing framework for machine learning in Python.
  • libtorch-yolov3 - A Libtorch implementation of the YOLO v3 object detection algorithm.
  • ShelfNet - Implementation of a CNN model for real-time semantic segmentation.
  • Hyperspectral - Deep Learning for Land-cover Classification in Hyperspectral Images.
  • SNIPER - SNIPER is an efficient multi-scale object detection algorithm.
  • Label Maker - Data Preparation for Satellite Machine Learning.

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.
  • ArcGIS Python API - ArcGIS API for Python is a Python library for working with maps and geospatial data, powered by web GIS.
  • PyQGIS - Python for QGIS.
  • Pandas - Open source library providing high-performance, easy-to-use data structures and data analysis tools for the Python.
  • pandana - Pandas Network Analysis - dataframes of network queries, quickly.
  • xarray - xarray (formerly xray) is an open source project and Python package that aims to bring the labeled data power of pandas to the physical sciences, by providing N-dimensional variants of the core pandas data structures.
  • GeoPandas - Python tools for geographic data.
  • Shapely 🌟 - Manipulation and analysis of geometric objects in the Cartesian plane.
  • mapboxgl-jupyter - Use Mapbox GL JS to visualize data in a Python Jupyter notebook.
  • Cartopy - A library providing cartographic tools for python for plotting spatial data.
  • Rtree - For efficiently querying spatial data.
  • geoalchemy - Using SQLAlchemy with spatial databases.
  • 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.
  • FreeType - For converting font glyphs to polygons.
  • 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.
  • 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.
  • pyWPS - An implementation of the Web Processing Service standard from the Open Geospatial Consortium. PyWPS is written in Python. It enables integration, publishing and execution of Python processes via the WPS standard.
  • pyCSW - Fully implements the OpenGIS Catalogue Service Implementation Specification (Catalogue Service for the Web). Initial development started in 2010 (more formally announced in 2011). The project is certified OGC Compliant, and is an OGC Reference Implementation.
  • urbansim - New version of UrbanSim, a platform for modeling metropolitan real estate markets.
  • OSMnet - Tools for the extraction of OpenStreetMap street network data.
  • rio-hist - Histogram matching plugin for rasterio.
  • rio-color - Color correction plugin for rasterio.
  • geojson-area - Calculate the area inside of any GeoJSON geometry. This is a port of Mapbox's geojson-area for Python.
  • Peartree - Peartree: A library for converting transit data into a directed graph for network analysis.
  • GeoDaSpace - Software for Advanced Spatial Econometrics.
  • Mahotas - Mahotas is a library of fast computer vision algorithms (all implemented in C++ for speed) operating over numpy arrays.
  • Mahotas-imread - Read images to numpy arrays.
  • dask-rasterio - Read and write rasters in parallel using Rasterio and Dask.
  • geeup - Simple CLI for Earth Engine Uploads.
  • Verde - Verde is a Python library for processing spatial data (bathymetry, geophysics surveys, etc) and interpolating it on regular grids (i.e., gridding).
  • gpdvega - gpdvega is a bridge between GeoPandas and Altair that allows to seamlessly chart geospatial data.
  • LANDSAT-Download - Automated download of LANDSAT data from USGS website.
  • USGS API - USGS is a python module for interfacing with the US Geological Survey's API.
  • som-tsp - Solving the Traveling Salesman Problem using Self-Organizing Maps.
  • Centroids - This application reads a valid geojson FeatureCollection and returns a valid geojson FeatureColleciton of centroids.
  • sentinelsat - Search and download Copernicus Sentinel satellite images.
  • PyPostal - Python bindings to libpostal for fast international address parsing/normalization.
  • python-opencage-geocoder - A Python module that uses the OpenCage Geocoding API.
  • rio-tiler - Get mercator tile from landsat, sentinel or other AWS hosted raster.
  • rio-cogeo - CloudOptimized GeoTIFF creation plugin for rasterio.
  • GIPPY - Geospatial Image Processing for Python.
  • ts-raster - ts-raster is a python package for analyzing time-series characteristics from raster data. It allows feature extraction, dimension reduction and applications of machine learning techniques for geospatial data.
  • LT-ChangeDB - Scripts to extract spectral change information from LandTrendr data to a geodatabase.
  • pymap3d - Python 3D coordinate conversions for geospace ecef enu eci.
  • YATSM - Yet Another Timeseries Model (YATSM) is a Python package for utilizing a collection of timeseries algorithms and methods designed to monitor the land surface using remotely sensed imagery.
  • untiler - Stitch image tiles into larger composite TIFs.
  • pyroSAR - A Python Framework for Large-Scale SAR Satellite Data Processing.
  • RIOS - Raster I/O Simplification. A set of python modules which makes it easy to write raster processing code in Python.
  • thunder - Thunder is an ecosystem of tools for the analysis of image and time series data in Python.
  • eo-box - Earth observation processing framework for machine learning in Python.
  • lidar - Terrain and hydrological analysis using digital elevation models (DEMs).
  • whitebox - Python frontend for WhiteboxTools.
  • WhiteboxTools-ArcGIS - ArcGIS Python Toolbox for WhiteboxTools.
  • landsat-extract-gee - Get Landsat surface reflectance time-series from google earth engine.
  • satpy - Satpy is a python library for reading, manipulating, and writing data from remote-sensing earth-observing meteorological satellite instruments.
  • CuPy - NumPy-like API accelerated with CUDA.
  • Python Geocoder - Simple and consistent geocoding library written in Python.
  • EarthPy - A package built to support working with spatial data using open source python.
  • scikit-mobility - Mobility analysis in Python.

Perl

Java

  • Geotools 🌟 - GeoTools is an open source Java library that provides tools for geospatial data.
  • GeoServer - GeoServer is open source server for sharing geospatial data.
  • GeoWebCache - a Java web application used to cache map tiles coming from a variety of sources such as OGC Web Map Service (WMS). It implements various service interfaces (such as WMS-C, WMTS, TMS, Google Maps KML, Virtual Earth) in order to accelerate and optimize map image delivery. It can also recombine tiles to work with regular WMS clients.
  • 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.
  • MapFish Print - The purpose of Mapfish Print is to create reports that contain maps (and map related components) within them. The project is a Java based servlet/library/application based on the mature Jasper Reports Library.
  • asgbook - Implementation of GIS/RS features in Java. Its also the code accompanying the book "Automating the Analysis of Spatial Grids" by Valliappa Lakshmanan.
  • whitebox-geospatial-analysis-tools - An open-source GIS and remote sensing package.
  • LuciadLightspeed - A Java library that provides the foundations for advanced geospatial analytics applications
  • jpostal - Java/JNI bindings to libpostal for fast international street address parsing/normalization.
  • Photon - Photon is an open source geocoder built for OpenStreetMap data. It is based on elasticsearch.
  • GraphHopper Routing Engine - GraphHopper is a fast and memory efficient Java routing engine, released under Apache License 2.0. By default it uses OpenStreetMap and GTFS data, but it can import other data sources.

Kotlin

  • geospatial-messenger - Geospatial messenger application written with Spring Boot + Kotlin + PostgreSQL.

Clojure

  • geo - Clojure library for working with geohashes, polygons, and other world geometry.

Crystal

  • lidar - A Crystal language library for reading and writing LiDAR data in LAS format.

C Sharp

  • Windows UWP map control - The Bing Maps control built into the Windows UWP platform.
  • Bing Maps WPF SDK - The Bing Maps WPF API.
  • Bing Maps REST Toolkit - This is a portable class library which makes it easy to access the Bing Maps REST services from .NET.
  • Bing Maps Spatial Data Services Toolkit - This toolkit makes it easy to use the Bing Maps Spatial Data Services (SDS) in .NET.
  • BotBuild-Location - An open-source location picker control for Microsoft Bot Framework powered by Bing Maps REST services.
  • 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.
  • GDAL/OGR CSharp - C# bindings for GDAL and OGR.
  • Geo - A geospatial library for .NET
  • SharpKml - Is able to read/write both KML files and KMZ files.
  • Mapbox Maps SDK for Unity - The Maps SDK for Unity is a collection of tools for building Unity applications from real map data.
  • osmsharp - OsmSharp is a C# library to work with OpenStreetMap (OSM) data.
  • GeoJSON4EntityFramework - Create GeoJSON from Entity Framework Spatial Data or WKT.
  • GeoJSON.Net - .Net library for GeoJSON types & corresponding Json.Net (de)serializers.
  • Earth-Lens - Earth Lens, a Microsoft Garage project is an iOS iPad application that helps people and organizations quickly identify and classify objects in aerial imagery through the power of machine learning.
  • ArcBruTile - ArcBruTile displays a collection of maps in ArcGIS Pro 2.0 and ArcMap 10.0 - 10.6.
  • BruTile - BruTile is a .NET library to access tile services like those of OpenStreetMap, MapBox or GeodanMaps.

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 map 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.
  • Mapbox Maps SDK for Qt - Qt Automotive Map Suite.
  • 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.
  • OSRM (Open Source Routing Machine) - High performance routing engine written in C++, designed to run on OpenStreetMap data. Services available: Nearest, Route, Table, Match, Trip, Tile.
  • OpenOrienteering Mapper - OpenOrienteering Mapper is a software for creating maps for the orienteering sport.
  • TauDEM - Terrain Analysis Using Digital Elevation Models (TauDEM) software for hydrologic terrain analysis and channel network extraction.
  • osgearth - A free open source C++ geospatial toolkit.
  • dreich_algorithm - Algorithm for extracting channel networks from high resolution topographic data.
  • gSLICr - Real-time super-pixel segmentation.
  • LASzip - Quickly turns bulky LAS files into compact LAZ files without information loss.
  • laz-perf - Alternative LAZ implementation for C++ and JavaScript.
  • entwine - Entwine is a data organization library for massive point clouds, designed to conquer datasets of hundreds of billions of points as well as desktop-scale point clouds.
  • OpenDroneMap - OpenDroneMap is a tool to postprocess drone, balloon, kite, and street view data to geographic data including orthophotos, point clouds, & textured mesh.
  • S2 Geometry - Computational geometry and spatial indexing on the sphere.
  • TIN Terrain - A command-line tool for converting heightmaps in GeoTIFF format into tiled optimized meshes.
  • tippecanoe - Build vector tilesets from large collections of GeoJSON features.
  • Selene - A C++14 image representation, processing and I/O library.
  • Pronto Raster - C++ library for geographical raster data analysis.
  • valhalla - Open Source Routing Engine for OpenStreetMap.
  • Halide - Halide is a programming language designed to make it easier to write high-performance image processing code on modern machines.
  • gdalcubes - gdalcubes is a library to represent collections of Earth Observation (EO) images as on demand data cubes (or multidimensional arrays).
  • hydroflow - Compute drainage orders in drainage basins using Strahler and Shreve methods.
  • otbtf - Deep learning with otb.
  • prepair - Automatic repair of single polygons (according to the OGC Simple Features / ISO19107 rules) using a constrained triangulation.
  • pprepair - Validation and Automatic Repair of Planar Partitions.

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.
  • Datamaps - This is a tool for indexing large lists of geographic points or lines and dynamically generating map tiles from the index for display.
  • H3 - Hexagonal hierarchical geospatial indexing system.
  • YOLT - You Only Look Twice: Rapid Multi-Scale Object Detection In Satellite Imagery.
  • libpostal - A C library for parsing/normalizing street addresses around the world. Powered by statistical NLP and open geo data.
  • libvips - A fast image processing library with low memory needs.
  • udunits2 - API and utility for arithmetic manipulation of units of physical quantities.

Fortran

  • 6S - Second Simulation of the Satellite Signal in the Solar Spectrum (6S) open source algorithm.
  • SWAT - Implementation of SWAT model.
  • SPECFEM3D_GLOBE - SPECFEM3D_GLOBE simulates global and regional (continental-scale) seismic wave propagation.

Go

  • S2 - S2 is a library for spherical geometry that aims to have the same robustness, flexibility, and performance as the best planar geometry libraries.
  • GoSpatial - GoSpatial is a simple command-line interface program for manipulating geospatial data.
  • BuntDB - BuntDB is an embeddable, in-memory key/value database for Go with custom indexing and geospatial support.
  • Go GDAL - Go (golang) wrapper for GDAL, the Geospatial Data Abstraction Library.
  • Go-shp - Go library for reading and writing ESRI Shapefiles. Pure Golang implementation based on the ESRI Shapefile technical description.
  • Go-proj-4 - Go bindings for the Cartographic Projections Library PROJ.4.
  • Draw2D - 2D rendering for different output (raster, pdf).
  • Go.Geo - Geometry/geography library in Go.
  • geom - Geometry objects and functions for Go.
  • go-geom - Go library for handling geometries.
  • lidario - A small Go library for reading and writing LiDAR (LAS) files.
  • BoxTree - An R-tree implementation for Go.
  • gopostal - Go (cgo) interface to libpostal for fast international address parsing/normalization.

Rust

  • rust-geo - Geospatial primitives and algorithms for Rust.
  • rust-gdal - Rust bindings for GDAL.
  • rust-proj - Rust bindings for Proj.
  • rust-geojson - Library for serializing the GeoJSON vector GIS file format.
  • rust-topojson - TopoJSON bindings and utilities for Rust.
  • rust-geohash - Geohash for Rust.
  • rust-wkt - Rust read/write support for well-known text (WKT).
  • rust-polyline - Google Encoded Polyline encoding & decoding in Rust.
  • rust-geocoding - Geocoding library for Rust.
  • rust-osm - OSM XML serialization and other OpenStreetMap utilities.
  • rust-shapefile - Rust read/write support for shapefiles.
  • rust-gpx - Rust read/write support for GPS Exchange Format (GPX).
  • Hecate - Fast Geospatial Feature Storage API.
  • Martin - Martin is a PostGIS vector tiles server suitable for large databases. Martin is written in Rust using Actix web framework.
  • WhiteboxTools - An advanced geospatial data analysis platform.

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 - 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.
  • ruby_postal - Ruby bindings to libpostal for fast international address parsing/normalization.
  • Agroclimatology - Ruby client for interacting with the NASA (POWER) Agroclimatology Web Resource.
  • Evapotranspiration - Ruby library for calculating reference crop evapotranspiration (ETo).

PHP

  • GeoPHP - Advanced geometry operations in PHP.
  • PHP7 Mapnik - PHP extension for geospatial rendering with Mapnik.
  • geospatial - PHP Extension to handle common geospatial functions.
  • geojson - GeoJSON implementation for PHP.
  • laravel-geo - GeoSpatial integration on Laravel 5.2+ that supports MySQL and PostgreSQL.
  • shapefile - ESRI ShapeFile library for PHP.
  • ShapeReader - A PHP library to parse ESRI Shape files.
  • php-libspatialite - PHP Query Builder for SQLite data with Spatial SQL Capabilities.
  • laragis - A standalone Geo/GIS Provider for Laravel.
  • li3_geo - Adds geospatial support to Lithium for multiple databases, including MongoDB, CouchDB and MySQL.
  • FreeGeoDB - Free database of geographic place names and corresponding geospatial data.

Lua

  • TerraME - TerraME is a programming environment for spatial dynamical modelling. It supports cellular automata, agent-based models, and network models running in 2D cell spaces.
  • Tarantool/GIS - A full-featured geospatial extension for Tarantool.
  • geo.lua - A helper library for Redis geospatial indices.

Lisp

  • cl-ewkb - Common Lisp PostGIS EWKB data model and encoder/decoder.
  • cl-proj - CL-PROJ provides CFFI-based Common Lisp bindings for the PROJ.4 library.
  • utm - Lisp library for converting between latitude/longitude and UTM.

Haskell

  • Naqsha - Naqsha is a Haskell library to work with geospatial data types.
  • TerraHS - TerraHS is a software component that enables the development of geographical applications in a functional language, using the data handling capabilities and spatial operations of TerraLib.

Elixir

  • geo - A collection of GIS functions for Elixir.
  • Geometry Library - A Geometry library for Elixir that calculates spatial relationships between two geometries.
  • distance - Provides a set of distance functions for use in GIS or graphic applications.

Swift

  • GEOSwift - The Swift Geographic Engine.
  • turf-swift - A Swift language port of Turf.js.
  • MapboxDirections.swift - Traffic-aware directions in Swift or Objective-C on iOS, macOS, tvOS, and watchOS.
  • Mapbox Navigation SDK for iOS - Turn-by-turn navigation logic and UI in Swift or Objective-C on iOS.
  • Apple MapKit - Display map or satellite imagery directly from your app's interface, call out points of interest, and determine placemark information for map coordinates.

Scala

  • geoscript.scala - Scala implementation of the GeoScript API.
  • mapnik2geotools - Using the Scala XML API to translate from Mapnik XML to GeoTools' SLD dialect.
  • GeoTrellis - GeoTrellis is a Scala library and framework that uses Spark to work with raster data.

Groovy

  • GeoScript Groovy - GeoScript Groovy is the Groovy implementation of GeoScript.

Delphi

  • DSpatial - DSpatial is an Open Source software development project to provide developers using Delphi with a library of tools for the use, manipulation, and visualization of spatial data.

CSS

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

IDL

  • LandTrendr - LandTrendr (Landsat-based Detection of Trends in Disturbance and Recovery) attempt to capture, label, and map changes in Earth's surface for use in science, natural resource management, and education.

Julia

  • RasterIO.jl - Simple Raster Formats for Julia.
  • OpenStreetMaps.jl - This package provides basic functionality for parsing, viewing, and working with OpenStreetMap map data.
  • GDALfuns.jl - Auto-generated low-level wrapper for the GDAL library.
  • JuliaGIS - A package for the visualization and manipulation of geographic data.
  • LibGEOS.jl - LibGEOS is a LGPL-licensed package for manipulation and analysis of planar geometric objects, based on the libraries GEOS (the engine of PostGIS) and JTS (from which GEOS is ported).
  • LibLAS.jl - Julia wrapper for LibLAS, a library for reading and writing the LAS LiDAR format.
  • GeoJSON.jl - This library is developed independently of, but is heavily influenced in design by the python-geojson package.
  • Turf.jl - This library is a port of Turf.js to the Julia programming language for geospatial analysis.
  • Images.jl - An image processing library for Julia.
  • GeoStats.jl - Geostatistics in Julia.
  • ArchGDAL - Vector and Raster interfaces.
  • Proj4.jl - A simple wrapper around the Proj.4 cartographic projections library.
  • Geodesy.jl - Work with points defined in various coordinate systems.
  • Shapefile.jl - Parsing .shp files in Julia.
  • NetCDF.jl - NetCDF support for the julia programming language.
  • GeoInterface.jl - A Julia Protocol for Geospatial Data.
  • GeoStatsImages.jl - Training images for geostastical simulation in Julia.
  • DataFrames.jl - Tools for working with tabular data in Julia.
  • VoronoiDelaunay.jl - Fast, robust construction of 2D Delaunay and Voronoi tessellations on generic point types.
  • EcologicalNetwork.jl - This julia package provides a common interface to analyze all types of data on ecological networks.
  • ClimateTools.jl - Collection of commonly-used tools in Climate Science.
  • Interpolations.jl - This package implements a variety of interpolation schemes for the Julia language.
  • NMEA.jl - NMEA.jl is a package for parsing NMEA GPS protocol sentences.
  • Watershed.jl - This is a translation of Zlateski's C++ Watershed code.
  • ImageSegmentation.jl - Julia package for multiple Image Segmentation Algorithms.
  • ImageMorphology.jl - This package provides morphology-related functionality to the Images.jl project.
  • ImageFiltering.jl - ImageFiltering implements blurring, sharpening, gradient computation, and other linear filtering operations, as well nonlinear filters like min/max.
  • ImageTransformations.jl - This package provides support for image resizing, image rotation, and other spatial transformations of arrays.
  • ImageMetadata.jl - ImageMetadata is a simple package providing utilities for working with images that have metadata attached.
  • Tinker.jl - Interactive graphical tool for complex image analysis.
  • ImageFeatures.jl - Image feature detection for the Julia language.
  • ViziCities - A framework for 3D geospatial visualization in the browser.
  • Terriajs - A library for building rich, web-based geospatial data explorers.
  • LazIO.jl - Extends LasIO with Laszip integration.
  • LASindex.jl - Pure Julia reader of lasindex .lax files.
  • LibSpatialIndex.jl - A library for spatially indexing kD bounding box data (based on libspatialindex).

JavaScript

  • OpenLayers 🌟 - Open source AJAX library.
  • Leaflet 🌟 - Open-Source JavaScript Library for Mobile-Friendly Interactive Maps.
  • Google Maps API 🌟 - Google Maps API for JavaScript.
  • gmaps.js - gmaps.js allows you to use the potential of Google Maps in a simple way.
  • Bing Maps V8 Web Control - Bing Maps API for JavaScript.
  • Bing Maps V8 Interactive SDK - An interactive code sample gallery for Bing Maps V8.
  • Bing Maps V8 Code Samples - A large collection of open source code samples for Bing Maps V8.
  • Bing Maps V8 TypeScript Definitions - TypeScript Definitions for the Bing Maps V8 web control.
  • ArcGIS API 🌟 - ArcGIS API for JavaScript.
  • SuperMap iClient for JavaScript - Cloud GIS web client development platform supportted by SuperMap.
  • deck.gl - WebGL2 powered geospatial visualization layers.
  • react-map-gl - React friendly API wrapper around MapboxGL JS.
  • react-leaflet - React components for Leaflet maps.
  • Vue2Leaflet - Vue 2 components for Leaflet maps.
  • Heatmap.js - A heatmap implementation for Javascript.
  • Thermo.js - Another heatmap implementation for Javascript.
  • Heatcanvas.js - Yet another heatmap implementation for Javascript.
  • GeoExt - Open Source and enables building desktop-like GIS applications through the web. It is a JavaScript framework that combines the GIS functionality of OpenLayers with the user interface of the ExtJS library provided by Sencha.
  • iTowns - A Three.js-based framework written in Javascript/WebGL for visualizing 3D geospatial data. It can connect to WMS/WMTS/TMS servers including elevation data and load many different data formats (3dTiles, gpx, KML and much much more).
  • proj4js - JavaScript library to transform coordinates from one coordinate system to another, including datum transformations.
  • mapbox-gl-draw - Draw tools for mapbox-gl-js.
  • mapboxgl-powerbi - Mapbox GL PowerBI custom visual.
  • NASA WebWorldWind - The NASA WorldWind Javascript SDK (WebWW) includes the library and examples for creating geo-browser web applications and for embedding a 3D globe in HTML5 web pages.
  • CesiumJS - An open-source JavaScript library for world-class 3D globes and maps.
  • LuciadRIA - A JavaScript library for 3D globes and maps, with support for military symbology and desktop-like performance
  • geotiff.js - geotiff.js is a small library to parse TIFF files for visualization or analysis.
  • geoblaze - Geoblaze is a geospatial raster processing engine written purely in javascript.
  • 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.
  • kepler.gl - kepler.gl is a data-agnostic, high-performance web-based application for visual exploration of large-scale geolocation data sets.
  • Leaflet TimeDimension - Add time dimension capabilities on a Leaflet map.
  • overpass-turbo - A web based data mining tool for OpenStreetMap using Overpass API.
  • pixelmatch - The smallest, simplest and fastest JavaScript pixel-level image comparison library.
  • ui-leaflet - AngularJS directive to embed an interact with maps managed by Leaflet library.
  • Geokit - Geokit is a command-line interface (CLI) tool written in javascript, that contains all the basic functionalities for measurements, conversions and operations of geojson files.
  • arc.js - Calculate great circles routes as lines in GeoJSON or WKT format.
  • tilegarden - Serverless raster and vector map tile generation using Mapnik and AWS Lambda.
  • OSM Building - A JavaScript library for visualizing OpenStreetMap building geometry on 2D and 3D maps.
  • Galton - Lightweight Node.js isochrone server. Build isochrones using OSRM, Turf and concaveman.
  • TileStrata - A pluggable Node.js map tile server.
  • tilestrata-mapnik - TileStrata provider for rendering tiles with mapnik.
  • TileMantle - A tool to warm up your tile server cache. Give it a URL template, geometry, and list of zoom levels and it will request tiles incrementally to warm it up.
  • landspeed.js - WMS server using node-mapnik.
  • tilelive-postgis - Implements the tilelive API for generating mapnik vector tiles from PostGIS.
  • GeoPackage.js - GeoPackage JS is an implementation of the OGC GeoPackage spec. This library works in both the browser and Node 4+.
  • mapshaper-proj - A JavaScript port of the Proj.4 map projection library.
  • Geodesy - Libraries of geodesy functions implemented in JavaScript.

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.
  • RQGIS - Establishes an interface between R and QGIS.
  • RSAGA - SAGA Geoprocessing and Terrain Analysis in R.
  • RODBC - ODBC Database Access.
  • Rnetcdf - Interface to NetCDF Datasets.
  • ncdf4 - Provides a high-level R interface to data files written using Unidata's netCDF library (version 4 or earlier).
  • 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.
  • PBSmodelling - Provides modelling support.
  • Landsat - Radiometric and topographic correction of satellite imagery.
  • spatstat - Spatial Point Pattern Analysis, Model-Fitting, Simulation, Tests.
  • s2 - R bindings for Google's s2 library for geometry on the sphere.
  • splancs - Spatial and Space-Time Point Pattern Analysis.
  • smacpod - Various statistical methods for analyzing case-control point data.
  • DSpat - Fits inhomogeneous Poisson process spatial models to line transect sampling data and provides estimate of abundance within a region.
  • spatialsegregation - Summaries for measuring segregation/mingling in multitype spatial point patterns with graph based neighbourhood description.
  • dbmss - Simple computation of spatial statistic functions of distance to characterize the spatial structures of mapped objects.
  • latticeDensity - Contains functions that compute the lattice-based density estimator of Barry and McIntyre.
  • GriegSmith - Uses the Grieg-Smith method on 2 dimensional spatial data.
  • 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.
  • micromap - Package provides linked micromaps using ggplot2.
  • Grid2Polygons - Converts a spatial object from class SpatialGridDataFrame to SpatialPolygonsDataFrame.
  • recmap - Package provides rectangular cartograms with rectangle sizes reflecting for example population
  • geosphere - Permits computations of distance and area to be carried out on spatial data in geographical coordinates.
  • spsurvey - Provides a range of sampling functions.
  • trip - Extends sp classes to permit the accessing and manipulating of spatial data for animal tracking.
  • GeoXp - Permits interactive graphical exploratory spatial data analysis.
  • vec2dtransf - Package for applying affine and similarity transformations on vector spatial data (sp objects).
  • spcosa - Spatial coverage sampling and random sampling from compact geographical strata created by k-means.
  • dggridR - Provides an interface to DGGRID for working with discrete global grids, using hexagons, triangles, and diamonds to overcome the issue that every bin have the same area.
  • hdeco - Provides hierarchical decomposition of entropy for categorical map comparisons.
  • geojsonio - Convert data to 'GeoJSON' or 'TopoJSON' from various R classes, including vectors, lists, data frames, shape files, and spatial classes.
  • geoaxe - Split 'geospatial' objects into pieces. Includes support for some spatial object inputs, 'Well-Known Text', and 'GeoJSON'.
  • magclass - Data class for increased interoperability working with spatial- temporal data together with corresponding functions and methods (conversions, basic calculations and basic data manipulation).
  • marmap - Package is designed for downloading, plotting and manipulating bathymetric and topographic data in R.
  • cshapes - Package for CShapes, a GIS dataset of country boundaries (1946-today). Includes functions for data extraction and the computation of distance matrices and -lists.
  • taRifx - A collection of various utility and convenience functions.
  • lawn - Client for 'Turfjs' for 'geospatial' analysis. The package revolves around using 'GeoJSON' data.
  • osmar - Provides infrastructure to access OpenStreetMap data from different sources.
  • gmt - Interface between the GMT map-making software and R.
  • RColorBrewer - Provides color schemes for maps and other graphics.
  • classInt - Selected commonly used methods for choosing univariate class intervals for mapping or other graphics purposes.
  • plotGoogleMaps - Interactive plot device for handling the geographic data for web browsers.
  • ggsn - Adds north symbols and scale bars in kilometers to maps in geographic or metric coordinates.
  • spatgraphs - Graphs (or networks) and graph component calculations for spatial locations
  • geoRglm - Functions for inference in generalised linear spatial models.
  • FRK - Is a tool for spatial/spatio-temporal modelling and prediction with large datasets.
  • geospt - Contains some geostatistical and radial basis functions, including prediction and cross validation.
  • RandomFields - Methods for the inference on and the simulation of Gaussian fields are provided, as well as methods for the simulation of extreme value random fields.
  • CompRandFld - A set of procedures for the analysis of Random Fields using likelihood and non-standard likelihood methods is provided.
  • constrainedKriging - Provides functions for efficient computations of nonlinear spatial predictions with local change of support.
  • spTimer - Fits, spatially predicts and temporally forecasts large amounts of space-time data.
  • SpatialTools - Tools for spatial data analysis. Emphasis on kriging. Provides functions for prediction and simulation.
  • sperrorest - Implements spatial error estimation and permutation-based variable importance measures for predictive models using spatial cross-validation and spatial block bootstrap.
  • sgeostat - An Object-oriented Framework for Geostatistical Modeling in S+ containing functions for variogram estimation, variogram fitting and kriging as well as some plot functions.
  • spatialCovariance - Supports the computation of spatial covariance matrices for data on rectangles.
  • tgp - Bayesian nonstationary, semiparametric nonlinear regression and design by treed Gaussian processes (GPs) with jumps to the limiting linear model (LLM).
  • regress - Functions to fit Gaussian linear model by maximising the residual log likelihood where the covariance structure can be written as a linear combination of known matrices.
  • FieldSim - Tools for random fields and bridges simulations.
  • georob - Provides functions for fitting linear models with spatially correlated errors by robust and Gaussian Restricted Maximum Likelihood and for computing robust and customary point and block kriging predictions, along with utility functions for cross-validation and for unbiased back-transformation of kriging predictions of log-transformed data.
  • ExceedanceTools - Tools for constructing confidence regions for exceedance regions and contour lines.
  • deldir - Calculates the Delaunay triangulation and the Dirichlet or Voronoi tessellation (with respect to the entire plane) of a planar point set.
  • tripack - A constrained two-dimensional Delaunay triangulation package providing both triangulation and generation of voronoi mosaics of irregular spaced data.
  • ipdw - Functions are provided to interpolate geo-referenced point data via Inverse Path Distance Weighting.
  • SSN - Spatial statistical modeling and prediction for data on stream networks, including models based on in-stream distance.
  • spmoran - Functions for estimating fixed and random effects eigenvector spatial filtering models.
  • SpatialEpi - Methods and data for cluster detection and disease mapping.
  • OasisR - A set of indexes and tests for the analysis of social segregation.
  • smerc - Provides statistical methods for the analysis of data areal data, with a focus on cluster detection.
  • gwrr - Fits geographically weighted regression (GWR) models and has tools to diagnose and remediate collinearity in the GWR models.
  • lctools - Package provides researchers and educators with easy-to-learn user friendly tools for calculating key spatial statistics and to apply simple as well as advanced methods of spatial analysis in real data.
  • AMOEBA - A function to calculate spatial clusters using the Getis-Ord local statistic. It searches irregular clusters (ecotopes) on a map.
  • sparr - Provides functions to estimate kernel-smoothed spatial and spatio-temporal densities and relative risk functions, and perform subsequent inference.
  • CARBayes - Package implements Bayesian hierarchical spatial areal unit models.
  • glmmBUGS - Automates running Generalized Linear Mixed Models, including spatial models, with WinBUGS, OpenBUGS and JAGS.
  • spaMM - Inference in mixed-effect models, including generalized linear mixed models with spatial correlations and models with non-Gaussian random effects.
  • PReMiuM - Dirichlet Process Bayesian Clustering, Profile Regression.
  • spacom - Provides tools to construct and exploit spatially weighted context data.
  • geospacom - Generates distance matrices from shape files and represents spatially weighted multilevel analysis results.
  • spatsurv - Bayesian inference for parametric proportional hazards spatial survival models; flexible spatial survival models.
  • spBayesSurv - Bayesian Modeling and Analysis of Spatially Correlated Survival Data.
  • spselect - Fits spatial scale (SS) forward stepwise regression, SS incremental forward stagewise regression, SS least angle regression (LARS), and SS lasso models.
  • nlme - Fit and compare Gaussian linear and nonlinear mixed-effects models.
  • spatcounts - Fit spatial CAR count regression models using MCMC.
  • McSpatial - Provides functions for locally weighted regression, semiparametric and conditionally parametric regression, fourier and cubic spline functions, GMM and linearized spatial logit and probit, k-density functions and counterfactuals, nonparametric quantile regression and conditional density functions, Machado-Mata decomposition for quantile regressions, spatial AR model, repeat sales models, and conditionally parametric logit and probit.
  • splm - ML and GM estimation and diagnostic testing of econometric models for spatial panel data.
  • S2sls - Fit a spatial instrumental-variable regression by two-stage least squares.
  • spanel - Fit the spatial panel data models: the fixed effects, random effects and between models.
  • HSAR - A library of the Hierarchical Spatial Autoregressive Model (HSAR), based on a Bayesian Markov Chain Monte Carlo (MCMC) algorithm.
  • spatialprobit - Bayesian Estimation of Spatial Probit and Tobit Models.
  • ProbitSpatial - Binomial Spatial Probit models for big data.
  • starma - Statistical functions to identify, estimate and diagnose a Space-Time AutoRegressive Moving Average (STARMA) model.
  • ade4 - Tools for multivariate data analysis. Several methods are provided for the analysis (i.e., ordination) of one-table (e.g., principal component analysis, correspondence analysis), two-table (e.g., coinertia analysis, redundancy analysis), three-table (e.g., RLQ analysis) and K-table (e.g., STATIS, multiple coinertia analysis).
  • adehabitat - A collection of tools for the analysis of habitat selection by animals.
  • adehabitatHR - A collection of tools for the estimation of animals home range.
  • adehabitatHS - A collection of tools for the analysis of habitat selection.
  • adehabitatLT - A collection of tools for the analysis of animal movements.
  • adehabitatMA - A collection of tools to deal with raster maps.
  • pastecs - Regulation, decomposition and analysis of space-time series.
  • vegan - Ordination methods, diversity analysis and other functions for community and vegetation ecologists.
  • tripEstimation - Data handling and estimation functions for animal movement estimation from archival or satellite tags.
  • spind - Functions for spatial methods based on generalized estimating equations (GEE) and wavelet-revised methods (WRM), functions for scaling by wavelet multiresolution regression (WMRR), conducting multi-model inference, and stepwise model selection.
  • rangeMapper - Tools for easy generation of (life-history) traits maps based on species range (extent-of-occurrence) maps.
  • siplab - A platform for experimenting with spatially explicit individual-based vegetation models.
  • ModelMap - Creates sophisticated models of training data and validates the models with an independent test set, cross validation, or in the case of Random Forest Models, with Out Of Bag (OOB) predictions on the training data.
  • SpatialPosition - Computes spatial position models: Stewart potentials, Reilly catchment areas, Huff catchment areas.
  • Watersheds - Methods for watersheds aggregation and spatial drainage network analysis.
  • Rcitrus - Spatial analysis of plant disease incidence.
  • ngspatial - Provides tools for analyzing spatial data, especially non- Gaussian areal data.
  • bfastSpatial - Package to pre-process gridded time-series data in order for them to be analyzed with change detection algorithms such as bfast. Uses classes from the raster package and includes utilities to run the algorithms and post-process the results.
  • teamlucc - Is designed to facilitate analysis of land use and cover change (LUCC) around the monitoring sites of the Tropical Ecology Assessment and Monitoring (TEAM) Network.
  • RStoolbox 🌟 - Toolbox for remote sensing image processing and analysis such as calculating spectral indices, principal component transformation, unsupervised and supervised classification or fractional cover analyses.
  • sits - satellite image time series package for R.
  • dtwSat - Time-Weighted Dynamic Time Warping for satellite image time series analysis.
  • googleway - R Package for accessing and plotting Google Maps.
  • geojsonsf - Conversion between sf and geojson.
  • ncdfgeom - NetCDF-CF Geometry and Timeseries Tools for R.
  • tidytransit - 'sf'-compatible package to analyze transit schedules, routes, and stops.
  • lucCalculus - Spatiotemporal calculus for land use change trajectories.
  • lidR - R package for airborne LiDAR data manipulation and visualisation for forestry application.
  • uavRst - UAV related Remote Sensing Toolbox.
  • getSpatialData - An R package making it easy to query, preview, download and preprocess multiple kinds of spatial data via R.
  • landscapemetrics - landscapemetrics is an R package for calculating landscape metrics for categorical landscape patterns in a tidy workflow.
  • stars - Spatiotemporal tidy arrays for R.
  • vapour - A lightweight GDAL API package for R.
  • ffraster - Treat ff arrays as raster objects, and vice versa.
  • tidync - Systematic approaches to NetCDF data extraction, manipulation and visualization.
  • geodist - Ultra lightweight, ultra fast calculation of geo distances.
  • GeospatialLineGraphs - A library for creating geospatial line graphs along lines of latitude.
  • phenofit - A state-of-the-art Vegetation Phenology extraction package.
  • rayshader - rayshader is an open source R package for producing 2D and 3D hillshaded maps of elevation matrices using a combination of raytracing, spherical texture mapping, and ambient occlusion.
  • Prioritizr - The prioritizr R package uses integer linear programming (ILP) techniques to provide a flexible interface for building and solving conservation planning problems.
  • ModelR - A workflow for ecological niche models based on dismo.
  • gdalcubes_R - R package for gdalcubes to process collections of Earth observation image collection as on demand data cubes.
  • ggspatial - A ggplot2 R extension for plotting Spatial* objects.
  • exactextractr - R package for fast and accurate raster zonal statistics.
  • kuenm - kuenm is an R package designed to make the process of model calibration and final model creation easier and more reproducible, and at the same time more robust.
  • whiteboxR - R frontend of WhiteboxTools.
  • phenopix - A collection of functions to process digital images, depict greenness index trajectories and extract relevant phenological stages.
  • rsMove - Tools that support the combined use of animal movement and remote sensing data.
  • rnaturalearth - An R package to hold and facilitate interaction with Natural Earth map data.
  • ranger - A Fast Implementation of Random Forests.
  • osmplotr - Data visualisation using OpenStreetMap objects.
  • osmdata - R package for downloading OpenStreetMap data.
  • vapour - A lightweight GDAL API package for R.
  • polyclip - R package polyclip: a port of the Clipper library for polygon geometry.
  • cartography - Thematic Cartography with R.
  • ROSM - Plot Open Street Map and Other Tiles in R.

Mobile Development

  • Mapbox Android SDK - An open source toolset for building mapping applications for Android devices.
  • Mapbox iOS SDK - An open source toolset for building mapping applications for iPhone and iPad devices.
  • Google Maps API for Android - Google maps for Android.
  • Google Maps API for iOS - Google maps for iOS.
  • Nutiteq Maps SDK - C++ maps library for iOS, Android, Windows Phone and Xamarin with bindings for Java, ObjectiveC and C#.
  • WhirlyGlobe/Maply - Objective C code that is able to read and render vector tiles(and style with mapnik xml) on iOS devices.
  • mapbox-navigation-android - Mapbox Navigation SDK for Android.
  • Apple MapKit - Display map or satellite imagery directly from your app's interface, call out points of interest, and determine placemark information for map coordinates.
  • MAPS.ME - MAPS.ME — Offline OpenStreetMap maps for iOS and Android.

Geospatial Big Data

  • Google Earth Engine 🌟 - Is a cloud computing platform for processing satellite imagery and other Earth observation data.
  • GeoMesa - GeoMesa is a suite of tools for working with big geo-spatial data in a distributed fashion.
  • GeoWave - GeoWave provides geospatial and temporal indexing on top of Accumulo and HBase.
  • GeoTrellis - GeoTrellis is a geographic data processing engine for high performance applications.

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.
  • tippecanoe - 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.
  • three.js - A javascript 3D library which makes WebGL simpler
  • Strava - Create artistic visualisations with your exercise data.
  • CityEngine-Twitter - Visualise Twitter activity using a procedurally-generated 3D city model.
  • PostGIS Preview - A lightweight node api and frontend for quickly previewing PostGIS queries.
  • BlenderGIS - Blender addons to make the bridge between Blender and geographic data.
  • circlize - Circular visualization in R. Circular layout is an efficient way for the visualization of huge amounts of information.
  • Skia - Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.
  • geoplot - High-level Python geospatial plotting library. It's an extension to cartopy and matplotlib which makes mapping easy.
  • GeoJs - High-performance visualization and interactive data exploration of scientific and geospatial location aware datasets.
  • Cinder - Cinder is a free and open source library for professional-quality creative coding in C++.

Tools

  • GeoGig - GeoGig is a Distributed Version Control System (DVCS) specially designed to handle geospatial data efficiently
  • MapShaper - Tools for editing Shapefile, GeoJSON, TopoJSON and CSV files.
  • landsat-espa-util - Library for querying and ordering Landsat Surface Reflectance data via ESPA.
  • 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.
  • 52North SOS - A reference implementation of the [OGC Sensor Observation Service specification (version 2.0)]
  • Maptiks - Maptiks its a tool that provides in-depth user insights by tracking how visitors click, pan and zoom on your maps.
  • Generic Mapping Tools - GMT is an open source collection of about 90 command-line tools for manipulating geographic and Cartesian data sets.

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.
  • INPE Database - Download free satellite data including MODIS, Landsat (1-7), ResourceSat (1-2) and CBERS (2, 2B and 4) data.
  • CBERS on AWS - Information, tools and data related to the China-Brazil Earth Resources Satellite (CBERS) PDS on AWS.
  • Sentinel 2 AWS - Sentinel 2 data on Amazon S3.
  • Copernicus Open Access Hub - Sentinel data from scihub.
  • Cityscapes Dataset - large-scale dataset that contains a diverse set of stereo video sequences recorded in street scenes from 50 different cities, with high quality pixel-level annotations of 5000 frames in addition to a larger set of 20000 weakly annotated frames.

Resources

Conferences

  • FOSS4G - Free and Open Source Software for Geospatial.
  • State of the Map - is the annual event for all mappers and OpenStreetMap users.
  • GEOINFO - The GEOINFO series (Brazilian Symposium on Geoinformatics) is an annual conference for exploring ongoing research, development and innovative applications on geographic information science and related areas.
  • SBSR - Bi-annual Brazilian National Symposium on Remote Sensing.

Podcasts

  • Scene From Above - Earth observation, remote sensing, geospatial and geeky chat

References and other awesome lists