Navigation Menu

Skip to content

😎Awesome GIS is a collection of geospatial related sources, including cartographic tools, geoanalysis tools, developer tools, data, conference & communities, news, massive open online course, some amazing map sites, and more.

License

sshuair/awesome-gis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

Awesome GIS Awesome

GitHub stars GitHub forks GitHub contributors GitHub last commit GitHub license

Awesome GIS is a collection of geospatial related sources, including cartographic tools, geoanalysis tools, developer tools, data, conference & communities, news, massive open online course, some amazing map sites, and more.

Please contribute. Let's make this guide better! Please follow the Contributing Guidelines. Or you can comment below this issue: Welcome to contribute

Inspired by Awesome Python.

Table Of Contents:


Open Books

Geographic Information System Software

  • ArcGIS Desktop: Extendable desktop suite to manage, visualize and analyze GIS data in 2D and 3D, including image processing. Includes ArcGIS Pro, ArcMap, ArcCatalog, and ArcGIS Online.
  • DIVA-GIS - DIVA-GIS is a free geographic information system software program used for the analysis of geographic data, in particular point data on biodiversity.
  • GeoDa - A free and open source software tool that serves as an introduction to spatial data analysis.
  • GISInternals - Povidesdaily build packages and software development kits for the GDAL and MapServer
  • Global Mapper - An easy-to-use, robust, and genuinely affordable GIS application that combines a wide array of spatial data processing tools with access to an unparalleled variety of data formats.
  • GRASS GIS - A free and open source GIS software suite used for geospatial data management and analysis, image processing, graphics and maps production, spatial modeling, and visualization.
  • gvSIG - A powerful, user-friendly, interoperable GIS.
  • JUMP GIS - An open source GIS written in Java
  • MapInfo Pro - A full-featured desktop solution to prepare data for web mapping applications and create presentation quality maps that combines data analysis, visual insights, and map publishing.
  • Marble - A virtual globe and world atlas.
  • OpenOrienteering Mapper - A software for creating maps for the orienteering sport.
  • QGIS 🌟 - A free and open source GIS.
  • SAGA - Open source system for automated geoscientific analyses.
  • SharpMap - An easy-to-use mapping library for use in web and desktop applications
  • TileMill - An open source map design studio, developed by a community of volunteer open source contributors
  • uDig - An open source (EPL and BSD) desktop application framework, built with Eclipse Rich Client (RCP) technology.
  • Whitebox GAT - An open source desktop GIS and remote sensing software package for general applications of geospatial analysis and data visualization.
  • DIVA-GIS - DIVA-GIS is a free geographic information system software program used for the analysis of geographic data, in particular point data on biodiversity.
  • Abc-Map - A lightweight and user-friendly Web GIS. Create, import data from various sources, export maps or share them online freely and easily.

Remote Sensing Software

  • eCognition - A powerful development environment for object-based image analysis.
  • ENVI 🌟 - A geospatial imagery analysis and processing software.
  • ERDAS IMAGINE 🌟 - A geospatial imagery analysis and processing software.
  • Google Earth - A computer program that renders a 3D representation of Earth based on satellite imagery.
  • Google Earth Studio - An animation tool for Google Earth’s satellite and 3D imagery.
  • GRASS GIS - A free and open source GIS software suite used for geospatial data management and analysis, image processing, graphics and maps production, spatial modeling, and visualization.
  • Opticks - An expandable remote sensing and imagery analysis software platform that is free and open source.
  • Orfeo toolbox - An open-source project for state-of-the-art remote sensing, including a fast image viewer, apps callable from Bash, Python or QGIS, and a powerful C++ API.
  • PANOPLY- Panoply plots geo-referenced and other arrays from netCDF, HDF, GRIB, and other datasets.
  • PCI Geomatica - A remote sensing desktop software package for processing earth observation data.
  • SNAP - A common architecture for all Sentinel Toolboxes.

3D Applications

  • ArcGIS Earth - Allows you to explore any part of the world. Work with a variety of 3D and 2D map data formatt, including KML. Display data, sketch placemarks, measure and perform interactive analysis, and add annotations.
  • CityEngine - Advanced 3D modeling software.
  • DEM Net Elevation API - 3D terrain model generation online from open data (DEM, OSM) and imagery, exports to STL and glTF.
  • Earth Enterprise - the open source release of Google Earth Enterprise, a geospatial application which provides the ability to build and host custom 3D globes and 2D maps.
  • Google Earth - A computer program that renders a 3D representation of Earth based on satellite imagery.
  • Skyline - 3D desktop and web-based applications, enabling an enterprise to build, edit, navigate, query, and analyze realistic 3D environments.
  • World Wind - An SDK (software development kit) that software engineers can use to build their own applications

Web Map Servers

  • ArcGIS Server - A GIS server for enterprise application.
  • Baremaps - Apache Baremaps is a toolkit and a set of infrastructure components for creating, publishing, and operating online maps.
  • deegree - An open source software for spatial data infrastructures and the geospatial web
  • GeoDjango - A GIS server built with python web framework -- django
  • geomajas - An open source platform to create Web GIS applications
  • GeoMOOSE - A Web Client JavaScript Framework for displaying distributed cartographic data
  • GeoNode - Open Source Geospatial Content Management System.
  • GeoServer - An open source server for sharing geospatial data
  • GeoTrellis - A geographic data processing engine for high performance applications that uses Spark to work with raster data.
  • GeoWebCache - A java web application used to cache map tiles coming from a variety of sources such as OGC WMS in order to accelerate and optimize map image delivery.
  • Google Earth Enterprise - the open source release of Google Earth Enterprise, a geospatial application which provides the ability to build and host custom 3D globes and 2D maps.
  • mapbender3 - Publishing spatial data infrastructure services on the Symfony 2 PHP
  • MapFish - A framework for building rich web-mapping applications built with Pylons Python web framework
  • MapGuide - A Web Client JavaScript Framework for displaying distributed cartographic data
  • Mapnik - An open source mapping toolkit written in C++ for desktop-based and server-based map rendering
  • MapServer - Publishing spatial data and interactive mapping applications to the web
  • MapTiler Server - Map server for self-hosting of vector tiles, satellite imagery, own geodata and data from PostGIS database.
  • Nanocubes - An in-memory data structure for spatiotemporal data cubes. Github Link
  • NextGIS Web - An open source framework for storage, visualization and permissions management of all kinds of geospatial data.
  • OpenTileServer - This script is for building a basic tile server with OpenStreetMap data.
  • QGIS Server - a FastCGI/CGI application written in C++ that works together with a webserver.
  • SuperMap iServer - A Cloud GIS application server based on high-efficiency cross-platform GIS kernel, having the functions like 2D & 3D integration service publishing, management and cluster, providing multi-layer extension development abilities.

