mirror of
https://github.com/sacridini/Awesome-Geospatial.git
synced 2024-10-01 00:55:41 -04:00
Long list of geospatial tools and resources
awesomeawesome-listdata-analysisdeep-learningearth-observationgeoprocessinggeospatialgeospatial-analysisgeotoolsgismachine-learningmapremote-sensingspatial-analysisspatial-data
LICENSE | ||
README.md |
Awesome-Geospatial
- Awesome Geospatial
- Database
- Image Classification & DIP Software
- Geographic Information System
- Web Map Development
- Web Map Server
- Radar
- Lidar
- Geographic Data Mining
- Atmospheric Correction
- Libraries
- Python
- PaaS - Platform as a Service
- SaaS - Software as a Service
- DaaS - Data as a Service
- Java
- C Sharp
- C++
- C
- Ruby
- CSS
- Julia
- R
- JavaScript
- Node.js
- Mobile Development
- Visualization
- Tools
- Data Sources
- Resources
- References
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.
- 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.
Image Classification & DIP Software
- eCognition - GEOBIA software.
- Interimage - Open Source GEOBIA software.
- ENVI - Geospatial image processing and classification software.
- ERDAS - Geospatial image processing and classification software.
- PCI Geomatica - Remote sensing software package for image processing
- Global Mapper - Geospatial and remote sensing data analysis.
- Spring - GIS and remote sensing image processing system with an object-oriented data model.
- TerrSet - TerrSet (formerly IDRISI) is an integrated geographic information system (GIS) and remote sensing software
- OSSIM - Suite of geospatial libraries and applications used to process imagery, maps, terrain, and vector data.
- e-Foto - Free and open source digital photogrammetric workstation.
- Guidos Toolbox - Some GDAL functionalities and includes MSPA (Morphological Spatial Pattern Analysis) for connectivity maps.
- Matlab - Multi-paradigm numerical computing environment and fourth-generation programming language.
- IDL - IDL is a programming language used for data analysis and image processing programming.
- ArcMap Raster Edit Suite - An ArcMap Addin that enables manual editing of single pixels on raster layer.
Geographic Information System
- ArcGIS - GIS for working with maps and geographic information.
- QGIS - Cross-platform free and open-source desktop geographic information system.
- Terraview - GIS application built using the TerraLib GIS library.
- gvSIG - Free and open source GIS.
- GRASS GIS - GRASS (Geographic Resources Analysis Support System) is a free and open source GIS.
- ILWIS - Integrated Land and Water Information System (ILWIS) is a remote sensing and GIS software.
- MapWindow GIS - Free and open source desktop geographic information system.
- MapInfo - Commercial GIS.
- Geomedia - Commercial GIS.
- uDig - A GIS Framework for Eclipse (Java) and also a GIS software.
- SAGA - SAGA is the abbreviation for System for Automated Geoscientific Analyses.
- Manifold System - Commercial GIS.
- AutoCAD Map 3D - GIS AutoCAD integration.
- Smallworld - Commercial GIS.
- OpenJUMP - Open source Java GIS.
- Mapbox Studio - Desktop application for vector tile driven map design.
Web Map Development
- OpenLayers - Open source AJAX library.
- Leaflet - Open-Source JavaScript Library for Mobile-Friendly Interactive Maps.
- Geomanjas - Open source development software for web-based and cloud based GIS applications.
- Cesium - An open-source JavaScript library for world-class 3D globes and maps.
- geojson-vt - A highly efficient JavaScript library for slicing GeoJSON data into vector tiles on the fly.
- ArcGIS JS App Generator - This is a yeoman generator for ArcGIS API for JavaScript applications.
- CMV - The Configurable Map Viewer - CMV is a community-supported open source mapping framework. CMV works with the Esri JavaScript API, ArcGIS Server, ArcGIS Online and more.
- Leaflet.MapboxVectorTile - A Leaflet Plugin that renders Mapbox Vector Tiles on HTML5 Canvas.
- Flare Cluster Layer - ArcGIS javascript custom graphics layer. Creates clusters and creates flares for clusters.
- Google Maps API Polyline String Decoder - Function that will convert encoded polyline strings (as returned by the Google Maps API) into a list of lat/lon pairs.
- Mapzen Tangram - JavaScript library for rendering 2D & 3D maps live in a web browser with WebGL, supports MVT, GeoJSON, TopoJSON.
Web Map Server
- Geoserver - WMS written in Java and relies on GeoTools. Allows users to share and edit geospatial data.
- Mapserver - WMS written in C.
- MapGuide - Runs on Linux or Windows, supports Apache and IIS web servers, and has APIs (PHP, .NET, Java, and JavaScript) for application development.
- PGRestAPI - Node.js REST API for PostGres Spatial Entities. AKA: SpatialServer.
- utilery - Micro vector tile manufacturing from PostGIS.
Radar
- PolSARpro - Open source radar image data processing software.
- Sarmap - Synthetic Aperture Radar processing software.
- GAMMA - Allows processing of SAR, interferometric SAR (InSAR) and differential interferometric SAR (DInSAR).
- Sentinel Toolboxes - Free open source toolboxes for the scientific exploitation of the Sentinel missions.
- NANSAT - Nansat is a scientist friendly Python toolbox for processing 2D satellite earth observation data.
Lidar
- FME Desktop - FME is an integrated collection of Spatial ETL tools for data transformation and data translation.
- LAStools - A collection of highly-efficient, scriptable tools with multi-core batching that process LAS, compressed LAZ, Terrasolid BIN, .shp, and ASCII.
- FullAnalyze - Handling, visualizing and processing lidar data (3D point clouds and waveforms).
- DielmoOpenLidar - Open source software based in gvSIG for the management of LiDAR data.
- Global Mapper Lidar Module - Lidar module for Global Mapper.
- Fusion - Python for Lidar data.
- libLAS - libLAS is a C/C++ library for reading and writing the very common LAS LiDAR format.
- PyLAS - A python library for reading and writing LAS files.
- Laspy - Laspy is a python library for reading, modifying, and creating .LAS LIDAR files.
- PDAL - PDAL is a C++ BSD library for translating and manipulating point cloud data.
Geographic Data Mining
- Weka - Weka is a collection of machine learning algorithms for data mining tasks written in Java.
- GeoDMA - GeoDMA is a plugin for TerraView software, used for geographical data mining.
Atmospheric Correction
Libraries
- GDAL - Geospatial Data Abstraction Library (GDAL) is a computer library.
- Mapnik - C++/Python/Node.js library for rendering.
- Terralib - TerraLib is a GIS classes and functions open source library.
- GeographicLib - For solving geodesic problems. Implemented in C, C++, Java, Javascript, Fortran, Python and Matlab.
- Orfeo ToolBox - Orfeo ToolBox (OTB) is an open-source C++ library for remote sensing images processing.
- Geolib - GeoLib is a fast, efficient, computational geometry library available in C++, C# and Java.
Python
- GeoDjango - Django geographic web framework.
- Landsat-util - Landsat-util is a command line utility that makes it easy to search, download, and process Landsat imagery.
- Rasterio - Rasterio employs GDAL under the hood for file I/O and raster formatting.
- Rasterstats - Python module for summarizing geospatial raster datasets based on vector geometries.
- Pandas - Open source library providing high-performance, easy-to-use data structures and data analysis tools for the Python.
- Shapely - Manipulation and analysis of geometric objects in the Cartesian plane.
- Cartopy - A library providing cartographic tools for python for plotting spatial data.
- Rtree - For efficiently querying spatial data.
- NodeBox-opengl - For playing around with animations.
- Statsmodels - Python module that allows users to explore data, estimate statistical models, and perform statistical tests.
- NumPy - NumPy is the fundamental package for scientific computing with Python.
- geopy - geopy is a Python 2 and 3 client for several popular geocoding web services.
- IPython - For a wondering interactive environment in which to play.
- FreeType - For converting font glyphs to polygons.
- PyQGIS - Python for QGIS.
- Fiona - For making it easy to read/write geospatial data formats.
- matplotlib - Python 2D plotting library.
- networkx - To work with networks.
- PySAL - For all your spatial econometrics needs.
- Descartes - Plot geometries in matplotlib.
- PyShp - For reading and writing shapefiles.
- PyProj - For conversions between projections.
- Pyncf - Pure Python NetCDF file reading and writing.
- chupaESRI - ChupaESRI is a Python module/command line tool to extract features from ArcGIS Server map services.
- GeoPandas - Python tools for geographic data.
- geojsonio.py - Open GeoJSON data on geojson.io from Python. geojsonio.py also contains a command line utility that is a Python port of geojsonio-cli.
- Ogcserver - Python WMS implementation using Mapnik.
- RSGISLib - The Remote Sensing and GIS software library (RSGISLib) is a collection of tools for processing remote sensing and GIS datasets. The tools are accessed using Python bindings or an XML interface.
- Scikit-image - Scikit-image is a collection of algorithms for image processing.
PaaS - Platform as a Service
- Google Maps API - Google's PaaS (Platform as a Service) for Geocoding or analysis/processing services.
- Microsoft Bing API - Microsoft Bing Maps API.
- OpenStreetMap API - OpenStreetMap API.
- Mapbox.js - MapBox Javascript API.
- Mapbox GL JS - MapBox WebGL Javascript API.
SaaS - Software as a Service
- ArcGIS Online - ArcGIS Online GIS platform for mapping ans spatial analysis.
- CartoDB - Cloud computing platform that provides GIS and web mapping tools for display in a web browser.
- Mapbox - Plataform for web map design and manipulation.
DaaS - Data as a Service
- Apple Maps - Apple map service.
- Google Maps - Google map service.
- Microsoft Bing Maps - Microsoft map service.
- OpenStreetMap - OpenStreeMap map service.
Java
- Geotools - GeoTools is an open source Java library that provides tools for geospatial data.
- Geonetwork - GeoNetwork is a catalog application to manage spatially referenced resources.
- JTS Topology Suite - JTS Topology Suite is an API of 2D spatial predicates and functions.
- GeOxygene - Provide an open framework which implements OGC/ISO specifications for the development and deployment of GIS applications.
- Gisgraphy - Open source framework that offers the ability to do geolocalisation and geocoding via Java APIs or REST webservices.
- JGeocoder - Free Java Geocoder.
- Spatial4j - Spatial4j is a general purpose geospatial ASL licensed open-source Java library.
- Geoapi - GeoAPI provides a set of Java language programming interfaces for geospatial applications.
- Openmap - Open Source JavaBeans-based programmer's toolkit.
- Apache SIS - Apache Spatial Information System (SIS) is a free software, Java language library for developing geospatial applications.
- World Wind Java SDK - Nasa cross-platform Java SDK.
C Sharp
- SharpMap - SharpMap is an easy-to-use mapping library for use in web and desktop applications.
- DotSpatial - DotSpatial is a geographic information system library written for .NET 4.
- NTS Net Topology Suite - A .NET GIS solution that is fast and reliable for the .NET platform.
- Geo - A geospatial library for .NET
- SharpKml - Is able to read/write both KML files and KMZ files.
C++
- GEOS - GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS).
- GDAL - Geospatial Data Abstraction Library (GDAL) is a computer library.
- Mapnik - C++ library for rendering.
- Terralib - TerraLib is a GIS classes and functions open source library.
- Boost Geometry - Part of collection of the Boost C++ Libraries, defines concepts, primitives and algorithms for solving geometry problems.
- Capaware - 3D terrain representation with multilayer representation.
- libspatialindex - C++ implementation of R*-tree, an MVR-tree and a TPR-tree with C API.
- Spatial - Spatial is a generic header-only C++ library providing multi-dimensional in-memory containers, iterators and functionals.
- geojson-vt-cpp - Port to C++ of JS GeoJSON-VT for slicing GeoJSON into vector tiles on the fly.
- Supercluster - A C++14 port of supercluster, a fast 2D point clustering library for use in interactive maps.
- Mapbox GL Native - Render Mapbox styles in mobile, desktop, and node applications using C++ and OpenGL.
- Mapzen Tangram-ES - C++ library for rendering 2D and 3D maps using OpenGL ES 2 with custom styling and interactions
- Mapnik Vector Tile - Mapnik C++ implemention of Mapbox Vector Tile specification.
- Vector Tiles Producer - Command line tool in C++ to creates vector tiles for a given area at chosen zoom levels using a Mapnik XML.
- libGeoTiff - Manipulate TIFF based interchange format for georeferenced raster imagery.
- Orfeo ToolBox - Orfeo TooLBox (OTB) is an open-source C++ library for remote sensing images processing, distributed under the CeCILL-v2 licence.
- ITK - ITK is an open-source, cross-platform system that provides developers with an extensive suite of software tools for image analysis.
- RSGISLib - The Remote Sensing and GIS software library (RSGISLib) is a collection of tools for processing remote sensing and GIS datasets. The tools are accessed using Python bindings or an XML interface.
C
- Shapefile C Library - Provides the ability to write simple C programs for reading, writing and updating (to a limited extent) .shp and .dbf files.
- Libuv - Cross-platform asynchronous I/O.
- Datamaps - This is a tool for indexing large lists of geographic points or lines and dynamically generating map tiles from the index for display.
Ruby
- Geokit - A Ruby gem & Rails plugin for easier map-based applications.
- Rgeo - RGeo is a geospatial data library for Ruby. It provides an implementation of the Open Geospatial Consortium's Simple Features Specification
- Rgeo Shapefile - Optional module for RGeo for reading geospatial data from ESRI shapefiles.
- Rgeo GeoJSON - RGeo component for reading and writing GeoJSON.
- [ffi-geos](RGeo component for reading and writing GeoJSON) - Low-level ruby bindings to GEOS library.
- PostGIS ActiveRecord Adapter - ActiveRecord adapter for PostGIS.
- SpatiaLite ActiveRecord Adapter - ActiveRecord adapter for Spatialite.
- Mongoid Geospatial - A Mongoid Extension that simplifies the use of MongoDB spatial features.
- Ruby Geocoder - Integration with geocoding services.
CSS
Julia
- RasterIO.jl - Simple Raster Formats for Julia.
- OpenStreetMaps.jl - This package provides basic functionality for parsing, viewing, and working with OpenStreetMap map data.
R
- sp - Classes and Methods for Spatial Data.
- rgdal - Bindings for the Geospatial Data Abstraction Library.
- raster - Reading, writing, manipulating, analyzing and modeling of gridded spatial data.
- ggplot2 - ggplot2 is a plotting system for R.
- ggmap - Spatial Visualization with ggplot2.
- rgeos - Interface to Geometry Engine - Open Source (GEOS) using the C API for topology operations on geometries.
- rgrass7 - Interface Between GRASS 7 GIS and R.
- Rnetcdf - Interface to NetCDF Datasets.
- RSAGA - SAGA Geoprocessing and Terrain Analysis in R.
- RODBC - ODBC Database Access.
- RPyGeo - ArcGIS Geoprocessing in R via Python.
- shapefiles - Read and Write ESRI Shapefiles.
- Rgooglemaps - Overlays on Google map tiles in R.
- leafletR - Interactive Web-Maps Based on the Leaflet JavaScript Library.
- maptools - Tools for Reading and Handling Spatial Objects.
- RArcInfo - Functions to import data from Arc/Info V7.x binary coverages.
- Akima - Interpolation of Irregularly and Regularly Spaced Data.
- maps - Draw Geographical Maps.
- PBSmapping - Mapping Fisheries Data and Spatial Analysis Tools.
- Landsat - Radiometric and topographic correction of satellite imagery.
- spatstat - Spatial Point Pattern Analysis, Model-Fitting, Simulation, Tests.
- splancs - Spatial and Space-Time Point Pattern Analysis.
- plotKML - Visualization of Spatial and Spatio-Temporal Objects in Google Earth.
- OpenStreetMap - Access to Open Street Map Raster Images.
- GEOmap - Topographic and Geologic Mapping.
- rworldmap - Mapping Global Data.
- rasterVis - Visualization Methods for Raster Data.
- spdep - Spatial Dependence: Weighting Schemes, Statistics and Models.
- spacetime - Classes and Methods for Spatio-Temporal Data.
- geoR - Analysis of Geostatistical Data.
- ecespa - Functions for Spatial Point Pattern Analysis.
- mapproj - Map Projections.
- gstat - Spatio-Temporal Geostatistical Modelling, Prediction and Simulation.
- intamap - Procedures for automated interpolation.
JavaScript
- Heatmap.js - A heatmap implementation for Javascript.
- Thermo.js - Another heatmap implementation for Javascript.
- Heatcanvas.js - Yet another heatmap implementation for Javascript.
Node.js
- Turf.js - Advanced geospatial analysis for browsers and node.
- JSTS - Port of the Java JTS library.
- Spatial - A 2d spatial hash module for node.js.
- PGRestAPI - Node.js REST API for PostGres Spatial Entities.
- Supercluster - A crazy fast geospatial point clustering library for browsers and Node.
- SQLite3 - Asynchronous, non-blocking SQLite3 bindings for Node.js.
- Windshaft - A Node.js map tile library for PostGIS and torque.js, with CartoCSS styling.
Mobile Development
- 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.
Visualization
- Processing - Processing is a flexible software sketchbook and a language for learning how to code within the context of the visual arts.
- P5.js - Javascript library that starts with the original goal of Processing.
- Processing.py - Python mode for Processing.
- D3.js - D3.js is a JavaScript library for manipulating documents based on data.
- openFrameworks - openFrameworks is an open source C++ toolkit for creative coding.
- Folium - Python Data. Leaflet.js Maps.
- Blender GIS - Blender addons to make the bridge between Blender and geographic data.
- tippiecannoe - Build vector tilesets from large collections of GeoJSON features.
- Kosmtik - Very lite but extendable mapping framework to create Mapnik ready maps with OpenStreetMap data (and more).
- mplleaflet - Easily convert matplotlib plots from Python into interactive Leaflet web maps.
Tools
- TileMill - TileMill is a modern map design studio powered by Node.js and Mapnik.
- DataPillager - Download data from Esri service.
- Osm2pgsql - osm2pgsql is a tool for loading OpenStreetMap data into a PostgreSQL.
Cheat sheets
- Fiona-Rasterio-Shapely Cheat Sheet - A cheat sheet for Fiona/Rasterio/Shapely command-line geodata tools.
- GDAL - Cheat sheet for GDAL/OGR command-line tools.
- PostGIS - Cheat sheet for PostGIS.
- PostGIS 2
- PostGIS Raster
Data Sources
- TZ Timezone Shapefiles - Polygon boundaries of world timezones.
- USGS Earth Explorer - Provides online search,metadata export, and data download for earth science data from the archives of the USGS.
- GeoNames - The GeoNames geographical database covers all countries and contains over eight million place names (cities, postal codes, countries) that are available for download free of charge.
- Mapzen - It provides data in OSM/PBF and Esri shapefile formats for popular cities.
- Geofabrik - This is another source of prepared OpenStreetMap data. This distribution is generally built nightly and comes in OSM XML, pbf, and shapefile (for very popular areas) formats.
- Natural Earth - This site offers public domain map data sets that contain both raster and vector data.
- ASTER Data - Download ASTER data.
Resources
- Cartographical Map Projections - A good introduction to projected coordinate systems
- Spatialreference.org - Source for coordinate system information.
- ESRI Shapefile Specs - Shapefile specifications.
- GeoJSON.io - geojson.io is a quick, simple tool for creating, viewing, and sharing maps.