openworld_radio_twin.providers.overture_reader#

Bounded Overture GeoParquet reads that share one S3 client and one STAC index.

overturemaps.record_batch_reader downloads the release’s STAC index and opens a new S3 client on every call, and it reads every column of the matching row groups. The compiler issues six such reads per scene, so this module keeps the client for the life of the process, keeps the index of each release in memory and on disk (releases are immutable), and projects each read to the columns the providers decode. The row filter is the same bounding-box predicate. The index is the only way objects are selected; when it cannot be fetched after a few retries, the query fails and the calling provider reports that.

Functions

bbox_filter(bbox)

index_root()

Directory holding one cached STAC index per release.

intersecting_files(overture_type, bbox, release)

Parquet objects of overture_type whose extent crosses bbox.

latest_release()

The current Overture release.

read_batches(overture_type, bbox, release, ...)

The non-empty record batches inside bbox, restricted to columns that exist.

openworld_radio_twin.providers.overture_reader.latest_release()[source]#

The current Overture release.

Return type:

str

openworld_radio_twin.providers.overture_reader.index_root()[source]#

Directory holding one cached STAC index per release.

Return type:

Path

openworld_radio_twin.providers.overture_reader.bbox_filter(bbox)[source]#
Return type:

Expression

openworld_radio_twin.providers.overture_reader.intersecting_files(overture_type, bbox, release)[source]#

Parquet objects of overture_type whose extent crosses bbox.

Indexes up to the 2026-08 releases name each object’s type in collection; from release 2026-09-23.0 that column is empty and the type appears only in the object path (.../theme=buildings/type=building/part-...), so both are accepted.

Return type:

list[str]

openworld_radio_twin.providers.overture_reader.read_batches(overture_type, bbox, release, columns, *, connect_timeout=None, request_timeout=None)[source]#

The non-empty record batches inside bbox, restricted to columns that exist.

Return type:

list[RecordBatch]