Kein maxspeed=* gebraucht, wenn zone:maxspeed da?

Meinst Du vielleicht maxspeed:typ?
https://forum.openstreetmap.org/viewtopic.php?id=60027

Ich fand “source:maxspeed” schon immer bescheuert. Erstmal ist der Tag verdreht, denn maxspeed ist keine Eigenschaft einer Quelle und dann ist source=* schon länger in Benutzung für die Datenlage der Erfassung…

maxspeed:source sollte dann eben beschreiben ob man das aus dem Gedächtnis taggt oder grade vor Ort ist memory/survey.

Über source:maxspeed wurde zudem nie abgestimmt IIRC, es gab also gar keine Möglichkeit einen Konsens zu finden oder Kritik zu äußern.

Einem maxspeed einen Typ zuzuordnen macht für mich dagegen durchaus Sinn, vom Tag her.

Btw wird leider erst morgen was, bin heute zu müde um das alles durchzugehen.

Jap. Aber für maxspeed haben wir eh vier verschiedene Sachen, maxspeed:type und dann noch zone:maxspeed was de facto dann auch dasselbe ist, und zone:traffic spielt da manchmal auch noch mit rein.

@ Ruben
Jap, aber dann nimm doch für 30er-Zonen dann auch maxspeed:type=DE:zone30 statt zone:maxspeed=DE:30, so, wie es SC auch macht. Ich meine es ist eig. auch egal na ja Hauptsache maxspeed und irgendwas anderes mit maxspeed ist da.

ist eigentlich falsch:
maxspeed:type=DE:zone30 ist source:maxspeed=DE:zone:30 in DE - https://wiki.openstreetmap.org/wiki/DE:Key:source:maxspeed

maxspeed:type=* sollte für maxspeed=* eingesetzt werden - https://wiki.openstreetmap.org/wiki/DE:Key:maxspeed:type um daraus Länderspezifische Geschwindigkeiten abzuleiten (?) Wird leider durch SC weltweit genutzt - maxspeed:type=* is only in used in certain regions of the world namely the United Kingdom. (?)

