/awesome-gis

A curated list of awesome resources on GIS data and software

Primary LanguagePythonMIT LicenseMIT

Awesome GIS

Awesome GitHub stars GitHub contributors GitHub last commit GitHub license

A collection of awesome resources on Geospatial data and software, including cartographic / geoanalysis / developer tools, data, online tutorials & courses, and more.

Please contribute to make this guide better! Please follow the Contributing Guidelines. Inspired by Awesome Python and Awesome earth Observation Code

Awesome GIS

Table Of Contents:


Learning resources and platforms

Top

Data formats

  • Vector Formats - GDAL vector formats: ESRI Shapefile, ESRI ArcSDE, ESRI FileGDB, MapInfo, GML, KML, PostGIS, Oracle Spatial, ...
  • Raster Formats - GDAL raster formats: GeoTIFF, Erdas Imagine, ECW, MrSID, JPEG2000, DTED, NITF, ...
  • OGC Body of Knowledge - The OGC Body of Knowledge is a structured collection of concepts and related resources that can be found in the OGC library.
  • GIS Data administration - Data provides the resources you need to make proper business decisions. The volume of data you must sort through each day is growing exponentially. How you manage, organize, and control these data resources is critical to your success.

MOOC

Jupyter based training workshops

Data and Utilities

Top

Utilities

  • BBox finder - Select an area and get BBox information in vairous projections and formats.
  • epsg.io - Coordinate systems worldwide
  • mapskin - a collection of scalable vector icons for geospatial.
  • GeoTrellis - A geographic data processing engine for high performance applications that uses Spark to work with raster data.

Data download services

  • ASTER GDEM or From NASA - fantastic worldwide DEM jointly built in partnership between the NASA and Japan METI.
  • BBBike OSM Extracts - Extract specific areas of OSM data in common formats (Shapefile, PBF, OSM XML, GeoJSON, etc.)
  • EOS Land Viewer - LandViewer allows the non-expert users to select a geographic area of interest for analysis, an earth observation data type, and then apply on-the-fly imagery analytics.
  • NASA earth data - A very HUGE directory of awesome geographic data. You must know by advance what you're looking at.
  • GEBCO Gridded Bathymetry Data - The GEBCO_2020 grid is a global terrain model for ocean and land at 15 arc-second intervals.
  • Geo Maps - High Quality GeoJSON maps programmatically generated.
  • Geofabrik - This server has data extracts from the OpenStreetMap project which are normally updated every day. Select your continent and then your country of interest from the list, and enjoy hight quality localized extracts for your apps!
  • Global cities Shapefile data
  • Metro extracts - City-sized portions of OpenStreetMap
  • Natural Earth - A public domain dataset available at 1:10m, 1:50m, and 1:110 million scales. Featuring tightly integrated vector and raster data, with Natural Earth you can make a variety of visually pleasing, well-crafted maps with cartography or GIS software.
  • OpenDEM - Open Digital Elevation Model (OpenDEM) The Portal for sharing the 3rd Dimension.
  • OpenDataSoft - More than 20000 curated high quality data sets library available for download.
  • Open Street Map - A map of the world, created by people like you and free to use under an open license.
  • OpenFlights: Airport and airline data - Awesome FOSS airports and airlines database.
  • Open Weather Map - OpenWeatherMap provides many kinds of weather maps including Precipitation, Clouds, Pressure, Temperature, Wind. You can connect them to mobile and web apps.
  • Overpass API - The Overpass API (formerly known as OSM Server Side Scripting, or OSM3S before 2011) is a read-only API that serves up custom selected parts of the OSM map data.
  • Remotepixel - Free download of worldwide Landsat-8, Sentinel-2 and CBERS-4 tiles.
  • Sentinel Hub - A complete archive of Sentinel-1, Sentinel-2, Sentinel-3, Sentinel-5P, ESA’s archive of Landsat 5, 7 and 8, global coverage of Landsat 8, Envisat Meris, MODIS, Proba-V and GIBS products in one place.

Geographic Information System Software

Top

Free and Open Source (FOSS)

  • QGIS Python 🌟 - A free and open source GIS.
  • GeoDa C++ - A free and open source software tool that serves as an introduction to spatial data analysis.
  • GISInternals C++ - Povides daily build packages and software development kits for the GDAL and MapServer
  • GRASS GIS C++ - 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 C++ - A powerful, user-friendly, interoperable GIS.
  • uDig Java - An open source (EPL and BSD) desktop application framework, built with Eclipse Rich Client (RCP) technology.

Commercial

  • 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.
  • 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.

Web Map Servers

