Gokul GopanContact
← Back to Projects

SELF-DIRECTED WEBGIS STUDY · 2026

How municipal geodata reaches a map.

To understand how a municipal geoportal serves data, I studied the publicly visible services of Stadt Herne and built a small local comparison environment using open municipal data.

01 / QUESTION

How is municipal geodata stored, published and displayed?

I examined Herne’s public geoportal and service responses to understand the relationship between data storage, OGC map services and their clients. I tested the services directly in a web browser and in QGIS Desktop, then recreated those roles locally with three open datasets: childcare centres, accessible toilets and public-transport stops, all in EPSG:25832.

Docker logo
Docker Composeone reproducible local environment
PostGIS logoPostGISOpen-data layers
GeoServer logoGeoServerWMS/WFS · SLD style
Web browserDirect WMS map check
PostGIS logoPostGISSame data layer
QGIS logoQGIS ServerProject-based service
Web browserDirect QGIS Server map

QGIS Desktop was also used as a second client to load the GeoServer WMS over a basemap.

02 / GEOSERVER

Publish a PostGIS layer as a standards-based map service.

I loaded the open data into PostGIS and published the childcare layer through GeoServer. A custom SLD style added the point symbols and labels. I checked the WMS directly in a browser and also loaded it in QGIS Desktop above an OpenStreetMap basemap.

GeoServer WMS map rendered with the custom SLD point symbols and labels
GeoServer rendering the custom SLD: external point icon and label from the dataset.
Childcare locations served from GeoServer and shown in QGIS Desktop over an OpenStreetMap basemap
Local service study: PostGIS → GeoServer WMS → QGIS Desktop client.

03 / QGIS SERVER

Compare a project-based service with GeoServer.

I also connected the same database layer to QGIS Server. Here the QGIS project file provides the layer configuration, rendering and labels. This made the practical difference visible: GeoServer uses separate server configuration and SLD styles, whereas QGIS Server renders the QGIS project itself.

Local QGIS Server map showing childcare locations in Herne
QGIS Server rendering the local QGIS project with the same PostGIS data.

04 / DATA MAINTENANCE

Who changed what — and when?

A shared layer needs clear responsibility. I used a database trigger so that every edit automatically records the user and modification time. A second trigger writes the previous record to a history table, while read, edit and admin roles control who may change the layer.

QGIS attribute table showing editor and modification timestamp fields
When a user edits the layer in QGIS, the trigger automatically records who changed it and when; the prior version is retained in the history table.

SCOPE

A study environment, not a city deployment.

This was a short, self-directed local study using public data and Docker containers. It helped me understand how PostGIS, GeoServer, QGIS Server, WMS/WFS and desktop clients connect. It was not a production service for Stadt Herne and did not use municipal internal data or systems.

Docker Compose · PostgreSQL · PostGIS · GeoServer · QGIS Server · QGIS Desktop · GDAL/ogr2ogr · WMS/WFS · SLD