OpenStreetMap Forum

The Free Wiki World Map

You are not logged in.

#1 2018-06-12 15:07:18

MKnight
Member
Registered: 2012-08-01
Posts: 1,654

[gelöst] overpass: milestone in der Nähe von milestone

Ich hab mir via modifizierung einer anderen Abfrage mal folgendes Dingsi gebaut:

    node({{bbox}})
    	["highway"="milestone"]
  ->.milestones;  

    node({{bbox}})(around.milestones:50)
  		["highway"="milestone"]
  ->.nearbystone;

 ((.nearbystone;);>;); out meta;

Probleme hierbei:
- Die Abfrage macht nicht, was ich will wink
- Die Abfrage findet "sich selbst", also einzeln stehende Milestones sind sich selbst in der Nähe
- egtl. ist das gar nicht die Abfrage, die ich will, sondern ich suche eine, die KEINE milestones in der Nähe von milestones findet. (das ist hier nur die Annäherung an das eigentliche Problem)

Was mache ich falsch, bzw. wie komme ich an "einzelne" Milestones heran?

Last edited by MKnight (2018-10-02 14:46:36)


gesammelte Overpass-abfragen zu QA (hauptsächlich Strassenfehler) + verschiedene Stats zu Strassen-eigenschaften

Offline

#2 2018-06-13 15:30:45

Harald Hartmann
Member
From: 98667 Schönbrunn
Registered: 2014-04-02
Posts: 2,718
Website

Re: [gelöst] overpass: milestone in der Nähe von milestone

Zuerst dachte ich, naja, einfach milestones von nearbystones abziehen - aber da kommt dann eher das Gegenteil raus.
Aber kommt man da nicht irgendwann in eine endlose Rekursion?
Naja, und diese "IST NICHT IN" Abfrage in overpass, da hapert es bei mir auch, das bekomm ich nicht in meinen Nüschel.
So ein ähnliches Problem hatte ich ja auch bei Ermittle nur Knoten, die nicht zu einem Way gehören

Last edited by Harald Hartmann (2018-06-13 15:32:12)


Mein aktives Gebiet: Gemeinde Schleusegrund
Fingerprint meines Schlüssels: 71F7 3CD9 B647 9079 6B88 326E 8B8B 72AE 34F9 5AAD

Offline

#3 2018-06-13 16:53:49

MKnight
Member
Registered: 2012-08-01
Posts: 1,654

Re: [gelöst] overpass: milestone in der Nähe von milestone

Das Problem mit dem Nüschel hab ich auch, deswegen versuche ich mich da ranzutasten. Nun bin ich aber erst mal an einem Punkt, wo mir unklar ist, warum obige Abfrage (siehe Link) schon nicht das macht, was ich erwarte.


gesammelte Overpass-abfragen zu QA (hauptsächlich Strassenfehler) + verschiedene Stats zu Strassen-eigenschaften

Offline

#4 2018-06-13 17:09:08

milet
Member
Registered: 2017-07-13
Posts: 70

Re: [gelöst] overpass: milestone in der Nähe von milestone

Vielleicht könnte man das "sich-selbst-finden" mit einem Vergleich der Objekt-ID ausfiltern.
Ich bekomm es aber auch gerade nicht hin hmm

Offline

#5 2018-06-13 17:41:32

Harald Hartmann
Member
From: 98667 Schönbrunn
Registered: 2014-04-02
Posts: 2,718
Website

Re: [gelöst] overpass: milestone in der Nähe von milestone

Also, dass was ich oben mit der "Rekursion" geschrieben habe, ist ja auch erst einmal Mist. Letztendlich geht es ja bei Overpass vielmehr um die "Mengenlehre". Normalerweise hätte ich es wie folgt erwartet:
Zuerst suche ich nach allen Milestones (Menge A), dann suche ich in dieser Menge nach "direkten" NachbarMilestones und erhalte Menge B, abschließend subtrahiere ich die Menge B von A. Leider habe ich keinen Hinweis darauf gefunden, ob in der around-Suche die initialen für diese Suche verwendeten Objekte eben auch mit in die Menge landen ... danach schaut es ja im Moment aber ja aus.

@MKnight: Rückfrage, ob ich dich richtige verstanden habe: du möchtest in deiner o.g. Abfrage bzw. verlinkten Kartenausschnitt nur den EINEN Milestone im Süden und nicht mehr die beiden Milestones im Norden am Thüringer Tor, richtig?


Mein aktives Gebiet: Gemeinde Schleusegrund
Fingerprint meines Schlüssels: 71F7 3CD9 B647 9079 6B88 326E 8B8B 72AE 34F9 5AAD

Offline

#6 2018-06-13 18:28:31

MKnight
Member
Registered: 2012-08-01
Posts: 1,654

Re: [gelöst] overpass: milestone in der Nähe von milestone

Harald Hartmann wrote:

