sensorthings ist ein Plugin für die VC Map, das es ermöglicht, Sensorstandorte und die zugehörigen Daten aus der SensorThings API als VectorTiles-Layer anzuzeigen.

Hauptfunktionen

Das Plugin bietet folgende Funktionen:

  • Ein neuer Layertyp namens Sensorlayer, der im App-Konfigurator als neue Ebene hinzugefügt werden kann

  • Eine Ebene pro Beobachtungstyp (Einschränkung)

  • Erweiterte Filteroptionen durch Definition einer Filterabfrage im JSON-Editor

  • 4 verschiedene FeatureInfo-Typen:

    • 2 FeatureInfo-Typen mit Diagrammvisualisierung

    • 2 FeatureInfo-Typen für Dashboard-Visualisierung

Sensorlayer

  • Erforderlich URL zum SensorThings API-Dienst (ohne /Things oder Ähnliches), z. B. https://airquality-frost.k8s.ilt-dmz.iosb.fraunhofer.de/v1.1

  • Der Sensorlayer startet seine Abfrage bei /Things

  • Nach dem Verlassen des Eingabefeldes wird die URL überprüft, und eine Erfolgs- oder Warnmeldung wird angezeigt

  • Sobald die URL-Überprüfung erfolgreich war, wird ein Filter für den Beobachtungstyp unter "Erweiterte Einstellungen" bereitgestellt

    • Erweiterte Einstellungen:

      • Filter für beobachtete Eigenschaften:

        • Wählen Sie einen Beobachtungstyp (aus /ObservedProperty), der in der Karte angezeigt werden soll

          • Das Ergebnis sind alle Things mit der gewählten ObservedProperty

        • Wenn das Feld leer bleibt, werden alle Things vom Server abgerufen

      • Zusätzliche Filter:

        • Ermöglicht das Hinzufügen einfacher oder komplexer Filterabfragen

        • Beispiele:

          • $filter=description eq 'Bodenfeuchte' and properties/tenantUID eq '97609513-84AF-46BD-B6A6-76C071F1FBFB' and properties/deletedFlag eq 'False' and properties/activeFlag eq 'True'

          • $filter=Datastreams/Thing/Datastreams/ObservedProperty/name eq 'Temperature'

          • $filter=ObservedProperty/@iot.id eq 1

          • $filter=properties/type eq 'station' and properties/gewaesser.Location/name eq 'Rhein'

  • Das Festlegen eines Ausdehnungsbereichs für die Ebene führt eine räumliche Abfrage auf dem Server durch

    • Die Verwendung des Standardwerts nutzt die gesamte Erde als Ausdehnung

  • Unter "Handhabung in der Karte" bitte das jeweilige FeatureInfo für diese Ebene auswählen

  • Unter "Anzeige" kann der Stil geändert werden, falls eine benutzerdefinierte Darstellung gewünscht ist

    • Falls nicht, wird der von VCS definierte Standardstil verwendet

    • Stile können sein:

      • VectorStyleItems

      • DeclarativeStyleItems, die Attribute zur Gestaltung von Sensor-Features verwenden

FeatureInfo

FeatureInfo-Typen

Der Info-Typ kann vom Benutzer ausgewählt werden und wird entweder als Dashboard-Visualisierung oder als Diagramm-Visualisierung angezeigt.

Diagramm-FeatureInfo

  • Wahlweise Anzeige des FeatureInfo als Balloon oder separates FeatureInfo-Fenster

    • ChartFeatureInfoView

    • ChartBalloonFeatureInfo

  • Auswahl der Standard-Tage für die Abfrage von Daten beim Server

  • Standardoption zur Überschreibung des Titels des FeatureInfo

    • Auch durch die Nutzung von Attributen/Eigenschaften eines Features, z. B. {{Things/0/properties/sensordata/whatever}}

  • Standardoption zur Definition eines neuen Icons für das FeatureInfo-Fenster mit VCS-Icons oder Material-Design-Icons, z. B. mdi-weather-windy-variant

Dashboard-FeatureInfo

  • Wahlweise Anzeige des FeatureInfo als Balloon oder separates FeatureInfo-Fenster

    • DashboardFeatureInfoView

    • DashboardBalloonFeatureInfo

  • Basis-URL festlegen:

    • Statische URL, die auf ein generisches Dashboard verweist, oder

    • Statische URL, die auf einen Dienst verweist, der eine Weiterleitung zum entsprechenden Dashboard durchführt, z. B. https://my-own-nice-dashboard.com?thing-id={{thingID}}, oder

    • Dynamische URL unter Verwendung der Vorlagensprache von VCS, um das Dashboard aufzurufen, z. B. https://my-own-nice-dashboard.com?{QueryParameters}

    • QueryParameters:

    • Alternativ kann eine Mapping-Tabelle erstellt werden, entweder durch:

      • CSV-Import vom Typ {id},{url oder urlpart}

      • Manuell erstellte Mapping-Tabelle (max. 200 Einträge) vom Typ {thingID} | {url oder urlpart}

      • url = vollständige URL, die direkt auf das Dashboard verweist (dann sollte die Basis-URL leer sein), oder

      • urlpart = {baseURL}/{urlpart} aus der Zuordnungstabelle

  • Option zur Festlegung des Dashboard-Titels

    • Entweder als String oder

    • Auch durch die Nutzung von Attributen/Eigenschaften eines Features, z. B. {{Things/0/properties/sensordata/whatever}}

  • Standardoption zur Definition eines neuen Icons für das FeatureInfo-Fenster mit VCS-Icons oder Material-Design-Icons, z. B. mdi-weather-windy-variant

  • Standardoption zur Überschreibung des FeatureInfo-Titels, z. B. Thing: {{properties/thingID}}

  • Optionen zur Festlegung von Breite, Höhe, max. Breite, max. Höhe des FeatureInfo-Fensters