Gerd v. Egidy wrote: > Wie wäre es damit: > > In alle Richtungen rund um den Node (oder den Schwerpunkt wenn building > aus mehreren Nodes) die nähsten Straßen herausfinden. Es gilt jeweils die > kürzeste Distanz zu einer Straße. > > Abstand Hausnummer <-> nächstgelegene Straße: d1 > Abstand Hausnummer <-> zweitnächstgelegene Straße: d2 > > Wenn d2 / d1 > x dann die Hausnummer der nächstgelegenen Straße zuordnen, > ansonsten kein Treffer.
Mindestens bei kleinen Werten von d1 wäre das problematisch. Bei Häusern an Straßenecken habe ich - wie vermutlich auch andere - nur darauf geachtet, dass der Node wenigstens minimal "seiner" Straße näher liegt als der anderen Straße. Im Übrigen meine ich, dass Adressnodes, die sehr weit weg von "ihrer" Straße liegen, zur Sicherheit immer ein "addr:street" bekommen sollten. Der Adressalgorithmus sollte aber die Position des Nodes auswerfen und nicht den nächstgelegenen Punkt der entsprechenden Straße. Zumindest in dem Fall, dass es einen exakten Treffer gibt oder der Wert aus addr:interpolation ermittelt wurde. Wenn dagegen "selbst" interpoliert werden muss (also kein exakter Treffer und auch kein addr:interpolation vorhanden ist), dann wäre vielleicht doch ein Ergebnis in Straßennähe sinnvoll. Wenn nämlich Adressnodes gesetzt werden, dann ist es die Verantwortung des Mappers, ihn dorthin zu setzen, wo der physikalische Zugang besteht. Das kann manchmal auch an einem namenlosen Service-Weg oder an einer Straße sein, die einen anderen Namen trägt als den in addr:street genannten. Der Suchalgorithmus sollte die Position des gefundenen Nodes dann nicht "verbessern" (ein Beispiel, wo das schief ging, habe ich gestern gepostet); vielmehr sollte es dem Routingalgorithmus überlassen bleiben, einen geeigneten Weg zu finden. Nur so hat der Mapper die Gestaltungsmöglichkeit, durch die Positionierung des Nodes den passenden Zugangsweg deutlich zu machen. Gruß, Hatto _______________________________________________ Talk-de mailing list [email protected] http://lists.openstreetmap.org/listinfo/talk-de

