5 ms·
I contribute sometimes to OpenAddresses, a project to collect address data for the entire world from official sources. It's remarkable how complex the schema fo
by NelsonMinar 8y ago
I contribute sometimes to OpenAddresses, a project to collect address data for the entire world from official sources. It's remarkable how complex the schema for addresses are and how very much hyper-local.
We're used to simple things in the United States like "123 Maple Lane" but even those addresses can be awfully complex. And then you get oddities like Portland's 0234 SW Bancroft St; the leading 0 is significant. Hawaii addresses are like "96-3208 Maile St, Pahala"
Of course it gets much more complicated internationally. India has addresses like "291, HA Block, Sector III, Salt Lake City, HA Block, Sector III, Salt Lake City, Kolkata". And much of the world doesn't have any regular address system at all, going instead by navigational systems like "third left after the banyan tree, down the road by the dairy."
Previously on HN, a related article: https://news.ycombinator.com/item?id=8907301 https://news.ycombinator.com/item?id=8907301
- eruci 8y agoI love the openaddresses.io project and use it as a data source for geocode.xyz (https://geocode.xyz/legal https://geocode.xyz/legal ). It seems however that they have stagnated in recent years (after some healthy growth initially, the number of addresses in the dataset has been hovering at just under 500M addresses globally - 496,689,649 as of the last count) Has the project been abandoned?
- Cyphase 8y agoIt still appears to be active on GitHub[0][1]. Perhaps all the low-hanging fruit has been picked. As mentioned in the contributing guide[2], they only use authoritative data sources. "OpenAddresses is a collection of authoritative data for address locations around the world. We collect address data from authoritative sources; we do not create our own data. A source is a location where authoritative address data can be found. Examples might be a downloadable CSV file or live ArcServer feature service hosted by a national postal service, a state GIS department, or a county property parcel database." [0] https://github.com/openaddresses/ https://github.com/openaddresses/ [1] [for posterity] https://web.archive.org/web/20180721063519/https://github.com/openaddresses/ https://web.archive.org/web/20180721063519/https://github.co... [2] https://github.com/openaddresses/openaddresses/blob/master/CONTRIBUTING.md https://github.com/openaddresses/openaddresses/blob/master/C...
- NelsonMinar 8y agoNo it's not abandoned at all; there's a lot of active work finding new sources. You can see a log of commits here: https://github.com/openaddresses/openaddresses/commits/master https://github.com/openaddresses/openaddresses/commits/maste... If the number doesn't go up as fast as it used to it's probably because the project has already collected all the addresses that were easy to find. Denmark's 3,689,469 addresses, for instance, are in a single CSV file. We found it once and that was it (although we do update the data every few days). The work now is mostly in finding much more challenging address data buried in databases. Also convincing government agencies to let us have the data.
- kevin_thibedeau 8y ago> the leading 0 is significant. Word to the wise: Don't store numeric address information in integer fields. I sometimes see ZIP codes with missing leading 0's.
- Kenji 8y agoI think people and cultures that store information in a leading 0 to a number are stupid and this practice needs to be discouraged. I have no problem with not supporting this.
- ryandvm 8y agoMy rule of thumb is that unless I'm going to do arithmetic with it, it probably ought to be a string.
- empath75 8y agoWhen I was in Nicaragua you’d see addresses like ‘down the street from where the Mercado used to be’.
- watersb 8y agoI have received mail from a variety of rural USA locations, and many times the Postmaster is just one person, running the local shop. They get to know you, so informal or incomplete addresses may still work. But if it is non-standard, it will be delayed or returned or just thrown into storage.