Geography is the floor every other answer stands on. dbr-geo consolidates the official meshes, the streets, transit and the satellite record into one layer — and derives the travel times, access scores and expansion signals that decide where to open, where to invest and what's underserved.
The foundation
We start from the official territorial record and layer the living city on top — streets, transit and the changing land surface — all normalised to one consistent grain.
Territorial boundaries and census tracts (both 2010 and 2022) — the trusted skeleton everything else snaps to.
Streets, buildings and points of interest across the whole country — the routable, addressable fabric of Brazil.
Lines and schedules, aggregated and cleaned — including the systems that publish badly, or not at all.
Sentinel / Landsat, INPE and MapBiomas — the record of how the country's land surface is changing.
The derived layer — what you actually buy
Where to open, who you can reach, what's underserved, where risk concentrates. These are the spatial products behind expansion, network planning and underwriting.
Travel time from anywhere to jobs, health and education — the single number behind catchment and coverage.
Where people live beyond reasonable reach of transit — built on data no one else has cleaned.
Where the built footprint is expanding, derived from the satellite time series.
Flood, slope and exposure overlays joined to address and tract — underwriting context in one layer.
Turn a messy address into resolved coordinates plus the keys every module uses.
Rank candidate locations by who they reach and what surrounds them — expansion strategy as an API call.
The dominant challenge — and why it's our moat
what breaks naïvely
Boundaries and codes shift between census years. Census tracts vary wildly in size. Transit is fragmented and partly private. Addresses are barely standardised. Any one of these quietly corrupts a spatial join.
how dbr-geo solves it
We reconcile codes across census years, dissolve uneven tracts onto the H3 hex grain, aggregate the broken transit feeds, and serve heavy geometry as single, fast files. The mess becomes one clean, joinable layer — which is exactly why very few can offer it.
API surface
Behind the shared dbr-core gateway. Every spatial response carries municipality_code, tract_id and h3_9.
Part of a bigger machine
dbr-geo geocodes for the whole platform: company locations, transaction origins and more — all resolve to its join keys, so any record can meet any other in space.
Request access
Geocoding, isochrones, accessibility and the transit layer no one else has cleaned — one API, one set of keys.