We have released our app based on OpenStreetMap and have setup our own instance to service queries. The app is focused on college students. We geocode their home addresses as part of their profile setup to confirm it’s valid and to show markers in the right place. We are finding 10-20% of the addresses do not yet exist on the map.
Example:
205 Clay Drive
Pittsburgh, PA 15235
Checking the map directly, indeed this address does not appear to have been inserted into the db. Given that college student home addresses are sufficiently random, should we expect to see that high a fail rate? Are there really only 80-90% of residential houses mapped on OpenStreetMap or is this likely coincidental based on a small set of addresses as we ramp up?
We could add each missing address manually. But that might not scale to potentially hundreds/thousands of addresses. Any advice how best to proceed to get the map fully populated would be most appreciated.
There are significant areas, especially in the United States, where address data has not yet been imported into OSM. For example, in my town when I started mapping probably less than 5% of address points were in OSM. It all depends on what mapping efforts have been taken in each area (what imports and on the ground surveys have been completed). This might be disappointing but OSM is run by many volunteers dedicating their time to the project, and it’s constantly being updated. Obviously the goal is to create a comprehensive map of the world, but that takes a lot of work!
You might be able to query something like the National Address Database in the USA for this purpose, and grab the co-ordinates to display a marker from there.
Similar to the NAD is OpenAddresses.io which presents a consistent usable interface but you do need to check their underlying data source: just because it’s in OA doesn’t mean it’s actually open source and free for anyone to use for any purpose.
Agreed - I’ve seen some apps, such as OSMAnd that use only OSM data for addresses, and it’s basically unusable where I am because there are almost no addresses in OSM - despite being a large US city. But most others I’ve seen that use substantial OSM data are supplementing addresses from another source like the NAD - Magic Earth, Lyft, etc at least appear to do this, as they have comprehensive address data that’s not in OSM yet, even with OSM data displayed as most of the mapped information.
Thanks for the follow ups. A fallback strategy is beginning to take focus…
1) User types in their address
2) Query OSM to validate and get lat/lng
a. PASS - accept and create marker at position
b. FAIL - Mark as missing from OSM
1. Fallback Query NAD to validate and get lat/lng
a. PASS - accept and create marker at position
b. FAIL - Reject and ask user to fix typos or submit for support followup
If address is not in OSM but is found in other services, insert in OSM.
I assume this approach is viable. NAD (and other services) must provide an API for queries. Also, inserting in OSM is legal as the user first provided the address, i.e. we are not harvesting from other services directly. I guess I could also use a secondary fallback service if needed.
Thanks for your ideas. I hope it implementable so we do not have so many kick backs to the user and we help grow the OSM entries.
As others have indicated, address coverage can be spotty. Nominatim supplements OSM data with TIGER, which helps, but TIGER is in OSM terms, interpolation only.
With interpolation you might know that the 100s block of a street is somewhere and approximately where an address would be on it if it’s there, but not if it exists.
There are specialized address validation services that exist, and if you use them you can get a cheaper postal rate. But they’re expensive and really targeted at very large mailers.
it wildly differs on area, but OpenStreetMap does not yet have all address data. Actually, 80-90% indicates that this area is relatively well mapped compared to worldwide average.
in many areas there is no openly-licensed address database available for import (for example, United Kingdom - maybe also some states in USA), or it is of a meagre quality.
In some areas official data can be imported but it was not done so far.
Not always: note that we cannot copy for example from Google Maps.
Exactly my point. The origination of the address was from the resident, not Google Maps (or proxy). We are just confirming an address does appear in other map data before entering in OSM. The alternative is to just trust the resident and insert the address blindly.
If a street has no addresses, but it can be quickly determined what the civic numbers are at the beginning and end of a street, left side and right side of the way, use interpolation by drawing a line along the road, add lowest and highest civic number on the end nodes and indicate all, even or odd and you got a whole series.