Front-end Framework

  • ArcGIS Maps SDK for JavaScript - Build high-performing 2D and 3D mapping applications supported by Esri.
  • CesiumJS - An open source JavaScript library for world-class 3D globes and maps
  • Clockwork Micro - Geospatial tools to create vector tile endpoints from postgis databases and full web maps.
  • CMV - The Configurable Map Viewer (CMV) is an open source mapping framework that works with ESRI JavaScript API, ArcGIS Server, ArcGIS Online, and more.
  • d3-carto-map - A library for creating layer-based maps using D3
  • d3-geomap - A library for creating geographical maps based on D3.js.
  • D3.js - A JavaScript library for manipulating documents based on data
  • Echarts - A user-friendly data visualisation library supported by Baidu
  • geomajas-client javascript - Open source JavaScript mapping API for cool maps and apps
  • Google Maps Javascript API - A JavaScript api for google map
  • jVectorMap - A vector-based, cross-browser and cross-platform component for interactive geography-related data visualization on the web. Github Link
  • L7 - Large-scale WebGL-powered Geospatial Data Visualization By Ant Financial
  • Leaflet - Open source javaScript library for mobile-friendly interactive maps
  • Leaflet-Geoman - A poweful leaflet plugin for drawing and editing geometry layers
  • Mapbox GL JS - A JavaScript & WebGL library that renders interactive maps from vector tiles and the Mapbox GL Style Specification
  • MapLibre GL - Is a community led fork derived from Mapbox GL JS prior to their switch to a non-OSS license
  • maptalks.js - A light and plugable JavaScript library for integrated 2D/3D maps.
  • Mapv - A library of geography visualization
  • OpenGlobus - JavaScript 3D maps and geospatial data visualization engine library. It uses the pure WebGL technology.
  • OpenLayers - Open source JavaScript map viewing library
  • OpenMapTiles - Set of open-source tools for self-hosting of OpenStreetMap maps in more than 50 languages. It provides both raster as well as vector tiles, WMS and WMTS services for GIS programs, support for JavaScript viewers and mobile SDK.
  • Polymaps - A JavaScript library for image- and vector-tiled maps using SVG
  • SuperMap iClient JavaScript - Cloud GIS web client development platform supported by SuperMap.
  • Tangram - A JavaScript library for rendering 2D & 3D maps live in a web browser with WebGL
  • three-geo - Is a three.js based geographic visualization library
  • three.js - A JavaScript 3D library which makes WebGL simpler
  • turf.js - Advanced geospatial analysis for browsers and node supported by Mapbox
  • webglearth2 - Open-source virtual planet web application running in any web browser with support for WebGL HTML5 standard

Spatial Database

  • DB2 Spatial Extender - An extender for IBM DB2 to generate and analyze spatial information about geographic features, and to store and manage the data on which this information is based.
  • Esri Enterprise Geodatabase - It's an addition to a relational database engine like PostgreSQL. Besides to make spatial calculations and apply topological rules, adds data version control, etc.
  • GeoMesa - An open-source, distributed, spatio-temporal database built on a number of distributed cloud data storage systems, including Accumulo, HBase, Cassandra, and Kafka.
  • GeoPackage based on SQLite - The GeoPackage Encoding Standard describes a set of conventions for storing the following within an SQLite database.
  • GeoWave - It provides geospatial and temporal indexing on top of Accumulo, HBase, BigTable, Cassandra, and DynamoDB.
  • H2GIS - A spatial extension of the H2 database.
  • MBtiles - A specification for storing tiled map data in SQLite databases
  • mongoDB - An open-source, document database designed for ease of development and scaling
  • MSSQL - A high-performance database support by Microsoft
  • MySQL - the world's most popular open source database
  • Omnisci - SQL engine that leverages the parallel processing power of GPUs to query billions of rows in milliseconds.
  • Oracle Spatial - Oracle-based advanced spatial data analysis
  • PostGIS based on PostgreSQL - Most advanced open source database
  • Spatialite based on SQLite - Lightweight SQL library to support fully spatially capability
  • Tile38 - Tile38 is a geospatial database, spatial index, and realtime geofence.
  • TimescaleDB - An open-source time-series SQL database optimized for fast ingest and complex queries.

Mobile Develop Tools

  • Android

  • Cross-Platform

    • ArcGIS Maps SDK for .NET - Build native mapping apps for Android and iOS in C# using .NET Multi-platform App UI (MAUI) supported by Esri.
    • ArcGIS Maps SDK for Qt - Build native mapping apps for Android and iOS in Qt supported by Esri.
  • iOS

Desktop Develop Tools

  • ArcGIS Maps SDK for .NET - Build 2D and 3D native mapping apps for Windows, Android and iOS in C# using .NET supported by Esri.
  • ArcGIS Maps SDK for Java - Build 2D and 3D mapping applications for Windows, Linux, and macOS in Java supported by Esri.
  • ArcGIS Maps SDK for Qt - Build 2D and 3D native mapping apps for Windows, macOS, Linux, or Android in Qt supported by Esri.

Deep Learning

Deep Learning Framework for Geospatial

  • Awesome Remote Sensing Change Detection - List of datasets, codes, papers, and contests related to remote sensing change detection.
  • Awesome Semantic Segmentation - A code list of semantic segmentation.
  • deep learning object detection - A paper list of object detection using deep learning.
  • eo-learn - Earth observation processing framework for machine learning in Python.
  • label-maker - Data Preparation for Satellite Machine Learning.
  • neat-EO - Efficient AI4EO OpenSource framework.
  • rastervision - An open source framework for deep learning on satellite and aerial imagery.
  • robosat - Semantic segmentation on aerial and satellite imagery.
  • Solaris - CosmiQ Works Geospatial Machine Learning Analysis Toolkit.
  • YOLT - You Only Look Twice: Rapid Multi-Scale Object Detection In Satellite Imagery.

Deep Learning Datasets

