DeepGEE¶
Earth Observation with Google Earth Engine and Deep Learning
🌟 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.
-
Direct Data Download
Download satellite imagery directly using geemap integration with automatic cloud masking.
-
Deep Learning Models
Pre-built TensorFlow/Keras models for land cover classification and change detection.
-
Spectral Indices
Automatic calculation of 7+ spectral indices including NDVI, EVI, NDWI, and more.
🚀 Quick Start¶
Installation¶
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)
📚 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)
🔄 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)
🌾 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
🛠️ Core Components¶
Authentication Module¶
Simple GEE authentication with multiple methods:
- Notebook authentication
- gcloud authentication
- Service account support
Data Download Module¶
Comprehensive data handling:
- Cloud masking (Landsat 8/9, Sentinel-2)
- Spectral indices calculation
- Elevation data integration
- Training sample extraction
Deep Learning Module¶
Pre-built models and utilities:
- Land cover classifier (Dense, CNN, Simple)
- Change detector
- Automatic preprocessing
- Model save/load
Utilities Module¶
Helper functions for:
- GeoTIFF I/O
- Area statistics
- Professional visualization
- Plotting and mapping
📊 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¶
-
Step-by-step installation instructions
-
Get up and running in 5 minutes
-
Comprehensive usage documentation
-
Detailed API documentation
-
Complete workflow examples
-
How to contribute to DeepGEE
🤝 Contributing¶
We welcome contributions! Please see our Contributing Guide for details.
📄 License¶
DeepGEE is licensed under the MIT License.
📧 Contact¶
- Author: Pulakesh Pradhan
- Email: pulakesh.mid@gmail.com
- GitHub: pulakeshpradhan/deepgee
- Issues: GitHub Issues