[Talk-de] Hausnummern interpolieren / Re: Richtungsabhaengige oder Abschnittsweise attribute/tags

RalfGesellensetter rgx at gmx.de
Sa Okt 25 15:23:33 UTC 2008


Am Samstag 25 Oktober 2008 schrieb RalfGesellensetter:
> Eine Straße, an der mindestens die vier Eck-Hausnummern eingetragen
> wurden, hilft hier schon weiter. Natürlich muss klar sein, welches
> System verwendet wird ("rechts gerade" oder "links auf/rechts ab").
> Dies wäre vielleicht gesondert zu taggen.

Noch etwas genauer:
Bei dem in Deutschland üblichen Zickzacksystem (links ungerade, rechts 
gerade), bei dem in Berlin und Niedersachsen anzufindenen 
Hufeisensystem (eine Seite hin, andere Seite zurück) und auch bei dem 
v.a. in lateinamerikanischen Städten verbreiteten Blocksystem 
(entfernungsgebunden) sollte (bei geradlinig verlaufenden Straßenzügen) 
das folgende Interpolationsverfahren funktionieren:

Falls Straßenname + Hausnummer keinen Treffer ergibt, erstelle eine 
Kollektion aller verfügbaren Hausnummern der gleichen Restklasse Modulo 
2 (wenn also die gesuchte Hausnummer X [un]gerade ist, erstelle eine 
Liste aller [un]geraden Hausnummern). Ermittele die Position der nächst 
kleineren Hausnummer (N1) und der nächstgrößeren (N2) und bestimme 
DX:=(X-N1) und DN:=(N2-N1) (beides sind gerade Zahlen!). Die 
interpolierte Position ist linear interpoliert P1+(P2-P1)*DX/DN.

Dies funktioniert bereits, wenn jeweils die erste und letzte Hausnummer 
auf jeder Straßenseite erfasst sind. Bei Kurven oder Knicken erfordert 
es in der Tat einige Rechenleistung, die interpolierte Position entlang 
des Streckenzuges zu ermitteln, die den Straßenzug beschreibt. Dies 
hängt maßgeblich auch von der Dichte der Wegpunkte ab - vielleicht 
lässt sich ab einer Dichte von mehr als 1 Punkt auf 5 Meter der Index 
der Wegpunkte zur Interpolation heranziehen (statt der Entfernung).

>
> Da Straßensegmente in der Regel gerichtet sind, ließe sich diese
> Richtung für eine Angebe "rechts" bzw. "links" verwenden. Natürlich
> ist dies anfällig gegen leichtfertiges Ändern der Richtung durch
> ahnungslose Editoren...

Nach wie vor fehlt die Möglichkeit, bei Features, die auf Straßenpunkten 
liegen, ein Attribut "in Fahrtrichtung rechts bzw. links liegend" 
hinzuzufügen (gilt auch für Bushaltestellen). Jedoch heißt dies ja, 
dass am selben Punkt kein gegenüber liegendes Feature getaggt werden 
kann (evtl. über Relationen?). Letzendlich müssten einzelne Tags 
getaggt werden (z.B. highway=bus_stop:left) -geht sowas?

Gruß
Ralf




Mehr Informationen über die Mailingliste Talk-de