Map Render Engine

  • mapbox-gl-native - A library for embedding interactive, customizable vector maps into native applications on multiple platforms
  • maplibre-gl-native - A fork of mapbox-gl-native after licensing change
  • Mapnik - C++ library for map rendering.
  • Skia - Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.
  • tangram-es - A C++ library for rendering 2D and 3D maps from vector data using OpenGL ES, and mainly focused on mobile and embedded devices.

Geospatial Library

C

  • 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.
  • 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.
  • Shapefile C Library - Provides the ability to write simple C programs for reading, writing and updating (to a limited extent) .shp and .dbf files.
  • YOLT - You Only Look Twice: Rapid Multi-Scale Object Detection In Satellite Imagery.

C++

  • ArcGIS Maps SDK for Unreal Engine - Plugin that gives you access to real-world maps and 3D content from ArcGIS.
  • 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.
  • dreich_algorithm - Algorithm for extracting channel networks from high resolution topographic data.
  • 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.
  • GDAL - Geospatial Data Abstraction Library (GDAL) is a computer library that serve as a translator library for raster and vector geospatial data formats.
  • gdalcubes - gdalcubes is a library to represent collections of Earth Observation (EO) images as on demand data cubes (or multidimensional arrays).
  • geojson-vt-cpp - Port to C++ of JS GeoJSON-VT for slicing GeoJSON into vector tiles on the fly.
  • GEOS - GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS).
  • gSLICr - Real-time super-pixel segmentation.
  • Halide - Halide is a programming language designed to make it easier to write high-performance image processing code on modern machines.
  • hydroflow - Compute drainage orders in drainage basins using Strahler and Shreve methods.
  • ITK - ITK is an open-source, cross-platform system that provides developers with an extensive suite of software tools for image analysis.
  • LASzip - Quickly turns bulky LAS files into compact LAZ files without information loss.
  • laz-perf - Alternative LAZ implementation for C++ and JavaScript.
  • libGeoTiff - Manipulate TIFF based interchange format for georeferenced raster imagery.
  • libspatialindex - C++ implementation of R*-tree, an MVR-tree and a TPR-tree with C API.
  • 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.
  • Mapnik - C++ library for map rendering.
  • Mapnik Vector Tile - Mapnik C++ implemention of Mapbox Vector Tile specification.
  • Mapzen Tangram-ES - C++ library for rendering 2D and 3D maps using OpenGL ES 2 with custom styling and interactions
  • OpenDroneMap - OpenDroneMap is a tool to postprocess drone, balloon, kite, and street view data to geographic data including orthophotos, point clouds, & textured mesh.
  • OpenOrienteering Mapper - OpenOrienteering Mapper is a software for creating maps for the orienteering sport.
  • Orfeo ToolBox - Orfeo TooLBox (OTB) is an open-source C++ library for remote sensing images processing, distributed under the CeCILL-v2 licence.
  • osgearth - A free open source C++ geospatial toolkit.
  • 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.
  • PDAL - PDAL is Point Data Abstraction Library. GDAL for point cloud data.
  • Pronto Raster - C++ library for geographical raster data 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.
  • S2 Geometry - Computational geometry and spatial indexing on the sphere.
  • Selene - A C++14 image representation, processing and I/O library.
  • Spatial - Spatial is a generic header-only C++ library providing multi-dimensional in-memory containers, iterators and functionals.
  • Supercluster - A C++14 port of supercluster, a fast 2D point clustering library for use in interactive maps.
  • TauDEM - Terrain Analysis Using Digital Elevation Models (TauDEM) software for hydrologic terrain analysis and channel network extraction.
  • Terralib - TerraLib is a GIS classes and functions open source library.
  • 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.
  • valhalla - Open Source Routing Engine for OpenStreetMap.
  • Vector Tiles Producer - Command line tool in C++ to creates vector tiles for a given area at chosen zoom levels using a Mapnik XML.

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

  • ArcBruTile - ArcBruTile displays a collection of maps in ArcGIS Pro 2.0 and ArcMap 10.0 - 10.6.
  • ArcGIS Maps SDK for Unity -  Plugin that gives you access to real-world maps and 3D content in ArcGIS.
  • 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.
  • Bing Maps WPF SDK - The Bing Maps WPF API.
  • BotBuild-Location - An open-source location picker control for Microsoft Bot Framework powered by Bing Maps REST services.
  • BruTile - BruTile is a .NET library to access tile services like those of OpenStreetMap, MapBox or GeodanMaps.
  • DEM Net Elevation API - Library focused on Digital Elevation Models, OSM and 3D from open data. Playground: https://elevationapi.com
  • DotSpatial - DotSpatial is a geographic information system library written for .NET 4.
  • 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.
  • GDAL/OGR CSharp - C# bindings for GDAL and OGR.
  • Geo - A geospatial library for .NET
  • GeoJSON4EntityFramework - Create GeoJSON from Entity Framework Spatial Data or WKT.
  • GeoJSON.Net - .Net library for GeoJSON types & corresponding Json.Net (de)serializers.
  • GMap.NET - A great and powerful, free, cross platform, open source .NET control.
  • Linq2db-Postgis-Extensions - .NET Standard 2.0 library with OGC extensions methods on geometry (NpgsqlTypes.PostgisGeometry or NetTopologySuite.Geometries.Geometry) instances, providing strongly typed access to PostGIS functions on server side while using linq2db LINQ to database provider.
  • Mapbox Maps SDK for Unity - The Maps SDK for Unity is a collection of tools for building Unity applications from real map data.
  • NTS Net Topology Suite - A .NET GIS solution that is fast and reliable for the .NET platform.
  • osmsharp - OsmSharp is a C# library to work with OpenStreetMap (OSM) data.
  • SharpKml - Is able to read/write both KML files and KMZ files.
  • SharpMap - SharpMap is an easy-to-use mapping library for use in web and desktop applications.
  • Windows UWP map control - The Bing Maps control built into the Windows UWP platform.

CSS

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

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.

Elixir

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

Fortran

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

Go

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

Groovy

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

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.

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.

