This is a list of geospatial tools and libraries.
Name | GitHub Repository | Description |
---|---|---|
Awesome Geospatial | GitHub link | Long list of geospatial analysis tools. Geospatial analysis, or just spatial analysis, is an approach to applying statistical analysis and other analytic techniques to data which has a geographical or spatial aspect. |
satellite-image-deep-learning | GitHub link | This repository lists resources on the topic of deep learning applied to satellite and aerial imagery. To a lesser extent classical machine learning techniques are listed, as are topics such as cloud computing and model deployment. |
awesome-gee-community-datasets | GitHub link | The awesome-gee-community-datasets are community-sourced geospatial datasets made available for use by the larger Google Earth Engine community and shared publicly as Earth Engine assets. |
Awesome Earth Engine | GitHub link | A curated list of Google Earth Engine resources. Please visit the Awesome-GEE GitHub repo if you want to contribute to this project. |
Awesome-EarthObservation-Code | GitHub link | A curated list of awesome tools, tutorials, code, helpful projects, links, stuff about Earth Observation and Geospatial stuff. |
Name | Documentation | GitHub Repository | Description |
---|---|---|---|
Raster4ML | Doc link | GitHub link | Raster4ML is a python package that extracts machine learning ready dataset from geospatial raster data and shapefiles. The package aims to aid geospatial researchers and scientists to extract meaningful faetures easily and focus more on the model training or reproducibility issues. |
ee | Doc link | GitHub link | Python and JavaScript client libraries for calling the Google Earth Engine API. |
geemap | Doc link | GitHub link | A Python package for interactive mapping with Google Earth Engine, ipyleaflet, and ipywidgets. |
eemont | Doc link | GitHub link | A Python package that extends Google Earth Engine. |
EODAG | Doc link | GitHub link | EODAG (Earth Observation Data Access Gateway) is a 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. |
RSGISLib | Doc link | GitHub link | The Remote Sensing and GIS software library (RSGISLib) is a collection of tools for processing remote sensing and GIS datasets. |
sentinelhub | Doc link | GitHub link | The sentinelhub Python package is the official Python interface for Sentinel Hub services. It supports most of the services described in the Sentinel Hub documentation and any type of satellite data collections, including Sentinel, Landsat, MODIS, DEM, and custom collections produced by users. |
EOEPCA System | Doc link | GitHub link | "A selection of building blocks are available, addressing the three key domains identified in the architecture: Resource Management - catalogue and discovery of data and applications. Processing and Chaining - deployment and execution of applications. User Management - identity, security, access control and accounting" |
MetPy | Doc link | GitHub link | MetPy is a collection of tools in Python for reading, visualizing and performing calculations with weather data. |
Museo ToolBox | Doc link | GitHub link | Museo ToolBox is a python library to simplify the use of raster/vector, especially for machine learning and remote sensing. It is now easy to extract raster values from vector polygons and to do some spatial/unspatial cross-validation for scikit-learn from raster. |
rastervision | Doc link | GitHub link | Raster Vision is an open source Python library and framework for building computer vision models on satellite, aerial, and other large imagery sets (including oblique drone imagery). |
EOReader | Doc link | GitHub link | EOReader is a remote-sensing opensource python library reading optical and SAR constellations, loading and stacking bands, clouds, DEM and spectral indices in a sensor-agnostic way. |
Name | Documentation | GitHub Repository | Description |
---|---|---|---|
geopandas | Doc link | GitHub link | GeoPandas is a project to add support for geographic data to pandas objects. |
MGWR | - | GitHub link | This module provides functionality to calibrate multiscale (M)GWR as well as traditional GWR. It is built upon the sparse generalized linear modeling (spglm) module. |
Shapely | Doc link | GitHub link | Manipulation and analysis of geometric objects in the Cartesian plane. |
rasterio | Doc link | GitHub link | Rasterio reads and writes geospatial raster data. |
rasterstats | Doc link | GitHub link | Python module for summarizing geospatial raster datasets based on vector geometries. It includes functions for zonal statistics and interpolated point queries. |
WhiteboxTools | Doc link | GitHub link | WhiteboxTools is an advanced geospatial data analysis platform. |
whiteboxgui | Doc link | GitHub link | The whiteboxgui Python package is a Jupyter frontend for WhiteboxTools, an advanced geospatial data analysis platform. |
pysal | Doc link | GitHub link | PySAL, the Python spatial analysis library, is an open source cross-platform library for geospatial data science with an emphasis on geospatial vector data written in Python. |
pykrige | Doc link | GitHub link | Kriging Toolkit for Python. |
geostat framework | Doc link | GitHub link | GeoStatTools is a library providing geostatistical tools like kriging, random field generation, variogram estimation, covariance models and much more. |
gstools | Doc link | GitHub link | GeoStatTools provides geostatistical tools for various purposes. |
Spatialpandas | Doc link | GitHub link | Spatialpandas provides Pandas and Dask extensions for vectorized spatial and geometric operations, such as fast, spatially indexed rendering of large collections of polygons, lines, or points. |
GeoParquet | Doc link | GitHub link | This repository defines how to store geospatial vector data (point, lines, polygons) in Parquet, a popular columnar storage format for tabular data. |
SciKit GStat | Doc link | GitHub link | SciKit-Gstat is a scipy-styled analysis module for geostatistics. It includes two base classes Variogram and OrdinaryKriging. Additionally, various variogram classes inheriting from Variogram are available for solving directional or space-time related tasks. |
R terra | Doc link | GitHub link | terra is an R package for spatial data analysis. Methods for spatial data analysis with vector (points, lines, polygons) and raster (grid) data. Methods for vector data include standard operations such as intersect and buffer. Raster methods include global, local, zonal, and focal computations. The predict and interpolate methods facilitate the use of regression type (interpolation, machine learning) models for spatial prediction, including with satellite remote sensing data. Processing of very large files is supported. |
Name | Documentation | GitHub Repository | Description |
---|---|---|---|
SHAP | Doc link | GitHub link | SHAP (SHapley Additive exPlanations) is a game theoretic approach to explain the output of any machine learning model. It connects optimal credit allocation with local explanations using the classic Shapley values from game theory and their related extensions. |
gradio | Doc link | GitHub link | Gradio is an open-source Python library that is used to build machine learning and data science demos and web applications. |
Torchgeo | Doc link | GitHub link | TorchGeo is a PyTorch domain library, similar to torchvision, providing datasets, samplers, transforms, and pre-trained models specific to geospatial data. |
Name | Documentation | GitHub Repository | Description |
---|---|---|---|
leafmap | Doc link | GitHub link | A Python package for geospatial analysis and interactive mapping in a Jupyter environment. |
ipyleaflet | Doc link | GitHub link | A Jupyter / Leaflet bridge enabling interactive maps in the Jupyter notebook. |
ipywidgets | Doc link | GitHub link | ipywidgets, also known as jupyter-widgets or simply widgets, are interactive HTML widgets for Jupyter notebooks and the IPython kernel. |
folium | Doc link | GitHub link | folium builds on the data wrangling strengths of the Python ecosystem and the mapping strengths of the leaflet.js library. Manipulate your data in Python, then visualize it in on a Leaflet map via folium. |
voilà | Doc link | GitHub link | Rendering of live Jupyter notebooks with interactive widgets. |
pyvista | Doc link | GitHub link | PyVista is a helper module for the Visualization Toolkit (VTK) that wraps the VTK library through NumPy and direct array access through a variety of methods and classes. This package provides a Pythonic, well-documented interface exposing VTK's powerful visualization backend to facilitate rapid prototyping, analysis, and visual integration of spatially referenced datasets. |
kepler.gl | Doc link | GitHub link | Kepler.gl is a data-agnostic, high-performance web-based application for visual exploration of large-scale geolocation data sets. Built on top of Mapbox GL and deck.gl, kepler.gl can render millions of points representing thousands of trips and perform spatial aggregations on the fly. |
Datashader | Doc link | GitHub link | Datashader is a data rasterization pipeline for automating the process of creating meaningful representations of large amounts of data. |
HoloViews | Doc link | GitHub link | HoloViews is an open-source Python library designed to make data analysis and visualization seamless and simple. With HoloViews, you can usually express what you want to do in very few lines of code, letting you focus on what you are trying to explore and convey, not on the process of plotting. |
Panel | Doc link | GitHub link | Panel provides tools for easily composing widgets, plots, tables, and other viewable objects and controls into custom analysis tools, apps, and dashboards. Panel works with visualizations from Altair, Bokeh, HoloViews, Matplotlib, Plotly, pydeck, PyVista and many other Python plotting libraries, making them instantly viewable either individually or when combined with interactive widgets that control them. |
Mito Spreadsheets | Doc link | GitHub link | Mito is a spreadsheet that lives inside your JupyterLab notebooks. It allows you to edit Pandas dataframes like an Excel file, and generates Python code that corresponds to each of your edits. |
plotly | Doc link | GitHub link | Plotly's Python graphing library makes interactive, publication-quality graphs. |
Name | Documentation | GitHub Repository | Description |
---|---|---|---|
open3d | Doc link | GitHub link | Open3D is an open-source library that supports rapid development of software that deals with 3D data. The Open3D frontend exposes a set of carefully selected data structures and algorithms in both C++ and Python. The backend is highly optimized and is set up for parallelization. |
Name | Documentation | GitHub Repository | Description |
---|---|---|---|
JupyterBook | Doc link | GitHub link | Jupyter Book is an open-source tool for building publication-quality books and documents from computational material. |
xarray | Doc link | GitHub link | xarray (formerly xray) is an open source project and Python package that makes working with labelled multi-dimensional arrays. |
xarray-spatial | Doc link | GitHub link | Xarray-Spatial implements common raster analysis functions using Numba and provides an easy-to-install, easy-to-extend codebase for raster analysis. xarray-spatial does not depend on GDAL / GEOS, which makes it fully extensible in Python but does limit the breadth of operations that can be covered. |
rioxarray | Doc link | GitHub link | rioxarray extends xarray with the rio accessor. |
Dask | Doc link | GitHub link | Dask is a flexible parallel computing library for analytics. |
Geospatial | Doc link | GitHub link | A Python package for installing commonly used packages for geospatial analysis and data visualization with only one command. |
Name | Documentation | GitHub Repository | Description |
---|---|---|---|
MapColPal | Doc link | GitHub link | This tool is here to help you work with color palettes for thematic maps. |
Name | Link | Description |
---|---|---|
Sentinel-2 UTM Tiling Grid (ESA) | Link | This dataset shows the tiling grid and their IDs for Sentinel 2 satellite imagery. The tiling grid IDs are useful for selecting imagery of an area of interest. |
Spectator Earth | Link | Real-Time Satellite Position Monitoring and Imagery Access. |
Name | Link | Description |
---|---|---|
E-TRAINEE | Link | E-learning course on Time Series Analysis in Remote Sensing for Understanding Human-Environment Interactions (E-TRAINEE) was developed by collaboration of research groups from four partner universities – Charles University, Heidelberg University, University of Innsbruck, and University of Warsaw within the ERASMUS+ Strategic partnership project (ID 2020-1-CZ01-KA203-078308). |
WEkEO | Link | Trainings provided by WEkEO DIAS. |
Data Carpentry | Link | Data Carpentry’s aim is to teach researchers basic concepts, skills, and tools for working with data so that they can get more done in less time, and with less pain. |
Trainings list - EUMETSAT | Link | List of trainings and tutorials available from EUMETSAT. |
Data Access Services - EUMETSAT | Link | Tutorials and trainings about Data Access Services provided by EUMETSAT platform. |
EUMETSAT Atlassian | Link | Information about EUMETSAT services, products, data format etc. |
RUS Copernicus (Research and User Support) | Link | Trainings sessions and webinars provided by RUS Service. |
EUMETSAT Training HUB - Jupyter Notebooks | Link | Jupyter notebooks available for satellite data processing and visualization. |
Copernicus CAMS & C3S Jupyter Notebooks | Link | This repository hosts Jupyter notebook training material for the Copernicus Climate Change Service (C3S) and the Copernicus Atmosphere Monitoring Service (CAMS). |
LTPy - a Jupyter-based Learning Tool for Atmospheric Composition Datas | Link | LTPy is based on Jupyter notebooks and has a modular approach, with learning modules on data access, data processing, data visualization and a set of example workflows to support relevant atmospheric applications. |
NASA Arset Trainings | Link | NASA Arset Training list related to multiple topics. |
Copernicus Land Interactive Notebooks - Terrascope service | Link | Interactive notebooks from Copernicus Land Terrascope. |
geemap/leafmap tutorials | Link | Youtube tutorial about geemap/leafmap and other tools/software. |
ACGeospatial | Link | Earth Observation, Geospatial, GIS, Satellite imagery, Python, Julia, courses, training. |
Pratt SAVI 810 - Intro to Python Scripting for Geospatial | Link | Introduction to Python Scripting for Geospatial analysis. |
S5P-Tools | Link | Scripts to download and process air-pollution data collected by the satellite Sentinel-5P from the Copernicus Open Access Hub. The collect is based on the sentinelsat package and the API Hub Access. L3 resampling is made with HARP tools. |
COURSE: Artificial Intelligence (AI) for Earth Monitoring | Link | Explore how artificial intelligence (AI) and machine learning (ML) technologies are helping to advance Earth monitoring. |
EUMETlab | Link | This page contains groups of code repositories that have been made open to the public by EUMETSAT and our collaborators. |
Name | Link | Description |
---|---|---|
Computer Science courses | Link | Computer Science courses with video lectures. |