Skip to main content

A Python package for using Artificial Intelligence (AI) with geospatial data

Project description

GeoAI: Artificial Intelligence for Geospatial Data

image image image Conda Downloads Conda Recipe image image QGIS DOI

logo

A powerful Python package for integrating artificial intelligence with geospatial data analysis and visualization

📖 Introduction

GeoAI is a comprehensive Python package designed to bridge artificial intelligence (AI) and geospatial data analysis, providing researchers and practitioners with intuitive tools for applying machine learning techniques to geographic data. The package offers a unified framework for processing satellite imagery, aerial photographs, and vector data using state-of-the-art deep learning models. GeoAI integrates popular AI frameworks including PyTorch, Transformers, PyTorch Segmentation Models, and specialized geospatial libraries like torchange, enabling users to perform complex geospatial analyses with minimal code.

The package provides six core capabilities:

  1. Interactive and programmatic search and download of remote sensing imagery and geospatial data.
  2. Automated dataset preparation with image chips and label generation.
  3. Model training for tasks such as classification, detection, and segmentation.
  4. Inference pipelines for applying models to new geospatial datasets.
  5. Interactive visualization through integration with Leafmap and MapLibre.
  6. Seamless QGIS integration via a dedicated GeoAI plugin, enabling users to run AI-powered geospatial workflows directly within the QGIS desktop environment, without writing code.

GeoAI addresses the growing demand for accessible AI tools in geospatial research by providing high-level APIs that abstract complex machine learning workflows while maintaining flexibility for advanced users. The package supports multiple data formats (GeoTIFF, JPEG2000, GeoJSON, Shapefile, GeoPackage) and includes automatic device management for GPU acceleration when available. With over 10 modules and extensive notebook examples, GeoAI serves as both a research tool and educational resource for the geospatial AI community.

📚 Book

A comprehensive book on GeoAI is available at https://book.opengeoai.org.

📝 Statement of Need

The integration of artificial intelligence with geospatial data analysis has become increasingly critical across numerous scientific disciplines, from environmental monitoring and urban planning to disaster response and climate research. However, applying AI techniques to geospatial data presents unique challenges including data preprocessing complexities, specialized model architectures, and the need for domain-specific knowledge in both machine learning and geographic information systems.

Existing solutions often require researchers to navigate fragmented ecosystems of tools, combining general-purpose machine learning libraries with specialized geospatial packages, leading to steep learning curves and reproducibility challenges. While packages like TorchGeo, TerraTorch, and SRAI provide excellent foundational tools for geospatial deep learning, there remains a gap for comprehensive, high-level interfaces that can democratize access to advanced AI techniques for the broader geospatial community.

GeoAI addresses this need by providing a unified, user-friendly interface that abstracts the complexity of integrating multiple AI frameworks with geospatial data processing workflows. It lowers barriers for: (1) geospatial researchers who need accessible AI workflows without deep ML expertise; (2) AI practitioners who want streamlined geospatial preprocessing and domain-specific datasets; and (3) educators seeking reproducible examples and teaching-ready workflows.

The package's design philosophy emphasizes simplicity without sacrificing functionality, enabling users to perform sophisticated analyses such as building footprint extraction from satellite imagery, land cover classification, and change detection with just a few lines of code. By integrating cutting-edge AI models and providing seamless access to major geospatial data sources, GeoAI significantly lowers the barrier to entry for geospatial AI applications while maintaining the flexibility needed for advanced research applications.

Citations

If you find GeoAI useful in your research, please consider citing the following paper to support my work. Thank you for your support.

  • Wu, Q., (2026). GeoAI: A Python package for integrating artificial intelligence with geospatial data analysis and visualization. Journal of Open Source Software, 11(118), 9605, https://doi.org/10.21105/joss.09605.
  • Wu, Q. (2026). GeoAI with Python: A Practical Guide to Open-Source Geospatial AI. Independently published. PDF edition ISBN 979-8993859729; Print edition ISBN 979-8253507414. Available at https://book.opengeoai.org.

🚀 Key Features

📊 Advanced Geospatial Data Visualization

  • Interactive multi-layer visualization of vector and raster data stored locally or in cloud storage
  • Customizable styling and symbology
  • Time-series data visualization capabilities