Java

  • Apache SIS - Apache Spatial Information System (SIS) is a free software, Java language library for developing geospatial applications.
  • asgbook - Implementation of GIS/RS features in Java. Its also the code accompanying the book "Automating the Analysis of Spatial Grids" by Valliappa Lakshmanan.
  • Geoapi - GeoAPI provides a set of Java language programming interfaces for geospatial applications.
  • Geonetwork - GeoNetwork is a catalog application to manage spatially referenced resources.
  • GeoServer - GeoServer is open source server for sharing geospatial data.
  • Geotools - GeoTools is an open source Java library that provides tools for geospatial data.
  • GeoWave - It provides geospatial and temporal indexing on top of Accumulo, HBase, BigTable, Cassandra, and DynamoDB.
  • 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.
  • 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.
  • 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.
  • JGeocoder - Free Java Geocoder.
  • jpostal - Java/JNI bindings to libpostal for fast international street address parsing/normalization.
  • JTS Topology Suite - JTS Topology Suite is an API of 2D spatial predicates and functions.
  • LuciadLightspeed - A Java library that provides the foundations for advanced geospatial analytics applications
  • 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.
  • Openmap - Open Source JavaBeans-based programmer's toolkit.
  • Photon - Photon is an open source geocoder built for OpenStreetMap data. It is based on elasticsearch.
  • Spatial4j - Spatial4j is a general purpose geospatial ASL licensed open-source Java library.
  • whitebox-geospatial-analysis-tools - An open-source GIS and remote sensing package.
  • World Wind Java SDK - Nasa cross-platform Java SDK.

JavaScript

  • ArcGIS Maps SDK for JavaScript - Build high-performing 2D and 3D mapping applications supported by Esri.
  • arc.js - Calculate great circles routes as lines in GeoJSON or WKT format.
  • Bing Maps V8 Code Samples - A large collection of open source code samples for Bing Maps V8.
  • Bing Maps V8 Interactive SDK - An interactive code sample gallery for Bing Maps V8.
  • Bing Maps V8 TypeScript Definitions - TypeScript Definitions for the Bing Maps V8 web control.
  • Bing Maps V8 Web Control - Bing Maps API for JavaScript.
  • CesiumJS - An open-source JavaScript library for world-class 3D globes and maps.
  • city-roads - Visualization of all roads within any city.
  • deck.gl - WebGL2 powered geospatial visualization layers.
  • Galton - Lightweight Node.js isochrone server. Build isochrones using OSRM, Turf and concaveman.
  • gcoord - 地理坐标系转换工具,支持WGS84/GCJ02/BD09等常用坐标系互转.
  • gdal3.js - gdal3.js is a port of Gdal applications (gdal_translate, ogr2ogr, gdal_rasterize, gdalwarp, gdaltransform) to WebAssembly. It allows you to convert raster and vector geospatial data to various formats and coordinate systems.
  • geoblaze - Geoblaze is a geospatial raster processing engine written purely in 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.
  • geojson2svg A library to convert geojson data to svg map with lots of flexibility.
  • 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.
  • GeoNode - Open Source Geospatial Content Management System.
  • geotiff.js - geotiff.js is a small library to parse TIFF files for visualization or analysis.
  • gmaps.js - gmaps.js allows you to use the potential of Google Maps in a simple way.
  • Google Maps API - Google Maps API for JavaScript.
  • Heatcanvas.js - Yet another heatmap implementation for Javascript.
  • Heatmap.js - A heatmap implementation for Javascript.
  • 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).
  • JSTS - Port of the Java JTS library.
  • kepler.gl - kepler.gl is a data-agnostic, high-performance web-based application for visual exploration of large-scale geolocation data sets.
  • koop: Transform geospatial data on the fly and serve as GeoJSON, Vector Tiles, Esri Feature Services and more.
  • landspeed.js - WMS server using node-mapnik.
  • Leaflet - Open-Source JavaScript Library for Mobile-Friendly Interactive Maps.
  • leaflet-geoserver-request - This is the small library which helps to connect geoserver with leaflet. Using this library, we can make WMS, WFS, getLegendGraphic, WMS-Image request.
  • Leaflet TimeDimension - Add time dimension capabilities on a Leaflet map.
  • LuciadRIA - A JavaScript library for 3D globes and maps, with support for military symbology and desktop-like performance
  • mapbox-gl-draw - Draw tools for mapbox-gl-js.
  • mapboxgl-powerbi - Mapbox GL PowerBI custom visual.
  • mapshaper - Tools for editing Shapefile, GeoJSON, TopoJSON and CSV files.
  • 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.
  • OpenLayers - Open source AJAX library.
  • OSM Building - A JavaScript library for visualizing OpenStreetMap building geometry on 2D and 3D maps.
  • overpass-turbo - A web based data mining tool for OpenStreetMap using Overpass API.
  • PGRestAPI - Node.js REST API for PostGres Spatial Entities.
  • pixelmatch - The smallest, simplest and fastest JavaScript pixel-level image comparison library.
  • proj4js - JavaScript library to transform coordinates from one coordinate system to another, including datum transformations.
  • react-leaflet - React components for Leaflet maps.
  • react-map-gl - React friendly API wrapper around MapboxGL JS.
  • Spatial - A 2d spatial hash module for node.js.
  • Supercluster - A crazy fast geospatial point clustering library for browsers and Node.
  • SuperMap iClient for JavaScript - Cloud GIS web client development platform supportted by SuperMap.
  • SQLite3 - Asynchronous, non-blocking SQLite3 bindings for Node.js.
  • Thermo.js - Another heatmap implementation for Javascript.
  • tilegarden - Serverless raster and vector map tile generation using Mapnik and AWS Lambda.
  • tilelive-postgis - Implements the tilelive API for generating mapnik vector tiles from PostGIS.
  • 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.
  • TileStrata - A pluggable Node.js map tile server.
  • tilestrata-mapnik - TileStrata provider for rendering tiles with mapnik.
  • Turf.js - Advanced geospatial analysis for browsers and node.
  • ui-leaflet - AngularJS directive to embed an interact with maps managed by Leaflet library.
  • Vue2Leaflet - Vue 2 components for Leaflet maps.
  • vue-cesium - A Vue 2.x & Vue 3.x based component library of CesiumJS for GISer.
  • VueMapbox - Vue 2 components for interacting with Mapbox GL JS
  • Windshaft - A Node.js map tile library for PostGIS and torque.js, with CartoCSS styling.

Julia

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

Kotlin

  • geospatial-messenger - Geospatial messenger application written with Spring Boot + Kotlin + PostgreSQL.
  • Lets-Plot - An open-source, ggplot2-style plotting library which includes a support of GeoToos features and geometries.

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.

