portolan-pipeline
World country polygons for joins and rollups, not for legal boundaries
or precise areas. The stable key is ADM0_A3. External statistics join
on ISO_A3_EH or ISO_A2_EH. The raw ISO_A3 and ISO_A2 columns
hold the sentinel -99 for France, Norway, Kosovo, Northern Cyprus, and
Somaliland, so a filter like ISO_A3 = 'FRA' matches nothing.
Query the GeoParquet data asset in place with DuckDB spatial, read_parquet('natural-earth-countries.parquet'), or load it with GeoPandas. It streams over HTTP range requests, so query the published URL directly rather than downloading first. For a quick preview use the thumbnail asset.
SDS here but SSD in the populated places file. An
ADM0_A3 join between the two layers drops it unless you remap.EPSG:4326, longitude and latitude in degrees. ST_Area(geom) returns
square degrees, which makes Greenland read nearly as large as Brazil.
For real areas use the spheroid function, and flip coordinates first
because DuckDB's geodesic functions expect latitude first.
Population by continent.
Which country contains a point.
reference/natural-earth-populated-places joins on ADM0_A3 with the
South Sudan remap above. tabular/eurostat-electricity-prices joins on
ISO_A2_EH after remapping Eurostat's EL and UK codes, the worked
example lives in that Collection's README. Converted from the upstream
zipped Shapefile with DuckDB spatial into web-optimized GeoParquet 2.0.