You are not logged in.

Announcement

*** NOTICE: forum.openstreetmap.org is being retired. Please request a category for your community in the new ones as soon as possible using this process, which will allow you to propose your community moderators.
Please create new topics on the new site at community.openstreetmap.org. We expect the migration of data will take a few weeks, you can follow its progress here.***

#1 2013-05-07 07:43:54

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

Ermitteln von Namen aus der Datenbank (Shops)

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


Redmi Note 9 Pro  mit Android 11, Tablet Android 8.1, PC: Win10

Offline

#2 2013-05-07 08:50:24

kerosin
Member
From: Kiel
Registered: 2011-12-19
Posts: 269

Re: Ermitteln von Namen aus der Datenbank (Shops)

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;)

Offline

#3 2013-05-07 09:10:35

aighes
Member
From: Shanghai
Registered: 2009-03-29
Posts: 5,383
Website

Re: Ermitteln von Namen aus der Datenbank (Shops)

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.


Viele Grüße
Henning

Offline

#4 2013-05-07 09:24:39

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

Re: Ermitteln von Namen aus der Datenbank (Shops)

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


Redmi Note 9 Pro  mit Android 11, Tablet Android 8.1, PC: Win10

Offline

#5 2013-05-07 10:00:49

webpassenger
Member
Registered: 2009-05-08
Posts: 35

Re: Ermitteln von Namen aus der Datenbank (Shops)

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

Offline

#6 2013-05-07 10:08:55

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

Re: Ermitteln von Namen aus der Datenbank (Shops)

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


Redmi Note 9 Pro  mit Android 11, Tablet Android 8.1, PC: Win10

Offline

#7 2013-05-07 10:20:40

Oli-Wan
Member
From: NRW
Registered: 2010-09-14
Posts: 2,814

Re: Ermitteln von Namen aus der Datenbank (Shops)

<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.

Last edited by Oli-Wan (2013-05-07 11:24:37)


No animals were harmed in the writing of this posting.

Offline

#8 2013-05-07 11:14:27

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

Re: Ermitteln von Namen aus der Datenbank (Shops)

noch besser !


Redmi Note 9 Pro  mit Android 11, Tablet Android 8.1, PC: Win10

Offline

#9 2013-05-07 11:56:56

toc-rox
Member
From: Münster
Registered: 2011-07-20
Posts: 2,357
Website

Re: Ermitteln von Namen aus der Datenbank (Shops)

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

Offline

#10 2013-05-07 14:57:16

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

Re: Ermitteln von Namen aus der Datenbank (Shops)

Moin !

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

Gruß Jan :-)


Redmi Note 9 Pro  mit Android 11, Tablet Android 8.1, PC: Win10

Offline

#11 2013-05-08 15:32:33

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

Re: Ermitteln von Namen aus der Datenbank (Shops)

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


Redmi Note 9 Pro  mit Android 11, Tablet Android 8.1, PC: Win10

Offline

#12 2013-05-08 16:00:31

TEL0000
Moderator
From: Berlin
Registered: 2008-06-11
Posts: 968

Re: Ermitteln von Namen aus der Datenbank (Shops)

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

Offline

#13 2013-05-08 17:06:01

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

Re: Ermitteln von Namen aus der Datenbank (Shops)

Hi!

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

Jan


Redmi Note 9 Pro  mit Android 11, Tablet Android 8.1, PC: Win10

Offline

Board footer

Powered by FluxBB