Lua

  • geo.lua - A helper library for Redis geospatial indices.
  • Tarantool/GIS - A full-featured geospatial extension for Tarantool.
  • 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.

Perl

PHP

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

Python

  • ArcGIS Python API - ArcGIS API for Python is a Python library for working with maps and geospatial data, powered by web GIS.
  • BlenderGIS - A blender addons to make the bridge between Blender and geographic data.
  • Cartopy - A library providing cartographic tools for python for plotting spatial data.
  • Centroids - This application reads a valid geojson FeatureCollection and returns a valid geojson FeatureColleciton of centroids.
  • chupaESRI - ChupaESRI is a Python module/command line tool to extract features from ArcGIS Server map services.
  • dask-rasterio - Read and write rasters in parallel using Rasterio and Dask.
  • Descartes - Plot geometries in matplotlib.
  • eo-box - Earth observation processing framework for machine learning in Python.
  • EODAG - Command line tool and a plugin-oriented Python framework for searching, aggregating results and downloading remote sensed images while offering a unified API for data access regardless of the data provider.
  • felicette - Satellite imagery for dummies.
  • Fiona - IO for GIS Data writted by Python
  • FreeType - For converting font glyphs to polygons.
  • geemap - A Python package for interactive mapping with Google Earth Engine, ipyleaflet, and ipywidgets.
  • geeup - Simple CLI for Earth Engine Uploads.
  • geoalchemy - Using SQLAlchemy with spatial databases.
  • geobeam - geobeam adds GIS capabilities to your Apache Beam and Dataflow pipelines.
  • GeoDaSpace - Software for Advanced Spatial Econometrics.
  • GeoDjango - Django geographic web framework.
  • geojson-area - Calculate the area inside of any GeoJSON geometry. This is a port of Mapbox's geojson-area for Python.
  • 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.
  • GeoPandas - Python tools for geographic data
  • Geopatra - Create interactive maps with geopandas
  • geopy - geopy is a Python 2 and 3 client for several popular geocoding web services.
  • geoserver-rest - The geoserver-rest package is useful for the management for geospatial data in GeoServer. The package is useful for the creating, updating and deleting geoserver workspaces, stores, layers, and style files.
  • geosnap - geosnap makes it easier to explore, model, analyze, and visualize the social and spatial dynamics of neighborhoods.
  • GIPPY - Geospatial Image Processing for Python.
  • 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.
  • landsat-extract-gee - Get Landsat surface reflectance time-series from google earth engine.
  • Landsat-util - Landsat-util is a command line utility that makes it easy to search, download, and process Landsat imagery.
  • Lets-Plot - An open-source, ggplot2-style plotting library supporting GeoPandas, interactive maps and geocoding.
  • lidar - Terrain and hydrological analysis using digital elevation models (DEMs).
  • localtileserver - Easily visualize large geospatial images with ipyleaflet or folium in Jupyter or in a web browser with CesiumJS.
  • LT-ChangeDB - Scripts to extract spectral change information from LandTrendr data to a geodatabase.
  • 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.
  • mapboxgl-jupyter - Use Mapbox GL JS to visualize data in a Python Jupyter notebook.
  • matplotlib - Python 2D plotting library.
  • morecantile - Construct and use map tile grids (a.k.a TileMatrixSet / TMS).
  • MovingPandas - Implementation of Trajectory classes and functions built on top of GeoPandas.
  • mundipy - Python framework for fast spatial data manipulation without projections
  • networkx - To work with networks.
  • NodeBox-opengl - For playing around with animations.
  • NumPy - NumPy is the fundamental package for scientific computing with Python.
  • Ogcserver - Python WMS implementation using Mapnik.
  • OSMnet - Tools for the extraction of OpenStreetMap street network data.
  • OSMnx - Python package that lets you download spatial geometries and construct, project, visualize, and analyze street networks from OpenStreetMap's APIs.
  • OWSLib: OWSLib is a Python package for client programming with Open Geospatial Consortium (OGC) web service (hence OWS) interface standards, and their related content models.
  • pandana - Pandas Network Analysis - dataframes of network queries, quickly.
  • Peartree - Peartree: A library for converting transit data into a directed graph for network analysis.
  • 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.
  • pydeck - High-scale spatial rendering in Python, powered by deck.gl.
  • pygeoapi - A Python server implementation of the OGC API suite of standards.
  • pyGEOS - Expose GEOS functions into Python.
  • pymap3d - Python 3D coordinate conversions for geospace ecef enu eci.
  • Pyncf - Pure Python NetCDF file reading and writing.
  • PyPostal - Python bindings to libpostal for fast international address parsing/normalization.
  • Pyproj - python interface to PROJ4 library for cartographic transformations
  • PyQGIS - Python for QGIS.
  • pyroSAR - A Python Framework for Large-Scale SAR Satellite Data Processing.
  • PySAL - For all your spatial econometrics needs.
  • PyShp - For reading and writing shapefiles.
  • python-opencage-geocoder - A Python module that uses the OpenCage Geocoding API.
  • 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.
  • Rasterio - A library for reads and writes geospatial raster data)
  • Rasterstats - Python module for summarizing geospatial raster datasets based on vector geometries.
  • rio-cogeo - CloudOptimized GeoTIFF creation plugin for rasterio.
  • rio-color - Color correction plugin for rasterio.
  • rio-hist - Histogram matching plugin for rasterio.
  • RIOS - Raster I/O Simplification. A set of python modules which makes it easy to write raster processing code in Python.
  • rio-tiler - Get mercator tile from landsat, sentinel or other AWS hosted raster.
  • 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.
  • Rtree - A wrapper of libspatialindex providing spatial indexing features for Python GIS.
  • Scikit-image - Scikit-image is a collection of algorithms for image processing.
  • sentinelsat - Search and download Copernicus Sentinel satellite images.
  • Shapely - A library for manipulation and analysis of geometric objects in the Cartesian plane.
  • som-tsp - Solving the Traveling Salesman Problem using Self-Organizing Maps.
  • srai - Spatial Representations for Artificial Intelligence. Set of tools for geospatial machine learning, data acquisition and wrangling.
  • Statsmodels - Python module that allows users to explore data, estimate statistical models, and perform statistical tests.
  • SuperMap iClient Python - Cloud GIS client Python sdk supported by SuperMap.
  • terracotta - A light-weight, versatile XYZ tile server, built with Flask and Rasterio.
  • thunder - Thunder is an ecosystem of tools for the analysis of image and time series data in 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.
  • untiler - Stitch image tiles into larger composite TIFs.
  • urbansim - New version of UrbanSim, a platform for modeling metropolitan real estate markets.
  • USGS API - USGS is a python module for interfacing with the US Geological Survey's API.
  • Verde - Verde is a Python library for processing spatial data (bathymetry, geophysics surveys, etc) and interpolating it on regular grids (i.e., gridding).
  • WaterDetect - An end-to-end algorithm to generate open water cover mask.
  • whitebox - Python frontend for WhiteboxTools.
  • WhiteboxTools-ArcGIS - ArcGIS Python Toolbox for WhiteboxTools.
  • 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.
  • xarray-spatial - Raster-Based Spatial Analysis in Python.
  • 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.

