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 tool designed to efficiently download and process geospatial data and metadata from various sources. It leverages powerful Python libraries like Selenium, Dask, Numba, and Xarray to provide high-performance data retrieval and processing capabilities for geospatial analysis and visualization.


🚀 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

🛠 Installation

Ensure you have the necessary dependencies installed:

pip3 install mapminer

📝 Usage

MapMiner provides multiple classes to fetch and process different types of geospatial data:

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)

4️⃣ NAFNet Model

You can import and use NAFNet directly for downstream tasks like denoising, enhancement, etc.:

from mapminer.models import NAFNet
model = NAFNet(in_channels=12, dim=32,)
output = model(input_tensor)

🖼 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.52.tar.gz (42.6 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.52-py3-none-any.whl (47.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mapminer-0.1.52.tar.gz
  • Upload date:
  • Size: 42.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.5

File hashes

Hashes for mapminer-0.1.52.tar.gz
Algorithm Hash digest
SHA256 9e836d97c1f40b1a29873a6fcb96bed67ef2e02ccfa9ab4608714e77e946a4ad
MD5 cde1bc5c80d34e4e8b2833bf63fd1a64
BLAKE2b-256 0e125e7866c040f7ea3693bf57e31e3d9446d1137b7d0cfa5be4982d51dcd52c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mapminer-0.1.52-py3-none-any.whl
  • Upload date:
  • Size: 47.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.5

File hashes

Hashes for mapminer-0.1.52-py3-none-any.whl
Algorithm Hash digest
SHA256 5559b3ca4a5c295c79e8e90e7bf80486f279d684a3da69ffdbafd3c4d04594ae
MD5 95327705ce974f4f24a4420163979860
BLAKE2b-256 e169d2be23b967ad9add738451463d7805275e327cbbbf9dc53a55ffeb6a7eaf

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