[gelöst] overpass-turbo auf werte hinterm "Komma" filtern

Moin ich hätte gern ma diverse overpass-abfragen.

Gegeben sei als Beispiel: http://overpass-turbo.eu/s/oE2

ich möchte gern eine Abfrage auf

distance=xxx.0 (oder .5) Beispiel-Ergebnis(se): http://www.openstreetmap.org/node/3698940887
distance=xxx Beispiel-Ergebnis(se): http://www.openstreetmap.org/node/2150406123
distance=xxx.[ungleich 0 oder 5] Beispiel-Ergebnis(se): http://www.openstreetmap.org/node/4740004653

Beim letzten Fall bin ich mir unsicher, wie kompliziert das ist, da alle Variationen zu erschlagen, mir würde schon ein matching auf die erste Zahl ausreichen.

Danke!

P.s. Ich möchte keinen Style, sondern schon eine gefilterte Abfrage

Nur jeweils der relevante Teil:


node(area.boundaryarea)
  ["highway"="milestone"][distance~"\\.[05]"];

node(area.boundaryarea)
  ["highway"="milestone"][distance~"^[0-9]{3}$"];

node(area.boundaryarea)
  ["highway"="milestone"][distance~"\\.[^05]"];

distance=xxx.0 (oder .5) "
distance=xxx +$"
distance=xxx.[ungleich 0 oder 5] … mir würde schon ein matching auf die erste Zahl ausreichen "

Edit: nur zweiter… und beim 2. Beispiel darfst dir aussuchen ob “xxx” heisst “nur Zahlen ohne Komma” oder “ein bestimmter Wert”

Sehr grosses Danke.

Bei der ersten Abfrage hab ich mich etwas undeutlich ausgedrückt, “oder .5” sollte nicht oder sondern “alternativ” sein, die richtige Abfrage kann ich mir ableiten:

[distance~"\\.[0]"];

vs

 [distance~"\\.[5]"];

Sehr schön!

Edit: http://overpass-turbo.eu/s/oE9 Ideen ham manche Leute…

Ich schon wieder :slight_smile:

Die obige Abfrage ist schon ganz gut, matcht aber nicht auf “244.046”. (is ja “.0” …)
Geht das irgendwie?

Du möchtest also alles, was nicht glatt auf .5 oder .0 endet?


[...]

node(area.boundaryarea)
  ["highway"="milestone"][distance~"\\.([^05]|[05][0-9]+)"];

Erklärung:
\. Halt der Punkt, da er ein Sonderzeichen in Regex ist, muss er “esacpted” werden mit \
( … | … ) ist ein oder, entweder das links neben dem | oder das rechts daneben muss erfüllt sein
[^05] - alles außer 0 oder 5
[05][0-9]+ beginnt mit 0 oder 5 und hat danach mind. eine (+) weitere Ziffer [0-9

Besten Dank.

Hier nochmal die Abfrage: http://overpass-turbo.eu/s/172e