🛠️ Data Preparation & Processing

  • Streamlined access to satellite and aerial imagery from providers like Sentinel, Landsat, NAIP, and other open datasets
  • Tools for downloading, mosaicking, and preprocessing remote sensing data
  • Automated generation of training datasets with image chips and corresponding labels
  • Vector-to-raster and raster-to-vector conversion utilities optimized for AI workflows
  • Data augmentation techniques specific to geospatial data
  • Support for integrating Overture Maps data and other open datasets for training and validation

🖼️ Image Segmentation

  • Integration with PyTorch Segmentation Models for automatic feature extraction
  • Specialized segmentation algorithms optimized for satellite and aerial imagery
  • Streamlined workflows for segmenting buildings, water bodies, wetlands, solar panels, etc.
  • Export capabilities to standard geospatial formats (GeoJSON, Shapefile, GeoPackage, GeoParquet)

🔍 Image Classification

  • Pre-trained models for land cover and land use classification
  • Transfer learning utilities for fine-tuning models with your own data
  • Multi-temporal classification support for change detection
  • Accuracy assessment and validation tools

🛰️ Remote Sensing Foundation Models

  • Curated catalog of 20 remote sensing foundation models via geoai.list_foundation_models()
  • Filter by category (vision, vision-language, generative), modality (multispectral, SAR, hyperspectral, multimodal), or downstream task
  • Retrieve full metadata (paper, code, HuggingFace ID, license) with geoai.get_foundation_model_info()
  • Load TerraTorch-supported model backbones directly with geoai.load_foundation_model()
  • Drawn from the Awesome Remote Sensing Foundation Models list

🌍 Additional Capabilities

  • Change detection with AI-enhanced feature extraction
  • Object detection in aerial and satellite imagery
  • Georeferencing utilities for AI model outputs

📦 Installation

Using pip

pip install geoai-py

Using conda

conda install -c conda-forge geoai

Using mamba

mamba install -c conda-forge geoai

⚙️ QGIS Plugin

Check out the QGIS Plugin page if you are interested in using GeoAI with QGIS.

demo

📋 Documentation

Comprehensive documentation is available at https://opengeoai.org, including:

  • Detailed API reference
  • Tutorials and example notebooks
  • Contributing guide

📺 Video Tutorials

GeoAI Made Easy: Learn the Python Package Step-by-Step (Beginner Friendly)

intro

GeoAI Workshop: Unlocking the Power of GeoAI with Python

cover

GeoAI Tutorials Playlist

cover

🤝 Contributing

We welcome contributions of all kinds! See our contributing guide for ways to get started.

📄 License

GeoAI is free and open source software, licensed under the MIT License.

Acknowledgments

We gratefully acknowledge the support of the following organizations:

  • NASA: This research is partially supported by the National Aeronautics and Space Administration (NASA) through Grant No. 80NSSC22K1742, awarded under the Open Source Tools, Frameworks, and Libraries Program.
  • AmericaView: This work is also partially supported by the U.S. Geological Survey through Grant/Cooperative Agreement No. G23AP00683 (GY23-GY27) in collaboration with AmericaView.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

geoai_py-0.41.1.tar.gz (978.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

geoai_py-0.41.1-py2.py3-none-any.whl (632.5 kB view details)

Uploaded Python 2Python 3

File details

Details for the file geoai_py-0.41.1.tar.gz.

File metadata

  • Download URL: geoai_py-0.41.1.tar.gz
  • Upload date:
  • Size: 978.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for geoai_py-0.41.1.tar.gz
Algorithm Hash digest
SHA256 37a22d3c0cb1b09d0f927c47fcb5181a3840a5db37cc299b925466344858859d
MD5 973c5fb2f54a4f1544f0d76fed4a57f3
BLAKE2b-256 be5803138b81e4cacdcdc02464bf186bd55e488ebad1a5ece7e693de75a3048c

See more details on using hashes here.

File details

Details for the file geoai_py-0.41.1-py2.py3-none-any.whl.

File metadata

  • Download URL: geoai_py-0.41.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 632.5 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for geoai_py-0.41.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 444783253136f7a9cfc8e719d81b99d6ebccd98d4227877490ab250a0b85a49a
MD5 de7ea9368e5f5b8b05ffe7bcd0115084
BLAKE2b-256 e7077901144c7718fc3d060aea96ab9c84b29b32b99132e6ca4b9aff9451c3d9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page