A public hazard feed publishes a flood alert. It carries a location, a severity class, a timestamp, and an affected area expressed as a rectangle. Within a few minutes it is possible to intersect that rectangle with a population grid and a building layer and produce a headline: so many thousand people exposed, so many thousand structures.
That number will be wrong, and it will be wrong in a specific direction. It will be too high, often by a large factor, because the rectangle is not the flood. Floods follow terrain and drainage. They occupy valley floors, floodplains and low-lying channels, which are irregular shapes that a rectangle can only contain, never describe. Everything inside the rectangle that sits above the water is counted anyway.
The engineering problem is not producing the figure. The figure is a spatial join and it takes minutes. The problem is producing a figure whose error is characterized, bounded where possible, and communicated in a form that survives being copied into a situation report by someone who did not build it.
From alert to figure: the pipeline
The pipeline is short, and each stage introduces a distinct kind of error.
- Ingest. An alert arrives from a public feed, typically as a syndicated item with a geometry, a severity, an event type, and identifiers that let updates be matched to the original event.
- Extent. The geometry is normalized into something a spatial query can use. This is where a rectangle stays a rectangle.
- Join. The extent is intersected with exposure layers: gridded population, building footprints, points of interest, road network, and whatever critical facility data exists.
- Aggregate. Intersections become counts, usually apportioned to administrative units so the output can be read by people who think in districts rather than polygons.
- Present. Counts become a report, a map, or an API response.
Errors do not stay in their stage. An extent that is four times too large produces a population count roughly four times too large, and once that count is aggregated to a district and rendered as a number on a card, nothing downstream can recover the original uncertainty. The only place to handle it is at the point where the geometry enters the join, by carrying the geometry's provenance forward with every derived figure.
The other structural point about the pipeline is that alerts are updates, not facts. An event is revised as it develops: severity changes, extents are redrawn, some alerts are cancelled. A system that treats each item as a new event will double count. A system that overwrites without keeping history cannot answer what was known at a given hour, which is the question every after-action review asks.
The bounding box is not the flood
The bounding box problem deserves to be stated plainly because it is the single largest source of error in this whole class of analysis, and it is almost always left unmentioned in the output.
A bounding box is the smallest axis-aligned rectangle containing a shape. For a compact, roughly circular event it is a reasonable approximation. For a flood it is a poor one, because floods are elongated and diagonal. A river valley running northwest to southeast produces a bounding box whose area can be several times the area of the flooded corridor itself, and the excess is concentrated in the corners, which are typically the high ground on either side of the valley. The rectangle therefore includes precisely the land least likely to be flooded.
Three consequences follow. Any count derived from the box is an upper bound, not an estimate. The overestimate is not a fixed multiplier, it varies with the shape and orientation of the real flood, so it cannot be corrected by a constant. And the error is worst exactly where flooding is most channelized, which is to say in the narrow valleys where flood impact is often most severe.
There is a related trap in coarse polygons. Some feeds publish an affected area as an administrative unit rather than a rectangle: a district, a province. That is not a bounding box, but it has the same property of being a container rather than a description, and joining population to a whole province because part of it flooded produces a number with no defensible meaning at all.
When a better geometry exists, it should replace the box. Satellite-derived water extents, where available and recent, describe the actual inundated area. Modelled flood depth surfaces, where a public model covers the area, give both extent and depth. Neither is universally available, which is why the honest default is to keep the box, label it, and never call the result a measurement.
Joining extents to population and buildings
Assume the extent is what it is. The join itself introduces its own errors, and they compound with the extent error rather than cancelling it.
Gridded population is published on a raster with a cell size. Intersecting an irregular extent with that raster requires a decision about partial cells. Counting a cell whose centre falls inside adds the full cell population; area weighting adds a proportion. Area weighting assumes people are distributed uniformly within the cell, which they are not, and near a river the assumption fails in a particular way: population within a floodplain cell is often concentrated on the slightly higher, drier part of it, because settlements are not built at random. That means uniform area weighting tends to overcount exposure again, on top of the extent error.
Building footprints have a different problem. Open footprint coverage is uneven, and the unevenness is not random: dense urban cores are well covered, rural and informal settlements are covered patchily or not at all. A count of buildings inside an extent therefore mixes two quantities, how many buildings are there and how well the area has been mapped, with no way to separate them from the count alone. Reporting building exposure without reporting footprint coverage for the same area is reporting a number that means different things in different places.
The compounding is the part that gets missed. If the extent is a rectangle two to four times the true flooded area, and cell apportionment adds a further upward bias, and the building layer is complete in the town centre but sparse in the settlements along the river, then the headline figure is inflated by an unknown factor and the composition of the figure is skewed toward the well mapped part of the area. Both the magnitude and the distribution are wrong. The second error is the more dangerous, because it makes the well mapped centre look like the centre of the impact.
Terrain is the missing variable
Nothing in the pipeline described so far knows about elevation, and elevation is what determines whether water reaches a location.
Adding a digital elevation model changes the analysis qualitatively. The simplest useful application is a height filter: within the reported extent, exclude locations more than a stated height above the local drainage level. This is crude, it is not hydrology, and it still removes a large amount of obviously dry land from the count, particularly the valley sides that the bounding box dragged in.
More capable approaches exist along a spectrum. A height above nearest drainage surface, derived from a DEM and a stream network, ranks locations by how far they sit above the nearest channel and is a reasonable ordering of flood susceptibility. Full hydrodynamic modelling, where a public model exists for the area, gives depth rather than a binary. Each step up the spectrum costs data availability: open DEMs cover the world at moderate resolution, stream networks are patchier, and calibrated flood models exist for a minority of catchments.
Two cautions apply. Open DEM resolution is often too coarse to resolve the features that matter most in flat terrain, where a difference of a metre or less separates flooded from dry, and where the vertical error of the model may exceed that difference. And most global DEMs represent surface height including buildings and canopy in places, not bare earth, which means urban areas can appear artificially elevated. Terrain improves the estimate substantially and it does not make it a measurement.
Lifelines and access, not just structures
Counting people and buildings inside an extent answers a narrower question than the one a responder is asking. The operational question is what stops working and what becomes unreachable.
Lifelines are the network elements whose failure propagates: roads and bridges, power infrastructure, water treatment, health facilities, schools used as shelters, telecoms sites. A flooded segment of a single arterial road can isolate a population that is not itself flooded, and that population does not appear anywhere in an exposure count based on inundated area. It appears only if the analysis routes through the network and asks which places lost their connection.
That analysis is a different computation. Take the road network, remove edges intersecting the flood extent, and recompute connectivity from population centres to the facilities that matter: hospitals, depots, the main road out. The output is a list of places whose travel time to a hospital increased beyond some threshold, or which have no remaining route at all. It is more useful than an exposure count and it is more sensitive to data quality, because a single missing road in the network can make an isolated area appear connected, or a single unmapped bridge closure can make a connected area appear cut off.
Critical facility exposure deserves separate reporting rather than being folded into a building count. One flooded clinic is a different fact from a hundred flooded houses, and averaging them into one number destroys the distinction that drives the response.
Confidence per figure, not per report
A single confidence label on a report is close to useless, because the figures inside it do not share a confidence. The extent might be a coarse rectangle while the facility list came from a verified register. Attaching one badge to both is a claim that they are equally trustworthy.
Per-figure confidence means each derived number carries the properties that determine how much it can be trusted: the geometry type it was derived from, whether terrain was applied, the coverage status of the exposure layer in that area, and the age of the inputs. These are not arbitrary judgements, they are facts about the computation, and they can be assigned mechanically.
A useful discipline is to state the direction of the error alongside the confidence. An exposure figure from an untrimmed bounding box is an upper bound and should be labelled as such rather than as low confidence, because low confidence implies the true value might be higher, and here it almost certainly is not. A building count from a partially mapped area is a lower bound. A figure that is neither, because it combines an upper-bound extent with a lower-bound layer, should say so, since that combination has no defensible direction at all.
Monitoring and response are different products
The same pipeline is often asked to serve two purposes that have incompatible requirements, and conflating them causes real harm.
Monitoring is comparative and continuous. It asks which events are worth attention, how this event compares to previous ones, and where a trend is developing. It tolerates wide error bars because it is used for triage and prioritization, and a figure that is consistently biased in a known direction is still useful for ranking.
Emergency response is operational and specific. It asks which streets are passable now, which shelters are reachable, how many people at this location need what. Its tolerance for a figure that is several times too large is close to zero, because resources get allocated against it.
An open-data pipeline built on public hazard feeds is a monitoring product. It can support the early phase of a response by pointing attention in the right direction, and it should not be presented as an operational picture. The distinction has to be built into the product rather than left to the reader, because a number that looks operational will be used operationally. That means naming it an estimate in the interface, keeping the caveat adjacent to the figure rather than in a help page, and declining to render figures at a precision that implies field verification.
Presenting an estimate that cannot be mistaken for a measurement
Four presentation rules do most of the work, and all of them cost something in visual cleanliness.
Lead with the caveat that matters most, not with the number. If the extent is a bounding box, that fact belongs above the figure, in the same size text. Readers who see the number first will carry the number and drop the caveat.
Round to the precision the method supports. A figure like 34,000 people communicates an estimate. A figure like 33,847 communicates a count, and no one will believe it was derived from a rectangle intersected with a raster.
Show the geometry. A map with the rectangle drawn on it makes the overestimate self-evident in a way no prose caveat achieves, because the reader can see the high ground inside the box.
Name what was not assessed. The portion of the extent with no building coverage, the facilities category with no open register, the terrain step that could not be applied because no DEM was available at useful resolution. A gap that is named is understood as a gap. A gap that is silent is read as a zero.
The figure that gets quoted in a meeting will be the headline, stripped of every qualifier that was not physically attached to it. Designing for that is not pessimism, it is the actual delivery environment. The measure of a flood exposure product is not how accurate its best figure is under ideal data, it is whether its worst figure can be misread as a fact.