OverpassTurbo für Dummies

Danke für den Link :slight_smile:
und dafür ,dass du den thread wieder vom PTv2 zurück auf seine eigentliche Bestimmung gebracht hast.

Hallo zusammen,
ich versuche mit Overpass-Turbo eine Karte der Bundesländer zu erzeugen.
Konkret geht es um http://overpass-turbo.eu/s/7Fu.

Meine Schwierigkeit ist, dass ich die beiden POI pro Bundesland (label und admin_centre) nicht angezeigt haben will.
Mit MapCSS kann ich zwar alle Nodes ausblenden:

node { width: 0;   symbol-size: 0;   fill-opacity: 0; } 

Wenn ich aber nur die beiden genannten Nodes ausblenden will gelingt mir das nicht:

node[role=admin_centre] { width: 0;   symbol-size: 0;   fill-opacity: 0; }

Bei den Relationen ist mir schon aufgefallen, dass man in MapCSS keine Anführungszeichen verwenden darf, man also

relation[name=Baden-Württemberg] {fill-color: yellow; }

schreiben muss und nicht wie in der query-language

{{nominatimArea:"Baden-Württemberg"}}

Gibt es eigentlich eine Debug-Möglichkeit für MapCSS?

Viele Grüße, gridy

Hilft Dir:


relation[boundary=administrative] node { width: 0;   symbol-size: 0;   fill-opacity: 0; } 

weiter? (Schmeisst alle Nodes innerhalb der Relation weg)
Ich verstehe Deinen Kommentar nicht ganz:


/* So kann ich die POI ausblenden, habe damit aber leider alle Nodes ausgeblendet. */

Du willst noch weitere POI in die Abfrage haben, oder welche Nodes genau meinst Du?

Hallo MKnight,
vielen Dank für die schnelle Antwort. Ja das hilft schon mal sehr. Ich wusste nicht, dass man die Bedinungen auch hierarchisch verknüpfen kann.

Zu

Ich will die POI (also in dem Fall die Haupstädte der Bundesländer) nicht anzeigen, aber ggf. noch weitere Nodes, wenn ich die Abfrage noch erweitere.

Weitere Frage:
Ich habe Deinen Hinweis eingebaut in: http://overpass-turbo.eu/s/7FW. Jetzt sieht es schon ganz gut aus. Aber scheinbar funktioniert meine Formattierung zum Namen des Bundeslandes nicht:

   text-color: green;
   text: name:de;
   text-position: center;

Sollte eigentlich den Text in Grün im Zentrum des Gebiets erscheinen lassen, aber die Schrift ist bei mir Schwarz und bei BaWü auch nicht im Zentrum. Scheinbar habe ich da die Anleitung von http://wiki.openstreetmap.org/wiki/MapCSS/0.2 nicht ganz richtig verstanden.
Hast Du eine Idee, wie man das hinbekommt?

Weitere Frage: Ich wollte das ja auf ganz Deutschland ergänzen, aber http://overpass-turbo.eu/s/7FR steigt mir immer wieder aus. Sind da dann zu viele Daten im Spiel oder ist mein Skript falsch?

Viele Grüße, gridy

Hallo Gridy,
du musst auch bedenken, dass mapcss von eigentlich allen Tools nur teilweise unterstützt wird. Siehe dazu die Tabellen im Wiki unter Vocabulary. Die Implementierung in OverpassTurbo erscheint da zwar nicht, aber hier gibt es ein paar Informationen, was alles unterstützt wird: http://wiki.openstreetmap.org/wiki/Overpass_turbo/MapCSS

Ja, das dürften zu viele Daten sein. Wenn ich das mal extrapoliere von einzelnen Bundesländern, dürften es knapp 100 MB Daten sein, die da kommen müssten. Du brauchst allerdings nicht alle Wege und deren Nodes für deinen Zweck. Es reicht die Geometrie der 16 Relationen. (Zumindest sollten es 16 sein… irgendwo ragt das niederländische Groningen aber nach Deutschland rein…)
So bleibt es bei 20 MB in einer verträglichen Zeit.
http://overpass-turbo.eu/s/7FX

Was hast Du eigentlich genau vor? Ich glaub mit overpass(turbo) biste da nich so gut beraten…

Ich hab den timeout bei der Abfrage erhöht und komme auf 20MB. Incl. Browser abschiessen, weil er nich mehr reagiert hat.

Ich möchte herausfinden, welche Bus-Relationen (route=bus) in einem Gebiet nicht Mitglied einer Master-Relation (route_master=bus) sind.

Wie bekomme ich mit overpass heraus, ob eine Relation (nicht) Kind einer Master-Relation ist?

Habe ich einen taktisch unklugen Zeitraum (Wochenende) für diese Frage gewählt? Ich hoffe: ja und erlaube mir deshalb, die Frage noch einmal in Erinnerung zu bringen.

