feat: add NRW live open-data source config and advanced mapping

This commit is contained in:
Oliver 2026-02-15 15:46:44 +01:00
parent e44791fd30
commit 05745aae37
No known key found for this signature in database
4 changed files with 225 additions and 9 deletions

35
docs/OPEN_DATA_NRW.md Normal file
View file

@ -0,0 +1,35 @@
# OpenData NRW Quellen (StaySense)
Diese Datei beschreibt die aktuell integrierten externen OpenData-Quellen fuer den MVP.
## Aktiv integrierbare Quellen
1. Verkehrsbeeintraechtigungen Stadt Koeln (JSON / ArcGIS)
- Herkunft: Offene Daten Koeln / Open.NRW
- Lizenz: Datenlizenz Deutschland Zero 2.0
- Datensatzseite:
- `https://offenedaten-koeln.de/dataset/verkehrsbeeintr%C3%A4chtigungen-stadt-k%C3%B6ln`
- API-Endpoint:
- `https://geoportal.stadt-koeln.de/arcgis/rest/services/verkehr/verkehrskalender/MapServer/0/query?where=objectid%20is%20not%20null&outFields=*&returnGeometry=true&outSR=4326&f=pjson`
2. Baustellen Notfall Stadt Koeln (WFS / GeoJSON)
- Herkunft: Offene Daten Koeln / Open.NRW
- Lizenz: Datenlizenz Deutschland Zero 2.0
- Datensatzseite:
- `https://offenedaten-koeln.de/dataset/baustellen-k%C3%B6ln`
- API-Endpoint:
- `https://geoportal.stadt-koeln.de/wss/service/baustellen_wfs/guest?service=WFS&version=1.1.0&request=GetFeature&typeName=ms:notfall&outputFormat=application/json;%20subtype=geojson`
## Nutzung im Projekt
- Konfiguration:
- `docs/open_data_sources_nrw_live.json`
- Import ausfuehren:
- `cd StaySense/backend`
- `python3 run_import_jobs.py --config ../docs/open_data_sources_nrw_live.json --prune-legacy`
## Technische Hinweise
- ArcGIS-Quellen liefern teils Datumswerte als Unix-Zeitstempel (Millisekunden). Der Connector normalisiert diese automatisch auf ISO8601 UTC.
- WFS-Baustellen liefern Koordinaten in EPSG:25832. Der Connector transformiert diese fuer StaySense auf WGS84 (lat/lon).
- Datumsbereich aus WFS (`Genehmigungs-Zeitraum`) wird per `date_range`-Mapping in Start/Ende aufgeteilt.

View file

@ -0,0 +1,67 @@
{
"sources": [
{
"id": "koeln_verkehrsbeeintraechtigungen_arcgis",
"enabled": true,
"format": "json",
"url": "https://geoportal.stadt-koeln.de/arcgis/rest/services/verkehr/verkehrskalender/MapServer/0/query?where=objectid%20is%20not%20null&outFields=*&returnGeometry=true&outSR=4326&f=pjson",
"json_path": "features",
"source_name": "koeln_verkehrsbeeintraechtigungen",
"field_map": {
"external_id": "attributes.OBJECTID",
"lat": "geometry.y",
"lon": "geometry.x",
"event_type": "attributes.TYP",
"start_datetime": "attributes.DATUM_VON",
"end_datetime": "attributes.DATUM_BIS"
},
"event_type_map": {
"1": "event",
"2": "construction",
"3": "construction",
"4": "event",
"5": "event",
"6": "event",
"7": "event",
"8": "event",
"9": "construction",
"10": "event",
"11": "event",
"12": "event",
"13": "event",
"14": "event",
"15": "event"
},
"default_values": {
"risk_modifier": -10
}
},
{
"id": "koeln_baustellen_notfall_wfs",
"enabled": true,
"format": "json",
"url": "https://geoportal.stadt-koeln.de/wss/service/baustellen_wfs/guest?service=WFS&version=1.1.0&request=GetFeature&typeName=ms:notfall&outputFormat=application/json;%20subtype=geojson",
"json_path": "features",
"source_name": "koeln_baustellen_notfall",
"coord_crs": "EPSG:25832",
"field_map": {
"external_id": "properties.Aktenzeichen",
"lat": "geometry.coordinates.1",
"lon": "geometry.coordinates.0",
"event_type": "properties.Kategorie",
"risk_modifier": "properties.Risikowert"
},
"event_type_map": {
"notfall": "construction"
},
"date_range": {
"field": "properties.Genehmigungs-Zeitraum",
"separator": " bis ",
"input_date_format": "%d-%m-%Y"
},
"default_values": {
"risk_modifier": -15
}
}
]
}