R

  • 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.
  • Akima - Interpolation of Irregularly and Regularly Spaced Data.
  • AMOEBA - A function to calculate spatial clusters using the Getis-Ord local statistic. It searches irregular clusters (ecotopes) on a map.
  • 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.
  • CARBayes - Package implements Bayesian hierarchical spatial areal unit models.
  • classInt - Selected commonly used methods for choosing univariate class intervals for mapping or other graphics purposes.
  • 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.
  • 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.
  • dbmss - Simple computation of spatial statistic functions of distance to characterize the spatial structures of mapped objects.
  • deldir - Calculates the Delaunay triangulation and the Dirichlet or Voronoi tessellation (with respect to the entire plane) of a planar point set.
  • 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.
  • DSpat - Fits inhomogeneous Poisson process spatial models to line transect sampling data and provides estimate of abundance within a region.
  • dtwSat - Time-Weighted Dynamic Time Warping for satellite image time series analysis.
  • ecespa - Functions for Spatial Point Pattern Analysis.
  • exactextractr - R package for fast and accurate raster zonal statistics.
  • ExceedanceTools - Tools for constructing confidence regions for exceedance regions and contour lines.
  • ffraster - Treat ff arrays as raster objects, and vice versa.
  • FieldSim - Tools for random fields and bridges simulations.
  • FRK - Is a tool for spatial/spatio-temporal modelling and prediction with large datasets.
  • gdalcubes_R - R package for gdalcubes to process collections of Earth observation image collection as on demand data cubes.
  • geoaxe - Split 'geospatial' objects into pieces. Includes support for some spatial object inputs, 'Well-Known Text', and 'GeoJSON'.
  • geodist - Ultra lightweight, ultra fast calculation of geo distances.
  • geojsonio - Convert data to 'GeoJSON' or 'TopoJSON' from various R classes, including vectors, lists, data frames, shape files, and spatial classes.
  • geojsonsf - Conversion between sf and geojson.
  • GEOmap - Topographic and Geologic Mapping.
  • geoR - Analysis of Geostatistical Data.
  • geoRglm - Functions for inference in generalised linear spatial models.
  • 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.
  • geospacom - Generates distance matrices from shape files and represents spatially weighted multilevel analysis results.
  • geospark - Bring sf to spark
  • GeospatialLineGraphs - A library for creating geospatial line graphs along lines of latitude.
  • geosphere - Permits computations of distance and area to be carried out on spatial data in geographical coordinates.
  • geospt - Contains some geostatistical and radial basis functions, including prediction and cross validation.
  • GeoXp - Permits interactive graphical exploratory spatial data analysis.
  • getSpatialData - An R package making it easy to query, preview, download and preprocess multiple kinds of spatial data via R.
  • ggmap - Spatial Visualization with ggplot2.
  • ggplot2 - ggplot2 is a plotting system for R.
  • ggsn - Adds north symbols and scale bars in kilometers to maps in geographic or metric coordinates.
  • ggspatial - A ggplot2 R extension for plotting Spatial- objects.
  • glmmBUGS - Automates running Generalized Linear Mixed Models, including spatial models, with WinBUGS, OpenBUGS and JAGS.
  • gmt - Interface between the GMT map-making software and R.
  • googleway - R Package for accessing and plotting Google Maps.
  • Grid2Polygons - Converts a spatial object from class SpatialGridDataFrame to SpatialPolygonsDataFrame.
  • GriegSmith - Uses the Grieg-Smith method on 2 dimensional spatial data.
  • gstat - Spatio-Temporal Geostatistical Modelling, Prediction and Simulation.
  • gwrr - Fits geographically weighted regression (GWR) models and has tools to diagnose and remediate collinearity in the GWR models.
  • h3r - Uber's h3 bindings to the R Programming Language
  • hdeco - Provides hierarchical decomposition of entropy for categorical map comparisons.
  • HSAR - A library of the Hierarchical Spatial Autoregressive Model (HSAR), based on a Bayesian Markov Chain Monte Carlo (MCMC) algorithm.
  • intamap - Procedures for automated interpolation.
  • ipdw - Functions are provided to interpolate geo-referenced point data via Inverse Path Distance Weighting.
  • 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.
  • Landsat - Radiometric and topographic correction of satellite imagery.
  • landscapemetrics - landscapemetrics is an R package for calculating landscape metrics for categorical landscape patterns in a tidy workflow.
  • latticeDensity - Contains functions that compute the lattice-based density estimator of Barry and McIntyre.
  • lawn - Client for 'Turfjs' for 'geospatial' analysis. The package revolves around using 'GeoJSON' data.
  • 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.
  • leafletR - Interactive Web-Maps Based on the Leaflet JavaScript Library.
  • lidR - R package for airborne LiDAR data manipulation and visualisation for forestry application.
  • lucCalculus - Spatiotemporal calculus for land use change trajectories.
  • magclass - Data class for increased interoperability working with spatial- temporal data together with corresponding functions and methods (conversions, basic calculations and basic data manipulation).
  • mapdeck - R interface to Deck.gl and Mapbox
  • mapproj - Map Projections.
  • maps - Draw Geographical Maps.
  • maptools - Tools for Reading and Handling Spatial Objects.
  • marmap - Package is designed for downloading, plotting and manipulating bathymetric and topographic data in R.
  • 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.
  • micromap - Package provides linked micromaps using ggplot2.
  • 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.
  • ModelR - A workflow for ecological niche models based on dismo.
  • ncdf4 - Provides a high-level R interface to data files written using Unidata's netCDF library (version 4 or earlier).
  • ncdfgeom - NetCDF-CF Geometry and Timeseries Tools for R.
  • ngspatial - Provides tools for analyzing spatial data, especially non- Gaussian areal data.
  • nlme - Fit and compare Gaussian linear and nonlinear mixed-effects models.
  • OasisR - A set of indexes and tests for the analysis of social segregation.
  • OpenStreetMap - Access to Open Street Map Raster Images.
  • osmar - Provides infrastructure to access OpenStreetMap data from different sources.
  • pastecs - Regulation, decomposition and analysis of space-time series.
  • PBSmapping - Mapping Fisheries Data and Spatial Analysis Tools.
  • PBSmodelling - Provides modelling support.
  • phenofit - A state-of-the-art Vegetation Phenology extraction package.
  • phenopix - A collection of functions to process digital images, depict greenness index trajectories and extract relevant phenological stages.
  • plotGoogleMaps - Interactive plot device for handling the geographic data for web browsers.
  • plotKML - Visualization of Spatial and Spatio-Temporal Objects in Google Earth.
  • PReMiuM - Dirichlet Process Bayesian Clustering, Profile Regression.
  • Prioritizr - The prioritizr R package uses integer linear programming (ILP) techniques to provide a flexible interface for building and solving conservation planning problems.
  • ProbitSpatial - Binomial Spatial Probit models for big data.
  • 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.
  • rangeMapper - Tools for easy generation of (life-history) traits maps based on species range (extent-of-occurrence) maps.
  • RArcInfo - Functions to import data from Arc/Info V7.x binary coverages.
  • raster - Reading, writing, manipulating, analyzing and modeling of gridded spatial data.
  • rasterVis - Visualization Methods for Raster Data.
  • 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.
  • Rcitrus - Spatial analysis of plant disease incidence.
  • RColorBrewer - Provides color schemes for maps and other graphics.
  • recmap - Package provides rectangular cartograms with rectangle sizes reflecting for example population
  • 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.
  • rgdal - Bindings for the Geospatial Data Abstraction Library.
  • rgee - Google Earth Engine for R
  • rgeos - Interface to Geometry Engine - Open Source (GEOS) using the C API for topology operations on geometries.
  • Rgooglemaps - Overlays on Google map tiles in R.
  • rgrass7 - Interface Between GRASS 7 GIS and R.
  • Rnetcdf - Interface to NetCDF Datasets.
  • RODBC - ODBC Database Access.
  • RPyGeo - ArcGIS Geoprocessing in R via Python.
  • RQGIS - Establishes an interface between R and QGIS.
  • RSAGA - SAGA Geoprocessing and Terrain Analysis in R.
  • rsMove - Tools that support the combined use of animal movement and remote sensing data.
  • 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.
  • rworldmap - Mapping Global Data.
  • s2 - R bindings for Google's s2 library for geometry on the sphere.
  • S2sls - Fit a spatial instrumental-variable regression by two-stage least squares.
  • sf - Simple Features for R
  • 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.
  • shapefiles - Read and Write ESRI Shapefiles.
  • siplab - A platform for experimenting with spatially explicit individual-based vegetation models.
  • sits - satellite image time series package for R.
  • smacpod - Various statistical methods for analyzing case-control point data.
  • smerc - Provides statistical methods for the analysis of data areal data, with a focus on cluster detection.
  • sp - Classes and Methods for Spatial Data.
  • spacetime - Classes and Methods for Spatio-Temporal Data.
  • spacom - Provides tools to construct and exploit spatially weighted context data.
  • spaMM - Inference in mixed-effect models, including generalized linear mixed models with spatial correlations and models with non-Gaussian random effects.
  • spanel - Fit the spatial panel data models: the fixed effects, random effects and between models.
  • sparr - Provides functions to estimate kernel-smoothed spatial and spatio-temporal densities and relative risk functions, and perform subsequent inference.
  • spatcounts - Fit spatial CAR count regression models using MCMC.
  • spatgraphs - Graphs (or networks) and graph component calculations for spatial locations
  • spatialCovariance - Supports the computation of spatial covariance matrices for data on rectangles.
  • SpatialEpi - Methods and data for cluster detection and disease mapping.
  • SpatialPosition - Computes spatial position models: Stewart potentials, Reilly catchment areas, Huff catchment areas.
  • spatialprobit - Bayesian Estimation of Spatial Probit and Tobit Models.
  • spatialsegregation - Summaries for measuring segregation/mingling in multitype spatial point patterns with graph based neighbourhood description.
  • SpatialTools - Tools for spatial data analysis. Emphasis on kriging. Provides functions for prediction and simulation.
  • spatstat - Spatial Point Pattern Analysis, Model-Fitting, Simulation, Tests.
  • spatsurv - Bayesian inference for parametric proportional hazards spatial survival models; flexible spatial survival models.
  • spBayesSurv - Bayesian Modeling and Analysis of Spatially Correlated Survival Data.
  • spcosa - Spatial coverage sampling and random sampling from compact geographical strata created by k-means.
  • spdep - Spatial Dependence: Weighting Schemes, Statistics and Models.
  • spselect - Fits spatial scale (SS) forward stepwise regression, SS incremental forward stagewise regression, SS least angle regression (LARS), and SS lasso models.
  • sperrorest - Implements spatial error estimation and permutation-based variable importance measures for predictive models using spatial cross-validation and spatial block bootstrap.
  • 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.
  • splancs - Spatial and Space-Time Point Pattern Analysis.
  • splm - ML and GM estimation and diagnostic testing of econometric models for spatial panel data.
  • spmoran - Functions for estimating fixed and random effects eigenvector spatial filtering models.
  • spsurvey - Provides a range of sampling functions.
  • spTimer - Fits, spatially predicts and temporally forecasts large amounts of space-time data.
  • SSN - Spatial statistical modeling and prediction for data on stream networks, including models based on in-stream distance.
  • starma - Statistical functions to identify, estimate and diagnose a Space-Time AutoRegressive Moving Average (STARMA) model.
  • stars - Spatiotemporal tidy arrays for R.
  • taRifx - A collection of various utility and convenience functions.
  • 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.
  • tgp - Bayesian nonstationary, semiparametric nonlinear regression and design by treed Gaussian processes (GPs) with jumps to the limiting linear model (LLM).
  • tidync - Systematic approaches to NetCDF data extraction, manipulation and visualization.
  • tidytransit - 'sf'-compatible package to analyze transit schedules, routes, and stops.
  • trip - Extends sp classes to permit the accessing and manipulating of spatial data for animal tracking.
  • tripack - A constrained two-dimensional Delaunay triangulation package providing both triangulation and generation of voronoi mosaics of irregular spaced data.
  • tripEstimation - Data handling and estimation functions for animal movement estimation from archival or satellite tags.
  • uavRst - UAV related Remote Sensing Toolbox.
  • vapour - A lightweight GDAL API package for R.
  • vec2dtransf - Package for applying affine and similarity transformations on vector spatial data (sp objects).
  • vegan - Ordination methods, diversity analysis and other functions for community and vegetation ecologists.
  • Watersheds - Methods for watersheds aggregation and spatial drainage network analysis.
  • whiteboxR - R frontend of WhiteboxTools.

