HERA · Human Entity Reference Atlas by Masego Inc

HERA × Overture · Developer docs

The GERS crosswalk & schema.

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.

1. Crosswalk schema

The crosswalk is a single wide table keyed on gers_id. It joins every admin unit in HERA to its corresponding Overture division.

ColumnTypeDescription
gers_idstringOverture Global Entity Reference System ID (stable across releases).
country_codestring (ISO 3166-1 alpha-3)e.g. USA, GBR, POL, BRA.
admin_levelint0 = country, 1 = region/state, 2 = county/district, 3 = tract/gmina, 4 = block/neighborhood.
overture_subtypestringcountry, region, county, locality, localadmin, neighborhood.
local_geoidstringNative NSO identifier (e.g. 5-digit FIPS, 7-digit TERYT, INSEE COG).
parent_gers_idstringHierarchy parent — join to itself for rollups.
namestringPrimary name from the NSO.
census_table_idintFK to census_tables.id — use this to pull any field.
has_cclboolWhether a CCL (religion/language/ethnicity) row exists for this unit.
overture_releasestringWhich Overture release this crosswalk was built against.

2. Example — enrich a US county

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';

3. Sample parquet download

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.

hera-overture-enriched-sample.parquet 432.2 KB · USA counties · synced against Overture 2026-03-18.0 · gated behind a 15-second form
Request access

4. Pulling it into your tool

Python / pandas

import pandas as pd
df = pd.read_parquet("https://hera.masegoinc.com/samples/overture-enriched.parquet")
df[df["country_code"] == "USA"].head()

DuckDB

SELECT * FROM read_parquet('https://hera.masegoinc.com/samples/overture-enriched.parquet')
WHERE median_household_income > 75000
LIMIT 25;

Snowflake (via external stage)

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);

5. Update cadence & versioning

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.

6. Licensing

The sample file is free to evaluate. Production use requires a commercial license.