Da wäre ich auch schon wieder mal:
ich möchte die wege mit der Rolle “from” bzw. “to” der “relation=restriction” mit verschiedenen Farben anzeigen lassen. Soweit bin ich schon mal:
[out:json];
(rel[“type”=“restriction”];>;);
out skel;

{{style:

Wie gehts nach style weiter?

Mapcss kann das hier:

relation[type=restriction] way[role=to] {color:red;}

Overpass Turbo scheint das aber nicht zu unterstützen.

Danke, dann eben nicht :frowning:

Ich beschäftige mich mal wieder mit den Fahrspuren und Qualitätssicherung. Für Autobahnen ist das ja noch gut machbar, wie mueschel z.B. hier:
http://forum.openstreetmap.org/viewtopic.php?pid=477425#p477425
und MKnight in dieser Sammlung:
https://wiki.openstreetmap.org/wiki/User:Dex2000#Overpass-turbo-abfragen_f.C3.BCr_turn:lanes-Fehler_und_wahrscheinliche_Fehler
zeigen.
Auch mueschels lane Visualizer hilft da http://osm.mueschelsoft.de/cgi-bin/render.pl

Problematisch wird es jedoch spätestens dort, wo wir auch Fahrradspuren haben, weil lanes=* blöderweise etwas unglücklich nur die Spuren für den motorisierten Verkehr zählt. An Stellen wie diesen:
https://www.openstreetmap.org/way/326338169
kommt man da ganz schnell ins Schleudern, wenn man auswerten will, ob alle :lanes-Varianten vollständig erfasst wurden. cycleway=lane hilft da auch nicht.
Die einzige näherungsweise Lösung wäre, die verschiedenen :lanes: je Richtung zu checken, ob bei allen die gleiche Anzahl an “|” (Langstrichen) vorhanden ist.
Wenn man zuerst prüft, ob überhaupt Fahrradspuren erfasst sind, indem man bicycle:lanes:
sucht, könnte man bei ways ohne diese mit der Anzahl aus lanes bei oneway=yes oder sonst aus lanes:* arbeiten. Damit könnten wir doch zumindest eine größere Teilmenge “erschlagen” :confused:
Farbliche Hervorhebung von ways mit bicycle:lanes:* könnte dann markieren, wo Handarbeit durch Analyse der tags am way erforderlich wird.

Ich bitte um Lösungsvorschläge für overpass-turbo.

Am einfachsten wäre natürlich, wenn wir mit lanes die Anzahl aller Spuren erfassen würden. Aber dafür ist der Zug wohl abgefahren :roll_eyes:

Ich denke so:

rel({{bbox}})[route=bus]->.all;
rel[route_master=bus](br.all);
rel[route=bus](r);
( .all; - ._; );
out;

Erklärung je Zeile:

  1. Ermittle alle Relationen im aktuellen Kartenfenster, die vom Typ route=bus sind, speichere das Ergebnis nach .all
  2. Ermittle alle Parent-Relationen von .all, die vom Typ route_master=bus sind
  3. Ermittle aus dieser Liste von route_master-Relationen wieder alle Child-Relationen vom Typ route=bus. Dies sind nun alles Routen, die Teil eines Masters sind.
  4. Bilde die Differenz aus .all und dem Ergebnis aus 3. (ermittelt also alle Routen, die nicht Teil der Menge aller Routen, die einen Master-Parent haben, sind)

Achim

Danke, Achim!

Hallo,

bevor ich mir einen Wolf suche, vielleicht hat einer der Spezis hier ja eine Idee.

Ich sortiere mit Overpass Elemente in verschiedene Variablen ein: ->.Teilmenge
Dann gebe ich verschiedene Variablen aus und möchte diese in verschiedenen Styles dargestellt haben. Gibt es dafür eine Möglichkeit? Das naheliegende nodes.Teilmenge geht jedenfalls nicht. Durch Filtern der Tags lassen sich die Elemente nicht bei der Ausgabe sortieren, da es Überschneidungen gibt.

Happy mapping,

Marc

Hast Du eine (möglichst auf minimum reduzierte) Beispielabfrage?

Hallo,

Nein, das geht leider nicht. Schon im XML/JSON/CSV Ergebnis der Overpass API lässt sich nicht mehr erkennen, aus welcher Variablen die Daten ursprünglich stammen.

Gruß,
mmd

Hallo

stimmt, hätte ein Beispiel vorbereiten sollen. Sorry, beim nächsten Mal dann.

schade, genau das habe ich befürchtet.

Gibt es vielleicht irgendwo ein Beispiel, wie man 2 Abfragen gemeinsam darstellen kann? Habe bisher nichts gefunden

Schönes Wochenende!

Meinst Du sowas: http://overpass-turbo.eu/s/8Zd ?

Moin, ich kann nach Objekten suchen, wo ich letzter Bearbeiter bin, Beispiel: http://overpass-turbo.eu/s/97y
Nun suche ich eine Abfrage wo ich mich als letzten Bearbeiter AUSSCHLIESSEN kann. (Die Frage gabs schonmal irgendwo, aber ich finde sie nicht.)
Jemand ne Idee?