@MKnight: Rückfrage, ob ich dich richtige verstanden habe: du möchtest in deiner o.g. Abfrage bzw. verlinkten Kartenausschnitt nur den EINEN Milestone im Süden und nicht mehr die beiden Milestones im Norden am Thüringer Tor, richtig?

Haargenau. (Konkret geht es darum, dass zumindest an Autobahnen die immer im Paar auftauchen müss(t)en.)

Warum in meiner Abfrage die Doppelten gefunden werden ist mir mittlerweile (glaube ich) klar: Stein a ist around b und Stein b ist around a.

Was aber nicht erklärt, warum die Abfrage AUCH einzelne auswirft.


gesammelte Overpass-abfragen zu QA (hauptsächlich Strassenfehler) + verschiedene Stats zu Strassen-eigenschaften

Offline

#7 2018-06-13 21:27:15

projecter63
Member
Registered: 2011-07-07
Posts: 72

Re: [gelöst] overpass: milestone in der Nähe von milestone

Hmm,

mit "(around.milestones:0)" werden ebenfalls alle Steine ausgegeben, d.h. ausgehend von den Objekten in ".milestones;" erfüllen alle diese Objekte bereits schon selbst die im zweiten Teil formulierte (gleiche) Bedingung.
Frage an die Spezis: kann man "around" einen Distanzbereich zuweisen - etwa in der Form "(around.>1) AND (around.<50)" oder lassen sich auf andere Art die bereits bekannten Objekte der ersten Abfrage aus der Ergebnismenge der zweiten Abfrage ausschliessen, wenn diese über die keys nicht unterscheidbar sind ?

Grüße
Rainer

Offline

#8 2018-06-14 00:37:27

axelr
Member
Registered: 2014-03-18
Posts: 193

Re: [gelöst] overpass: milestone in der Nähe von milestone

Ich weiss zwar nicht was du suchst, aber vermutlich sind es Dubletten in der Nähe:

node({{bbox}})["highway"="milestone"]->.milestones;  
foreach.milestones->.a((.dubletten; (node(around.a:50).milestones;- .a;);)->.dubletten;);
//(.milestones;); // Ausgabe alle
(.dubletten;); // Ausgabe Dubletten
//(.milestones;- .dubletten;); // Ausgabe ohne Dubletten
out meta qt;

Last edited by axelr (2018-06-14 01:26:19)

Offline

#9 2018-06-14 10:39:00

MKnight
Member
Registered: 2012-08-01
Posts: 1,654

Re: [gelöst] overpass: milestone in der Nähe von milestone

Sehr schön, das isses, danke.


gesammelte Overpass-abfragen zu QA (hauptsächlich Strassenfehler) + verschiedene Stats zu Strassen-eigenschaften

Offline

#10 2018-06-14 15:06:35

Harald Hartmann
Member
From: 98667 Schönbrunn
Registered: 2014-04-02
Posts: 2,718
Website

Re: [gelöst] overpass: milestone in der Nähe von milestone

Aber um es nochmal anders zu sagen: genau diese foreach hätte ich persönlich eigentlich hinter around.milestones:50 erwartet ...


Mein aktives Gebiet: Gemeinde Schleusegrund
Fingerprint meines Schlüssels: 71F7 3CD9 B647 9079 6B88 326E 8B8B 72AE 34F9 5AAD

Offline

#11 2018-06-15 07:54:02

mmd
Member
Registered: 2010-11-06
Posts: 1,522

Re: [gelöst] overpass: milestone in der Nähe von milestone

Wenn ich das richtig verstehe, gibt's in der Beispielsammlung ein analoges Beispiel als Isolated Buildings, das auch kürzer als die vorgeschlagene Variante ist.

https://wiki.openstreetmap.org/wiki/Ove … _Buildings

Offline

#12 2018-06-15 08:19:02

Harald Hartmann
Member
From: 98667 Schönbrunn
Registered: 2014-04-02
Posts: 2,718
Website

Re: [gelöst] overpass: milestone in der Nähe von milestone

Haha, und ich War gestern bei dem schools-streets Beispiel direkt oben drüber hängen geblieben... wäre ich mal noch ein bisschen nach unten gescrollt.
@mmd: kannst du  vielleicht noch etwas über das o.g. Verhalten sagen, warum bei around.subset:# auch die Elemente des Subsets mit dabei sind?


Mein aktives Gebiet: Gemeinde Schleusegrund
Fingerprint meines Schlüssels: 71F7 3CD9 B647 9079 6B88 326E 8B8B 72AE 34F9 5AAD

Offline

#13 2018-06-15 09:12:53

axelr
Member
Registered: 2014-03-18
Posts: 193

Re: [gelöst] overpass: milestone in der Nähe von milestone

Beim Leistungstest des Beispielsammlung erhielt ich einen Abbruch mit Fehlermeldung.
Error: runtime error: […] Please check /api/status for the quota of your IP address.

Wo kann ich da etwas checken ?

