HERA publishes a lightweight join table that links every admin unit we've ingested to its Overture Maps division via a stable GERS ID. This page shows the crosswalk schema, a worked example for US counties, and how to pull the sample parquet into pandas, DuckDB, or Snowflake.
The crosswalk is a single wide table keyed on gers_id. It joins every admin unit in HERA to its corresponding Overture division.
| Column | Type | Description |
|---|---|---|
| gers_id | string | Overture Global Entity Reference System ID (stable across releases). |
| country_code | string (ISO 3166-1 alpha-3) | e.g. USA, GBR, POL, BRA. |
| admin_level | int | 0 = country, 1 = region/state, 2 = county/district, 3 = tract/gmina, 4 = block/neighborhood. |
| overture_subtype | string | country, region, county, locality, localadmin, neighborhood. |
| local_geoid | string | Native NSO identifier (e.g. 5-digit FIPS, 7-digit TERYT, INSEE COG). |
| parent_gers_id | string | Hierarchy parent — join to itself for rollups. |
| name | string | Primary name from the NSO. |
| census_table_id | int | FK to census_tables.id — use this to pull any field. |
| has_ccl | bool | Whether a CCL (religion/language/ethnicity) row exists for this unit. |
| overture_release | string | Which Overture release this crosswalk was built against. |
HERA's USA county layer (3,221 rows) is already materialized and crosswalked to Overture's divisions where subtype = 'county'. Here's the join:
-- DuckDB or Snowflake — read Overture directly from S3 and join to HERA INSTALL httpfs; LOAD httpfs; INSTALL spatial; LOAD spatial; SELECT o.id -- GERS ID, o.names.primary -- county name, m.population, m.median_age, m.median_household_income, m.housing_units, m.vacancy_rate, m.rent_burden_pct, c.dominant_religion, c.dominant_language_iso639_3 FROM read_parquet('s3://overturemaps-us-west-2/release/2026-03-18.0/theme=divisions/type=division/*') o JOIN hera.gers_crosswalk x ON x.gers_id = o.id JOIN hera.census_tables_wide m ON m.id = x.census_table_id LEFT JOIN hera.ccl_wide c ON c.census_table_id = x.census_table_id WHERE o.country = 'US' AND o.subtype = 'county';
We publish a small Overture-enriched sample file every Overture release — US counties, ~3,200 rows, ~40 columns covering demographics, housing, commercial environment, and cultural attributes. Use it to validate the schema, prototype joins, or stage a POC before committing to a license.
import pandas as pd df = pd.read_parquet("https://hera.masegoinc.com/samples/overture-enriched.parquet") df[df["country_code"] == "USA"].head()
SELECT * FROM read_parquet('https://hera.masegoinc.com/samples/overture-enriched.parquet') WHERE median_household_income > 75000 LIMIT 25;
CREATE OR REPLACE STAGE hera_samples URL = 'https://hera.masegoinc.com/samples/'; COPY INTO raw.overture_enriched FROM @hera_samples/overture-enriched.parquet FILE_FORMAT = (TYPE = parquet);
The crosswalk is rebuilt against each Overture release. Every row carries the
overture_release tag so you can pin to a specific version or always
pull the latest. GERS IDs are stable across releases by design — the Overture
Maps Foundation guarantees identifier persistence.
Commercial subscribers receive a diff feed (adds, moves, removes) between releases so you can apply targeted updates without re-ingesting the full table.
The sample file is free to evaluate. Production use requires a commercial license.