You are not logged in.
- Topics: Active | Unanswered
Announcement
#1 2017-09-12 09:30:19
- Lübeck
- Member

- Registered: 2009-02-17
- Posts: 2,874
Overpass-Turbo - Berücksichtigung eines Tags in einer Relation
Moin!
in https://forum.openstreetmap.org/viewtopic.php?id=59679 habe ich eine Overpass-Turbo Karte vorgestellt.
http://overpass-turbo.eu/s/rCT
Dabei wird ein spezielles Icon für Denkmäler verwendet.
Nun hat ein Mapper angemerkt von einem der Objekte (Wasserturm) die Angabe zum Denkmal in der übergeordneten Relation (http://www.openstreetmap.org/relation/4 … 4&layers=N) hinterlegt ist und bei meiner Abfrage nicht berücksichtigt wird.
Geht das überhaupt und wenn wie ?
Über eine entsprechende Rückmeldung würde ich mich freuen.
Gruß Jan
Redmi Note 9 Pro mit Android 11, Tablet Android 8.1, PC: Win10
Offline
#2 2017-09-12 21:17:24
- MKnight
- Member

- Registered: 2012-08-01
- Posts: 2,407
Re: Overpass-Turbo - Berücksichtigung eines Tags in einer Relation
Wenn ich Deine Frage richtig verstehe, musst Du die Abfrage einfach um Relationen ergänzen. Das is mit c+p+edit ne Sache von Sekunden...
gesammelte Overpass-abfragen zu QA (hauptsächlich Strassenfehler) + verschiedene Stats zu Strassen-eigenschaften
Offline
#3 2017-09-12 22:28:11
- projecter63
- Member
- Registered: 2011-07-07
- Posts: 77
Re: Overpass-Turbo - Berücksichtigung eines Tags in einer Relation
N'Abend,
hier ein Lösungsansatz ohne Styling.
Und ich habe auf die Schnelle nur einen Testkanditaten mit man_made=tower (.mmt;) (=Schloß Hartenfels in Torgau) gefunden.
Ob es solche mit
man_made=water_tower (mmwt;)
disused:railway=water_tower (.drwt;)
überhaupt in der OSM-DB gibt, müsstest Du selber suchen. Dazu die "//" in Zeile 9 oder/und 10 entfernen.
Grüße
Rainer
Offline
#4 2017-09-13 08:34:33
- Lübeck
- Member

- Registered: 2009-02-17
- Posts: 2,874
Re: Overpass-Turbo - Berücksichtigung eines Tags in einer Relation
Moin!
Danke erst einmal für die Info's, aber wenn ich das Beispiel von Rainer mir ansehe
[out:json][timeout:100];
relation["heritage"="yes"]({{bbox}});
out meta;
way(r)["man_made"="tower"] -> .mmt;
// way(r)["man_made"="water_tower"] -> .mmwt;
// way(r)["disused:railway"="water_tower"] -> .drwt;
(
.mmt;
// .mmwt
// .drwt;
);
(._;>;);
out;dann ist das für lokale Abfrage geeignet - aber was mache ich bei Auswertungen über Deutschland ?
Das ist sehr rechenintensiv und ob das überhaupt klappt wage ich zu bezweifeln.
Oder liege ich falsch mit meinen Gedanken?
Gruß Jan
Redmi Note 9 Pro mit Android 11, Tablet Android 8.1, PC: Win10
Offline
#5 2017-09-13 18:47:16
- projecter63
- Member
- Registered: 2011-07-07
- Posts: 77
Re: Overpass-Turbo - Berücksichtigung eines Tags in einer Relation
Hi,
für ganz Deutschland dann eben etwas erweitert ...
Antwortzeit der overpass-API: ca. 75 Sekunden; da passiert also 'schon was' im Hintergrund ...
Grüße
Rainer
Offline
#6 2017-09-13 20:28:38
- streckenkundler
- Member
- From: Lübben (Spreewald)
- Registered: 2012-08-09
- Posts: 5,178
- Website
Re: Overpass-Turbo - Berücksichtigung eines Tags in einer Relation
...ach da isser ja... (http://www.openstreetmap.org/changeset/52017079)
http://overpass-turbo.eu/s/rHe
Ich hatte zwar das Tagging etwas nachjustiert, war aber nicht nötig... eine Anpassung der Abfrage reichte:
[out:json][timeout:100];
area
["boundary"="administrative"]
["admin_level"="2"]
["name"="Deutschland"] -> .germany;
relation(area.germany)["heritage"~"."];
out meta;
way(r)[~"."~"tower"] -> .mmt;
// way(r)["man_made"="water_tower"] -> .mmwt;
// way(r)["disused:railway"="water_tower"] -> .drwt;
(
.mmt;
// .mmwt
// .drwt;
);
(._;>;);
out;Das "heritage"~"." bewirkt, das alles gefunden wird, was heritage hat, da sehr oft auch eine Zahl da drin feht (vgl. Tag heritage: https://wiki.openstreetmap.org/wiki/Key:heritage)
Der Abfrageteil ~"."~"tower" bewirkt, daß alles was im Value-Teil die Zeichenkette "tower" enthält, gefunden wird, egal was im key-Teil steht.
Sven
Offline
#7 2017-09-14 09:17:56
- Lübeck
- Member

- Registered: 2009-02-17
- Posts: 2,874
Re: Overpass-Turbo - Berücksichtigung eines Tags in einer Relation
Moin!
mit den Ways hat das schon ganz gut geklappt. Einmal muss ich jetzt nochmal nachhaken.
Der vorangegangene Code ist für ways - ich wollte das mal für nodes ausprobieren. Mit
...
node(r)[~"."~"tower"] -> .mmt;
...
hat es leider nicht funktioniert.
Zwei Fragen nun:
* wie kann man das für ways und nodes kombinieren
* das Ergebnis würde ich mit http://overpass-turbo.eu/s/rHJ kombinieren. Irgendwie sieht die Syntax unterschiedlich aus.
Kann man mir nochmal helfen?
Gruß Jan
Redmi Note 9 Pro mit Android 11, Tablet Android 8.1, PC: Win10
Offline
#8 2017-09-14 09:50:44
- streckenkundler
- Member
- From: Lübben (Spreewald)
- Registered: 2012-08-09
- Posts: 5,178
- Website
Re: Overpass-Turbo - Berücksichtigung eines Tags in einer Relation
Kann man mir nochmal helfen?
Ich muß mich da auch rantasten.
der Koverter (http://overpass-api.de/query_form.html) (aus overpassQL -> xml)
<osm-script output="json" output-config="" timeout="100">
<query into="germany" type="area">
<has-kv k="boundary" modv="" v="administrative"/>
<has-kv k="admin_level" modv="" v="2"/>
<has-kv k="name" modv="" v="Deutschland"/>
</query>
<query into="_" type="relation">
<area-query from="germany" into="_" ref=""/>
<has-kv k="heritage" modv="" regv="."/>
</query>
<print e="" from="_" geometry="skeleton" limit="" mode="meta" n="" order="id" s="" w=""/>
<query into="mmt" type="way">
<recurse from="_" into="_" type="relation-way"/>
<has-kv modv="" regk="." regv="tower"/>
</query>
<union into="_">
<item set="mmt"/>
</union>
<union into="_">
<item set="_"/>
<recurse from="_" into="_" type="down"/>
</union>
<print e="" from="_" geometry="skeleton" limit="" mode="body" n="" order="id" s="" w=""/>
</osm-script>Um ways und nodes zu integrieren, wäre noch ein union nötig, an welcher Stelle? hm...
Sven
Offline
#9 2017-09-14 22:01:29
- projecter63
- Member
- Registered: 2011-07-07
- Posts: 77
Re: Overpass-Turbo - Berücksichtigung eines Tags in einer Relation
N'Abend,
die Einbindung von nodes geht genauso, nur sind die Treffer sehr rar - genau einer, und der will halt "gefunden werden" ... (clickst Du die Lupe="auf die Daten zoomen")
Die Kombi von nodes und ways wäre dann das hier; die style-Definition habe ich hier gleich mit reinkopiert. Nicht wundern über die wenigen Symbole; die haben eben nur die towers, die in einer relation mit heritage=* stecken ...
Grüße
Rainer
Offline