Dieses Projekt stellt selbst ausgwählte WMS-Dienste (Web Map Service) aus Deutschland bereit. Beispielsweise sind Bodenrichtwerte zu nennen, welche zur Orientierung über den Wert von Grundstücken dienen und in GIS-Anwendungen wie QGIS eingebunden werden können.
-
Datenquellen:
- Landesvermessung und Geobasisinformation Brandenburg (LGB): https://geobroker.geobasis-bb.de
- OpenGeodata.NRW: https://www.opengeodata.nrw.de/produkte/geobasis
- ogc-api.nrw: https://ogc-api.nrw.de/tfis/v1
-
Technische Umsetzung:
- Docker mit Docker-Compose
- Bash-Skripte zur Datenvorbereitung und Automatisierung
- MapServer Version 8.4.0 als WMS-Server
- PostgreSQL 17 mit Postgis 3.5
- GDAL 3.10
- PROJ 9.5
-
Bereitstellung:
Die Dienste werden über MapServer als WMS-Endpunkt veröffentlicht.
Um den Dienst selbst zu betreiben, benötigst du:
- Docker
- Shell (Bash)
- Zugriff auf die Bodenrichtwertdaten des LVermGeo Brandenburg
# Installation des Containers
bash build.sh
# Update Service
docker-compose up db importerdocker logs pg
docker exec -it mapserver tail -f /var/log/apache2/error.log
docker exec -it mapserver tail -f /var/log/mapserver.log
# Testaufruf der Capabilties des BORIS-Dienstes
curl "http://localhost:8081/wms/bb/boris_bb.fcgi?SERVICE=WMS&REQUEST=GetCapabilities"
curl "http://localhost:8081/wms/nrw/boris_nrw.fcgi?SERVICE=WMS&REQUEST=GetCapabilities"http://localhost:8081/wms/bb/boris_bb.fcgi?
http://localhost:8081/wms/nrw/boris_nrw.fcgi?
Dieses Repository enthält ein Python-Skript mapbox2mapserver.py zur automatischen Erstellung eines MapServer-WMS für TFIS NRW auf Basis von Mapbox-Sprites und GeoJSON-Daten.
- 🎨 Extraktion von Symbolen/Icons aus Mapbox-Sprite-Dateien (
sprite@2x.json,sprite@2x.png) - 🔄 Konvertierung in MapServer-konforme Layerdefinitionen
- 🧱 Automatische Erstellung von
.mapundsymbols.map - 🗘️ Unterstützung für PostGIS-basierte Linien- und Punktlayer
- Python 3.x
- Pillow:
pip install pillow - PostGIS-Datenbank
tfis_nrw - Mapbox-Sprite-Dateien:
sprite@2x.pngsprite@2x.json
- GeoJSON-Dateien im Verzeichnis
/data/tfis_nrw/
/products/tfis_nrw/build/
├── sprite@2x.json # Mapbox Sprite JSON
├── sprite@2x.png # Mapbox Sprite PNG
/data/tfis_nrw/ # GeoJSON-Dateien für die Layer
/etc/mapserver/
├── wms_tfis_nrw.map # Generiertes Mapfile
├── symbols.map # Symboldefinitionen
└── icons/ # Extrahierte PNG-Icons (Pixmaps)
Mapbox-Sprite-Dateien werden analysiert. Für jedes Symbol wird ein PNG ausgeschnitten und gespeichert:
extract_icons_from_sprite(sprite_json_path, sprite_image_path, output_dir)- Bounding Box aus
sprite@2x.jsonwird verwendet - Unicode-Namen werden Dateisystem-kompatibel (z. B.
ä → ae,ß → ss) - Ergebnis: PNG-Dateien in
/etc/mapserver/icons/
Für jedes Icon wird ein Symbolblock erzeugt:
SYMBOL
NAME "beispiel_symbol"
TYPE PIXMAP
IMAGE "icons/beispiel_symbol.png"
END
Alle Blöcke landen gesammelt in:
/etc/mapserver/symbols.map
Aufbau des Mapfiles:
- MAP_HEADER: WMS-Metadaten, Projektion (EPSG:25832)
- Layerblöcke:
- Linienlayer:
wanderwege(nachkattypisiert) - Linienlayer:
schifffahrt(nachfkttypisiert) - Punktlayer:
freizeiteinrichtungen(nachsnrtypisiert)
- Linienlayer:
- Fußbereich:
END
Beispiel für einen Punktlayer mit Pixmap-Symbol:
LAYER
NAME "freizeiteinrichtungen"
TYPE POINT
...
CLASSITEM "snr"
CLASS
EXPRESSION "123"
STYLE
SIZE 100
SYMBOL "123"
END
END
END
Das Hauptskript übernimmt alle Schritte automatisiert:
if __name__ == "__main__":
generate_files()Aufruf:
python3 generate_mapfile.pyDabei geschieht:
- Extraktion der Icons →
icons/*.png - Generierung der
symbols.map - Analyse und Klassifizierung der GeoJSON-Layer
- Erzeugung der
wms_tfis_nrw.map
Wenn du generierte Icons vom Git-Tracking ausschließen willst:
# Nur PNGs im icons-Verzeichnis ignorieren
mapserver/mapfiles/icons/*.pngNach Ausführung findest du:
- 🗘️
wms_tfis_nrw.map– vollständiges WMS-Mapfile - 🎨
symbols.map– Symboldefinitionen für MapServer - 🖼️ PNG-Icons im
icons/-Verzeichnis
Dieser WMS-Dienst stellt Tourismus- und Freizeitinformationen (TFIS) für NRW dar – ideal für:
- Integration in OpenLayers, QGIS oder ArcGIS
- Darstellung von POIs, Wanderwegen, Schifffahrtsrouten
- WMS-Dienste im Kontext von INSPIRE / OGC-Standards
Dieses Projekt verwendet Daten aus folgenden Quellen:
-
BORIS-Daten BB:
- © Gutachterausschüsse für Grundstückswerte 2025, lizenziert unter Datenlizenz Deutschland – Namensnennung – Version 2.0 (dl-de/by-2-0), http://www.gutachterausschuss-bb.de
-
NRW-Daten:
- lizenziert unter Datenlizenz Deutschland – Zero – Version 2.0 (dl-de/zero-2-0)
-
Umgebungslärm BB:
{ "id": "dl-by-de/2.0", "name": "Datenlizenz Deutschland – Namensnennung – Version 2.0", "url": "https://www.govdata.de/dl-de/by-2-0", "quelle": "Land Brandenburg; https://inspire.brandenburg.de/services/laerm_wfs?; Lärmkartierung in Brandenburg INSPIRE Download-Service (WFS-LFU-LAERM); 2022 © Landesamt für Umwelt Brandenburg" }
Die Daten unterliegen nicht der MIT-Lizenz dieses Repositories. Für deren Nutzung gelten die jeweiligen Bedingungen.



