OpenStreetMap Forum

The Free Wiki World Map

You are not logged in.

Announcement

A fix has been applied to the login system for the forums - if you have trouble logging in please contact support@openstreetmap.org with both your forum username and your OpenStreetMap username so we can make sure your accounts are properly linked.

#1 2017-09-12 09:30:19

Lübeck
Member
Registered: 2009-02-17
Posts: 2,378

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


Android 2.2 & 4.1.1 / Webkit 3.1 / PC: Win7 64bit

Offline

#2 2017-09-12 21:17:24

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

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: 68

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,378

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


Android 2.2 & 4.1.1 / Webkit 3.1 / PC: Win7 64bit

Offline

#5 2017-09-13 18:47:16

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

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: 2,760
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,378

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


Android 2.2 & 4.1.1 / Webkit 3.1 / PC: Win7 64bit

Offline

#8 2017-09-14 09:50:44

streckenkundler
Member
From: Lübben (Spreewald)
Registered: 2012-08-09
Posts: 2,760
Website

Re: Overpass-Turbo - Berücksichtigung eines Tags in einer Relation

Lübeck wrote:

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: 68

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

Board footer

Powered by FluxBB