Konfiguration: Karte¶
Die Kartenkonfiguration erfolgt in der resQnect Console im Bereich Einstellungen unter dem Tab Karten. Über den dort integrierten YAML-Editor können die Karteneinstellungen für die Anwendungen resQnect Mobile und resQnect Drive angepasst werden.
Die Struktur gliedert sich in vier Bereiche:
- tileLayers: Definition der Karten-Ebenen.
- mobileMap: Kartenkonfiguration für die resQnect Mobile App.
- driveMap: Kartenkonfiguration für die resQnect Drive App.
- crsList: Definition von Koordinatenbezugssystemen.
Karten-Ebenen (tileLayers)¶
In diesem Bereich werden die verfügbaren Karten-Ebenen (Tile Layers) definiert. Diese Ebenen werden später in der Map-Konfiguration der jeweiligen App referenziert.
| Feld | Status | Beschreibung |
|---|---|---|
id |
Erforderlich | Eindeutige ID der Ebene. Dient zur Referenzierung in Kartentypen und Kartendetails. |
urlTemplate |
Erforderlich | URL-Vorlage zum Abruf der Kacheln (z. B. .../{z}/{x}/{y}.png). |
attribution |
Optional | Objekt für Urheberrechtshinweise. |
↳ text |
Erforderlich | Der anzuzeigende Text (z. B. "© OpenStreetMap"). |
↳ url |
Erforderlich | URL mit weiteren Informationen zur Lizenz des Kartenanbieters. |
minZoom |
Optional | Bestimmt die untere Sichtbarkeitsgrenze der Ebene. Die Ebene wird erst ab dieser Zoomstufe eingeblendet, sofern der Kartentyp diese Stufe ebenfalls zulässt. Der Wert darf nicht kleiner als minNativeZoom sein, da eine Skalierung zu kleineren Stufen nicht erlaubt ist. |
maxZoom |
Optional | Bestimmt die obere Sichtbarkeitsgrenze der Ebene. Die Ebene wird bis zu dieser Zoomstufe angezeigt, sofern der Kartentyp diese Stufe ebenfalls zulässt. Dieser Wert darf höher als maxNativeZoom sein, um eine Skalierung nach oben zu ermöglichen. |
minNativeZoom |
Erforderlich | Die kleinste Zoomstufe, für die nativ Kacheln vorliegen. Unterhalb dieser Stufe findet keine Anzeige und keine Skalierung statt. |
maxNativeZoom |
Erforderlich | Die höchste Zoomstufe, für die nativ Kacheln vorliegen. Oberhalb dieser Stufe werden die Kacheln skaliert, bis die Grenze von maxZoom erreicht ist. |
crs |
Optional | Referenz auf ein in crsList definiertes Koordinatenbezugssystem. Hinweis: Dieses Feld ist optional und muss nur gesetzt werden, wenn das CRS vom Standard EPSG:3857 (Web Mercator) abweicht. |
↳ id |
Erforderlich | Muss einer id aus der crsList entsprechen. |
Konfigurationsbeispiel: Karten-Ebenen
Das folgende Beispiel veranschaulicht die Definition zweier eigenständiger Kartenebenen: einer globalen Basiskarte auf OpenStreetMap-Basis sowie einer regionalen Ebene mit einem speziellen CRS.
tileLayers:
- id: "osm_standard"
urlTemplate: "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"
attribution:
text: "© OpenStreetMap Mitwirkende"
url: "https://www.openstreetmap.org/copyright"
minZoom: 0
maxZoom: 20
minNativeZoom: 0
maxNativeZoom: 19
- id: "regional_daten_ebene"
urlTemplate: "https://geodata.example.com/tiles/utm32/{z}/{x}/{y}.png"
minZoom: 10
maxZoom: 18
minNativeZoom: 10
maxNativeZoom: 18
crs:
# Referenz auf die ID eines zuvor in der 'crsList' definierten Systems
id: "epsg_25832"
resQnect Mobile Karte (mobileMap)¶
Dieser Bereich dient der Kartenkonfiguration für die resQnect Mobile App.
Startansicht (initialCenter, initialZoom)¶
In diesem Abschnitt werden der Kartenausschnitt und die Zoomstufe, die beim initialen Laden der Karte angezeigt werden sollen, definiert.
| Feld | Status | Beschreibung |
|---|---|---|
initialCenter |
Erforderlich | Objekt zur Definition der Startkoordinaten. |
↳ latitude |
Erforderlich | Breitengrad im WGS 84 Format. |
↳ longitude |
Erforderlich | Längengrad im WGS 84 Format. |
initialZoom |
Erforderlich | Initiale Zoomstufe beim Öffnen der Karte. |
Kartentyp (mapStyles)¶
Hier wird die Liste der verfügbaren Basiskarten konfiguriert, die dem Nutzer als Hintergrundkarten in der App zur Auswahl stehen.
| Feld | Status | Beschreibung |
|---|---|---|
name |
Erforderlich | Bezeichnung des Kartentyps in der App-Auswahl. |
minZoom |
Erforderlich | Minimale Zoomstufe, bis zu der die Karte herausgezoomt werden kann. |
maxZoom |
Erforderlich | Maximale Zoomstufe, bis zu der die Karte hineingezoomt werden kann. |
thumbnail |
Erforderlich | Vorschaubild als Base64-kodierte Data-URI. Anforderungen: Format JPEG oder PNG, Mindestgröße 128x128 Pixel, Dateigröße unter 64 KB. |
layers |
Erforderlich | Liste der Ebenen-Referenzen (IDs aus tileLayers). |
↳ id |
Erforderlich | Muss einer id aus der tileLayers-Liste entsprechen. |
Kartendetails (mapOverlays)¶
Dieser Abschnitt definiert zusätzliche, zuschaltbare Informationsebenen (wie z. B. Hydranten oder Sektorengrenzen), die über die gewählte Basiskarte gelegt werden können.
| Feld | Vorgabe | Beschreibung |
|---|---|---|
name |
Erforderlich | Bezeichnung der Kartendetails in der App-Auswahl. |
thumbnail |
Erforderlich | Vorschaubild als Base64-kodierte Data-URI. Anforderungen: Format JPEG oder PNG, Mindestgröße 128x128 Pixel, Dateigröße unter 64 KB. |
layers |
Erforderlich | Liste der Ebenen-Referenzen (IDs aus tileLayers). |
↳ id |
Erforderlich | Muss einer id aus der tileLayers-Liste entsprechen. |
Konfigurationsbeispiel: resQnect Mobile Karte
Dieses Beispiel dient der Veranschaulichung einer vollständigen Kartenkonfiguration für die resQnect Mobile App, wobei die verwendeten IDs als Platzhalter für zuvor definierte Karten-Ebenen fungieren.
mobileMap:
initialCenter:
latitude: 48.1371
longitude: 11.5754
initialZoom: 12
mapStyles:
- name: "Topografisch"
minZoom: 5
maxZoom: 18
thumbnail: "data:image/jpeg;base64,/9j/4AAQ..."
layers:
# Referenz auf die ID einer zuvor in der 'tileLayers' definierten Ebene
- id: "osm_standard"
mapOverlays:
- name: "Hochwassergefahrenkarte"
thumbnail: "data:image/png;base64,iVBORw0..."
layers:
# Referenz auf die ID einer zuvor in der 'tileLayers' definierten Ebene
- id: "hochwasser_ebene"
Kartenvorschau¶
Die Konfigurationsansicht verfügt über eine integrierte Kartenvorschau für die resQnect Mobile Karte. Diese Vorschau ermöglicht die visuelle Überprüfung der Konfiguration vor dem Speichern.
Um Änderungen im YAML-Code sichtbar zu machen, muss der Button Vorschau aktualisieren betätigt werden. Dies simuliert die Darstellung, ohne die Daten permanent in der Datenbank zu speichern. Zum dauerhaften Übernehmen der Änderungen ist der Speichern-Button notwendig.
Auf der Karte befinden sich Buttons, mit denen die konfigurierten Kartentypen und Kartendetails und die Quellenangaben (Attributions) betrachtet werden können.
Durch Klicken auf das Kartensymbol öffnet sich ein Dialog mit Vorschaubildern. Unter jedem Bild wird der jeweilige Name des Kartentyps bzw. der Kartendetails angezeigt:
- Kartentyp: Es kann immer nur ein Kartentyp gleichzeitig ausgewählt werden. Standardmäßig ist der erste in der Liste definierte Typ vorausgewählt.
- Kartendetails: Für die Kartendetails können mehrere Elemente gleichzeitig ausgewählt oder einzeln deselektiert werden. Standardmäßig sind keine Kartendetails aktiv.
Zusätzlich visualisiert ein Positions-Pin direkt auf der Karte die Koordinaten, die im Editor unter initialCenter definiert wurden. Ändern sich diese Werte und wird die Vorschau aktualisiert, verschiebt sich der Pin automatisch an die neue Position.
Fehlererkennung bei Kacheln
Sollte eine Kachel (Tile) eines Kartentyps oder der Kartendetails nicht geladen werden können (z. B. durch fehlerhafte URLs oder Serverprobleme), wird dies visuell hervorgehoben. Die betroffene Stelle erhält einen rot umrandeten Rahmen und ein Warnsymbol.
Diese Markierungen dienen rein als Hinweis innerhalb der Console und werden in den eigentlichen Apps nicht angezeigt. In diesem Fall muss der Nutzer selbst entscheiden, ob die restliche Kartendarstellung für den Einsatzzweck ausreichend ist oder ob die Konfiguration aufgrund der fehlenden Daten korrigiert werden muss.
resQnect Drive Karte (driveMap)¶
In diesem Bereich wird die Kartendarstellung für die resQnect Drive App festgelegt.
Die Konfiguration der Startansicht (initialCenter, initialZoom) sowie der Kartendetails (mapOverlays) erfolgt nach demselben Schema wie bei der resQnect Mobile Karte. Über die Kartendetails lassen sich zusätzliche Informationen, wie beispielsweise Hydranten-Standorte, in die Karte einbinden.
Hinweis
Für resQnect Drive werden keine mapStyles definiert, weshalb auch keine Kartenvorschau für verschiedene Kartentypen existiert. Die Basiskarte ist durch die dort integrierte HERE Karte vorgegeben. Es können jedoch mapOverlays konfiguriert werden.
Konfigurationsbeispiel: resQnect Drive Karte
In diesem Beispiel wird für die resQnect Drive App die Startansicht festgelegt und Kartendetails für Hydranten definiert, welche über die Standardkarte gelegt werden können.
driveMap:
initialCenter:
latitude: 48.7758
longitude: 9.1829
initialZoom: 15
mapOverlays:
- name: "Hydranten"
thumbnail: "data:image/png;base64,dGVzdA=="
layers:
# Referenz auf die ID einer zuvor in der 'tileLayers' definierten Ebene
- id: "hydranten_ebene"
Koordinatenbezugssysteme (crsList)¶
Diese Liste definiert Koordinatenbezugssysteme, engl. Coordinate Reference System (CRS). Eine Konfiguration ist nur dann erforderlich, wenn Karten-Ebenen verwendet werden, die nicht dem Standard EPSG:3857 (Web Mercator) entsprechen. Bei Verwendung von anderen Karten sind folgende Felder zu konfigurieren.
| Feld | Vorgabe | Beschreibung |
|---|---|---|
id |
Erforderlich | Eindeutige Kennung des CRS. Dient zur Referenzierung in Karten-Ebenen. |
code |
Erforderlich | Standard-Code des CRS (z. B. EPSG:25832). |
definition |
Erforderlich | Projektions-Definition (Proj4-String). |
bounds |
Optional | Objekt zur Definition des Begrenzungsrahmens (Bounding Box). |
↳ topLeft |
Erforderlich | Objekt für die obere linke Ecke des Rahmens (enthält x und y). |
↳ bottomRight |
Erforderlich | Objekt für die untere rechte Ecke des Rahmens (enthält x und y). |
origins |
Optional | Liste von Ursprungsobjekten (oben-links) für projizierte Koordinaten (jeweils mit x und y). |
resolutions |
Optional | Liste von Auflösungen (Projektionseinheit pro Pixel, z. B. Meter/Pixel) pro Zoomstufe. Hinweis: Erforderlich, wenn scales nicht gesetzt wurde. |
scales |
Optional | Liste von Maßstäben (Pixel pro Projektionseinheit, z. B. Pixel/Meter) pro Zoomstufe. Hinweis: Erforderlich, wenn resolutions nicht gesetzt wurde. |
Konfigurationsbeispiel: Koordinatenbezugssystem
In diesem Beispiel wird ein CRS für das deutsche UTM-System (Zone 32N) definiert:
crsList:
- id: "epsg_25832"
code: "EPSG:25832"
definition: "+proj=utm +zone=32 +ellps=GRS80 +units=m +no_defs"
bounds:
topLeft:
x: 265948.8191
y: 6414361.7476
bottomRight:
x: 677786.3629
y: 4663524.3994
origins:
- x: 265948.8191
y: 6414361.7476
resolutions:
- 4000.0
- 2000.0
- 1000.0
- 500.0
- 250.0
Beispielkonfiguration¶
Konfigurationsbeispiel: OpenStreetMap mit Hydrantenplan
Das folgende YAML-Beispiel zeigt eine vollständige Konfiguration mit OpenStreetMap als Standardkarte und einem Hydrantenplan als zuschaltbare Kartendetails.
# Koordinatenbezugssysteme
crsList: [] # Diese Liste kann leer bleiben, da nur das Standard-CRS (EPSG:3857) verwendet wird.
# Karten-Ebenen (Datenquellen)
tileLayers:
- id: "osm_standard"
urlTemplate: "https://tile.openstreetmap.org/{z}/{x}/{y}.png"
attribution:
text: "© OpenStreetMap contributors"
url: "https://www.openstreetmap.org/copyright"
minNativeZoom: 0
maxNativeZoom: 19
- id: "hydranten_ebene"
urlTemplate: "https://geodaten.beispiel.de/hydranten/{z}/{x}/{y}.png"
minNativeZoom: 14
maxNativeZoom: 19
# Konfiguration der resQnect Mobile Karte
mobileMap:
initialCenter:
latitude: 47.8095
longitude: 13.0550
initialZoom: 12
mapStyles:
- name: "Standardkarte"
minZoom: 0
maxZoom: 19
thumbnail: "data:image/jpeg;base64,/9j/4AAQ..."
layers:
- id: "osm_standard"
mapOverlays:
- name: "Hydranten"
thumbnail: "data:image/jpeg;base64,/9j/4AAQ..."
layers:
- id: "hydranten_ebene"
# Konfiguration der resQnect Drive Karte
driveMap:
initialCenter:
latitude: 47.8095
longitude: 13.0550
initialZoom: 14
mapOverlays:
- name: "Hydranten"
thumbnail: "data:image/jpeg;base64,/9j/4AAQ..."
layers:
- id: "hydranten_ebene"