[FOSSGIS-Talk] MapServer als Kachelclient für ungekachelte WMS?

mike at elstermanns.de mike at elstermanns.de
Fr Feb 7 10:31:18 CET 2025


Hallo Liste,

Wir betreiben seit Jahren erfolgreich mit dem MapServer unser hauseigenes GIS, momentan in der Version 7.6.2. Nun haben wir jedoch ein Problem hinsichtlich der PDF-Generierung in Fomaten >= A3. Der MapServer bekommt einen Request (die BBOX, die Layerliste, das Ausgabeformat, die Ausgabegröße, ...), generiert EIN Bild und liefert es zum Browser, auf dem Bildschirm und beim Drucken in ein PDF. Für den Druck werden aufgrund der hohen Druckauflösung sehr große Bilder erzeugt (bei A0 bis zu 16.000 Pixel für die lange Seite). Das klappt bei allen Daten wunderbar. Nur bei der Einbindung von QGC-konformen WMS kommt es bei einigen Diensten zu Problemen. Mitunter beschränken die Dienstanbieter sinnvollerweise die Auslieferung in der Bildgröße, z. B. in Sachsen-Anhalt die DOP20 mit <MaxWidth>4096</MaxWidth>, <MaxHeight>4096</MaxHeight> [1], die ALKIS-Daten hingegen auf <MaxWidth>20000</MaxWidth>,<MaxHeight>20000</MaxHeight> [2]. Will man nun also hochaufgelöst drucken, reichen ab A3 diese 4096 x 4096 Bildpunkte nicht mehr aus, der MapServer fragt größer Bilder an, bekommt keine Lieferung und der Layer im PDF bleibt leer. Den gleichen Effekt hat man natürlich auch beim Einsatz von zwei Monitoren, die zusammen mehr als 4096 Pixel haben, nur ist es hier weniger kritisch, dann verkleinert man ggf. das Fenster ;-)

Jetzt suchen wir eine Möglichkeit, wie wir den MapServer bzw. die Mapfiles konfigurieren müssen, um die WMS-Themen kachelweise abzurufen, daraus EIN Bild zu machen und dieses dann in die Druckausgabe (=PDF-Generierung) zu übergeben, also den MapServer als Kachelclient für ungekachelte WMS zu nutzen. Gibt es sowas, hat jemand vielleicht ein Code- oder Mapfile-Beispiel? Damit kein Missverständnis entsteht: Wir möchten keine Kacheldienste XYZ oder WMTS abrufen, sondern ganz "normale" WMS, diese aber eben kachelweise, so wie QGIS, OpenLayers, ... es auch tun.

Ergänzung: ChatGPT erzählte zuerst was von „wms_mode“, den es ja gar nicht gibt ;-), dann was von „tileindex“, aber selbst, wenn das funktionieren sollte, kann/will man doch nicht für jeden eingebundenen WMS einen Tileindex anlegen, oder?

Ich zähl auf Euch! Danke und BG aus HAL, mikeE.

[1] … https://www.geodatenportal.sachsen-anhalt.de/wss/service/ST_LVermGeo_DOP_WMS_OpenData/guest?SERVICE=WMS&REQUEST=GetCapabilities

[2] … https://www.geodatenportal.sachsen-anhalt.de/wss/service/ST_LVermGeo_ALKIS_WMS_AdV_konform_App/guest?SERVICE=WMS&REQUEST=GetCapabilities 


Mehr Informationen über die Mailingliste FOSSGIS-Talk-Liste