Place Finder: How It Works
Geocoding converts a place name or address into coordinates; reverse geocoding does the opposite. Both are approximate in ways that matter, because an address is a human construct and a coordinate is a point.
What a geocoded result actually is
| Match type | Means | Accuracy |
|---|---|---|
| Rooftop | The building itself | Metres |
| Parcel centroid | The centre of the land parcel | Tens of metres |
| Street interpolation | Estimated position along a street from the number range | Tens to hundreds of metres |
| Postal code centroid | The centre of a postal area | Hundreds of metres to kilometres |
| City or region centroid | The centre of the administrative area | Kilometres |
Interpolation is the one that surprises people. If a street runs from number 1 to 99, a geocoder may place number 50 halfway along it — which is right if numbering is even and wrong if it is not. Long rural roads and irregularly numbered streets produce results that are confidently placed and substantially off.
Always check the match type where the API reports it. A coordinate with a postal-code-centroid match is not an address.
Why addresses are hard
- Formats differ by country — order, punctuation and which elements are required all vary.
- Names are ambiguous. There are many places called Springfield, and several called London.
- Transliteration varies. The same city has several accepted Roman spellings.
- Informal addressing. In many places an address is a landmark and a description rather than a number and a street.
- Places change. Streets are renamed, boundaries redrawn, and numbering revised.
Reverse geocoding
Turning coordinates into an address involves choosing which of several true answers to give. A point may sit in a building, on a parcel, in a neighbourhood, a district, a city and a region simultaneously. Which is returned depends on the requested granularity, and asking for a street address where only an area is known produces a nearby address that is not the right one.
Coordinate formats
| Format | Example |
|---|---|
| Decimal degrees | 13.0827, 80.2707 |
| Degrees, minutes, seconds | 13°04'58"N 80°16'15"E |
| Degrees and decimal minutes | 13°04.96'N 80°16.24'E |
Latitude always comes first in these conventions, and longitude second — but GeoJSON and several mapping libraries use the reverse order. Swapping them is among the most common bugs in mapping code, and it produces a point in the wrong hemisphere rather than a small error, which at least makes it easy to spot.
How much precision to keep
| Decimal places | Resolves to about |
|---|---|
| 2 | 1 km |
| 3 | 110 m |
| 4 | 11 m |
| 5 | 1.1 m |
| 6 | 0.11 m |
Five decimal places exceeds the accuracy of most geocoding and of consumer GPS. Storing more implies a precision the data does not have — and for personal location data, storing less than you need is a reasonable privacy default.