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, WGS 84, a geographic coordinate reference system whose coordinates are in degrees.
Planar distance and area functions return degrees and square degrees, which are not ground units and vary with latitude. For real distances and areas use a sphere or spheroid function, or transform to a projected CRS first.
The data asset carries the same code as proj:code.
Coordinates are stored longitude first. ST_Area(geom) in square
degrees makes Greenland read nearly as large as Brazil. For real areas
use the spheroid function, and set geometry_always_xy first, because
DuckDB still reads the first coordinate as latitude by default.
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.