Ruby

  • Agroclimatology - Ruby client for interacting with the NASA (POWER) Agroclimatology Web Resource.
  • Evapotranspiration - Ruby library for calculating reference crop evapotranspiration (ETo)
  • ffi-geos - Low-level ruby bindings to GEOS library.
  • Geokit - A Ruby gem & Rails plugin for easier map-based applications.
  • Mongoid Geospatial - A Mongoid Extension that simplifies the use of MongoDB spatial features.
  • PostGIS ActiveRecord Adapter - ActiveRecord adapter for PostGIS.
  • Rgeo - RGeo is a geospatial data library for Ruby. It provides an implementation of the Open Geospatial Consortium's Simple Features Specification
  • Rgeo GeoJSON - RGeo component for reading and writing GeoJSON.
  • Rgeo Shapefile - Optional module for RGeo for reading geospatial data from ESRI shapefiles.
  • Ruby Geocoder - Integration with geocoding services.
  • ruby_postal - Ruby bindings to libpostal for fast international address parsing/normalization.
  • SpatiaLite ActiveRecord Adapter - ActiveRecord adapter for Spatialite.

Rust

  • 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.
  • rust-gdal - Rust bindings for GDAL.
  • rust-geo - Geospatial primitives and algorithms for Rust.
  • rust-geocoding - Geocoding library for Rust.
  • rust-geohash - Geohash for Rust.
  • rust-geojson - Library for serializing the GeoJSON vector GIS file format.
  • rust-gpx - Rust read/write support for GPS Exchange Format (GPX).
  • rust-osm - OSM XML serialization and other OpenStreetMap utilities.
  • rust-polyline - Google Encoded Polyline encoding & decoding in Rust.
  • rust-proj - Rust bindings for Proj.
  • rust-shapefile - Rust read/write support for shapefiles.
  • rust-topojson - TopoJSON bindings and utilities for Rust.
  • rust-wkt - Rust read/write support for well-known text (WKT).
  • WhiteboxTools - An advanced geospatial data analysis platform.

