x

Ermitteln von Namen aus der Datenbank (Shops)


  1. Ermitteln von Namen aus der Datenbank (Shops) · Lübeck (Gast) · 07.05.2013 07:43 · [flux]

    Moin !

    ich schaue mir immer wieder die Tags von Geschäften an und stelle fest wie unterschiedlich manche sind.

    Nun habe ich mir überlegt diese mal einzeln zu analysieren und habe dabei festgestellt das es gar nicht so einfach ist diese zu ermitteln.

    Wenn man zum Beispiel nach name=ditch sucht, dann kommt fast gar nicht - obwohl weit verbereitet.

    Weiß einer von Euch ob es irgendwie möglich ist - vielleicht sogar über die Overpass-Api - regulär nach diesen Namen zu suchen um möglichst viele zu erwischen.

    DB scheidet aus, da ich gerne die Abfrage allgemeinzugänglich in eine Seite einbauen möchte.

    Gruß Jan :-)


    • Re: Ermitteln von Namen aus der Datenbank (Shops) · kerosin (Gast) · 07.05.2013 08:50 · [flux]

      So wie ich es verstanden habe:
      http://overpass-turbo.eu/s/7o

      Aber das hilft natürlich nicht unbedingt für ein Einbauen in eine Seite;)


    • Re: Ermitteln von Namen aus der Datenbank (Shops) · aighes (Gast) · 07.05.2013 09:10 · [flux]

      Bei Overpass-Aufruf kann man auch v= durch regv= ersetzen und dann etwas mit RegEx's spielen, um ditch und Ditch und was es noch für Schreibweisen geben könnte zu finden.


    • Re: Ermitteln von Namen aus der Datenbank (Shops) · Lübeck (Gast) · 07.05.2013 09:24 · [flux]

      hi !

      Du schreibst aber jetzt Aldi

      ich würde jetzt aber auch gerne die Punkte mit aldi, ALDI etc. mit finden.

      Hatte schon an

      <has-kv k="name" regv="[aA][lL][dD][iI]"/>

      gedacht. Aber das hat endlos gerechnet - oder ein Fehler von mir.

      Dann wäre da noch die Variante Aldi Nord, Aldi Süd ....

      Ideen ?

      Gruß Jan :-)


    • Re: Ermitteln von Namen aus der Datenbank (Shops) · webpassenger (Gast) · 07.05.2013 10:00 · [flux]

      Hi,

      also ein Aufruf mit:

      http://overpass-api.de/api/convert?data=node[%22name%22~%22[Aa][Ll][Dd][Ii]%22]%2852.341,13.088,52.669,13.760%29;out+body;&target=openlayers
      

      würde zumindest alle Varainten von Aldi in Berlin anzeigen. Incusive Aldi Markt, ALDI Nord etc.

      Gruß webpassenger


    • Re: Ermitteln von Namen aus der Datenbank (Shops) · Lübeck (Gast) · 07.05.2013 10:08 · [flux]

      hi !

      ich hatte es mit http://overpass-turbo.eu/s/7s versucht.

      <osm-script output="json">
      <union>
      <query type="node">
      <has-kv k="name" regv="[aA][lL][dD][iI]"/>
      <bbox-query {{bbox}}/>
      </query>

      <query type="way">
      <has-kv k="name" regv="[aA][lL][dD][iI]"/>
      <bbox-query {{bbox}}/>
      </query>

      <query type="relation">
      <has-kv k="name" regv="[aA][lL][dD][iI]"/>
      <bbox-query {{bbox}}/>
      </query>
      </union>
      <print mode="body"/>
      <recurse type="down"/>
      <print mode="skeleton"/>
      </osm-script>

      Vermutlich liegt mein Fehler aber in der Definition für den Regulären Ausdruck.

      Gruß Jan :-)


    • Re: Ermitteln von Namen aus der Datenbank (Shops) · Oli-Wan (Gast) · 07.05.2013 10:20 · [flux]

      <has-kv k="name" regv="[aA][lL][dD][iI]"/>

      Um solche Krücken überflüssig zu machen, habe ich soeben einen Feature-Wunsch zu "case-insensitive regex matching" geschrieben.
      Edit: War überflüssig, denn wie Roland sofort geantwortet hat, ist das bereits möglich:

      node["name"~"^Aldi$",i];
      
      <has-kv␣case="ignore"␣k="name"␣regv="^Aldi$"/>
      

      Um auch Aldi Süd/Nord usw. zu bekommen: "$" weglassen oder durch ".*$" oder " ?.*$" oder " ?.*" oder [... diverse andere Möglichkeiten ...] ersetzen.


    • Re: Ermitteln von Namen aus der Datenbank (Shops) · Lübeck (Gast) · 07.05.2013 11:14 · [flux]

      noch besser !


    • Re: Ermitteln von Namen aus der Datenbank (Shops) · toc-rox (Gast) · 07.05.2013 11:56 · [flux]

      Man könnte den Value beim Key "name" auch leer lassen ... dann erhält man alle benannten Objekte und filtert oder selektiert dann in einem zweiten Schritt.

      Gruß Klaus


    • Re: Ermitteln von Namen aus der Datenbank (Shops) · Lübeck (Gast) · 07.05.2013 14:57 · [flux]

      Moin !

      dann ist für A... jetzt http://overpass-turbo.eu/s/7C geworden.

      Gruß Jan :-)


    • Re: Ermitteln von Namen aus der Datenbank (Shops) · Lübeck (Gast) · 08.05.2013 15:32 · [flux]

      hi !

      ich versuche diese Ausdrucke aus overpass-turbo jetzt in die Form

      http://www.overpass-api.de/api/xapi?*[bbox=8,53,13,55][%22name~^aldi.*$%22][@meta]

      zu bringen.

      Aber irgendwie scheitere ich immer mit Fehlermeldungen wie...

      Error in [*[bbox=8,53,13,55]["name~^aldi.*$"][@meta]]:
      Error: Expected '=' after key.

      Kann nochmal einer weiterhelfen ?

      Gruß Jan :-)


    • Re: Ermitteln von Namen aus der Datenbank (Shops) · TEL0000 (Gast) · 08.05.2013 16:00 · [flux]

      Ähm, das liegt wohl daran, dass du den XAPI-Layer befragst, der den Syntax nicht versteht.


    • Re: Ermitteln von Namen aus der Datenbank (Shops) · Lübeck (Gast) · 08.05.2013 17:06 · [flux]

      Hi!

      da gebe ich Dir Recht - der Groschen ist einfach noch nicht gefallen !

      Jan