Today I went around the block to collect the housenumbers for the building outlines I put into the map the last couple of weeks. I hope this will help with the reverse geocoding of street addresses. I also hope I worked out correctly how to do this. Basically I added the addr:housenumber tag to the buildings and then added the buildings to an Associated Street relation linked with the street. Now, things like postal code areas etc. are still missing, and I only managed 6 blocks in the neighbourhood, but its a start…
Discussion
Kommentaar van Pink Duck op 19 Augustus 2012 om 08:02
I’ve always thought that “associatedStreet” was a poor choice of relation type name, since the relation also represents the addresses associated with a street. Since there should also be parsing for type=street it seems better to use the shorter name with the associated smaller risk of spelling error.
Kommentaar van Sanderd17 op 19 Augustus 2012 om 13:10
Which editor are you using?
If you’re using JOSM, you can simply select all members of an associatedStreet relation, select the members with role=street inside your selection (via CTRL+F) and apply other tags to all houses in that street at once.
Kommentaar van asgalon op 19 Augustus 2012 om 14:03
I am using the predefined template in JOSM, so I don’t have to spell it myself. the street relation is for binding together different segments of the street into a logical object for the whole street.
Sanderd17, thanks for the hint.
Kommentaar van asgalon op 19 Augustus 2012 om 14:47
Oh, and another remark. I am using the associatedStreet relation instead of individual addr:street attributes for a number of reasons. First of all, from a database point of view, I think it is better to represent the relation between houses and streets directly instead of hold the street name redundantly in every house object. Also, here in Catalunya the streets mostly have both names in Catalan and in Spanish, so I would have to put at least two localized names in every house for the entire relation to hold regardless of language. The default name put on the streets could be either es or ca, so the default name put into addr:street does not necessarily have to match the default name of the street, which could lead to some confusion. With a relation, the common property is the object id of the street, not the spelling of the name, and is automatically has all translations. There are a few minor problems because on the octogonal squares at the local street crossings, a physical building might have house numbers for two different streets for different entrances or even the same entrance hall. In that case, I pragmatically split the building in two seperating the parts according to the adjacent streets. I thought about using entrance nodes, but I do not have enough time to do that accurately enough to be used for accessibility applications right now.
My general mode of operation is that I first prepare the building outlines using aerial images from bing, then print out the blocks in a map (funnily enough, JOSM does not seem to have a print command, so I make a screenshot, invert the colors with GIMP to get rid of the black background, scale to A4, then print…), and take a walk to the location to check the house fronts to see
Then I go back and add the most important informations to the map.
Kommentaar van Sanderd17 op 20 Augustus 2012 om 08:06
If there is no one-to-one relation of building and housenumber, it might sometimes be better to leave the building without housenumber tag, and add some address nodes instead.
Btw, when I see your way of mapping, you might be interested in this site: http://walking-papers.org
You can print your own map pretty easily, and you can scan it (or even take a picture) to have it as a georeferenced background in JOSM (via the walkingpapers plugin).
Kommentaar van Sam Wilson op 20 Augustus 2012 om 11:44
There’s a
print
plugin for JOSM. Bit odd at times (when pages sizes change and things) but it works very well and you can print in a bunch of different ways.