No project description provided
Project description
Overture Maps Downloader
This repository is still under heavy development. Features may change, and documentation will be updated accordingly. Use at your own risk and feel free to contribute!
Overview
OvertureMapsDownloader is a comprehensive tool designed to streamline the process of querying, downloading, and converting Overture Maps data. Leveraging modern technologies like DuckDB, Dask DataFrames, and GDAL/OGR, this tool offers a containerized solution that seamlessly integrates with your existing pipelines and ETL workflows. Whether you're a data scientist, a geospatial analyst, or a developer.
For hands-on examples, check out the Jupyter notebooks available in the examples
folder.
Table of Contents
- [OvertureMapsDownloader]
- Initialize Typer app
Prerequisites
- Docker and Docker Compose
- GeoJSON file containing the bounding box polygon (e.g.,
bbox.geojson
) you can make yours easly on https://geojson.io or useexamples/bbox.json
for testing
Installation
To get started, you'll need to pull the Docker image from the GitHub Container Registry:
docker pull ghcr.io/youssef-harby/overturemapsdownloader:latest
Usage
Download Geospatial Data
-
Create a folder and place your bounding box polygon in GeoJSON format inside it (e.g.,
bbox.geojson
). -
Navigate to the folder:
cd /path/to/your/folder # e.g., cd /examples
-
Run the following command to download geospatial data:
docker run -v $(pwd):/examples --name omdownloader ghcr.io/youssef-harby/overturemapsdownloader:latest OMDownloader omaps --theme places --ptype place --bbox /examples/bbox.geojson --output /examples/places.parquet
Commands
The omaps Command
OMDownloader omaps [OPTIONS]
options:
--theme [admins|buildings|buildings|places|transportation]
Theme of the data to download--ptype [locality|administrativeBoundary|building|place|water|connector|segment]
Type of the data to download--bbox PATH
Bounding box polygon in GeoJSON format as a path to a file--output PATH
Output file path (e.g.,places.parquet
)--help
Show this message and exit.
Convert Parquet to GeoPackage
To convert the downloaded data to GeoPackage format, run the following command:
docker run -v $(pwd):/examples --name omdownloader ghcr.io/youssef-harby/overturemapsdownloader:latest ogr2ogr /examples/output.gpkg /examples/places.parquet
Convert Parquet to MBTiles (will support tippecanoe in the future)
docker run -v $(pwd):/examples ghcr.io/youssef-harby/overturemapsdownloader:latest ogr2ogr -dsco MAXZOOM=14 /examples/output.mbtiles /examples/places.parquet
Convert Parquet to ESRI File Geodatabase vector (OpenFileGDB)
docker run -v $(pwd):/examples ghcr.io/youssef-harby/overturemapsdownloader:latest ogr2ogr /examples/output.gdb /examples/places.parquet
Using Jupyter Notebooks (Data Scientists/GIS Analysts)
If you prefer to use Jupyter notebooks for your geospatial data manipulation tasks, you can easily set up a Jupyter environment using Docker Compose.
-
Clone the repository:
git clone https://github.com/Youssef-Harby/OvertureMapsDownloader.git
-
Navigate to the repository folder:
cd OvertureMapsDownloader
-
Run the following Docker Compose command:
docker compose up
This will start a Jupyter notebook server accessible at http://localhost:8888/lab.
Configuration
For advanced configurations, please refer to the config.yml
file.
Project details
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
Hashes for overturemapsdownloader-0.1.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | bcee7725fb7c4129ca3a76ccd29e0b86e295370d90862ad02b023f76bc327b8b |
|
MD5 | ba9befe126505b011ab9e71930388d40 |
|
BLAKE2b-256 | 3cfeddf1b6643b17e6b74a14ffd94942a7c3f78068aacc1eac19085295b74063 |
Hashes for overturemapsdownloader-0.1.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dcb1f505f8be6c06f46506137522db3ad669092be189532d204f3916176db7db |
|
MD5 | f8a3a21f1bee57b77267f4ef807d06a3 |
|
BLAKE2b-256 | 70e2a9a9fe528aa3f02d4586d8333a900905a2e0b051da0b5768db64c7055933 |