Skip to main content

An advanced geospatial data extraction and processing toolkit for Earth observation datasets.

Project description

🌍 MapMiner

Open in Colab Python Xarray Dask Numba Selenium

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)
x = normalize(input_tensor)
output = model(x)

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

mapminer-0.1.85.tar.gz (47.4 kB view details)

Uploaded Source

Built Distribution

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

mapminer-0.1.85-py3-none-any.whl (59.8 kB view details)

Uploaded Python 3

File details

Details for the file mapminer-0.1.85.tar.gz.

File metadata

  • Download URL: mapminer-0.1.85.tar.gz
  • Upload date:
  • Size: 47.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.1

File hashes

Hashes for mapminer-0.1.85.tar.gz
Algorithm Hash digest
SHA256 ae427df55b04e8a2be210a0c1d56d4ecf35aeabf55a09364b38379252e6a8de8
MD5 0c311d4293624a74577c93a7781a202b
BLAKE2b-256 69ec2c0d3c471dbfa00df986e43d7c2cd96ef04a9f5b93d6ee76b49a58f68387

See more details on using hashes here.

File details

Details for the file mapminer-0.1.85-py3-none-any.whl.

File metadata

  • Download URL: mapminer-0.1.85-py3-none-any.whl
  • Upload date:
  • Size: 59.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.1

File hashes

Hashes for mapminer-0.1.85-py3-none-any.whl
Algorithm Hash digest
SHA256 8b2e941d50a0baaf8062eac9ca4991df7833fe224e239bff4674797ce0961ad8
MD5 3538657e6c0433ef3b0fd1e6e0f5d762
BLAKE2b-256 1e66c866593a4ec0adc9844b25cf7be48a4753bab6af5c184fc9da6c394f22ce

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