Places
Point-of-Interest Data: The Messiest Layer on the Map
A road network is difficult but stable — roads move rarely and slowly. Points of interest are the opposite: a dataset of named things that open, close, rename, move, merge and are described differently by everyone who records them. POI data is where map projects go to die, and it is worth understanding why before you build one.
What a point of interest actually is
The category hides enormous variety. A POI dataset typically mixes:
- Administrative places — settlements, districts, parishes. Relatively stable, usually with an official source.
- Physical features — bays, headlands, peaks, reefs. Very stable, but often with several competing names and no authority.
- Institutions — schools, churches, museums, hospitals. Moderately stable, frequently renamed.
- Businesses — the volatile majority. High turnover, and the reason POI datasets rot.
Treating these as one homogeneous layer is the first mistake, because their update cadence differs by orders of magnitude. A dataset refreshed at the speed of its slowest category will be permanently wrong about businesses; one refreshed at the speed of its fastest will churn stable features for no reason. Separate them, and give each its own review interval and its own source of truth.
Names are not identifiers
The same failure as headwords in a dictionary, in geographic clothing. Place names are not unique, not stable and not singular. There are many places sharing a name within one small region. Places carry official names, local names, historical names and names in several languages, all simultaneously correct.
Give every place a permanent internal identifier and treat names as attributes with a type and a language tag. A place should be able to hold an official name, a common name and any number of historical or alternate names without any of them being privileged by the data structure. Whichever one is displayed is then a presentation decision, reversible at any time.
This is exactly the model that established gazetteers use. GeoNames assigns a stable numeric identifier to each feature and hangs a set of alternate names off it, and its feature-class scheme is a reasonable starting vocabulary even for projects that never touch its data.
The duplicate problem
Any POI dataset assembled from more than one source contains duplicates, and finding them is genuinely hard. Two records for the same museum may differ in name spelling, in category, and in position by a hundred metres — while two genuinely different units in one building may share an address and sit metres apart.
Proximity alone is not enough, and neither is name similarity. Practical merging uses several weak signals together and, crucially, keeps the merge reversible: retain the source records and their identifiers, and record the merge as an assertion rather than by deleting the losers. When a merge turns out to be wrong — and some will be — reversal is then an edit rather than a re-import.
Position means less than people expect
A coordinate looks authoritative. It rarely deserves to. A POI's point may be a rooftop centroid, a street entrance, a parcel centroid, a geocoded address or a rough hand placement, and datasets mix all of these without saying so. Two records twenty metres apart may be identical in intent.
Record what the coordinate means alongside the coordinate itself, and record its provenance. A dataset that knows which of its points are rooftop-accurate and which are geocoded guesses can be used carefully. One that does not can only be trusted to its worst member.
Decay, and being honest about it
Businesses close constantly. A POI dataset with no maintenance loses meaningful accuracy within a couple of years, and the failure is invisible — records do not announce that they have gone stale, they simply become wrong while looking exactly as they did when correct.
Two habits help disproportionately. First, store a last-verified date on every record and surface it; a visible date lets a reader judge, and an old date is far better than a false impression of currency. Second, prefer closing records to deleting them — a place that existed and closed is a true historical fact, and for an archive-facing collection it may be the more valuable one.
Scope honestly
The most useful small POI datasets are narrow: one island, one category, one period, maintained properly. The least useful are broad, ambitious and six years out of date. If maintenance capacity is one afternoon a month, scope to what an afternoon a month can actually keep true.
For the network layer beneath these points, see web cartography and routing; for the description layer above them, see metadata and catalogues.