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.