FABDEM — catalog explorer (no network)¶
FABDEM (Forest And Buildings removed Copernicus DEM) is a single, static, global
bare-earth elevation product. Before downloading anything, this notebook
inspects the bundled catalog and the tiling helpers — no network needed — so you
know exactly what the fabdem backend will fetch and how it maps a bounding box
to the University of Bristol bundle zips.
The catalog¶
The catalog holds one product row plus the licence and attribution.
from earthlens.fabdem import Catalog
catalog = Catalog()
print("datasets:", list(catalog.datasets))
row = catalog.get("fabdem")
print("band:", row.band, "| version:", row.version, "| units:", row.units)
print("resolution (m):", row.spatial_resolution, "| CRS:", row.crs)
print("licence:", catalog.license_id)
From a bounding box to bundle zips¶
FABDEM V1-2 is published as 10°×10° bundle zips, each holding one
Cloud-Optimized GeoTIFF per 1°×1° land cell. bundles_for_bbox maps an AOI
to the bundles it needs and the exact tiles inside them — this is what the
backend downloads and extracts.
from earthlens.fabdem._helpers import bundle_url, bundles_for_bbox
# A small AOI on the English Channel coast (SE England).
bbox = (0.05, 50.85, 0.15, 50.95) # (west, south, east, north)
plan = bundles_for_bbox(bbox)
for bundle, tiles in plan.items():
print(bundle, "->", tiles)
print(" URL:", bundle_url(bundle))
Straddling a 10° edge¶
An AOI that crosses a 10° boundary simply needs more than one bundle; ocean-only bundles and cells are absent upstream and are skipped at download time.
straddle = bundles_for_bbox((9.4, 50.4, 10.6, 50.6))
for bundle, tiles in straddle.items():
print(bundle, "needs", len(tiles), "tile(s):", tiles)
Next¶
See FABDEM quickstart for a real download of a cropped bare-earth DEM and a comparison against the Copernicus surface DEM. Remember FABDEM is CC-BY-NC-SA 4.0 (non-commercial); commercial use needs a Fathom licence.