Last edited by axelr (2018-06-15 09:13:59)

Offline

#14 2018-06-15 11:07:09

Harald Hartmann
Member
From: 98667 Schönbrunn
Registered: 2014-04-02
Posts: 2,718
Website

Re: [gelöst] overpass: milestone in der Nähe von milestone

http://overpass-api.de/api/status

Vermutlich hattest du gleichzeitig mehr als zwei laufende Abfragen

Last edited by Harald Hartmann (2018-06-15 11:08:34)


Mein aktives Gebiet: Gemeinde Schleusegrund
Fingerprint meines Schlüssels: 71F7 3CD9 B647 9079 6B88 326E 8B8B 72AE 34F9 5AAD

Offline

#15 2018-06-15 11:07:22

mmd
Member
Registered: 2010-11-06
Posts: 1,522

Re: [gelöst] overpass: milestone in der Nähe von milestone

Die Query müsste so aussehen: http://overpass-turbo.eu/s/zB0

axelr wrote:

Beim Leistungstest des Beispielsammlung erhielt ich einen Abbruch mit Fehlermeldung.

Vermutlich ist die BBOX zu groß und bei mehrmaligem Test ist dein Quota einfach aufgebraucht. Es steht ja in der Erklärung zum Beispiel dass die Query langsam ist und noch einen Fix benötigt. Einfach ein paar Minuten warten...

Harald Hartmann wrote:

warum bei around.subset:# auch die Elemente des Subsets mit dabei sind?

Ich denke mal, dadurch dass sie Radius 0 haben dürften sie automatisch bei jeden beliebigen Radius selbst mit drin sein. Vielleicht verstehe ich die Frage auch nicht, ich habe mir den Thread nicht im Detail durchgelesen.

Last edited by mmd (2018-06-15 11:10:32)

Offline

#16 2018-06-15 11:11:57

Harald Hartmann
Member
From: 98667 Schönbrunn
Registered: 2014-04-02
Posts: 2,718
Website

Re: [gelöst] overpass: milestone in der Nähe von milestone

Also müsste man dort >0 einbauen...
Zumindest habe ich auch meine Vorredner so verstanden, dass sie das nicht erwarten würden, dass das Element selbst mit dabei ist.


Mein aktives Gebiet: Gemeinde Schleusegrund
Fingerprint meines Schlüssels: 71F7 3CD9 B647 9079 6B88 326E 8B8B 72AE 34F9 5AAD

Offline

#17 2018-06-15 13:17:29

axelr
Member
Registered: 2014-03-18
Posts: 193

Re: [gelöst] overpass: milestone in der Nähe von milestone

Harald Hartmann wrote:

http://overpass-api.de/api/status

Vermutlich hattest du gleichzeitig mehr als zwei laufende Abfragen

Danke, es ging um die Adresse.

In der Beispielsammlung == 1 findet alleinstehende milestones,
> 1 findet Punkte mit einem oder mehreren Partnern.
out center; ist bei nodes verwirrend.
Wichtig wäre auch die copy and paste Fehler mit mit around:0 oder around:1 abzuklopfen.

Ob das laufende Rausschreiben wie Beispielsammlung oder das Speichern in einer Variablen wie unter #8 der schnellere Weg ist kann ich noch nicht sagen.

Offline

#18 2018-06-15 14:59:39

mmd
Member
Registered: 2010-11-06
Posts: 1,522

Re: [gelöst] overpass: milestone in der Nähe von milestone

axelr wrote:

Ob das laufende Rausschreiben wie Beispielsammlung oder das Speichern in einer Variablen wie unter #8 der schnellere Weg ist kann ich noch nicht sagen.

Ist eigentlich mehr oder weniger Geschmacksache, der Unterschied wird nicht so wesentlich sein. Die Gründe warum http://overpass-turbo.eu/s/zBw auf der Produktion 2s und auf der Dev-Instanz 200ms benötigt liegen eher woanders (u.a. im around Filter und dem Lesen der relevanten Nodes). Darauf bezieht sich ja auch der Kommentar in der Beispielsammlung, dass die Query nicht so flott ist.

Last edited by mmd (2018-06-15 15:11:06)

Offline

#19 2018-10-02 11:39:43

MKnight
Member
Registered: 2012-08-01
Posts: 1,654

Re: [gelöst] overpass: milestone in der Nähe von milestone

Ich hab noch bisschen an der (ursprünglichen) Abfrage rumgestrickt, da sie je nach Grösse der bbox oder des Gebietes in ein timeout reinläuft:
http://overpass-turbo.eu/s/Cr2

hier wird jetzt zusätzlich noch ein Weg (im Beispiel A 4) eingegrenzt, der die Milestones enthält.


gesammelte Overpass-abfragen zu QA (hauptsächlich Strassenfehler) + verschiedene Stats zu Strassen-eigenschaften

Offline

Board footer

Powered by FluxBB