Mkgmap: Tag vom darunterliegendes Objekt abfragen

Hallo,
ich habe ein Problem beim erstellen der GARMIN-Karten.
Hierfür benutze ich mkgmap.
Ich möchte ein Gebäude welches nur das Tag sports_centre benutzt anders darstellen.
Die Sportart mit dem Tag sport=swimming fehlt.
Dieses Gebäude liegt in einem Erlebnisbad mit dem Tag water_park.
Also zwei verschiedende Objekte.

Ich möchte nur dieses Gebäude dann als Schwimmhalle darstellen.

Kann ich in der polygon-Datei für das Gebäude einen Bezug zum Erlebnisbad abfragen ?

Du kannst im Style abfragen, ob ein Objekt innerhalb eines Polygons mit dem Tag leisure=water_park liegt.
Such mal im Handbuch https://www.mkgmap.org.uk/doc/pdf/style-manual.pdf nach der style function is_in
Syntax is leider nicht ganz trivial.
Beispiel aus dem Netz:

building=* & building!=no & is_in(landuse,residential,any)=false [0x..]
1 Like

@GerdP
Danke für diese Lösung.
Mein Problem wurde gelöst und is_in funktioniert tadellos.

Dein Problem ist noch vieldimensionaler als hier dargestellt.
Es gibt keine Garantie das es überhaupt ein Gebäude gibt das hier
matched. Es könnte ein outdoor water_park oder sports_centre sein.

In einem leisure=water_park oder leisure=sports_centre können beliebig
viele Gebäude stehen mit unterschiedlichsten tags.

Was du probieren könntest wäre in der geometrie des leisure=water_park +
indoor=yes oder leisure=sports_center + sport=swimming + indoor=yes
Gebäude zu suchen mit “building=swimming_hall” “building=sports_center” etc.
getagged sind.

Es könnte aber auch sein das sein sports_centre oder water_park sogar
nur aus einem node besteht d.h. es gibt gar kein Gebäude oder Fläche in
der überhaupt suchbar wäre.

Flo

building=swimming_hall gibt es nicht stattdessen swimming_pool
Ich prüfe ob das Gebäude sports_hall, sports_centre oder swimming_pool ist, wenn keine Angabe von sport=* existiert, daß es auf einem Gelände befindet water_park oder sport=swimming hat.
Dann ist es erstmal eine Schwimmhalle.
Einfacher wäre eine Sportart beim Gebäude,
da auch andere Sportzentren-Gebäude als Schwimmen im water_park befinden können, z.B. Kletterhalle, Tauchhalle oder andere Sportarten.
Das kann man auch in der “Die Welle” nicht korrekt erkennen nur vermuten.

@GerdP
gibt es auch eine Möglichkeit zu prüfen ob ein Node auf dem Gebäude gesetzt wurde.
In etwa is_on statt is_in?
Damit das Gebäude anhand eines Nodes auch korrekt dargestellt werden kann.

z.B. hier:

Man kann zwar für den Knoten ermitteln, ob er innerhalb eines Gebäudes oder z.B. genau auf der Aussenlinie liegt, aber mir fällt kein Weg ein, diese Info für ein unterschiedliches Rendern der Gebäudes zu verwenden.

1 Like

Allgemein erscheint es mir sinnvoller, solche Dinge in unseren Daten zu korrigieren.

Deine Logik klingt für mich auch nicht sonderlich schlüssig. Ein Hotel/Fitnesscenter mit Innenpool würde ebenfalls in dein Schema passen. Zumindest wenn ich das richtig verstehe.