How To Dev - High Level Type vs Storage and distribution channel

 

In Snap4City, the arrival of a new entity/data model does not imply for the developer to adequate the storage structure, but to model it on the Entity/IoT Directory once. Once a new Entity Model is registered, any instance can be directly deployed, and specific data loaded. Entities/Data entering in the platform can be automatically (i) stored (in Figure 3: Open Search), (ii) semantically indexed, (iii) directly sent to the user interface, or to data analytics for stream processing. The same data flows work as data driven coming from dashboards to data streams for acting and sending commands, alarms, etc., in the platform and/or to external devices via brokers or processes. Data stored (in some cases, the storage is called data shadow) can be browsed by using the Entity Inspector/Manager, for all the entity/data types managed in the platform. From simple data entities to IoT devices, maps, heatmaps, flow, matrices, 3D interactive representations, scenarios, etc., as needed by the DT.

The Big Data Storage is managed by multiple solutions:

  • Knowledge Base, KB, (based on Km4City ontology) implemented as an RDF store (Virtuoso) which is an index for geospatial, relational, and temporal aspects. The KB can be federated, for example for federating different KB or different organizations. Whenever a new data model (Entity Instance or Model) is registered in the system, the registration is performed into the KB. Different instances of the KB can be federated via Smart City API by creating a mutual connection among cities/areas of the network, if the single installation wants to share, and deciding what to share.
  • Time series from Entity Instances / IoT Devices and MyKPI are automatically feed into the storage Open Search cluster (which is the new name of Open Distro for Elastic Search of AWS) for storing and indexing data.
  • Heatmaps, Orthomaps, Traffic Flows Maps, and Maps are managed by the Heatmap Server which is a GIS (for example GeoServer or ArcGIS if you have one installed with WMS facilities) and can distribute the maps according to WMS/WFS protocols towards Web and Mobiles App and Dashboards. They can be loaded from Processing Logic / IoT App using specific API.
  • Origin Destination Matrices are managed by the OD/ODM Manager and represented into the Multi Data Map widget in dashboards. They can be loaded from Processing Logic / IoT App using specific API.
  • Internal Buildings 3D Shapes, and Floors are managed and distributed by BIM Server. Standard BIM tools are used for editing and interchange in IFC formats with standard tools such as AutoDesk Revit, etc. Buildings and Floors are shown in dashboards for their integration with maps and time trends of IoT devices. The BIM are managed on Snap4City by the BIM Manager and can be loaded from the user interface using IFC format.
  • 3D City Representation can be loaded according to different components from which they are composed such as: image patterns, building shapes, 3D shapes, LIDAR data, traffic flows, POI, IoT Devices, etc. [DigitalTwin1], [DigitalTwin2], [GeneratingDigitalTwin]. They need to be loaded in agreement with the snap4city platform manager into the Dashboard area.

The Storage of Snap4City is organized as follows:

High Level Type data

Ingestion kind: MicroServices, API

Storage

Distribution tool API

Entity / IoT Devices (time series)

Proc.Logic / IoT App, special Python, Brokers

OpenSearch, KB

Smart City API, Orion Broker

MyKPI (time series)

Proc.Logic / IoT App

OpenSearch (or SQL)

Smart City API

POI

Proc.Logic / IoT App

OpenSearch, KB

Smart City API

Heatmaps (time series)

Proc.Logic / IoT App, Python,

GeoServer

API for WFS, WMS

Maps

API and user interface

GeoServer

API for WFS, WMS

GIS data

API and user interface

GeoServer

API for WFS, WMS

Traffic Flow (time series)

Proc.Logic / IoT App, Rstudio, Python

GeoServer, Traffic Flow Manager, KB

Traffic Flow Manager, API for WFS, WMS

OD Matrices (time series)

Proc.Logic / IoT App, Python

GeoServer,

OD Manager

OD Manager, API for WFS, WMS

Trajectories

Proc.Logic / IoT App, Python

OpenSearch, KB

Smart City API

TV CAM

Registering and IoT Device

OpenSearch, KB

Smart City API

BIM view

BIM Server, IFC

BIM Server, KB

BIM Manager

BIM Manager

3D City Model

Python

GeoServer, OpenSearch, KB

Smart City API, API for WFS, WMS; HTTPS