this post was submitted on 23 Dec 2023
169 points (99.4% liked)
OpenStreetMap community
4175 readers
1 users here now
Everything #OpenStreetMap related is welcome: software releases, showing of your work, questions about how to tag something, as long as it has to do with OpenStreetMap or OpenStreetMap-related software.
OpenStreetMap is a map of the world, created by people like you and free to use under an open license.
Join OpenStreetMap and start mapping: https://www.openstreetmap.org/.
There are many communication channels about OSM, many organized around a certain country or region. Discover them on https://openstreetmap.community/
https://mapcomplete.org/ is an easy-to-use website to view, edit and add points (such as shops, restaurants and others)
https://learnosm.org/en/ has a lot of information for beginners too.
founded 4 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
15 or so years ago I did a rough and dirty implementation of approximate addresses using the idea of just dividing street segments up by the address numbers on them and going from there. For instance, in the Canadian Road Network Files, they provide smallish segments of streets that usually line up to things like cross streets in metro areas, and they come with the ranges of the street numbers in the metadata, so you’d get something like a starting value of say 200 and and an ending value of 212 for a section of, say, Yonge St, and you could just divide that segment up across those values directly. You’d generally get within a few metres of the correct address. Close enough at the time for our use cases, at least. For more rural areas it didn’t work out so well, but for metro areas it was actually pretty decent. This could all be done via a single Postgres/PostGIS query with the right inputs and address parsing in front of it.
It wasn’t perfect and later came various APIs and whatnot for doing this sort of stuff, but it was pretty decent for such a relatively simple implementation.