Primary Feature

Gibt es eine Möglichkeit, mittels overpass an das “primary feature” https://wiki.openstreetmap.org/wiki/Map_features heranzukommen (::feature oder so) oder gibt es das nicht, weil nodes mehrere davon haben können???

Ich suche in overpass nach Name und würde mir gerne anzeigen, welche Art Objekt ich habe…

[out:csv(::lat,::lon,"name", "??????????????")];
area[name="Hamburg"]->.aaa;
(
nw[shop]["name"~"^A",i](area.aaa);
);
out center;

Gruß

Meinst Du den Geometrietyp, also sowas
https://overpass-turbo.eu/s/14Rq
?

Ich glaube eher, dass hier bei

  • name=ALDI ein shop=supermarket

  • name=Hilton ein tourism=hotel

rauskommen soll, oder?

@ Jo: Nein, ich meine das feature, z.B. “tourism:caravan_site” als Ausgabe… Darüber könnte ich die Zuweisung eines icons bewerkstelligen…
Trotzdem Danke!!!

Hallo Toni, Du warst schneller… Ja, genau so…

Ich fürchte so ein Feature-Mapping existiert nicht. Also zumindest bei OSMI wird es auch von Hand eingepflegt, um Taggingprobleme wie no_feature_tag_nodes herauszufiltern.

@Strubbl: nee, da soll nichts generiert werden, ich will sehen, was “von Hand eingepflegt” wurde…

Eine solche Feature-Priorisierung sehe ich auch nicht.

