Skip to main content

Infrastructure

The base theme's infrastructure feature type contains built-environment features derived from OpenStreetMap: bridges, airports, communication towers, power lines, piers, barriers — and the transit features described on this page. Infrastructure features can carry Point, LineString, Polygon, or MultiPolygon geometries, and are classified with a subtype and class derived from OSM tags.

Transit features

The places theme deliberately excludes intermediate waypoints — a place must be a destination, so bus stops, train platforms, and similar features are not places. They are not part of the transportation theme either, which contains only the road network itself (segments and connectors). Instead, they live here, in the infrastructure type under the transit subtype.

The transit subtype covers both transit stops and the parking and access features around them:

LOAD httpfs; -- noqa
-- Access the data on AWS in this example
SET s3_region='us-west-2';

-- Count transit features in the base theme's infrastructure type by class
SELECT
class,
count(*) AS feature_count
FROM read_parquet('s3://overturemaps-us-west-2/release/2026-08-19.0/theme=base/type=infrastructure/*')
WHERE subtype = 'transit'
GROUP BY class
ORDER BY feature_count DESC;

Results from the August 2026 release:

classfeature count
parking6,764,487
parking_space4,896,576
bus_stop4,139,973
stop_position1,404,601
bicycle_parking918,687
platform524,058
parking_entrance277,093
bicycle_rental93,504
railway_station85,595
bus_station66,000
motorcycle_parking46,386
ferry_terminal38,963
railway_halt34,549
subway_station18,149

To pull individual transit features for an area of interest, filter on subtype and class with a bounding box. This example uses central Rome:

LOAD httpfs; -- noqa
-- Access the data on AWS in this example
SET s3_region='us-west-2';

-- Pull individual transit features for an area of interest (central Rome).
-- The geometry column is a native geometry type in current releases;
-- LOAD spatial if you want to transform it (e.g. ST_AsGeoJSON(geometry)).
SELECT
id,
names.primary AS name,
class,
subtype,
geometry
FROM read_parquet('s3://overturemaps-us-west-2/release/2026-08-19.0/theme=base/type=infrastructure/*')
WHERE subtype = 'transit'
AND class IN ('bus_stop', 'bus_station', 'platform', 'stop_position',
'railway_station', 'railway_halt', 'ferry_terminal', 'subway_station')
AND bbox.xmin BETWEEN 12.46 AND 12.48
AND bbox.ymin BETWEEN 41.89 AND 41.91
LIMIT 100;

Note: the geometry column is already a native geometry type in current releases — no ST_GeomFromWKB conversion is needed. Load the DuckDB spatial extension if you want to transform it (for example, ST_AsGeoJSON(geometry)).

One entity, multiple themes

Some real-world things legitimately appear in more than one Overture theme, represented differently in each. Mountains are a good example. The places theme contains mountain features as destinations — provider-sourced records with names, categories (geographic_entities > land_feature > mountain), a confidence score, and a GERS-matched identity:

LOAD httpfs; -- noqa
-- Access the data on AWS in this example
SET s3_region='us-west-2';

-- Count places with a primary taxonomy category of 'mountain'.
-- On releases before December 2025, use categories.primary instead of taxonomy.primary.
SELECT count(*) AS places_mountains
FROM read_parquet('s3://overturemaps-us-west-2/release/2026-08-19.0/theme=places/type=place/*')
WHERE taxonomy.primary = 'mountain';
places_mountains
131,189

The base theme's land type contains mountains as physical features — OSM-derived geometries classified by landform:

LOAD httpfs; -- noqa
-- Access the data on AWS in this example
SET s3_region='us-west-2';

-- Count mountain landforms in the base theme's land type by class
SELECT
class,
count(*) AS base_land_features
FROM read_parquet('s3://overturemaps-us-west-2/release/2026-08-19.0/theme=base/type=land/*')
WHERE class IN ('peak', 'mountain_range', 'ridge', 'saddle', 'volcano')
GROUP BY class
ORDER BY base_land_features DESC;
classbase_land_features
peak1,100,237
ridge261,709
saddle79,746
mountain_range7,566
volcano5,868

Neither copy is redundant: use the places record when you need a named, categorized destination with a stable GERS ID; use the base land feature when you need the OSM-derived physical representation. The same pattern applies to other entities that are both destinations and physical or network features, so when a feature seems "missing" from one theme, it's worth checking whether another theme carries it by design. See the places guide for how the places theme defines what it includes.