An advanced geospatial data extraction and processing toolkit for Earth observation datasets.
Project description
🌍 MapMiner
MapMiner is a geospatial and model-centric tool designed to efficiently download, process, and analyze geospatial data and metadata from various sources. It leverages powerful Python libraries like Selenium, Dask, Numba, and Xarray to provide high-performance data handling and integrates state-of-the-art models for advanced geospatial AI and visualization.
🛠 Installation
Base installation:
pip install mapminer
Full installation (includes OCR + Chrome support):
pip install "mapminer[all]"
🚀 Key Features
- 🌐 Selenium: Automated web interactions for metadata extraction.
- ⚙️ Dask: Distributed computing to manage large datasets.
- 🚀 Numba: JIT compilation for accelerating numerical computations.
- 📊 Xarray: Multi-dimensional array data handling for seamless integration.
📚 Supported Datasets
MapMiner supports a variety of geospatial datasets across multiple categories:
| Category | Datasets |
|---|---|
| 🌍 Satellite | Sentinel-2, Sentinel-1, MODIS, Landsat |
| 🚁 Aerial | NAIP |
| 🗺️ Basemap | Google, ESRI |
| 📍 Vectors | Google Building Footprint, OSM |
| 🏔️ DEM (Digital Elevation Model) | Copernicus DEM 30m, ALOS DEM |
| 🌍 LULC (Land Use Land Cover) | ESRI LULC |
| 🌾 Crop Layer | CDL Crop Mask |
| 🕒 Real-Time | Google Maps Real-Time Traffic |
🧠 Supported Models
MapMiner provides pre-integrated state-of-the-art vision models for geospatial AI:
| Model | Use Cases |
|---|---|
| 🔥 DINOv3 | Feature extraction, classification, segmentation, detection backbones |
| 🌀 NAFNet | Denoising, deblurring, super-resolution, temporal consistency |
| ⏳ ConvLSTM | Crop forecasting, temporal fusion (Sentinel-1/2), sequence modeling |
| 💎 SAM3 | Prompt-based instance segmentation, fast zero-shot object extraction |
🤖 Models
1️⃣ DINOv3 Model
You can import DINOv3 directly for feature extraction or downstream tasks:
from mapminer.models import DINOv3
model = DINOv3(pretrained=True)
output = model(input_tensor)
2️⃣ NAFNet Model
Use NAFNet for denoising, enhancement, or temporal SR tasks:
from mapminer.models import NAFNet
model = NAFNet(in_channels=12, dim=32)
output = model(input_tensor)
3️⃣ SAM3 Model
Use SAM3 for prompt-based instance segmentation on high-resolution geospatial imagery:
from mapminer.models import SAM3
sam3 = SAM3()
df = sam3.inference(ds,text='building', exemplars=None)
⛏️ Miners
1️⃣ GoogleBaseMapMiner
from mapminer.miners import GoogleBaseMapMiner
miner = GoogleBaseMapMiner()
ds = miner.fetch(lat=40.748817, lon=-73.985428, radius=500)
2️⃣ CDLMiner
from mapminer.miners import CDLMiner
miner = CDLMiner()
ds = miner.fetch(lon=-95.665, lat=39.8283, radius=10000, daterange="2024-01-01/2024-01-10")
3️⃣ GoogleBuildingMiner
from mapminer.miners import GoogleBuildingMiner
miner = GoogleBuildingMiner()
ds = miner.fetch(lat=34.052235, lon=-118.243683, radius=1000)
🖼 Visualizing the Data
You can easily visualize the data fetched using hvplot:
import hvplot.xarray
ds.hvplot.image(title=f"Captured on {ds.attrs['metadata']['date']['value']}")
📦 Dependencies
MapMiner relies on several Python libraries:
- Selenium: For automated browser control.
- Dask: For distributed computing and handling large data.
- Numba: For accelerating numerical operations.
- Xarray: For handling multi-dimensional array data.
- EasyOCR: For extracting text from images.
- HvPlot: For visualizing xarray data.
🛠 Contributing
Contributions are welcome! Fork the repository and submit pull requests. Include tests for any new features or bug fixes.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mapminer-0.1.73.tar.gz.
File metadata
- Download URL: mapminer-0.1.73.tar.gz
- Upload date:
- Size: 43.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a41086971c77b8a0e5ef818029965f3b88c707021922e1c1b4470282f4ef01c8
|
|
| MD5 |
94dd8aacc544fab5664997e293f39e93
|
|
| BLAKE2b-256 |
ec7abe623bae682ef5152a14f4a3cb0d42aa2b87eacb9dd853859a9895d80446
|
File details
Details for the file mapminer-0.1.73-py3-none-any.whl.
File metadata
- Download URL: mapminer-0.1.73-py3-none-any.whl
- Upload date:
- Size: 55.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7701d43922beb1eeeb9c99f62b5a9e80503c88384f0ebed9d70dff12b15004a2
|
|
| MD5 |
56a6db019bf663a9680f7e4bfa3837f4
|
|
| BLAKE2b-256 |
c4bf45d4ff2f123a868d6d32accfaa1b8de439f85060af2a3507a3c45b746787
|