Bleibt dir nichts weiter übrig, als alle Features, die du darstellen willst ([out:csv(::lat,::lon,“name”, “shop”, amenity", “tourism”, …")]:wink: anzufordern und der Reihe nach zu prüfen. Die Liste könnte mindestens die Features enthalten, für die du ein Icon hast.

Bleiben noch Zwitter wie:

  • shop=bakery + amenity=cafe

  • amenity=restaurant + tourism=hotel

am selben Objekt.

Bei iD nennt sich das, was ich brauche “Objekttyp” - steht ganz oben… und wenn ich etwas neues eintrage, werde ich auch als erstes danach gefragt… Wenn’s da nur einen geben kann, müsste der doch selektierbar sein, oder???
Und beim rendern wird darüber ja auch das Symbol ausgewählt…

Irgenwie: nee. Theoretisch kannst du shop + office + tourism + amenity + craft + leisure + … an ein einzelnes Objekt nageln.

Welches davon bei der Auswertung (Karte, …) die höhere Priorität (bzgl. Icon, …) bekommt liegt nicht mehr in deiner (Mapper-)Hand.

Wenn das so ist: gibt es ein Feld, welches das zum rendern genutzte icon (text) angibt??? Wie “::icon” ???

Nein, und ich glaube, das will auch niemand.

Das entscheidet jeder Kartenmaler selber. Die Icons, die Farben der Straßen, … machen ja den Kartenstil erst aus.

Ausnahme: bei Wander-Routen, aber hierbei wird auch nur beschrieben, wie das Bild aussieht : https://hiking.waymarkedtrails.org/help/rendering/osmc

??? Ich meine den kleinen Hamburger, der bei fastfood angezeigt wird. Den kann man doch nicht ändern ???!!!
Schau mal in den Link von post 1

Wäre auch fehleranfällig:

  • amenity=restaurant + icon=“Messer und Gabel”

geändert zu

  • amenity=bar und vergessen das icon= anzupassen

Die Kombination aus <schlüssel>= gibt dir doch mit an, welches Icon passend wäre.

Evtl.möchtest du bei [out:csv(::lat,::lon, … gib mir alle vorhandenen Schlüsse-Werte-Paare …)] ?

Nein, ich brauche lediglich das Feld, anhand dessen z.B. die render-engine entscheidet, welches icon dem Pukt zugewiesen wird. Hier nochmal der Link, etwas spezifischer: https://wiki.openstreetmap.org/wiki/Map_features#Food.2C_beverages

Niemand kann dich beim Rendern einer Karte zwingen, genau diesen kleinen Hamburger zu verwenden.
Du als Kartendesigner entscheidest, welche Icons du malen und verwenden willst (wenn überhaupt).

Die Icons hinter dem Link in Posting #1 sind nur Beispiele, die möglicherweise (so genau weiss ich das nicht einmal) auf der sogenannten Standardkarte (osm.org) verwendet werden.

P.S. Da findet man die icons, die z.B. hier: https://www.openstreetmap.org/way/894757715#map=19/53.55275/9.98890 angezeigt werden.

OK. Die render-engine durchforstet also alle tags und entscheidet dann irgendwie, ob und was angezeigt wird. Dann müssten also in einer Abfrage bei overpass alle denkbaren Kombinationen abgefragt werden um dann zu sehen, welche gefüllt sind und da was sinnvolles passt… Na denn…

Davon gibt es bestimmt hunderte, jeder macht sein eigenes Ding:

Alternative (nicht wirklich ernst gemeint, da aufwändig):

wget https://wiki.openstreetmap.org/wiki/Map_features

Den HTML-Output parsen und zu <schlüssel> + das HTML-image/href-Tag aus der Tabelle rausholen.

<tr id="amenity-fast_food">
<td><a href="/wiki/Key:amenity" title="Key:amenity"> amenity</a>
</td>
<td><a href="/wiki/Tag:amenity%3Dfast_food" title="Tag:amenity=fast food"> fast_food</a>
</td>
<td><a href="/wiki/Node" title="node"><img alt="node" src="/w/images/thumb/7/76/Osm_element_node.svg/20px-Osm_element_node.svg.png" decoding="async" width="20" height="20" style="vertical-align: text-bottom" srcset="/w/images/thumb/7/76/Osm_element_node.svg/30px-Osm_element_node.svg.png 1.5x, /w/images/thumb/7/76/Osm_element_node.svg/40px-Osm_element_node.svg.png 2x" /></a> <a href="/wiki/Area" title="area"><img alt="area" src="/w/images/thumb/e/e6/Osm_element_area.svg/20px-Osm_element_area.svg.png" decoding="async" width="20" height="20" style="vertical-align: text-bottom" srcset="/w/images/thumb/e/e6/Osm_element_area.svg/30px-Osm_element_area.svg.png 1.5x, /w/images/thumb/e/e6/Osm_element_area.svg/40px-Osm_element_area.svg.png 2x" /></a>
</td>
<td>Fast food restaurant (see also <tt dir="ltr" class="mw-content-ltr" style="background:#EEF;font-size:1em;line-height:1.6"><bdi style="white-space:nowrap"><a href="/wiki/Key:amenity" title="Key:amenity">amenity</a></bdi>=<a href="/wiki/Tag:amenity%3Drestaurant" title="Tag:amenity=restaurant"><bdi>restaurant</bdi></a></tt>). The kind of food served can be tagged with <tt dir="ltr" class="mw-content-ltr" style="background:#EEF;font-size:1em;line-height:1.6"><bdi style="white-space:nowrap"><a href="/wiki/Key:cuisine" title="Key:cuisine">cuisine</a></bdi>=*</tt> and <tt dir="ltr" class="mw-content-ltr" style="background:#EEF;font-size:1em;line-height:1.6"><bdi style="white-space:nowrap"><a href="/wiki/Key:diet" title="Key:diet">diet</a></bdi>=*</tt>.
</td>
<td><div class="center"><div class="floatnone"><a href="/wiki/File:Fast-food-16.svg" class="image"><img alt="Fast-food-16.svg" src="/w/images/thumb/1/1f/Fast-food-16.svg/28px-Fast-food-16.svg.png" decoding="async" width="28" height="28" srcset="/w/images/thumb/1/1f/Fast-food-16.svg/42px-Fast-food-16.svg.png 1.5x, /w/images/thumb/1/1f/Fast-food-16.svg/56px-Fast-food-16.svg.png 2x" /></a></div></div>
</td>
<td><div class="center"><div class="floatnone"><a href="/wiki/File:Burger_king_kamen_osm.jpg" class="image"><img alt="Burger king kamen osm.jpg" src="/w/images/thumb/8/8a/Burger_king_kamen_osm.jpg/100px-Burger_king_kamen_osm.jpg" decoding="async" width="100" height="67" srcset="/w/images/thumb/8/8a/Burger_king_kamen_osm.jpg/150px-Burger_king_kamen_osm.jpg 1.5x, /w/images/thumb/8/8a/Burger_king_kamen_osm.jpg/200px-Burger_king_kamen_osm.jpg 2x" /></a></div></div>
</td></tr>

SCNR

Ja

[out:csv(::lat,::lon, … gib mir alle vorhandenen Schlüsse-Werte-Paare …)]

ist wohl nicht das Optimum:

[out:xml] oder [out:json] oder …

dann bekommst du alle Schlüssel der Nodes/Ways/Relationen und musst dich selber durch den Datensalat wühlen.

Á propo “salat”: Zeit zum Abendessen.