Abfrage: Kein vorhandenes separates traffic_sign bei maxspeed-Änderung

Keine Ahnung, ob sich dies per Overpass QL Abfrage umsetzen lässt.

Also mich würden die Punkte interessieren, die eine Verbindung zu zwei highway-Wegsegmenten herstellen, bei denen die beiden verbundenen highway-Wegsegmente unterschiedliche maxspeed-Werte besitzen und bei denen sich kein separater Node neben der Fahrbahn mit traffic_sign Merkmal befindet.

Geht das?

Beispiele

Dieser Punkt
https://www.openstreetmap.org/edit?node=5777745088
sollte Teil des Ergebnis sein, er verbindet zwar highways mit unterschiedlichen maxspeed Werten (50 und 100) aber es befindet sich daneben kein Punkt mit traffic_sign.

Dieser Punkt
https://www.openstreetmap.org/edit?node=4192521921
sollte Teil kein des Ergebnis sein, da dort highways mit unterschiedlichen maxspeeds (70 und 100) verbunden sind und sich daneben ein Punkt
https://www.openstreetmap.org/node/5526197552
mit traffic_sign befindet.

Obacht.
Es gibt drei Arten, wie traffic_signs gemappt werden

  • neben der Linie am wahren Standort
  • auf einem Knoten der Linie halbwegs lotrecht zum Standort, beim Tempolimit sollte das der Trennpunkt der Linien sein (oder nahebei, wenn jemand das potentielle Ausrichtungsproblem beachtet hat)
  • an der ganzen Linie, die es betrifft

Danke - Ist größtenteils bekannt.
Da ich die erste Deiner aufgelisteten Arten bevorzuge (samt Eintragung der Verkehrzeichen Auswirkung erfasst am highway-way), daher diese Forumthread-Frage als kleine QA Aufgabe.

Habe mal probiert, hier eine Variante spezialisiert auf highway=primary:

(geht für kleinere Kartenausschnitte, benötigt manchmal einen 2. Versuch “Ausführen” und kann man bestimmt auch eleganter kürzer formulieren … )

[out:json][timeout:205];

( way["highway"="primary"]["maxspeed"="30"]({{bbox}}); ) ->.ms30w;
( way["highway"="primary"]["maxspeed"="50"]({{bbox}}); ) ->.ms50w;
( way["highway"="primary"]["maxspeed"="60"]({{bbox}}); ) ->.ms60w;
( way["highway"="primary"]["maxspeed"="70"]({{bbox}}); ) ->.ms70w;
( way["highway"="primary"]["maxspeed"="80"]({{bbox}}); ) ->.ms80w;
( way["highway"="primary"]["maxspeed"="100"]({{bbox}}); ) ->.ms100w;

( node(w.ms30w)(w.ms50w)({{bbox}}); ) ->.ms3050n;
( node(w.ms30w)(w.ms60w)({{bbox}}); ) ->.ms3060n;
( node(w.ms30w)(w.ms70w)({{bbox}}); ) ->.ms3070n;
( node(w.ms30w)(w.ms80w)({{bbox}}); ) ->.ms3080n;
( node(w.ms30w)(w.ms100w)({{bbox}}); ) ->.ms30100n;
( node(w.ms50w)(w.ms60w)({{bbox}}); ) ->.ms5060n;
( node(w.ms50w)(w.ms70w)({{bbox}}); ) ->.ms5070n;
( node(w.ms50w)(w.ms80w)({{bbox}}); ) ->.ms5080n;
( node(w.ms50w)(w.ms100w)({{bbox}}); ) ->.ms50100n;
( node(w.ms60w)(w.ms70w)({{bbox}}); ) ->.ms6070n;
( node(w.ms60w)(w.ms80w)({{bbox}}); ) ->.ms6080n;
( node(w.ms60w)(w.ms100w)({{bbox}}); ) ->.ms60100n;
( node(w.ms70w)(w.ms80w)({{bbox}}); ) ->.ms7080n;
( node(w.ms70w)(w.ms100w)({{bbox}}); ) ->.ms70100n;
( node(w.ms80w)(w.ms100w)({{bbox}}); ) ->.ms80100n;

( 
  .ms3050n;
  .ms3060n;
  .ms3070n;
  .ms3080n;
  .ms30100n;
  .ms5060n;
  .ms5070n;
  .ms5080n;
  .ms50100n;
  .ms6070n;
  .ms6080n;
  .ms60100n;
  .ms7080n;
  .ms70100n;
  .ms80100n;
) -> .msalln;

( node(around.msalln:20)[traffic_sign]; ) ->.ts;

( node.msalln(around.ts:20); ) ->.msallnts;

( .msalln; - .msallnts; ) -> .msallnwots;

.msallnwots out meta;