Wie kann man die Daten auf "Innerorts" prüfen

Ich hab’ immer mal wieder das Problem, dass ich gerne von einer Straße oder einem Geo-Punkt wüsste, ob dieser innerorts oder außerorts liegt.

Vor einigen Jahren hatte ich dafür mal ein Programm geschrieben, welches anhand von diversen Merkmalen, beispielsweise highway=residential und ähnlichem versucht Innerorts-Polygone zu bestimmen [1]. Für den damaligen Zweck war das gut genug, jetzt könnte ich aber was brauchen, was exakter ist.

Insbesondere sind mir folgende Unzulänglichkeiten meines damaligen Programms aufgefallen:

  • Teile des Stattgebiets, wie größere Parks oder größere Industriebereiche, werden als außerorts eingestuft.
  • Autobahnen, die durch das Stadtgebiet führen, werden als innerorts eingestuft.

Hat jemand dieses Problem auch schon mal gehabt und dafür eine (elegante) Lösung gefunden?

[1] Die Ergebnisse kann man auf der Webseite zum Speed-Index (http://hilden-zu-fuss.de/Speed-Index/index.php) sehen, indem man sich bei “Portraits der Gemeinden, Gemeindeverbände und Bezirke” die entsprechende Stadt aussucht.

So die Regelung. Die wird aber auch nicht konsequent angewandt und unterliegt ohnehin einem Ermessensspielraum.

Ist meine ich auf der A7, die mitten durch Hamburg geht, sogar so beschildert. Muss aber nicht falsch sein, denn:

Ich denke dass “innerhalb geschlossener Ortschaften”-Polygone wenig Sinn machen, sondern dass dies eine Eigenschaft von Straßen ist.
Teilweise kann man das an “maxspeed:type=DE:urban” ablesen, aber das wird nur knapp 50k mal benutzt.

Also ich nähere mich mal so ein wenig dem Thema. Das mit Polygonen zu lösen ist vermutlich auf den Mailinglisten und hier im Forum schon etwa 100 mal diskutiert worden und ist nicht praktikabel.

Was ist inner-/außerorts - Das ist ja eine StVO definition die sich über Beschilderung ableitet, gilt also wirklich nur auf Straßen bzw entfaltet nur dort irgendeine rechtliche Wirkung. (Parken auf der Fahrbahn etc). D.h. Parks sind weder Inner noch Außerorts.

Ich hätte das vermutlich so gelöst das ich via OSRM das prepare nur mit residential, unklassified, tertiary, secondary, primary. Dann für einen beliebigen punkt die “nearest” Funktion nutze. Dann wird mein Punkt auf die nächstgelegene Straße gematched. Dann die source:maxspeed ansehen ob da was mit DE:urban drin steht (Oder in maxspeed:type oder oder).

Evtl auch einfach alles ausser residential/unclassified wegwerfen. Gibt dann zwar einige unschärfen aber so isses nu mal. Es gibt da keine 100% Lösung.

Flo

Es gibt genau 1x boundary=city_limit, dass auch über die highway=city_limit-Knoten läuft (eben aber paar nach Mapillary zurecht geschoben, die inzwischen offenbar woanders stehen) und somit igO/agO nach StVO abbildet … Die anderen 9 mit diesem tag am Bodensee sind wohl nur Zusatztags zu landuse=residential (erfüllen also nicht den eigentlichen Zweck), paar tags gibt’s noch an Ortstafelknoten.
Ob es noch andere taggings mit diesem Zweck gibt, weiß ich nicht.
Unterscheiden muss man davon noch innerorts/außerorts bzgl. Baulast für die Straße und Innenbereich/Außenbereich nach Baurecht, die sind beide nicht unbedingt identisch mit dem StVO-igO/agO.
Prinzipielles Problem bei Polygonen: Ortstafeln stehen oft nur an den großen Straßen. Kommt man über Feldwege u.a. kleine Sträßchen rein, muss man raten, wo innerorts beginnt … Damit muss man auch einen Polygonverlauf raten …

Was sind denn Innerorts-Polygone? Und wie sieht dein Algorithmus genau aus?

Ja, den Eindruck hatte ich heute morgen, als ich die alten Polygone ausgegraben habe, auch gewonnen (müssen wir hier also nicht nochmal diskutieren). Für den Zweck damals waren sie ausreichend, weil es ohnehin nicht so exakt sein musste. Aber es wäre schon besser, wenn man jedem way mit highway=… zuordnen könnte, ob der jetzt innerorts oder außerorts (oder meinetwegen auch noch ganz was anderes) ist.

Wäre interessant zu wissen, wie beispielsweise Falschparken in Parks dann geahndet wird. Meines Wissens unterscheidet der Bußgeld-Katalog nur zwischen innerorts und außerorts… Aber abgesehen davon würde ich - jetzt rein intuitiv, nicht rechtlich - Parks in Städten als “innerorts” einstufen. Ist dann natürlich alles eine Definitionsfrage.

Hätte ja sein können, dass es was gibt; aber habe ich schon befürchtet, dass es so ist. Für Heuristiken gibt es viele Ansätze… Ansonsten könnte man natürlich auch bei jeder Straße “urban=yes” oder “urban=no” taggen. Fände ich besser als maxspeed:source etc. zu nutzen, weil es dafür ja zahlreiche Möglichkeiten gibt. Beispielsweise gibt es hier eine Straße, die innerorts 50km/h hat, aber bei der ein explizites 50er-Schild steht. Das würde dann nicht mehr als Innerorts interpretiert, obwohl es das ganz sicher ist.

Ja, das ist genau das Problem (abgesehen davon, dass die Ortstafeln auch oft nicht gemappt sind).

Naja, die Bereiche halt, die man intuitiv als Innerorts bezeichnen würde. Aber wie oben geschrieben, das ist nicht sinnvoll, das jetzt weiter zu diskutieren.

Wenn es dich wirklich interessiert, es ist unter http://hilden-zu-fuss.de/Speed-Index/details.php bei “Bewohntes Gebiet berechnen” beschrieben. “Bewohntes Gebiet” ist auch nicht ganz exakt das selbe wie “Innerorts”.

Ich danke euch für eure Antworten. Ich nehme mit:

  • Innerorts-Polygone machen keinen Sinn.
  • Innerorts ist in der StVO, wie so vieles, etwas schwammig definiert. Eine Präzision wäre wünschenswert.
  • Straßen in innerorts und außerorts zu unterscheiden schon, aber das geht mit den vorhanden Daten nur heuristisch.
  • Einen expliziten Tag für innerorts/außerorts einzuführen würde meiner Meinung nach das Problem recht gut lösen, aber das gibt es derzeit nicht. Allerdings würde man dann beim Mappen an einigen Stellen entscheiden müssen, wo die Grenze genau ist.

eigentlich sollten an allen Straßen Ortsschilder stehen, auch an kleinen, während tracks eigentlich nur außerorts vorkommen sollten (dafür gibt’s bestimmt gleich druff, weil es da vermutlich einige Gegenbeispiele gibt, für die innerorts-Frage vermutlich nicht so relevant