zone:= sollte “Gebiete” erfassen in denen diese Beschränkungen gelten - https://wiki.openstreetmap.org/wiki/Proposed_features/trafficzone
(This tag overlaps somewhat with source:maxspeed=*. - https://wiki.openstreetmap.org/wiki/Key:zone:maxspeed )

EDIT:

wurde 3. Nov. 2009 aufgenommen - ob abgestimmt oder nicht (gibt es heute viele unabgestimmte) - etwas in OSM zu ändern ist “verpönnt”. Es hätte doch schon ein zwei Jahre später (oder jetzt?) "maxspeed:source=* generell geändert werden. Oder einzelne Tags, die andere ähneln - einfach umändern und festlegen:
https://wiki.openstreetmap.org/wiki/Key:check_date

Shönen Sonntag …

Osmose weist häufig auf fehlende zone:maxspeed=DE:30 (o.ä.) Werte hin, wenn die Umgebung dies suggeriert. Ich habe auch schon versehentlich bei der Korrektur den maxspeed Wert entfernt. Aus algorithmischer Sicht ergibt das ganze für mich wenig Sinn, die Maxspeedangabe ist völlig redundant, wenn ein Eintrag wie zone:maxspeed=DE:30 vorliegt. Jeder Router sollte das auslesen und in maxspeed=30 übersetzen können, selbst wenn dies nicht in den Metadaten eingetragen ist. source:maxspeed ist natürlich eine andere Geschichte, da dies häufig den bzgl. des maxspeeds nichtssagenden Wert “sign” annimmt.

Kann man aber auch andersrum sehen. zone:maxspeed ist redundant, da der Router nur an der Information maxspeed=30 interessiert ist. Die kriegt er aus maxspeed viel einfacher also sich in die Besonderheiten von verschiedenen Ländern einzuarbeiten oder Tabellen mit den verschiedenen Abkürzungen wie “DE:urban” zu führen.

source=* gibt allgemein die Quelle einer Information an.
source:maxspeed=* gibt die Informations-Quelle für Maxspeed an, zum Beispiel sign, DE:rural oder einfach nur survey oder der Link zu einem Mapillary-Bild. Dabei ist nicht maxspeed eine Eigenschaft von source, sondern *** ist die Eigenschaft von source:maxspeed.
Daneben gibt es noch source:addr=* und source:geometry=* die ähnlich gelagert sind.

Wenn man zone:maxspeed=DE:30 benutzt, habe ich kein Problem damit, wenn redundant maxspeed=30 angegeben wird. Bei dem ähnlichen zone:traffic=DE:urban ist ebenfalls maxspeed=50 impliziert, aber achtet jemand auf sowas? Vor allem, trotz dass nicht für Renderer oder andere SW getagged werden soll, welches Fahrassistenzsystem wertet zone:traffic=DE:urban aus? Im Gegenzug dazu kann man eine Datenbank leicht automatisiert bereinigen, wenn die Auswertung entsprechend vorbereitet wurde. Nur muss dazu genügend Datenmaterial vorhanden sein, damit es sich lohnt, zone:traffic=DE:urban auszuwerten.

zone:maxspeed=* selbst ist nicht redundant, da sich hier weitere Verkehrsvorschriften ändern. Bei Tempo-30-Zonen zum Beispiel:

  • Radfahren auf Straßen erlaubt, auch wenn Radwege vorhanden sind
  • Es gibt keine Vorfahrtsstraßen
    Ich weiß, das selbst Kommunen das falsch handhaben, dennoch gibt es entsprechende Verwaltungsvorschriften, die eine entsprechende Beschilderung vorschreiben.

Kann ich nicht so stehen lassen, denn auch heute schon müssen Router implizierte, länderabhängige Geschwindigkeitsbegrenzungen berücksichtigen. Auf Autobahnen oder Landstraßen zum Beispiel, oder autobahnähnlichen Bundesstraßen. Da macht zone:maxspeed=DE:motorway plötzlich Sinn. Vor allem, wenn eine allgemeine Geschwindigkeitsbegrenzung auf Autobahnen eingeführt werden oder nur geändert werden sollte, wie kürzlich in den Niederlanden.

Auch auf Autobahnen und Landstraßen werden explizite Maxspeed angaben gemappt. Die Diskussionen in der Vergangenheit zu DE:rural und DE:urban waren nicht so, dass es einen Konsens für die Umwandlung von expliziten zu impliziten Angaben gegeben hätte. Und so steht es auch im Wiki. Die Verbreitung der impliziten Angaben beruht “vor allem durch die Implementierung in StreetComplete” (Zitat Wiki). Dort steht "Immer gebräuchlicher wird auch die Verwendung von maxspeed:type=<Ländercode>:, zuletzt vor allem durch die Implementierung in StreetComplete. Dieser Schlüssel sollte anstelle von maxspeed=* verwendet werden. ". Es mag ja sein, dass eine implizite Angabe Vorteile bietet, aber was man taggen “sollte” wird nicht von iD oder StreetComplete entschieden.

leider zunehmend doch. iD user haben oft die tags überhaupt nicht im Blick (um sie zu sehen muss man erstmal aktiv werden, per default sind sie “versteckt”), und bei streetComplete entscheidet der oder die Entwickler, welche tags auf alle Objekte gehören (das ist ja gerade das “complete” im Namen, und das Prinzip der app).

Derzeit halte ich es nicht für schlecht, die zusätzliche Information maxspeed:type=<Ländercode>: einzubringen. Damit wird es möglich, gesetzliche Geschwindigkeitsbegrenzungen bei Änderung schnell und flächendeckend einzubringen. Um in diesem Zusammenhang maxspeed=* zu Entfernen, halte den gegenwärtigen Zeitpunkt als zu früh. Kann aber später maschinell nachgeholt werden.

Implizierte Angaben sind auch aus dem Grunde sinnvoll, da man damit sehr viele Daten in der Datenbank einsparen kann. Wenn sie nicht zutreffend sind, können sie überschrieben werden. Sie sollten aber nicht zu tief im Editor versteckt sein, sodass man sie zur Kontrolle einfach aufrufen und bei Bedarf ändern kann. Nur die zusätzlichen und die geänderten Daten werden gespeichert, die Implizierten eben nicht und werden immer nur aus den vorhandenen Daten hergeleitet. So sind viele access-Angaben impliziert und leiten sich aus dem Wege-Typ ab.

Auf einer Seite können die VZ an de Weg gemappt werden (Rad- und Fußwege) aber nicht die abgeleiteten entfernt werden.
Hier sollen VZ an den Weg gemappt werden und die abgeleiteten entfernt werden.

maxspeed:type=<Ländercode>: sollte nur auf der Insel gelten und nicht in DE oder anderen Ländern source:maxspeed=<Ländercode>: ersetzen. Das kann ich dann zur Änderung weltweit genauso verwenden.

Es kommt immer auf den Mapper an, wie er die Daten aufnimmt und einträgt
Wenn maxspeed=50, source:maxspeed=DE:urban dran steht und plötzlich per Gesetz “30” wird, lässt es sich genauso ändern. Was wird aber dann mit den maxspeed=30, source:maxspeed=sign oder DE:zone:30? - die müssen ja sicherlich auch geändert werden.

Irgendwie wäre ein maxspeed=DE:zone30 anstatt maxspeed=30 und maxspeed:type=DE:zone30 viel sinnvoller.

Der Datennutzer muss nur noch einen Tag auswerten und es ist klar, dass es eine Zone oder eben ein Gebiet (=“DE:urban”) ist.

Wenn dort maxspeed=30 drin steht, ist klar, dass es von einem Schild kommt… und damit spart man sich auch tolle Kombinationen wie maxspeed:type:backward=DE:zone30 oder ist es maxspeed:backward:type=DE:zone30?

Spätestens mit zeitlichen Beschränkungen wird es dann ziemlich unübersichtlich - wobei ich das Gefühl hab, dass die zunehmen und nicht ab.

Ein Beispiel wäre hier, da gibt’s alles, source:maxspeed=, maxspeed:type=, maxspeed:forward= und maxspeed:backward. Ein Parser muss sich schon ziemlich anstrengen, da etwas sinnvolles rauszulesen.

https://www.openstreetmap.org/way/41681431

-1, genau das wollte man verhindern weil es die auswertung viel komplizierter macht und weil es alle bestehenden Anwendungen kaputt macht. Mit maxspeed=zahl muss man nur einen tag auswerten, das source bzw. type tag kann man als Datenauswerter ignorieren (außer es kommt ein „Optimierer“ der das maxspeed dann weglässt, was aber entgegen dem dokumentierten Weg ist).

Deine Beispiele maxspeed:type:backward=DE:zone:30 gibt es nicht, Zone ist Zone, in beide Richtungen…

Moin,

Ein Router(-parser) muss nur maxspeed und maxspeed:forward/backward sowie conditional auslesen - ihn interessieren die source und type doch gar nicht.

Er müsste sich allerdings ziemlich anstrengen, um aus DE:zone30, DE:urban oder DE:rural etc. die ihn interessierende Geschwindigkeit rauszulesen.

Es ist nunmal ein Unterschied, ob man erst jahrelang entwickelt, um den besten Code/Datenstruktur zu haben, den man dann präsentiert - oder sich ein freies Projekt jahrelang entwickelt und es zeitgleich nutzen lässt.

Ich finde die Trennung von Nutzdaten (maxspeed= bzw. conditional) und reinen Verwaltungsdaten (type, source etc.) sehr sinnvoll.
Erstere sind einfach auszuwerten - und für Letztere kann man sich meinetwegen erstmal ein sinnvolles Konzept überlegen, das kann dann eben auch länger dauern.

Grüße
Georg

Neben source:maxspeed und maxspeed:type auch noch das Ding! :frowning:
Ich habe kein Problem damit Router zu zwingen die tatsächliche Geschwindigkeit dynamisch per Lookup zu ermitteln. Aber da müßte man sich mal auf einen Schlüssel einigen… :stuck_out_tongue:

Der kleinste gemeinsame Nenner ist und bleibt “maxspeed”.

maxspeed ist sei Jahren etabliert und bewährt.

Ich verstehe nicht, warum man
“maxspeed:type=DE:zone30”
schreibt.
Nach meinem Verständnis ist ist der “Typ” die “Zone”, egal ob es eine 20-er-, 30-er- oder sonstwas-Zone ist.
“maxspeed:type=DE:zone” würde ich als korrekt empfinden und die Geschwindigkeit selbst bleibt am maxspeed.

Bernhard

sehe ich im Prinzip auch so (Zonen wurden von den deutschen Mappern hinzugefügt, wir haben so was hier nicht oder höchst selten)

Nun der Unterschied zwischen maxspeed=50 und maxspeed=DE:urban ist eben, dass es nicht explizit sondern implizit ein Geschwindigkeitslimit gibt. Der Unterschied für den Datenauswerter wäre, ein “Stadt-Schild” einzublenden, anstatt eine umkreiste 50.

Ein maxspeed:type=DE:urban und maxspeed anders als 50 ergibt aber keinen Sinn, wir pflegen also Daten doppelt ohne irgendwelchen Mehrwert.

Ich glaub nicht, dass es ein Problem für einen Datenauswerter ist, vier oder fünf Werte in Zahlen anhand einer Tabelle umzuwandeln.

  1. Glauben heißt nicht wissen.
  2. Doch, Nichtprofis erschwert es das erheblich. Und ich lege großen Wert darauf, dass das ein Jedermannprojekt bleiben soll.
  3. Die meisten Mapper sind jedenfalls keine Profis. Denen fällt das Erfassen/Prüfen eines einfachen Schlüssels erheblich leichter.
  4. Redundanzen haben immer einen Mehrwert. Widersprüche stören nur Datenpuristen, die das Gefühl scheinbar “fehlerfreier” (da redundanzfrei=widerspruchsfrei) Daten haben wollen.
  5. OSM ist ein weltweites Projekt. Es geht also nicht nur um eine Tabelle mit vier oder fünf Werten. Und selbst das bedeutet, dass man sich die jeweils basteln oder besorgen und pflegen muss. Siehe 2.

Man sollte daher einfach aus der Sicht denken:

  1. einfaches erfassen und auswerten mittels maxspeed.
  2. Darauf aufbauend weitere Informationen wie source* oder dergleichen hinzufügen.
  3. Wenn OSM zu komplex wird, nimmt zwangsläufig die Zahl der Mapper ab, die das pflegen können oder wollen…

keep KISS

Um das ursprüngliche Problem nochmal aufzugreifen, ich schätze mal, dass das Changeset 88588990 diese Reparatur sein sollte. Leider habe ich das Gefühl, dass hier einfach nur automatisch entsprechende maxspeed=50 oder maxspeed=100 zu bereits mit maxspeed:type=* getaggten ways hinzugefügt wurden, ohne tatsächlich die Korrektheit zu überprüfen. Zum Beispiel glaube ich nicht, dass hier im Wohngebiet Tempolimit 100 gilt. Auch bin ich mir ziemlich sicher, dass auf der Brücke der B 229 über die Wuppertalsperre entweder 70 oder 50 gilt. Auf der Lüttringhauser Straße bin ich mir sogar zu 100% sicher, dass dort Tempo 50 gilt. Ist es geplant, da nochmal nachzubessern?

Grüße, Recoil