Skip to content

DeepGEE

DeepGEE Logo

Earth Observation with Google Earth Engine and Deep Learning

Python Version License GitHub Stars

Get Started View on GitHub


🌟 Overview

DeepGEE is a comprehensive Python package that seamlessly integrates Google Earth Engine (GEE) with Deep Learning for advanced Earth observation analysis. It provides an easy-to-use interface for downloading satellite data, training deep learning models, and performing sophisticated geospatial analysis.

✨ Key Features

  • Easy GEE Authentication


    Simple authentication and initialization with Google Earth Engine using conventional methods.

    Learn more

  • Direct Data Download


    Download satellite imagery directly using geemap integration with automatic cloud masking.

    Data Download Guide

  • Deep Learning Models


    Pre-built TensorFlow/Keras models for land cover classification and change detection.

    Model Documentation

  • Spectral Indices


    Automatic calculation of 7+ spectral indices including NDVI, EVI, NDWI, and more.

    See all indices

🚀 Quick Start

Installation

pip install git+https://github.com/pulakeshpradhan/deepgee.git

Basic Usage

import deepgee

# Initialize GEE
deepgee.initialize_gee(project='your-project-id')

# Download satellite data
from deepgee import GEEDataDownloader
downloader = GEEDataDownloader()

roi = [85.0, 20.0, 87.0, 22.0]  # [lon_min, lat_min, lon_max, lat_max]
composite = downloader.create_composite(
    roi=roi,
    start_date='2023-01-01',
    end_date='2023-12-31',
    sensor='landsat8'
)

downloader.download_image(composite, 'output.tif', roi=roi, scale=30)

See full quick start guide →

📚 Use Cases

DeepGEE supports multiple Earth observation applications:

🌍 Land Cover Classification

Classify satellite imagery into multiple land cover types using deep learning.

from deepgee import LandCoverClassifier

classifier = LandCoverClassifier(n_classes=9, architecture='dense')
classifier.build_model(input_shape=(14,))
classifier.train(X_train, y_train, epochs=50)

View example →

🔄 Change Detection

Detect temporal changes in land cover and vegetation.

from deepgee import ChangeDetector

detector = ChangeDetector(method='difference')
changes = detector.detect_changes(image1, image2, threshold=0.1)
stats = detector.calculate_change_statistics(changes)

View example →

🌾 Crop Monitoring

Monitor crop health and detect stress areas using time series analysis.

# Download monthly composites
for month in crop_season:
    composite = downloader.create_composite(roi, start, end)
    # Analyze NDVI trends

View example →

🛠️ Core Components

Authentication Module

Simple GEE authentication with multiple methods:

  • Notebook authentication
  • gcloud authentication
  • Service account support

Learn more →

Data Download Module

Comprehensive data handling:

  • Cloud masking (Landsat 8/9, Sentinel-2)
  • Spectral indices calculation
  • Elevation data integration
  • Training sample extraction

Learn more →

Deep Learning Module

Pre-built models and utilities:

  • Land cover classifier (Dense, CNN, Simple)
  • Change detector
  • Automatic preprocessing
  • Model save/load

Learn more →

Utilities Module

Helper functions for:

  • GeoTIFF I/O
  • Area statistics
  • Professional visualization
  • Plotting and mapping

Learn more →

📊 Supported Data

Sensors

  • Landsat 8 (Collection 2, Level 2)
  • Landsat 9 (Collection 2, Level 2)
  • Sentinel-2 (Harmonized)

Spectral Indices

  • NDVI (Normalized Difference Vegetation Index)
  • EVI (Enhanced Vegetation Index)
  • NDWI (Normalized Difference Water Index)
  • NDBI (Normalized Difference Built-up Index)
  • NBR (Normalized Burn Ratio)
  • NDMI (Normalized Difference Moisture Index)
  • NDBaI (Normalized Difference Bareness Index)

🎯 Why DeepGEE?

Advantages

  • Easy to Use: Simple API with minimal code required
  • Comprehensive: Complete workflow from data download to analysis
  • Flexible: Multiple sensors, indices, and model architectures
  • Well-Documented: Extensive documentation and examples
  • Production-Ready: Tested and ready for real-world applications

📖 Documentation

🤝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

📄 License

DeepGEE is licensed under the MIT License.

📧 Contact


**Made with ❤️ for the Earth Observation community** 🛰️ 🧠 🌍