An advanced geospatial data extraction and processing toolkit for Earth observation datasets.
Project description
🌍 MapMiner
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 |
🛠 Installation
Ensure you have the necessary dependencies installed:
git clone https://github.com/gajeshladhar/mapminer.git
cd mapminer
pip3 install .
📝 Usage
MapMiner provides multiple classes to fetch and process different types of geospatial data:
1️⃣ GoogleBaseMapMiner
from mapminer.miner import GoogleBaseMapMiner
miner = GoogleBaseMapMiner()
ds = miner.fetch(lat=40.748817, lon=-73.985428, radius=500)
2️⃣ CDLMiner
from mapminer.miner 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.miner 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
File details
Details for the file mapminer-0.1.0.tar.gz
.
File metadata
- Download URL: mapminer-0.1.0.tar.gz
- Upload date:
- Size: 2.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d40eb4b29fa099a8a77886b53355f4d4efa7b975014b70857081ca952fe5cf75 |
|
MD5 | 5d7bd2d34e99f4df0a1e0ec2ba4d86fb |
|
BLAKE2b-256 | 4037efdb554c05cd9ca649ec9343771cf1d2660616cc81895bcad769a684fd0e |
File details
Details for the file mapminer-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: mapminer-0.1.0-py3-none-any.whl
- Upload date:
- Size: 36.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 42448cea1a9a0292cc58476167356c0220c80921c2c6f9122520bf24eb2b1730 |
|
MD5 | b915e446b15c65410d0b1c2636a283a2 |
|
BLAKE2b-256 | e81321980ca89cb1e244de51da59f424d8d782588b30abbcd9e8064c6d26bc88 |