Top

Free and Open Source (FOSS)

  • MapServer C++ - Publishing spatial data and interactive mapping applications to the web
  • QGIS Server Python - a FastCGI/CGI application written in C++ that works together with a webserver.
  • deegree Java - An open source software for spatial data infrastructures and the geospatial web
  • Google Earth Enterprise C++ - 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.
  • GeoNode Java Javascript - Open Source Geospatial Content Management System.
  • GeoServer Java - An open source server for sharing geospatial data
  • GeoWebCache Java - 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.
  • Mapnik C++ - An open source mapping toolkit for desktop-based and server-based map rendering
  • OpenMapTiles C++ Docker - 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.

Commercial

  • ArcGIS Server 🌟 - A GIS server for enterprise application.
  • NextGIS Web - An open source framework for storage, visualization and permissions management of all kinds of geospatial data.

Cloud Services

  • Mapbox 🌟 - Helping you design your own map and presenting your data
  • 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
  • GIS Cloud - A next generation platform for apps that manage location information
  • NextGIS - A cloud geospatial service that allows you to create web GIS right in the browser

Spatial Databases

  • PostGIS based on PostgreSQL postgreSQL 🌟 - Most advanced open source database
  • Spatialite based on SQLite - Lightweight SQL library to support fully spatially capability
  • MBtiles - A specification for storing tiled map data in SQLite databases
  • GeoMesa Python - An open-source, distributed, spatio-temporal database built on a number of distributed cloud data storage systems, including Accumulo, HBase, Cassandra, and Kafka.

Javascript frontend frameworks and librairies

Top

Map display libraries

  • Leaflet Javascript - Open source javaScript library for mobile-friendly interactive maps
  • Mapbox GL JS Javascript - A JavaScript & WebGL library that renders interactive maps from vector tiles and the Mapbox GL Style Specification
  • OpenLayers Javascript - Open source JavaScript map viewing library
  • ArcGIS API for JavaScript Javascript - Creating high-performing apps and smarter visualizations supported by ESRI
  • Tangram Javascript - A JavaScript library for rendering 2D & 3D maps live in a web browser with WebGL
  • Mapstore 2 Javascript - Awesome modern GIS WebApp built on ReactJS and using Openlayers, Leaflet.
  • mViewer Javascript - Thematic Web GIS viewer based on OpenLayers 6.3.1 and Bootstrap 3.3.6
  • mViewer Studio Javascript - mViewer confirguration generator
  • mapbox-gl-native Javascript - A library for embedding interactive, customizable vector maps into native applications on multiple platforms
  • Mapnik C++ - C++ library for map rendering.
  • deck.gl Javascript - WebGL2 powered geospatial visualization layers.
  • GeoExt Javascript - 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.
  • Windshaft NodeJS - A Node.js map tile library for PostGIS and torque.js, with CartoCSS styling.

3D Specialized

  • three.js Javascript - A JavaScript 3D library which makes WebGL simpler
  • CesiumJS Javascript - An open source JavaScript library for world-class 3D globes and maps
  • three-geo Javascript - Is a three.js based geographic visualization library
  • iTowns Javascript - 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).

Visual data analysis

Top
  • D3.js Javascript - A JavaScript library for manipulating documents based on data
  • Echarts Javascript - A user-friendly data visualisation library supported by Baidu
  • turf.js Javascript - Advanced geospatial analysis for browsers and node supported by Mapbox
  • Polymaps Javascript - A JavaScript library for image- and vector-tiled maps using SVG
  • jVectorMap Javascript - A vector-based, cross-browser and cross-platform component for interactive geography-related data visualization on the web. Github Link
  • CMV NodeJS - The Configurable Map Viewer (CMV) is an open source mapping framework that works with ESRI JavaScript API, ArcGIS Server, ArcGIS Online, and more.
  • SuperMap iClient JavaScript - Cloud GIS web client development platform supported by SuperMap.
  • d3-geomap Javascript - A library for creating geographical maps based on D3.js.
  • BaremapsNodeJS - An open source pipeline for producing Mapbox vector tiles from OpenStreetMap with Postgis and Java.
  • Hootenanny NodeJS - Hootenanny conflates multiple maps into a single seamless map.
  • kepler.gl Javascript - kepler.gl is a data-agnostic, high-performance web-based application for visual exploration of large-scale geolocation data sets.
  • mapshaper Javascript - Tools for editing Shapefile, GeoJSON, TopoJSON and CSV files.

Language based Geospatial Libraries

Top

