I have been mapping addresses on OpenStreetMap since a long time. During this time I have been also frequently referring to the wiki page for guidance whenever I felt my method was wrong. This post is the result of all the stupid mistakes I found during this checking of wiki. I hope that others wouldn’t make those same stupid mistakes.
Though this post is based on my experience in India, it should be useful to people elsewhere in the world.
The mapping process looks like this:
- Check if the neighbourhood or the street is present on the map. If it’s not, then add it.
- Create the building if it’s not on the map. Then add
addr:street(oraddr:place) andaddr:housenumber(oraddr:housename) to the building depending on the address.
That’s it. Now let’s elaborate on some things.
-
Point (1) is not something which is mentioned frequently but which is needed if you want to use your addresses in apps like OsmAnd in a proper fashion. So, start adding those name to the roads and start creating label for your neighbourhoods!
-
The address should be always attached to the building instead of the shop/office/etc residing inside that building. This keeps the building nice and steady even as the things inside it keep changing. The address should be on only one feature, that is building. Use
addr:unitto specify the address of different things inside the building. Ensure that the things are placed inside the building. -
This one’s obvious but please don’t add the name of the place in
addr:street. -
The
addr:placecan contain anything that is written just after the housenumber or housename. It’s even OK to use things like “WZ Block” or “Pocket 5.” Just ensure there’s a proper hierarchy of places. In “156, Pocket 9, Sector 41, Dwarka, Delhi” for instance “Pocket 9” should go inaddr:place, while Sector 41 should go inaddr:suburband Dwarka will go inaddr:quarter. These last two can be ignored while actual mapping since they can be inferred from the data. -
The
addr:housenumbershould contain the whole identifier that is used to locate the building. Something like “WZ-156/2A” is totally a valid identifier. It has been argued that since “WZ” is a block it should instead go inaddr:block. I usually disagree with this sentiment since blocks in the Indian context refer more to a random group of houses instead of a proper city block. If one actually wants to separate the “WZ” part they should instead add something like “WZ Block” toaddr:place. Even in that case the identifier should remain unchanged. -
Also one should only use
addr:streetoraddr:placein an address but not both. A lot of roads in Delhi have names that aren’t actually used by the locals. So, useaddr:streetonly if it is used more often then the name of the neighbourhood. Similarly, one should only useaddr:housenameoraddr:housenumberbut not both.
When you are done, try looking up the street or neighbourhood on OsmAnd and be ready to be pleased with a nice list of all the addresses under that head.