Atomic Services

Atomic Service are used to build application services that can be easily replicated in different cities and reach large scale. They are functional blocks that do only one thing, but are more complex than a simple function. The use of Atomic Services are encouraged but not mandatory.

This page is an overview of the existing Atomic Services that have so far been created in SynchroniCity, simply because we needed them to do simple, but common tasks in a IoT-enabled service for cities and communities. You can build your own, too.

    Atomic Services (see below for more info on each):

    • Routing
    • Traffic Flow Estimator
    • Smart Cities Dashboard
    • Metrics Visualizer (Grafana)
    • GTFS-RT Loader from NGSI
    • Urban Mobility to GTFS
    • GTFS Fetcher

    Routing

    The Routing atomic service allows citizens to execute queries for finding routes, bus and taxi stops, city bikes and bicycling routes, disruption info. In addition it is useful for generating multi-modal routing taking into consideration static and dynamic information coming from the cities such as air quality or traffic estimation.

    This atomic service is based on the OpenTripPlanner. Requests to this service can be done either through the original OTP API or via GraphQL.

    City information can be injected via the SynchroniCity framework with the usage of other SynchroniCity atomic services such as GTFS Fetcher, GTFS-RT Loader from NGSI, and Urban Mobility to GTFS.

    CITIES INVOLVED

    • Helsinki
    • Porto
    • Milan
    • Santander

    CHALLENGES ADDRESSED

    • Enter the departure point, destination point and optionally other intermediates points of an itinerary on a map.
    • Select among different traveler profiles (e.g.: by walk, drive a car, drive a bike, use public transportation, etc.).
    • Combine multiple transportation modes and mobility infrastructures (e.g.: metro + bike sharing for last mile instead of bus).
    • Plan routes by taking into account user preferences (panoramic itinerary, air quality, lowest cost, lowest time, traffic situation etc.) and requirements
    • Take into account user related information in order to suggest routes based on his/her preference

    Traffic flow estimator

    In an urban context, traffic status is a key aspect when considering the time needed to cover a distance between two places. Even so, looking at traffic status alone may not be the most effective approach.

    This service analyzes context data to provide current (close to real-time) traffic status and exploit historical data to estimate potential traffic status. This could be used as additional information presented to the user or to feed the Routing atomic service in order to add a ‘cost/weight’ to each street when picked by the routing algorithm.

    This service could also help take actions like dispatch counter measures to alleviate traffic, advise users on the routes to avoid streets with heavy traffic, or even use it to raise alerts in case a predicted situation is very different from the actual one (e.g. if the service predicts heavy traffic on a street, but it is currently with very light traffic, then some disruption may have happened).

    CITIES INVOLVED

    • Porto
    • Santander

    CHALLENGES ADDRESSED

    • Estimate traffic situation based on historical data.

     

    Smart Cities Dash Board

    The Smartcities Dashboard tool is a web service interface that provides end-users with a simple and user-friendly visualization of the devices used by the SynchroniCity pilots across different cities. The current service version is relying on Google Maps API to create a web service that draws a map of the devices deployed along the world.

          All the devices are shown in real time, taking advantage of the SynchroniCity publish/subscribe mechanisms (i.e. Orion). In this way, updated values for sensors and location are assured.

          The dashboard splits the data information between real time data and historical data. The first one is provided as soon as it is gathered. The second one is gathered and aggregated by SynchroniCity historical component: STH Comet.

          The dashboard has been created providing a well-defined user experience. Each point representing a device can be clicked deploying custom tabs regarding the sensors deployed. 

    CHALLENGES ADDRESSED

    • Process data from multiple sources/sensors in real-time from SynchroniCity framework
    • ·       View flexibility to certain data sets (e.g. through dashboard widgets)
    • ·       Map as the main way of interaction to superimpose data sets
    • ·       The application must provide users with a geo-scoped search of data.
    • ·       User Interface is intuitive and easy to use

    Metrics Visualizer (Grafana)

    Metrics Visualizer is a custom deployment of Grafana software working on top of the FIWARE stack services of SynchroniCity.

    Through this atomic service, a set of databases can be configured as datasources in order to create personalized charts and tables. These databases are filled using QuantumLeap or FIWARE Cygnus as device information subscriber. Grafana provides a user management system allowing the creation and management of isolated dashboards with custom charts and device information.

    In addition two SynchroniCity customized plugins are included for:

    • Visualization of historical data on a map
    • Visualization of parking estimation atomic service output

    CITIES INVOLVED

    • Eindhoven

    CHALLENGES ADDRESSED

    •     Process data from multiple sources/sensors in real-time from SynchroniCity framework
    •     View flexibility to certain data sets (e.g. through dashboard widgets)
    •     Selection of specified time window and display corresponding aggregated data over the selected time window
    •     Annotation specified time windows
    •     User Interface is intuitive and easy to use

    GTFS-RT Loader from NGSI

    This atomic service provides notifications of real-time information in a widely used format, GTFS-RT. The atomic service consumes information following the SynchroniCity data models using an NSGI API, and generates GTFS-RT feeds from it. The service was initially developed to manage transportation arrival estimation and it will be upgraded to also include other GTFS-RT kind of data.

    The real-time entities stored in the SynchroniCity instances are bound to a GTFS feed file that contains the static data, what allows the service to support real-time provisioning for multiple GTFS feeds.

    From a user perspective, the service is seen as a regular GTFS-RT provider. This way, legacy services able to consume GTFS-RT information can be seamlessly deployed on top of a SynchroniCity instance.

    This service can be used in combination with the Routing atomic service in order to feed the latter with transportation information stored within the SynchroniCity framework.

    CITIES INVOLVED

    • Santander
    • Porto
    • Milan

    CHALLENGES ADDRESSED

    • Lookup of available GTFS-RT data from NGSI context providers (such as FIWARE Orion)
    • Acquire GTFS-RT data feed from NGSI
    • Feed the acquired GTFS-RT to an application

    Urban Mobility to GTFS

    FIWARE Urban Mobility data models (adopted by SynchroniCity) provide a mapping between NGSI and GTFS feeds. GTFS defines a common format for public transportation schedules and related geographic information.

    The Urban Mobility to GTFS service, is in charge of converting NGSI entities, compliant to Urban Mobility Data Models, to the native GTFS feed format, performing the inverse mapping done when defining the NGSI counterpart.

    The service can be used either as on-demand translation tool, using the dedicated API or as a daemon service, which at fixed time interval automatically retrieves NGSI entities and create (if entities have been updated) a new GTFS feed archive. In the first case, the feed is directly returned as a binary file; in the second one, the tool writes the resulting archive file to a specific internal or remote directory.

    This service can be used in combination with the Routing atomic service in order to feed the latter with transportation information stored within the SynchroniCity framework.

    CITIES INVOLVED

    • Milan
    • Santander
    • Porto

    CHALLENGES ADDRESSED

    • Create GTFS feed from data contained into the SynchroniCity framework (i.e. FIWARE)
    • On-demand creation of GTFS feed
    • Daemon service: continuous creation of new GTFS feeds when need.

     

     

    Data & Services

    See a sample of what already exists

    GET STARTED

    All you need is git, Docker, *nix and net