Places · Public data

Countries & regions

Boundaries to put your points in a country or a region.

Overture Maps Foundation, divisions theme · CDLA-Permissive-2.0 · commons_pubdata.places.admin_areas

Read Markdown
3,929 first-level regions at their centroids, sized by area; the land is the table's countries.
3,929 first-level regions at their centroids, sized by area; the land is the table's countries.

Query it with DuckDB.

Bash
lhbox duckdb --catalog commons/pubdata
SQL · The regions of Spain by area
SELECT region_code, name, round(area_km2) AS km2
FROM commons_pubdata.places.admin_areas
WHERE subtype = 'region' AND country_code = 'ES' AND class = 'land'
ORDER BY km2 DESC;

Read it where you work.

Public, read-only data. With an account, lhbox duckdb attaches the catalog as commons_pubdata; an agent with the LakehouseBox connector opens it with open_public_catalog("commons/pubdata"). Without one, DuckDB reads the public files directly.

Example queries

  • The regions of Spain by area
    SELECT region_code, name, round(area_km2) AS km2
    FROM commons_pubdata.places.admin_areas
    WHERE subtype = 'region' AND country_code = 'ES' AND class = 'land'
    ORDER BY km2 DESC;
  • Which region is each of your points in (`&&` on the bounding box first, the exact polygon second)
    INSTALL spatial; LOAD spatial;
    SELECT p.point_id, a.region_code, a.name
    FROM my.points AS p JOIN commons_pubdata.places.admin_areas AS a
      ON a.subtype = 'region' AND a.class = 'land'
     AND a.geometry && ST_Point(p.lon, p.lat) AND ST_Contains(a.geometry, ST_Point(p.lon, p.lat));

Know your columns.

ColumnTypeMeaning
area_idstringOverture GERS id of the area
division_idstringthe division the area belongs to
subtypestringcountry, dependency or region
classstringland or maritime
country_codestringISO 3166-1 alpha-2 (joins reference.countries)
region_codestringISO 3166-2 region code for regions, e.g. ES-MD
View all 18 columns
namestringprimary name
is_landbooleanland area (as opposed to maritime)
is_territorialbooleanterritorial extent
bbox_xmindoublebounding box west (longitude)
bbox_ymindoublebounding box south (latitude)
bbox_xmaxdoublebounding box east
bbox_ymaxdoublebounding box north
centroid_longitudedoublecentroid longitude
centroid_latitudedoublecentroid latitude
area_km2doublespheroidal area, km²
geometrygeometrythe polygon or multipolygon (WGS84, longitude/latitude)
overture_releasestringthe release this row came from

Join keys: country_code, region_code.

Before you query.

  1. Filter class = 'land' unless you want maritime extents; a country can have both rows.
  2. Region codes follow ISO 3166-2 where Overture has them.
  3. geometry is an Iceberg v3 geometry column: read it with DuckDB 1.5.6 or newer (spatial extension); PyIceberg 0.12 cannot load v3 geometry tables yet.
  4. Write spatial filters as geometry && <shape> AND ST_Intersects(geometry, <shape>): DuckDB skips files and row groups for && only.
  5. The bounding box columns exist so a join also works without any spatial extension.

Source & licence.

Source
Overture Maps Foundation, divisions theme
Licence
CDLA-Permissive-2.0 (Overture); OpenStreetMap-derived parts under ODbL 1.0
Attribution
© Overture Maps Foundation; contains data from OpenStreetMap © OpenStreetMap contributors (ODbL) and geoBoundaries.
Coverage
worldwide, ~380 countries and dependencies, ~4,700 regions; the latest Overture release
Refresh
monthly, the whole table replaced; source version overture 2026-09-23.1
Table
commons/pubdata · places.admin_areas · Iceberg v3 · browse the catalog
Recipe
pubdata/recipes/admin_areas.py, registry entry pubdata/registry/admin_areas.yaml

Source: Overture Maps Foundation, divisions theme · CDLA-Permissive-2.0 · Snapshot shown: 10 Oct 2026HTML for people. Markdown for agents.