Skip to content

This is a list of useful geospatial tools and libraries

Notifications You must be signed in to change notification settings

gisgeolab/useful-geospatial-tools

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 

Repository files navigation

Geospatial Tools

This is a list of geospatial tools and libraries.

📖 Geospatial lists

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.

🛰️ Earth Observation

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.

🌎 GIS

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.

💻 Data Science & Machine Learning/Deep Learning

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.

⚙️ Interactivity & Visualization

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.

📷 3D

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.

🔧 Other Python libraries

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.

Other useful tools

Name Documentation GitHub Repository Description
MapColPal Doc link GitHub link This tool is here to help you work with color palettes for thematic maps.

Websites

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.

Training

GIS & Earth Observation

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.

Computer Science

Name Link Description
Computer Science courses Link Computer Science courses with video lectures.

About

This is a list of useful geospatial tools and libraries

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published