x

Turbo-Overpass: Hotels einer Kette mit eigenem Icon darstellen


  1. Turbo-Overpass: Hotels einer Kette mit eigenem Icon darstellen · Lübeck (Gast) · 05.09.2016 07:29 · [flux]

    Moin!

    ich habe eine Abfrage nach Hotel und Motel erstellt und möchte für eine bestimmte Kette ein eigenes Icon zuweisen.

    Das habe ich in http://overpass-turbo.eu/s/ics gemacht - wird http://overpass-turbo.eu/s/icu

    In dem mitgegebenen Ausschnitt gibt es zwei Stück.

    Kann mir einer sagen, was ich falsch gemacht habe?

    Gruß Jan


    • Re: Turbo-Overpass: Hotels einer Kette mit eigenem Icon darstellen · Hakuch (Gast) · 05.09.2016 07:40 · [flux]

      weiß nicht genau was du meinst, aber das ibis icon geht nicht http://www.tappenbeck.net/osm/maps/icons/i_reg.png (404)


    • Re: Turbo-Overpass: Hotels einer Kette mit eigenem Icon darstellen · Lübeck (Gast) · 05.09.2016 07:50 · [flux]

      Moin!

      oh, da war ein Fehler im Upload.

      Jetzt berichtigt: http://overpass-turbo.eu/s/icy

      Es wird aber jetzt ein "falsche" Hotel markiert und die gesuchten fehlen immer noch !

      Gruß Jan


    • Re: Turbo-Overpass: Hotels einer Kette mit eigenem Icon darstellen · Jojo4u (Gast) · 05.09.2016 08:20 · [flux]

      Da ist immer noch ein i_reg statt i_red. Wenn ich dann noch den Match für Ibis unter den für Hotel schiebe klappt alles.


    • Re: Turbo-Overpass: Hotels einer Kette mit eigenem Icon darstellen · Lübeck (Gast) · 05.09.2016 08:29 · [flux]

      Hi !
      danke für die Hinweise.

      Hier der richtige Link: http://overpass-turbo.eu/s/icM

      Gruß Jan


    • Re: Turbo-Overpass: Hotels einer Kette mit eigenem Icon darstellen · Hakuch (Gast) · 05.09.2016 08:59 · [flux]

      das kommt dann von so uneindeutigen Variablen/Dateinamen 😉


    • Re: Turbo-Overpass: Hotels einer Kette mit eigenem Icon darstellen · Lübeck (Gast) · 05.09.2016 10:10 · [flux]

      Moin!

      magst ja recht haben - aber warum wird dann bei http://overpass-turbo.eu/s/id0 auch

      http://www.openstreetmap.org/way/148261202
      http://www.openstreetmap.org/node/553020896

      mit dem roten SonderIcon gekennzeichnet?

      Hat mein Ausdruck da noch einen Fehler?

      Gruß Jan


    • Re: Turbo-Overpass: Hotels einer Kette mit eigenem Icon darstellen · Kontinentalverschieber (Gast) · 05.09.2016 10:33 · [flux]

      Weil dein regulärer Ausdruck /ibis*./ lautet, was bedeutet, dass zunächst ein "ibi" vorkommen muss, dann beliebig viele inklusive 0 "s" (wegen "s*") und schließlich noch ein beliebiges Zeichen (.) - wird im Falle von "IBIS" zu s, in den anderen Fällen jeweils auf den Buchstaben abgebildet, der nach der "ibi"-Zeichenfolge im jeweiligen Namen kommt.

      Es reicht übrigens /ibis/ als regulärer Ausdruck aus. Denn es werden automatisch alle Matches genommen, die das irgendwo enthalten. Man muss sich also nicht darum kümmern, dass der Name-String noch länger sein könnte.


    • Re: Turbo-Overpass: Hotels einer Kette mit eigenem Icon darstellen · gormo (Gast) · 05.09.2016 10:43 · [flux]

      Kontinentalverschieber wrote:

      Weil dein regulärer Ausdruck /ibis*./ lautet

      ==> du hast einen Zeichendreher. Du meinst vmtl.

      ibis.*
      

      , aber (siehe Kontinentalverschieber) das .* ist auch unnötig.

      und zum Tagging: ist das nicht ein Fall für brand=* oder operator=* ?


    • Re: Turbo-Overpass: Hotels einer Kette mit eigenem Icon darstellen · Lübeck (Gast) · 05.09.2016 16:54 · [flux]

      Moin!

      DANKE erst einmal und werde ich morgen einbauen.

      Kö nie man nicht noch Grosskleinschreibung ignorieren?

      Gruß Jan


    • Re: Turbo-Overpass: Hotels einer Kette mit eigenem Icon darstellen · Kontinentalverschieber (Gast) · 05.09.2016 17:26 · [flux]

      Die Groß- und Kleinschreibung wird doch beim Prüfen bereits ignoriert. /ibis/ trifft also auch "IBIS" oder "iBiS". Umgekehrt geht es leider nicht, man kann also nicht case-sensitive matchen, weil Overpass Turbo intern automatisch für jeden regulären Ausdruck case-insensitve für das Matching setzt, ohne dass man das überschreiben kann.


    • Re: Turbo-Overpass: Hotels einer Kette mit eigenem Icon darstellen · hfst (Gast) · 05.09.2016 17:28 · [flux]

      Kontinentalverschieber wrote:

      [...]

      Es reicht übrigens /ibis/ als regulärer Ausdruck aus. Denn es werden automatisch alle Matches genommen, die das irgendwo enthalten. Man muss sich also nicht darum kümmern, dass der Name-String noch länger sein könnte.

      Und mit /ibis/i ignoriert er Groß- und Kleinschreibung. Ich fände es allerdings schlauer, wenn ignorieren der Default wäre.


    • Re: Turbo-Overpass: Hotels einer Kette mit eigenem Icon darstellen · Kontinentalverschieber (Gast) · 05.09.2016 17:34 · [flux]

      hfst wrote:

      Und mit /ibis/i ignoriert er Groß- und Kleinschreibung. Ich fände es allerdings schlauer, wenn ignorieren der Default wäre.

      Ignorieren ist leider der Standardwert (es wird intern immer eine RegExp mit "i" als Flag erzeugt). Das lässt sich dadurch nicht aufheben und deshalb kann man nicht auf exakte Groß- und Kleinschreibung prüfen.

      Darüber hinaus würdest du mit "/ibis/i" bei Overpass Turbo sogar komplett Pech haben, denn RegExp-Flags akzeptiert er nicht als Eingabe, sondern ignoriert dann den gesamten Ausdruck. Leider ist das Parsing und die Umsetzung von MapCSS in Overpass Turbo ziemlich gefrickelt, so dass das teilweise nur mit Abstrichen funktioniert.


    • Re: Turbo-Overpass: Hotels einer Kette mit eigenem Icon darstellen · hfst (Gast) · 05.09.2016 17:47 · [flux]

      Kontinentalverschieber wrote:

      hfst wrote:

      Und mit /ibis/i ignoriert er Groß- und Kleinschreibung. Ich fände es allerdings schlauer, wenn ignorieren der Default wäre.

      Ignorieren ist leider der Standardwert (es wird intern immer eine RegExp mit "i" als Flag erzeugt). Das lässt sich dadurch nicht aufheben und deshalb kann man nicht auf exakte Groß- und Kleinschreibung prüfen.

      Also
      name~/ibis/i in Braunschweig findet das Hotel (name=Ibis Budget) in der Saarbrücker Straße, während
      name~/ibis/ in Braunschweig es nicht findet.
      =>
      ohne i : Klein-/Großschreibung wird beachtet
      mit i : Klein-/Großschreibung wird ignoriert

      Ich bin da auch nicht zufällig drauf gestoßen, sondern habe es in Wiki am Ende des Abschnittes "Tag Searches" gefunden.

      Oder habe ich etwas prinzipielles falsch verstanden?


    • Re: Turbo-Overpass: Hotels einer Kette mit eigenem Icon darstellen · Kontinentalverschieber (Gast) · 05.09.2016 17:55 · [flux]

      Wir reden hier über zwei verschiedene Dinge: Es geht hier nicht darum, innerhalb der eigentliche Abfrage Tags auf reguläre Ausdrücke zu prüfen (das sind deine Beispiele). Sondern es geht hier darum, nach der eigentlichen Abfrage bei der Darstellung verschiedene Objekte auf der Ergebniskarte verschieden darzustellen. Dazu kann man zusätzlich eine Style-Beschreibung in Form von MapCSS hinzufügen, an Hand der dann im Beispiel von Benutzer Lübeck einzelnen Hotels verschiedene Icons auf der Karte zugeordnet werden. Auch dafür kann man reguläre Ausdrücke verwenden - dabei gelten aber die Beschränkungen bei der Auswertung von MapCSS durch Overpass Turbo.


    • Re: Turbo-Overpass: Hotels einer Kette mit eigenem Icon darstellen · hfst (Gast) · 05.09.2016 18:02 · [flux]

      Kontinentalverschieber wrote:

      Wir reden hier über zwei verschiedene Dinge:
      [...]

      Danke für die Erläuterung.


    • Re: Turbo-Overpass: Hotels einer Kette mit eigenem Icon darstellen · Lübeck (Gast) · 12.09.2016 09:35 · [flux]

      Moin!

      ich muss meine Abfrage nochmal erweitern und hänge das an dieses Posting an. Vorerst habe ich die Icons im Style wieder entfernt.

      Mein Problem ist - warum wird das "M.. One" (sorry für die Schleichwerbung) in Wiesbaden nicht gefunden - obwohl oben rechts im Abfragebereich.

      http://overpass-turbo.eu/s/ikT

      Kann mir einer weiterhelfen?

      Geht das vielleicht auch noch kompakter und einfacher zu schreiben als das was ich jetzt für zwei Ketten gemacht habe?

      Gruß Jan


    • Re: Turbo-Overpass: Hotels einer Kette mit eigenem Icon darstellen · mmd (Gast) · 12.09.2016 09:48 · [flux]

      Die XML Variante finde ich einigermaßen gruselig wortreich, daher mal alternativ in Overpass QL und mit case-insensitive. Damit entfällt die umständliche Angabe von Groß/Kleinbuchstabe ([Mm][Oo]...) auch:

      [bbox:{{bbox}}];
      (
      node␣␣["tourism"="hotel"]["name"~"^ibis",i];
      way␣␣␣["tourism"="hotel"]["name"~"^ibis",i];
      node␣␣["tourism"="motel"]["name"~"^ibis",i];
      way␣␣␣["tourism"="motel"]["name"~"^ibis",i];
      node␣␣["tourism"="hotel"]["name"~"^motel␣one",i];
      way␣␣␣["tourism"="hotel"]["name"~"^motel␣one",i];
      node␣␣["tourism"="motel"]["name"~"^motel␣one",i];
      way␣␣␣["tourism"="motel"]["name"~"^motel␣one",i];
      );
      out␣meta␣center;
      

      noch kompakter:

      [bbox:{{bbox}}];
      (
      node␣["tourism"~"^(hotel|motel)$"]["name"~"^(ibis|motel␣one)",i];
      way␣␣["tourism"~"^(hotel|motel)$"]["name"~"^(ibis|motel␣one)",i];
      );
      out␣meta␣center;
      

    • Re: Turbo-Overpass: Hotels einer Kette mit eigenem Icon darstellen · maxbe (Gast) · 12.09.2016 09:49 · [flux]

      Lübeck wrote:

      Mein Problem ist - warum wird das "M.. One" (sorry für die Schleichwerbung) in Wiesbaden nicht gefunden - obwohl oben rechts im Abfragebereich.

      <has-kv␣k="name"␣regv="^[Mm][Oo][Tt][Ee][Ll]␣[Oo]Nn][Ee]"/>
      

      Da fehlt mindestens ein "[" vor dem "Nn"


    • Re: Turbo-Overpass: Hotels einer Kette mit eigenem Icon darstellen · Lübeck (Gast) · 12.09.2016 10:16 · [flux]

      Moin!

      danke erst einmal - das von mmd kann ich aber nicht in die Turbo Overpass übernehmen oder?

      Gruß Jan



    • Re: Turbo-Overpass: Hotels einer Kette mit eigenem Icon darstellen · Lübeck (Gast) · 12.09.2016 10:22 · [flux]

      Hi !

      ich hatte Deine Abfrage eben kopiert und der hat mir nur Fehler um die Ohren gehauen.

      Deshalb die Rückfrage.

      Gruß Jan