Skip to main content

Python tools for interacting with Overture Maps (overturemaps.org) data.

Project description

PyPi

overturemaps-py

Official Python command-line tool of the Overture Maps Foundation

Overture Maps provides free and open geospatial map data, from many different sources and normalized to a common schema. This tool helps to download Overture data within a region of interest and converts it to a few different file formats. For more information about accessing Overture Maps data, see our official documentation site https://docs.overturemaps.org.

Note: This repository and project are experimental. Things are likely change including the user interface until a stable release, but we will keep the documentation here up-to-date.

Quick Start

Download the building footprints for the specific bounding box as GeoJSON and save to a file named "boston.geojson"

overturemaps download --bbox=-71.068,42.353,-71.058,42.363 -f geojson --type=building -o boston.geojson

Usage

download

Download Overture Maps data with an optional bounding box into the specified file format. When specifying a bounding box, only the minimum data is transferred. The result is streamed out and can handle arbitrarily large bounding boxes.

Command-line options:

  • --bbox (optional): west, south, east, north longitude and latitude coordinates. When omitted the entire dataset for the specified type will be downloaded
  • -f (required: one of "geojson", "geojsonseq", "geoparquet"): output format
  • --output/-o (optional): Location of output file. When omitted output will be written to stdout.
  • --type/-t (required): The Overture map data type to be downloaded. Examples of types are building for building footprints, place for POI places data, etc. Run overturemaps download --help for the complete list of allowed types
  • --connect_timeout (optional): Socket connection timeout, in seconds. If omitted, the AWS SDK default value is used (typically 1 second).
  • --request_timeout (optional): Socket read timeouts on Windows and macOS, in seconds. If omitted, the AWS SDK default value is used (typically 3 seconds). This option is ignored on non-Windows, non-macOS systems.
  • --stac/--no-stac (optional): By default, the reader uses Overture's STAC catalog to speed up queries to the latest release. If the --no-stac flag is present, the CLI will use the S3 path for the latest release directly.

This downloads data directly from Overture's S3 bucket without interacting with any other servers. By including bounding box extents on each row in the Overture distribution, the underlying Parquet readers use the Parquet summary statistics to download the minimum amount of data necessary to extract data from the desired region.

To help find bounding boxes of interest, we like this bounding box tool from Klokantech. Choose the CSV format and copy the value directly into the --bbox field here.

gers [UUID]

Look up an ID in the GERS Registry. If the feature is present in the latest release, it will download the feature and write it out in the specified format.

Command-line options:

  • -f ("geojson", "geojsonseq", "geoparquet"): output format, defaults to geojsonseq for a single feature on one line.
  • --output/-o (optional): Location of output file. When omitted output will be written to stdout.
  • --connect_timeout (optional): Socket connection timeout, in seconds. If omitted, the AWS SDK default value is used (typically 1 second).
  • --request_timeout (optional): Socket read timeouts on Windows and macOS, in seconds. If omitted, the AWS SDK default value is used (typically 3 seconds). This option is ignored on non-Windows, non-macOS systems.

Installation

To install overturemaps from PyPi using pip

pip install overturemaps

overturemaps is also on conda-forge and can be installed using conda, mamba, or pixi. To install overturemaps using conda:

conda install -c conda-forge overturemaps

If you have uv installed, you can run overturemaps with uvx without installing it:

uvx overturemaps download --bbox=-71.068,42.353,-71.058,42.363 -f geojson --type=building -o boston.parquet

Performance

Benchmarks using synthetic data on Apple M-series hardware:

Output format Geometry Rows Time
GeoJSON Points 10 000 31 ms
GeoJSON Polygons 10 000 44 ms
GeoParquet network/disk bound

To run the benchmarks locally:

uv sync --group dev
pytest benchmarks/ -v

Development

uv sync
uv run pytest tests/

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

overturemaps-0.20.0.tar.gz (88.1 kB view details)

Uploaded Source

Built Distribution

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

overturemaps-0.20.0-py3-none-any.whl (23.2 kB view details)

Uploaded Python 3

File details

Details for the file overturemaps-0.20.0.tar.gz.

File metadata

  • Download URL: overturemaps-0.20.0.tar.gz
  • Upload date:
  • Size: 88.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for overturemaps-0.20.0.tar.gz
Algorithm Hash digest
SHA256 aef735329a827511ae3164b90920debfd485832557f15733a295d4fe5580cb18
MD5 26aa029ec5398d57f75ea8212e58e72c
BLAKE2b-256 2ef6e220c4026bbb425e9c7e0ca02237308dad69598449d4dcf5229f2a60d213

See more details on using hashes here.

Provenance

The following attestation bundles were made for overturemaps-0.20.0.tar.gz:

Publisher: publish-pypi.yml on OvertureMaps/overturemaps-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file overturemaps-0.20.0-py3-none-any.whl.

File metadata

  • Download URL: overturemaps-0.20.0-py3-none-any.whl
  • Upload date:
  • Size: 23.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for overturemaps-0.20.0-py3-none-any.whl
Algorithm Hash digest
SHA256 834ba8dd98441ac2ba226923513873cff2707cdd7ebc612a679a47f326c026d5
MD5 26d5d2e3fce9d03f8117bcbc4fe25a21
BLAKE2b-256 1b25ee62ce79590cc8c16036e72a79229f72e8a0670d1f4bcc9bf7dbd7e02e37

See more details on using hashes here.

Provenance

The following attestation bundles were made for overturemaps-0.20.0-py3-none-any.whl:

Publisher: publish-pypi.yml on OvertureMaps/overturemaps-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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