Maxspeed, Fortsetzung

“Die Angabe kann und soll erfolgen”. Was ist sagt das Wiki etwas anderes?

anders als:

Dann sagt doch mal, wie man innerorts und ausserorts trennen kann.

Ich habe mal eine Sendung gesehen in der ein System besprochen wurde das in Fussgaengerzonen per Videoueberwachung automatisch nach “terroristischem Verhalten” suchen sollte. Als nachgefragt wurde was “terroristisches Verhalten” in einer Fussgaengerzone sei, kam die Antwort, das wenn man schneller oder langsamer als der Durchsnitt laefut sei das schon sehr verdaechtig…

Also anstelle eines Ordnungsgeld bei zu schnell gehen berappen zu muessen, wird man gleich nach Guantanamo geschickt… :wink:

Ich finde das auch sinnvoller, dass man die Eigenschaften, die die Straße an sich hat, in eine Relation packt, die die Straßenabschnitte enthält. Und Eigenschaften, die die Straßenabschnitte haben, kommen an die Ways. Ob das Standard ist oder nicht, weiß ich nicht. Und wenn es das nicht ist, gibt es bestimmt genug Leute, die sagen, dass Relationen zu kompliziert sind…

Zum eigentlichen Thema: Wäre es nicht besser, die Ortseingangsschilder zu taggen? Und zwar so, dass man unterscheiden kann, was “innen” und was “außen” ist. Das hat den Vorteil, dass man gut überprüfen kann, ob irgendwo eine Inkonsistenz ist (wenn ein Ort “ausläuft”). Dann müsste man z.B. in meinem Heimatdorf nur 4 Ortseingangsschilder setzen, anstatt ca. 30 ways zu taggen.

Ortseingangsschilder werden auch getaggt. Aber sie helfen nicht 100%. Es gibt ja Straßen, die innerorts sind, aber ausserhalb eines um alle Ortseingangsschilder gespannten Polygons liegen würden. Andersrum genauso

Ich würde das auch anders definieren. Eine Straße ist im Ort, wenn ich von ihr ausgehend auf anderen Straßen (also nicht auf track oder ähnlichem) zu der “Innenseite” eines Ortsausgangsschildes komme. Wenn ich an der “Außenseite” ankomme, dann ist sie außerorts. Wenn ich eine “Innenseite” und (von einem anderem Schild) die “Außenseite” erreiche, dann sind die Daten inkonsistent.

residential … im Ortsgebiet
unclassified … Freilandstraße

Was ist daran so schwierig?

Es gibt genügend Fälle, wo real keine Ortstafeln stehen, sei es weil darauf vergessen wurde, oder an Tracks und Radwegen. Selbst wenn du in solchen Fällen willkürlich Phantom-Ortstafeln mappst, werden größere Städte immer inkonsistent sein.

Bei einem vergessenen Ortseinganzschild klappt das nicht mehr. Ich würde bei OSM nie davon ausgehen, dass die Daten vollständig sind. Und bei größeren Orten wird das eine ziemlicher Rechenaufwand.

Es gibt sowohl unclassified innerorts als auch residential ausserorts. Unclassified ist im Wiki auch als Straße innerorts erwähnt. Bei residential ausserorts kann man sich vielleicht drüber streiten. Soll aber nicht das Thema sein.

wenn ich jetzt die erlaubten Geschwindigkeiten unterschiedlich darstellen will, kann ich ja die Maxspeeds in Nummern umwandeln und filtern


maxspeedfb=# select highway, maxspeed from osm_line where to_number(maxspeed,'9999D99')>0 and to_number(maxspeed,'9999D99')<30 limit 1;
 highway | maxspeed
---------+----------
 service | 5
(1 Zeile)

Jetzt stehen da aber nicht nur Zahlen drin, sondern auch “none”, “signals” und wer weiß was noch und da bricht mir Postgres ab.


maxspeedfb=# select highway, maxspeed from osm_line where to_number(maxspeed,'9999D99')>0 and to_number(maxspeed,'9999D99')<30 limit 10;
FEHLER:  ungültige Eingabesyntax für Typ numeric: » «

Wie kann ich die Query um sowas erweitern wie " select highway, maxspeed from osm_line where to_number(maxspeed,‘9999D99’)>0 and to_number(maxspeed,‘9999D99’)<30 AND wenn to_number(maxspeed,‘9999D99’) keine Fehler produziert"
?

to_number mag kein ’ ’ oder null.
versuch mal to_number(coalesce(maxspeed,‘0’),‘9999D99’)

gruss
walter

ob 0 als Ersatz für null bei dir sinnvoll ist, musst du checken. ich bin dafür zu faul hungrig.

Danke Walter.


....AND textregexeq(maxspeed,'^[[:digit:]]+(\.[[:digit:]]+)?$')

scheint auch zu gehen, aber Deine Lösung verstehe ich wenigstens :wink:

hier ist jetzt ganz Europa drin
http://suncobalt.dyndns.org:82/maxspeed.php

Wenn ich Zeit finde, mache ich sie auch noch bunt (Geschwindigkeitsabhängig)

Thomas, was ich dich schon immer mal fragen wollte: Welchen Sinn hat egtl. der Punkt in der Bildschirmmitte? Ist mir schon bei anderen Karten von dir aufgefallen.

Schau mal links unten auf der Karte, wo die Position steht…das ist der Punkt dazu.

Ich bin für 1. Ist leichter zum Auswerten und wenn die Geschwindigkeit tatsächlich reduziert wird, dann lässt es sich recht leicht filtern: source:maxspee=:urban und maxspeed>40.

PS: Ich bin kein Grüner und würde trotzdem 80 überland bevorzugen, denn auch wenn die Autos deutlich stabiler werden, für 100 frontal sind sie nicht gebaut! (Und 30er-Zone abseits der Landesstraße befürworte ich auch). So und jetzt lyncht mich :stuck_out_tongue:

hab vor einigen Minuten per Zufall die Stelle gefunden, wo man ihn abstellen kann: im Layerswitcher. Der hat mich schon immer genervt :wink:

Lynchen ist verboten. Wie wär’s denn damit? - aber gaaaaaaaanz langsam: http://archief.flabber.nl/archief/020715.php

Puh, mich kräuselt sich noch alles. Toller Trick.

Naja. Und wie willst du das machen, wenn du maxspeed=50 setzen willst? Da musst du auch ein “virtuelles Ortseingangsschild” setzen.

Du musst einmal über jeden Weg. Das ist nicht teuer.

Tracks und Radwege würde ich bei der “Innerortssuche” nicht erlauben. Zu Phantom-Ortstafeln: siehe oben.