1. Unterstützte Aktionen
Das Plugin unterstützt eine umfassende Auswahl an Aktionen, die durch Benutzerinteraktionen ausgelöst werden können:
1.1. Navigationsaktionen
1.1.1. Viewpoint-Navigation
Die Kamera zu bestimmten Positionen im 3D-Raum bewegen.
Typ: viewpoint
Funktionen:
-
Einzelne Viewpoint-Sprünge
-
Verkettung von Viewpoints für geführte Touren
-
Konfigurierbare Animationsdauer und Easing-Funktionen
-
Unterstützung für lineare, Spline- und andere Bewegungstypen
-
Präzise Kamerapositionierung mit Steuerung von Heading, Pitch und Roll
Konfigurationsbeispiel:
{
"id": "viewpoint-example",
"type": "viewpoint",
"viewpoint": {
"distance": 533.79,
"groundPosition": [13.37551, 52.5096, 35.24079],
"heading": 263.71,
"pitch": -44.86,
"roll": 0,
"animate": true,
"duration": 4,
"easingFunctionName": "LINEAR_NONE"
}
}
1.1.2. Flugpfade
Vorgefertigte Flugpfade für filmische Kamerabewegungen ausführen.
Typ: flight
Funktionen:
-
Import von GeoJSON-Flugdateien, die mit dem Flight-Widget von VC Map erstellt wurden
-
Sanfte Kamerabewegungen entlang definierter Pfade
-
Automatische Steuerung der Flugwiedergabe
-
Integration mit dem Flight-System von VC Map
Konfigurationsbeispiel:
{
"id": "flight-demo",
"type": "flight",
"flightUrl": "path/to/flight.json"
}
1.1.3. Kamerarotation
Die Kamera um einen festen Viewpoint für eine 360-Grad-Erkundung drehen.
Typ: rotate
Funktionen:
-
Kontinuierliche Rotation um einen Viewpoint
-
Konfigurierbare Rotationsgeschwindigkeit zur Vermeidung von Schwindel
-
Start/Stopp-Steuerung der Rotation
-
Fokus auf interessante Punkte beibehalten
Konfigurationsbeispiel:
{
"id": "rotate-slow",
"type": "rotate",
"timePerRotation": 30000
}
1.2. Ebenenverwaltung
1.2.1. Ebenen aktivieren/deaktivieren
Steuern, welche Kartenebenen in verschiedenen Story-Abschnitten sichtbar sind.
Typ: layer
Funktionen:
-
Aktivieren bestimmter Ebenen für den Story-Kontext
-
Deaktivieren irrelevanter Ebenen zur Reduzierung visueller Überladung
-
Wechsel zwischen verschiedenen Basisebenen
-
Unterstützung mehrerer gleichzeitiger Ebenenoperationen
Konfigurationsbeispiel:
{
"id": "layer-switch",
"type": "layer",
"layerNames": ["layer-to-activate"],
"layerNamesInactive": ["layer-to-deactivate"]
}
1.3. Inhaltsvisualisierung
1.3.1. GeoJSON-Datenanzeige
Dynamische Geodaten zur Kontextualisierung der Story hinzufügen.
Typ: geojson
Funktionen:
-
Anzeige von Points of Interest (POIs)
-
Anzeige von Textlabels und Anmerkungen
-
Darstellung benutzerdefinierter Geodaten
-
Integration mit den Zeichenwerkzeugen von VC Map
-
Unterstützung für gestylte Vektordaten
Konfigurationsbeispiel:
{
"id": "geojson-poi",
"type": "geojson",
"featureUrl": "path/to/features.json"
}
1.3.2. 3D-Modellintegration
3D-Modelle in die Story-Umgebung einbinden.
Typ: model
Funktionen:
-
Hinzufügen von GLTF/GLB-3D-Modellen an bestimmte Positionen
-
Konfigurierbare Skalierung und Positionierung der Modelle
-
Unterstützung für Planungsvisualisierungen
-
Kombination mit Hide-Aktionen für Szenarien mit Gebäudeersatz
Konfigurationsbeispiel:
{
"id": "model-planning",
"type": "model",
"models": [
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [longitude, latitude, height]
},
"properties": {
"olcs_modelUrl": "path/to/model.glb",
"olcs_modelHeading": 0,
"olcs_modelScaleX": "1",
"olcs_modelScaleY": "1",
"olcs_modelScaleZ": "1"
}
}
]
}
1.4. Objektmanipulation
1.4.1. Gebäude/Objekte ausblenden
Bestimmte Gebäude oder Objekte ausblenden, um Planungsszenarien zu zeigen.
Typ: hide
Funktionen:
-
Ausblenden von Gebäuden aus 3D-Stadtmodellen
-
Unterstützung verschiedener Ebenentypen
-
Ermöglicht Planungsvisualisierung durch Entfernen bestehender Strukturen
-
Kombination mit Model-Aktionen für Ersatzszenarien
Konfigurationsbeispiel:
{
"id": "hide-buildings",
"type": "hide",
"layerNames": ["buildings_layer"],
"ids": ["building_id_1", "building_id_2"]
}
1.4.2. Objekt-Hervorhebung
Bestimmte Gebäude oder Objekte hervorheben.
Typ: highlight
Funktionen:
-
Visuelle Hervorhebung bestimmter Gebäude
-
Aufmerksamkeit auf interessante Punkte lenken
-
Konfigurierbares Highlight-Styling
-
Unterstützung mehrerer gleichzeitiger Hervorhebungen
Konfigurationsbeispiel:
{
"id": "highlight-building",
"type": "highlight",
"layerNames": ["buildings_layer"],
"ids": {
"building_id1": "#00a0ba",
"building_id2": "#86b110"
}
}
1.5. Feature-Interaktion
1.5.1. Feature-Auswahl
Features programmatisch auswählen und deren Informationen anzeigen.
Typ: select
Funktionen:
-
Auswahl von Features auf bestimmten Ebenen
-
Anzeige von Feature-Informationspanels
-
Unterstützung für präzise, koordinatenbasierte Auswahl
-
Bei Vektor-Layern erfolgt die Auswahl über die Feature-ID,
-
bei Cesium-Tileset-Layern wird die Position zur Auswahl verwendet.
Konfigurationsbeispiel:
{
"id": "select-feature",
"type": "select",
"layer": "layer_name",
"featureId": "feature_identifier", // for vector layers
"position": [longitude, latitude, height] // for Cesium tileset layers
}
1.6. Widget-Integration
1.6.1. Schattenanalyse-Widget
Schattenanalyse-Tools aktivieren und konfigurieren.
Typ: widget
(Shadow)
Funktionen:
-
Zeitliche Schattenanalyse
-
Konfigurierbare Datums- und Uhrzeiteinstellungen
-
Integration mit dem Shadow-Widget von VC Map
-
Visuelle Schattenanzeige auf 3D-Modellen
Konfigurationsbeispiel:
{
"id": "shadow-widget",
"type": "widget",
"widget": {
"type": "vcs.vcm.widgets.Shadow",
"settings": {
"date": [2023, 6, 21, 12, 0, 0]
}
}
}
1.6.2. Sichtbarkeitsanalyse-Widget
Sichtbarkeitsanalysen für Sichtstudien aktivieren.
Typ: widget
(Viewshed)
Funktionen:
-
3D-Sichtbarkeitsanalyse
-
Konfigurierbare Beobachterposition und Betrachtungsparameter
-
Visuelle Darstellung sichtbarer/verdeckter Bereiche
-
Integration in Planungs- und Analyse-Workflows
Konfigurationsbeispiel:
{
"id": "viewshed-widget",
"type": "widget",
"widget": {
"type": "vcs.vcm.widgets.viewshed.Viewshed",
"settings": {
"position": [13.375, 52.508, 100],
"orientation": {
"heading": 45,
"pitch": 0,
"roll": 0
},
"colorOptions": {
"visibleColor": "#00ff0080",
"shadowColor": "#ff000080"
}
}
}
}
1.7. Eigene Callbacks
Eigene Callback-Funktionen für erweiterte Interaktionen ausführen.
Typ: callback
Funktionen:
-
Ausführung beliebiger Callback-Funktionen
-
Integration mit dem Callback-System von VC Map
-
Unterstützung komplexer, benutzerdefinierter Workflows
-
Erweiterbares Aktions-Framework
Konfigurationsbeispiel:
{
"id": "my-callback-action",
"type": "callback",
"callbacks": [
{
"type": "DeactivateLayersCallback",
"layerNames": ["mesh_surface", "buildings_untextured"]
},
{
"type": "GoToViewpointCallback",
"viewpoint": "alexanderplatz"
}
]
}
Einen Überblick über VC Map Callbacks gibt es hier: VC Map Callbacks.