
On 01/20/12 23:39, Marko Mäkelä wrote:
On Fri, Jan 20, 2012 at 06:43:51PM +0100, Martin wrote:
I think most of the housenumbers are connected to a street with the Karlsruhe-Schema (via relation or normal tagging), or?
I have seen both nodes with addr:* tags and building=* ways with addr:* tags. Some mappers seem to set addr:housenumber only. I try to set addr:street, addr:postcode, addr:city, addr:country. House number interpolation lines are rare around here; I have come across one.
just some quick remarks :) i prefer setting addresses for the building ways, but that's not really feasible if one building has several housenumbers assigned, of course. i sometimes set housenumber only, but that's because i don't have street name information in my data (photos, usually) general osm view seems to be that city & country are not encouraged to be used as they should be possible to derive from other (border) data
I guess that the algorithm could be something like this:
* For all polygons that carry addr:housenumber, create an imaginary address point for the centroid. Process these converted points as well as all points that carry addr:housenumber. (I would not convert every way or node with addr:housenumber node to a fully featured POI. They should only be included in the house number index.)
* Do whatever is needed for processing relations or interpolation lines. Or ignore them in the initial version.
* If addr:street exists, try to match it to a nearby highway=* name=${addr:street}. Complain and ignore the house number if no matching street is found nearby. Maybe try matching to name:*=${addr:street} as well, for multilingual areas.
* If addr:street does not exist, attach the point to the nearest highway=*& highway!=service& name!=*. If no such way exists nearby, complain and ignore the house number.
* The search distance ('nearby') should be a configuration parameter.
Best regards,
Marko -- Rich