Toolkits for Geospatial Machine Learning
Project description
Geo ML Toolkits
Toolkits for geospatial machine learning workflows.
The project supports downloading imagery tiles and OSM features, rasterizing labels, and preparing ML datasets.
Installation
pip install geomltoolkits
Development Setup
Prerequisites:
- Python 3.10+
- uv
- just
Install dependencies:
just install
Quick Python Example
import os
from geomltoolkits.downloader import osm as OSMDownloader
from geomltoolkits.downloader import tms as TMSDownloader
from geomltoolkits.raster.burn import burn_labels
from geomltoolkits.raster.vectorize import vectorize_mask
from geomltoolkits.training.prepare import prepare_dataset
zoom = 18
work_dir = "banepa"
tms = "https://tiles.openaerialmap.org/62d85d11d8499800053796c1/0/62d85d11d8499800053796c2/{z}/{x}/{y}"
bbox = [85.51678033745037, 27.6313353660439, 85.52323021107895, 27.637438390948745]
os.makedirs(work_dir, exist_ok=True)
chips_dir = await TMSDownloader.download_tiles(
tms=tms,
zoom=zoom,
out=work_dir,
bbox=bbox,
georeference=True,
dump_tile_geometries_as_geojson=True,
prefix="OAM",
)
labels_dir = os.path.join(work_dir, "labels")
await OSMDownloader.download_osm_data(
geojson=os.path.join(work_dir, "tiles.geojson"),
out=labels_dir,
dump_results=True,
)
masks_dir = os.path.join(work_dir, "masks")
burn_labels(
labels_path=os.path.join(labels_dir, "osm-result.geojson"),
chips_dir=chips_dir,
output_dir=masks_dir,
)
prepare_dataset(
chips_dir=chips_dir,
labels_dir=masks_dir,
output_dir=os.path.join(work_dir, "dataset"),
dataset_format="yolo",
)
vectorize_mask(
input_tiff=os.path.join(masks_dir, "OAM-0-0-0.tif"),
output_geojson=os.path.join(work_dir, "vectorized.geojson"),
)
Detailed walkthrough notebook: example_usage.ipynb
CLI Commands
The package exposes a single CLI entrypoint:
geoml --help
Available commands:
geoml download-tilesgeoml download-osmgeoml patchgeoml burngeoml prepare
Examples:
geoml download-tiles \
--tms "https://tiles.openaerialmap.org/.../{z}/{x}/{y}" \
--zoom 18 \
--bbox "85.51678033745037,27.6313353660439,85.52323021107895,27.637438390948745" \
--out banepa \
--georeference \
--dump-geometries
geoml download-osm \
--aoi banepa/tiles.geojson \
--out banepa/labels \
--dump
geoml burn banepa/labels/osm-result.geojson banepa/chips banepa/masks
geoml prepare banepa/chips banepa/masks banepa/dataset --dataset-format yolo
Project Tasks
Use Just for local checks and development:
just lint
just typecheck
just test
just check
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 geomltoolkits-2.0.2.tar.gz.
File metadata
- Download URL: geomltoolkits-2.0.2.tar.gz
- Upload date:
- Size: 20.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
95e1f66ee5c87ab4473a222bd398f485bc78338dc882d87d8f96d4b91b65f59e
|
|
| MD5 |
231f0f2904028cdfefc92d80f236bb8f
|
|
| BLAKE2b-256 |
386b207a7e75737d4745f33ab79b3d87cc2a20db3c1089877c5243990cbe273c
|
File details
Details for the file geomltoolkits-2.0.2-py3-none-any.whl.
File metadata
- Download URL: geomltoolkits-2.0.2-py3-none-any.whl
- Upload date:
- Size: 29.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
df0961750f520633ec15615e72ca11799bf7279bfdfb09c6a177deb61b867ffa
|
|
| MD5 |
a497448038928047e140e550a1d7d9d7
|
|
| BLAKE2b-256 |
d7cb2228e7722b86bb420431524ba4ccff9ffad7da007985703abaf69dcc1760
|