C++

  • GEOS C++ - GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS).
  • GDAL C++ - Geospatial Data Abstraction Library (GDAL) is a computer library that serve as a translator library for raster and vector geospatial data formats.
  • tippecanoe C++ - Build vector tilesets from large collections of GeoJSON features.
  • gdalcubes C++ - gdalcubes is a library to represent collections of Earth Observation (EO) images as on demand data cubes (or multidimensional arrays).
  • PDAL C++ - PDAL is Point Data Abstraction Library. GDAL for point cloud data.

Python

  • Shapely Python - A library for manipulation and analysis of geometric objects in the Cartesian plane.
  • Rasterio Python - A library for reads and writes geospatial raster data)
  • GeoPandas Python - Python tools for geographic data
  • Landlab Python - Landlab is an open-source Python-language package for numerical modeling of Earth surface dynamics. Navigate here for landlab components.
  • Pyproj Python - Python interface to PROJ4 library for cartographic transformations
  • GeoDjango Python - Django geographic web framework.
  • MovingPandas - MovingPandas is a Python library for handling movement data based on Pandas and GeoPandas. It provides trajectory data structures and functions for analysis and visualization.
  • Rasterstats Python - Python module for summarizing geospatial raster datasets based on vector geometries.
  • xarray Python - 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.
  • Cartopy Python - A library providing cartographic tools for python for plotting spatial data.
  • NumPy Python - NumPy is the fundamental package for scientific computing with Python.
  • matplotlib Python - Python 2D plotting library.
  • Scikit-image Python - Scikit-image is a collection of algorithms for image processing.
  • pyWPS Python - 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 Python - 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.
  • Peartree Python - Peartree: A library for converting transit data into a directed graph for network analysis.
  • WhiteboxTools - WhiteboxTools is an advanced geospatial data analysis platform including more than 445 tools for processing various types of geospatial data. Many tools operate in parallel, taking full advantage of your multi-core processor. Small stand-alone application with no external dependencies, making installation as easy as downloading the 8Mb zip file and decompressing it.
  • Whitebox python - Whiteboxtools python frontend.

Open Forums and communities

Top
  • Conference

  • Communities

    • OGC - an international not for profit organization committed to making quality open standards for the global geospatial community
  • Open Standards

    • 3D Tiles - 3D Tiles is designed for streaming and rendering massive 3D geospatial content such as Photogrammetry, 3D Buildings, BIM/CAD, Instanced Features, and Point Clouds.
    • Catalogue Service - Catalogue services support the ability to publish and search collections of descriptive information (metadata) for data, services, and related information objects.
    • CDB - The CDB standard defines a standardized model and structure for a single, “versionable”, virtual representation of the earth.
    • Filter Encoding - XML and KVP encoding of a system neutral syntax for expressing projections, selection and sorting clauses collectively called a query expression.
    • GeoPackage - A GeoPackage is an open, standards-based, platform-independent, portable, self-describing, compact format for transferring geospatial information.
    • Geography Markup Language - The Geography Markup Language (GML) is an XML grammar for expressing geographical features.
    • CityGML - CityGML is an open data model and XML-based format for the storage and exchange of virtual 3D city models.
    • GeoRSS - GeoRSS is designed as a lightweight, community driven way to extend existing RSS feeds with simple geographic information.
    • KML - KML is an XML language focused on geographic visualization, including annotation of maps and images.
    • Mapbox Vector Tile - The Mapbox Vector Tile Specification explicitly provides information about file formats & extensions, projections and bounds, and the internal structure of vector tiles.
    • NetCDF - netCDF is a set of software libraries and self-describing, machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data.
    • OWS Context - This standard describes the use cases, requirements and conceptual model for the OWS Context encoding standard.
    • Styled Layer Descriptor - SLD addresses the need for users and software to be able to control the visual portrayal of the geospatial data.
    • Symbology Encoding - Symbology Encoding is an XML language for styling information that can be applied to digital Feature and Coverage data.
    • Web Coverage Service - A Web Coverage Service (WCS) offers multi-dimensional coverage data for access over the Internet.
    • Web Feature Service - WFS offers direct fine-grained access to geographic information at the feature and feature property level.
    • Web Map Service - The Web Map Service (WMS) provides a simple HTTP interface for requesting geo-registered map images from one or more distributed geospatial databases.
    • Web Map Tile Service - The Web map Tiled Service (WMTS) provides a simple HTTP interface for requesting pre-rendered tiles sets pyramids.
    • Web Processing Service - The Web Processing Service (WPS) provides rules for standardizing how inputs and outputs (requests and responses) for geospatial processing services, such as polygon overlay.

Awesome-Awesomeness

Top