Flächen und POIs

Tag zusammen,

ich spiele gerade ein bisschen mit einem Renderer rum (mapserver) und scheitere an ganz einfachen Sachen… Wie gehen denn richtige Renderer mit dem Problem um, dass manche Objekte mehrfach in der Datenbank stehen?

Wir haben z.B. Kirchen als POI, die (noch) in keinem Building stehen. Kirchen als Building mit POI irgendwo in der Mitte und Kirchen als Building ohne POI. Gelegentlich auch mit unterschiedlicher Attributierung.

In gewissen Grenzen und mit viel Rechenzeit kann man sowas mit Software erschlagen, z.B. alle POIs weglassen, die in einem Gebäude stehen (bliebe die Frage, welche Attribute man dann auf die Karte malt). Mapnik scheint einfach beides zu nehmen und ein Icon für (building=* amenity=place_of_worship) zu malen und eines für den Node (amenity=place_of_worship).

Schnelle Methoden, sowas auszuwerten fallen mir nicht ein, und Doppelkreuze für eine Kirche vergeben, finde ich unelegant, aber vielleicht stehe ich nur auf dem Schlauch…

Grüße, Max

Hallo Max

Das ist das alte Problem: Müll rein ==> MÜLL RAUS.

Sprich was soll ein Renderer denn machen, wenn eine fehlerhafte Situation wie POI als Fläche + gleicher POI als Punkt vorliegt? Eigentlich kann ein Renderer nur eine Auswahl aus den existierenden Daten nutzen und diese darstellen. Wenn nun Fläche und Punkt (wie im Prinzip sinnvoll) beide durch die Auswahl kommen, hat man halt das doppelte Rendering.

Im Prinzip kann man nur die Daten korrigieren, um das Problem zu beseitigen. Ein POI-Knoten in einer Fläche ist ja im allgemeinen durchaus sinnvoll/erwünscht, solange die nicht identisch sind. Denke nur an den Bäcker, den Kiosk, … in einem großen Supermarkt oder zahlreiche unterschiedliche Geschäfte in einem Einkaufszentrum.

Edbert (EvanE)

Hi,
doppelte POIs (zB Parkplatz-Node innerhalb Parkplatz-Area) sind Fehler und werden zusammengefasst wenn mir
sowas begegnet.

Machmal ist es aber etwas komplizierter wenn die Tags nicht eindeutig sind, zB:

Freibad mit: leisure=water_park name=xyz als Fläche, darin ein leisure=swimming_pool,
name=xyz, sport=swimming, etc…

Chris

Hallo Chris

Das mache ich auch, soweit das klar erkennbar ist (gleiche Taggs).

Im zweiten Fall sind das ja unterschiedliche, zusammengehörige, ineinander verschachtelte Objekte

  • Freibad als Ganzes
  • Einzelne Teile wie Liegewiese, Schwimmbecken, Wege/Wegflächen, Umkleideräume usw.
    Das kann man nicht einfach zusammenfassen ohne Details zu verlieren.

Edbert (EvanE)

Mapnik macht das schon gut. Denn POIs als Nodes in Gebäuden sind schon korrekt bspw wenn in einem Gebäude ein Bäcker und Fleischer ist. Wenn allerdings ein POI zweimal (als Way und als Node) drin ist, ist das ein -hoffentlich seltener- Datenfehler. Dafür kann dann der Renderer nichts.
Dein drittes Beispiel hat es natürlich in sich. Meiner Meinung nach würden auch die Kirchentags zu dem Gebäude gehören, nicht nur tourism=attraction etc. Aber dann hat man zwei konkurrierende POIs

Danke für die Meinungen, dann render ich mal lustig weiter und betrachte das als seltenes Problem: Ich hab hier auf dem Oberbayern-extrakt 2048 punktförmige Gebetsstätten und 699 Flächen. 63 davon teilen sich einen Standplatz, 520 Punkte liegen in anderen Gebäuden. Letzteres muss aber kein Fehler sein, weniger etablierte Religionsgemeinschaften haben ja oft kein eigenes Bauwerk.

Vielleicht war es ein Fehler, mit place_of_worship anzufangen, ich dachte halt, da sehe ich am schnellsten was und kann auch schonmal schöne Icons verteilen…

kannst mir mal den Code Teil der Mapfile zeigen, wo Du Icons einbindest? Interessiert mich.

Klar. Hier das Mapfile und hier das Ergebnis zum ansehen. Ist aber mein erster Versuch mit sowas, also eher nicht zum Abschreiben geeignet, Wie Flächen gerendert werden, hab ich bei den mapserver-utils geklaut. Zum Ansehen muss man viel Geduld haben, die Kiste ist extrem langsam.

Icons werden ab Z15 gemalt, Labels werden erst ab Z17 dazugeschrieben. Das doppelte Setzen im Layer “kirchen” bei “MAXSCALEDENOM 5000” (einmal nur Icon und einmal Icon mit Label) hab ich probiert, weil ich auch Icons draufhaben wollte, wenn der Platz für die Beschriftung nicht reicht. Was oft passiert, wenn man Mapserver immer nur briefmarkenweise 256x256 rendern lässt.

Hässlich abgeschnittene Schriften und Icons verschwinden, wenn man mit dem Button links die Karte exportiert (dann wird sie komplett in der gewünschten Breite neu gerendert statt dieser kleinen Kacheln)

Dankeschön. Ich spiele auch mit den mapserver-utils rum. Leider mit einer ganz alten Version. Damals gab es noch nichtmal Grenzen da drin. Die, und einiges andere Dinge, habe ich mir selber gebastelt. Aufgrund der vielen eigenen Änderungen will ich momentan noch nicht auf eine neue Version umsteigen.
Pedestrian + area=yes ist immernoch nicht drin, dafür aber farmland, Grenzen etc.

Wie ich sehe, arbeitest Du auch mit Tilecache. Ich gehe die Zooms 1 bis mindestens 7 , teils bis 11 (7,8,9 ist bei größeren importierten Gebieten in Postgres extrem langsam…teils eine Frage von Minuten) immer selber durch und gehe mit OpenLayers über die importierten Gebiete. Dann sind diese Tiles schonmal gerendert und das “Publikum” muss nicht solange warten.
tilecache_seed geht bei mir irgendwie nicht

Link gibts per PN in OSM wenn Du Interesse hast