Skip to content

Awesome Environmental Geospatial is a curated collection of cutting-edge tools, resources, and projects that harness the power of geospatial technologies to address pressing environmental challenges.

License

Notifications You must be signed in to change notification settings

mishagrol/Awesome-Geospatial-ML-Toolkit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Awesome-Geospatial-ML-Toolkit Awesome

GitHub stars GitHub forks GitHub contributors GitHub last commit GitHub license

Awesome Geospatial ML Toolkit is a curated collection of cutting-edge tools, resources, and projects that harness the power of geospatial technologies to address pressing environmental challenges. From GIS applications for habitat conservation to remote sensing techniques, this repository showcases the intersection of environmental science and spatial analysis. Whether you're a researcher, practitioner, or enthusiast, dive into this repository to discover innovative solutions for sustainable resource management, conservation planning, and environmental monitoring.

How to contribute? Contributing Guidelines

Or you can open an issue: Issues.

Table Of Contents:


Geospatial ML - why special?

In environmental monitoring and natural resource management, ML approaches offer unique opportunities for complex spatial solutions due to domains’ and scales’ adaptability and advantageous computational efficiency of methods. However, spatially distributed data describing environmental phenomena have specificity that introduces biases to the straightforward implementation of data-driven approaches. We suggest a pipeline for ML geospatial applications in environmental modeling and elaborate on critical aspects such as imbalanced data, spatial autocorrelation, prediction errors, and the nuances of model generalization, domain specificity, and uncertainty estimation. Considering the dominant spread of Python and R as programming environments for data-driven modeling, including geospatial modifications, most of the libraries and packages we mention are made within these languages.

General analysis

  • Simple Features (sf) - Reading, writing and converting Simple Features. Provides a set of tools for working with geospatial geometries represented by points, lines, polygons. R
  • sp - R Classes and Methods for Spatial Data. R
  • raster - A free and open source software tool that serves as an introduction to spatial data analysis. R
  • terra - Provides methods to manipulate geographic (spatial) data in "raster" and "vector" form. R
  • geopandas - GeoPandas is an open source project to make working with geospatial data in python easier. GeoPandas extends the datatypes used by pandas to allow spatial operations on geometric types. Python
  • rasterio - Geographic information systems use GeoTIFF and other formats to organize and store gridded raster datasets such as satellite imagery and terrain models. Rasterio reads and writes these formats and provides a Python API based on Numpy N-dimensional arrays and GeoJSON. Python
  • gdal - Presents a single raster abstract data model and single vector abstract data model to the calling application for all supported formats. It also comes with a variety of useful command line utilities for data translation and processing. C++
  • 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. It supports the development of high level applications for spatial analysis, such as. Python

Imbalance data

  • imbalance - Provides a set of tools to work with imbalanced datasets: novel oversampling algorithms, filtering of instances and evaluation of synthetic instances. R
  • smotefamily - A collection of various oversampling techniques developed from SMOTE is provided. R
  • themis - Contains extra steps for the recipes package for dealing with unbalanced data. R
  • Imbalanced-learn - Python package offering a number of re-sampling techniques commonly used in datasets showing strong between-class imbalance. It is compatible with scikit-learn. Python
  • biomod2 - computer platform for ensemble forecasting of species distributions, enabling the treatment of a range of methodological uncertainties in models and the examination of species-environment relationships. R
  • SpThin - Functions for Spatial Thinning of Species Occurrence Records for Use in Ecological Models. R

Spatial autocorrelaton

  • spdep - Creates spatial weights matrix objects from polygon contiguities, from point patterns by distance and tessellations, for summarizing these objects, and for permitting their use in spatial data analysis, including regional aggregation by minimum spanning tree. R
  • ncf - R functions for analyzing spatial (cross-)covariance: the nonparametric (cross-)covariance function, the spline correlogram, the nonparametric phase coherence function, local indicators of spatial association (LISA), (Mantel) correlogram, (Partial) Mantel test. R
  • esda - Methods for testing for global and local autocorrelation in areal unit data. Pytnon
  • blockCV - Package creates spatially or environmentally separated training and testing folds for cross-validation to provide a robust error estimation in spatially structured environments. R

Uncertainty quantification

  • inlabru - Packege to facilitate spatial modeling using integrated nested Laplace approximation via the R-INLA package. R
  • Vizumap - Package for visualizing uncertainty in spatial data. R
  • spup - Uncertainty propagation analysis in spatial environmental modelling. R [paper]
  • uncertainty-toolbox - a Python toolbox for predictive uncertainty quantification, calibration, metrics, and visualization. python [paper]
  • uq360 - Open-source toolkit that can help estimate, communicate and use uncertainty in machine learning model predictions. Python
  • fortuna - A Library for Uncertainty Quantification by AWS. Python
  • conformal-prediction - Lightweight, useful implementation of conformal prediction on real data. Python

Modelling

  • sdmTMB - R package that fits spatial and spatiotemporal GLMMs (Generalized Linear Mixed Effects Models) using Template Model Builder, R-INLA, and Gaussian Markov random fields. R
  • verde - Python library for processing spatial data (bathymetry, geophysics surveys, etc) and interpolating it on regular grids (i.e., gridding). Python
  • GSTools - Geostatistical toolbox: random fields, variogram estimation, covariance models, kriging and much more. Python
  • Whitebox - An open source desktop GIS and remote sensing software package for general applications of geospatial analysis and data visualization. Rust
  • Google Earth Engine - Combines a multi-petabyte catalog of satellite imagery and geospatial datasets with planetary-scale analysis capabilities. Scientists, researchers, and developers use Earth Engine to detect changes, map trends, and quantify differences on the Earth's surface. Rust
  • GeoStats.jl - An extensible framework for geospatial data science and geostatistical modeling fully written in Julia. Julia
  • torchgeo - datasets, samplers, transforms, and pre-trained models for geospatial data. Torch

Reference

  1. Awesome-Geospatial - geospatial analysis tools.
  2. Awesome-GIS - 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.
  3. Change-Detection-Review - collection of methods, applications, and challenges of AI for change detection.

About

Awesome Environmental Geospatial is a curated collection of cutting-edge tools, resources, and projects that harness the power of geospatial technologies to address pressing environmental challenges.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published