Scala

  • geoscript.scala - Scala implementation of the GeoScript API.
  • GeoTrellis - GeoTrellis is a Scala library and framework that uses Spark to work with raster data.
  • mapnik2geotools - Using the Scala XML API to translate from Mapnik XML to GeoTools' SLD dialect.
  • osm4scala - High perfromance Scala library and Spark Polyglot (Scala, Python, SQL, etc.) connector for OpenStreetMap Pbf files.

Swift

  • 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.
  • GEOSwift - The Swift Geographic Engine.
  • 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.
  • turf-swift - A Swift language port of Turf.js.

Open Standards

Cloud Service

DaaS

  • Descartes Labs - A platform for complex global systems.
  • Google Earth Engine - A planetary-scale platform for Earth science data & analysis.
  • Radiant Earth - A platform for connecting people globally to Earth imagery, geospatial data, tools and knowledge to meet the world’s most critical challenges.

SaaS

  • ArcGIS Online - Thousands of datasets and dozens of tools to manipulate, analyze and present data.
  • Cartodb - The easiest way to map and analyze your location data
  • citytracking - A two-year project, to change the way people view, talk about, utilize digital city services
  • Equator Studios - All-in-one cloud-based GIS mapping solution featuring millions of built-in data sources and AutoCAD export.
  • Factual - A company provides the best location data for mobile advertising, mobile apps, and enterprise solutions.
  • GeoHey - A geographic online one-stop solution (Chinese)
  • GeoQ - A location intelligence platform (Chinese)
  • GIS Cloud - A next generation platform for apps that manage location information
  • Magrit - Thematic cartography, free and open-source.
  • Mapbox - Helping you design your own map and presenting your data
  • NextGIS - A cloud geospatial service that allows you to create web GIS right in the browser
  • stamen - Data visualization to tell compelling stories for some of the world's most visible companies
  • Unearth - A simple, cloud-based GIS mapping platform designed for data and workflow management.
  • worldmap - Building your own mapping portal and publish it to the world
  • 地图慧 - A self-designed map server for customs (Chinese)
  • 亿景智图 - An enterprise-level map service (Chinese)

Conference & Communities

Data

News Sites

Awesome-Awesome

Amazing Map Sites

Other

Data Formats

  • Raster Formats - GDAL raster formats: GeoTIFF, Erdas Imagine, ECW, MrSID, JPEG2000, DTED, NITF, ...
  • Vector Formats - GDAL vector formats: ESRI Shapefile, ESRI ArcSDE, ESRI FileGDB, MapInfo, GML, KML, PostGIS, Oracle Spatial, ...

Design Materials

  • mapskin - a collection of scalable vector icons for geospatial.
  • mapuipatterns - website with best practices and design principles for map applications.

Geospatial Start-ups And Companies

MOOC

PODCASTS

DEFUNCT_GEOSPATIAL_PODCASTS

Reference

  1. List of geographic information systems software
  2. osgeo
  3. AmrEldib's Awesome GIS
  4. brandonxiang's Awesome GIS
  5. list top 100 geospatial start ups companies world
  6. Awesome GeoSpatial - most Geospatial Library content come from this ropository.
  7. A Roundup of Geospatial Podcasts
  8. PostGIS in Action, Third Edition - A book about writing spatial queries for PostgreSQL.

About

😎Awesome GIS is a collection of geospatial related sources, including cartographic tools, geoanalysis tools, developer tools, data, conference & communities, news, massive open online course, some amazing map sites, and more.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published