We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

SensorThings API in practice: the AIR-BREAK project in Ferrara

00:00

Formal Metadata

Title
SensorThings API in practice: the AIR-BREAK project in Ferrara
Title of Series
Number of Parts
351
Author
License
CC Attribution 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language
Production Year2022

Content Metadata

Subject Area
Genre
Abstract
In the city of Ferrara (Italy) Dedagroup Public Services and other partners are involved in AIR-BREAK project (airbreakferrara.net/) to implement a set of geo-ICT tools for supporting an improved identification and monitoring of urban air quality. Different datasets from heterogeneous sources have been already interconnected and integrated in the Spatial Data Infrastructure of the Municipality of Ferrara, based on (geo)standard protocols for data interchange sourced by: • 173 authoritative AQ monitoring stations from 3 regional environmental agencies, ARPAE Emilia-Romagna (52), ARPA Veneto (33) and ARPA Lombardia (88), for their own whole regional areas; • 2 private AQ monitoring stations managed by private companies located in Ferrara; • 14 new AQ monitoring stations installed by Lab Service Analytica (project partner) in the territory of Ferrara For integrating and sharing dynamic hourly data about air quality and other themes, we adopted the OGC Sensor Things APIs (STA) as the reference standard protocol [1]. STA is based on the OGC/ISO 19156:2011 [2] and provides an open and unified framework to interconnect IoT sensing devices, data, and applications over the Web. It is an open standard addressing the syntactic interoperability and semantic interoperability of the Internet of Things. It complements the existing IoT networking protocols such CoAP, MQTT, HTTP, 6LowPAN. While the above-mentioned IoT networking protocols are addressing the ability for different IoT systems to exchange information, STA is addressing the ability for different IoT systems to use and understand the exchanged information. In AIR-BREAK project, FROST solution (FRaunhofer Opensource SensorThings-Server) [3] has been deployed in the GIS server farm of the Municipality of Ferrara to complement Geoserver and other technologies already providing services for viewing/accessing data based on OGC standards. Indeed, among the final objectives of the project, the implementation of a standard-based Air Quality Data Infrastructure focuses on: 1. creating a bi-lateral and cooperative communication systems between authorities and citizens about air quality and its perception; 2. defining and implementing a multi-stakeholder Data Infrastructure on Air Quality to integrate existing/heterogeneous/dynamic data from both authoritative sources and crowdsourced by citizens (Rete di Monitoraggio Ambientale Partecipativo [4]); 3. providing such dynamic air quality data to local authorities involved monitoring (i.e. Municipality of Ferrara, ARPAE, Regione Emilia-Romagna) and to citizens, through standard APIs (STA) and with open licenses through the upcoming open data portal of Ferrara (June 2022); 4. testing and validating innovative solutions for air quality monitoring using in-situ IoT sensors and satellite remote sensing (e.g. Copernicus) References: [1] en.wikipedia.org/wiki/SensorThings_API [2] iso.org/standard/32574.html [3] GitHub: FraunhoferIOSB/FROST-Server [4] rmap.cc/
Keywords
202
Thumbnail
1:16:05
226
242
Control flowPresentation of a groupMereologyPhysical systemProjective planeControl flowGroup actionFocus (optics)Systems integratorXML
Mixed realityPresentation of a groupInternet der DingePoint (geometry)MereologyPlug-in (computing)Software developerImplementationStandard deviation
AreaCircleZoom lensComputer animation
DialectCircleArea
Reduction of orderFinitary relationPhase transitionComputer networkControl flowMathematical analysisSpeciesIntegrated development environmentSystem administratorEvent horizonProjective planeMobile WebSoftwareNetwork topologyIntegrated development environmentComputer programmingGroup actionDialectWorkstation <Musikinstrument>Reduction of orderOrder (biology)AreaMereologyComputer animation
Presentation of a groupGoogolComputer animation
Computer wormPOKEMereologyDialectAuthorizationWeb portalMappingFunctional (mathematics)Integrated development environmentComputer animation
StatisticsPressure volume diagramWeb pageExecutive information systemDynamic random-access memoryOrder of magnitudeCohen's kappaCommon Language InfrastructureWeb portalSimilarity (geometry)MappingOpen setComputer animation
Digital filterOperator (mathematics)Self-organizationCone penetration testLogic gatePlastikkarteHypermediaNon-standard analysisSimilarity (geometry)Level (video gaming)DialectState observerMappingWorkstation <Musikinstrument>Open setComputer animation
Temporal logicContent (media)Cone penetration testWorkstation <Musikinstrument>Data structureVolumeStandard deviationDigital filterCodierung <Programmierung>User profileServer (computing)Library catalogTransformation (genetics)Product (business)InternetworkingSystem programmingMereologyEvent horizonElement (mathematics)Open setSelf-organizationBit rateWeb portalProjective planeMereologyOrder (biology)Standard deviationProfil (magazine)DialectStorage area networkOpen setPoint (geometry)WordLevel (video gaming)Uniform resource locatorComputer fileSocial classObservational studySet (mathematics)Web portalData streamPolygonBulletin board systemData modelLine (geometry)Cross-platformType theoryTime seriesData storage deviceDomain nameView (database)Object (grammar)Presentation of a groupTask (computing)Multiplication signTraffic reportingMappingWorkstation <Musikinstrument>Core dumpSoftwareMultiplicationState observerDiagramTemporal logicData structureInternet der DingeTrigonometric functionsDifferent (Kate Ryan album)2 (number)Computing platformCoordinate systemComputer animationSource codeXML
Wrapper (data mining)NavigationLocal GroupProcess (computing)Parameter (computer programming)DataflowServer (computing)DialectLevel (video gaming)CASE <Informatik>Military baseComputer animation
Server (computing)ImplementationOpen sourceSource codeMereologyInternetworkingEmailUsabilityView (database)Differential (mechanical device)File viewerControl flowIntegrated development environmentFunctional (mathematics)Domain nameVideoconferencingLocal ringBitComputer fileWeb 2.0Task (computing)Different (Kate Ryan album)Parameter (computer programming)Electronic mailing listCASE <Informatik>MereologyAssociative propertyUniform resource locatorImplementationServer (computing)Web pageStandard deviationWeb applicationWorkstation <Musikinstrument>Open sourceProjective planeWeb browserInstance (computer science)Arithmetic meanWebsiteExecution unitData streamLibrary catalogSystem administratorState observerMultiplication signSource codeProfil (magazine)DialectMappingStudent's t-testEqualiser (mathematics)Maß <Mathematik>Statistical dispersionMoment (mathematics)Computer animation
Instance (computer science)Interactive televisionSinc functionSlide ruleServer (computing)GeometryLibrary (computing)Order (biology)Polygon meshMobile appComputer animation
Plug-in (computing)FAQElement (mathematics)Random matrixInformationRaster graphicsProcess (computing)Attribute grammarTotal S.A.RotationCoordinate systemVideoconferencingPhysical systemStokes' theoremServer (computing)Quality of serviceMIDIBriefträgerproblemDecimalDeterminantDot productMiniDiscStack (abstract data type)MalwareExt functorWorkstation <Musikinstrument>Proper mapTime zoneRemote Access ServiceControl flowStatisticsVideoconferencingCategory of beingSoftware developerServer (computing)Electronic mailing listSystem callCASE <Informatik>Latent heatProjective planeInstance (computer science)Moment (mathematics)Client (computing)Type theoryStatistical dispersionUniform resource locatorFunctional (mathematics)Streaming mediaSet (mathematics)2 (number)MultiplicationDynamical systemWeb 2.0Extension (kinesiology)Multiplication signMathematicsStandard deviationPlug-in (computing)DiagramMereologyPopup-FensterBitPresentation of a groupWorkstation <Musikinstrument>Group actionInterface (computing)Computer animationDiagramProgram flowchart
Address spaceEmailQR codeComputer animation
Transcript: English(auto-generated)
Hello everybody, my name is Pier Giorgio Cipriano from DataNext Italy. DataNext is an IT system integrator, a large company, Italian based, part of the data group. And this presentation is about one project called Airbrake, so the focus, the topic is on air quality,
but not limited to air quality only because the second issue of the presentation is related to the lack of interoperability when talking about and using data coming from IoT devices and sensors.
That's why I will briefly introduce the OGC Sense of Things API standards. And I will conclude with the last part of the activity that we have undertaken in the recent months,
that is the drafting implementation, the development of QGIS plug-in for connecting two sensor things, API endpoints. Let's start from here, so we're talking about air quality and the red area is the so-called Povale, the Pianora Padana,
that is one of the most air polluted areas we have in Europe. Zooming in, I highlighted with this red circle the area of Ferrara.
Ferrara is a medium sized city located in the Milia Romagna region, but very close to the borders with the Veneto region and also with Lombardia. In Ferrara, 20 months ago, at the beginning of last year, January 21, we started a project co-founded by the European OUYA program
aiming at improving the network of sensors for measuring air quality in the city, in the urban area, and collecting more data than those that are already available coming from authoritative official stations managed by the regional agency for environmental protection.
And of course, the project itself is not limited to the soft part, but is also considering specific hard actions like planting new trees or incentivating sustainable mobilities in order to reduce air pollution in the city.
This question is mainly addressed to Italian people present here, but of course extended also to not Italians.
I think that there are some Italians over there and my question is, have you ever tried to search for air quality data about Povale? And we did it. We started from a simple and stupid search in Google and we
landed, of course, on regional portals provided by regional authorities and regional agency for environmental protection. Here we are in Piedmonte. We considered also Piedmonte even though Piedmonte is quite far away from Ferrara, but it is part of the Pienuor Padana, part of the Povale.
And we discovered these beautiful maps and also capabilities, functionalities for downloading data. Also Lombardia is offering similar features, similar capabilities, so forecasting maps and also data
that can be downloaded thanks to the open data portals of the original Lombardia. Similar situation in Emilia-Romagna too with maps about observations, not forecast but observations.
And daily and hourly data about air quality at station level coming from the open data portal of the regional environmental protection agency. Veneto, the last one. In Veneto we only have this type of maps. We have daily bulletins,
daily reports at provincial level and we don't have any data available for download, at least here. Please keep in mind this posted because we will recall it later on in the presentation. So, summarizing. In Piedmonte we have daily maps for both observations and forecast.
Data can be downloaded but only station by station and only pollutant by pollutant. There aren't any APIs available or at least they are not searchable, they are not described.
And data are provided in CSV files with this structure. While in Lombardia, daily maps are only for forecasts, data can be downloaded for all stations and for all pollutants. APIs do exist but they are not standard. They are proprietary APIs since
the regional open data portal is based on Sohrata solution, that is proprietary software. And CSV encoded files are having this structure quite different from the previous one. In Emilia-Romagna, daily maps and charts as well only for observations, data can be
downloaded for all stations and for all pollutants, but limited to the last two months. Again, also in Emilia-Romagna there are APIs available, but again, not standards based on a second.
And the structure of data is similar to Lombardia and different from Piedmonte. So, in two words, no interoperability. And we definitely need IoT interoperability. That's why we propose to project partners, in particular to the municipality of Ferrara that is leading, that is coordinating
the outbreak project, to think of a solution implementing an OGC standard, that is the OGC Sense of Things API. For those that are not familiar with the OGC Sense of Things API, it was published a few years ago, I think in 2017 or something.
And it is a platform independent, reality free, and most importantly, at least from my point of view, it is domain agnostic.
So, it is not related to sensors for a specific domain. It can be applied to all types of temporal data of time series. And the standard is divided in two parts, the sensing profile and the tasking profiles.
This is the quite simple data model with, I hope that also from the back, this UML diagram can be viewed, can be understood. There are some important concepts, of course, like the thing that can be related to one or more location.
The location class is the one having the references to the coordinates. Location can be expressed by points or other types of features, like also lines and polygons.
Things can be also related to historical location. This is interesting also for moving objects. And the core, the main concept is represented by data stream.
In the standard, two different types of data streams are foreseen. The simple data stream and multi-data stream, and we will see a practical example later on.
So, what we did, since the lack of interoperability existing at regional level, at least in Italy, we decided to implement a set of data ingestions.
That ingestion flows, so collecting and ingesting hourly and daily data from regional open data portals, by connecting through Socrata and Secan APIs, in order to store data into a sensor things API compliant solution.
And for doing this, we decided to use Apache NiFi as a server-side engine to manage and orchestrate flows. Flows that are, in the case of data about our quality coming from regional agencies,
are running every day, because data are not available at a more frequent level. But with other data, we have more frequent flows, hourly based or sub-hourly based.
And for the sensor things compliant solution, we chose Frost, implemented by Fraunhofer Institute. Thanks to the brilliant idea of Dr. Hilke van der Schaff. It is the first complete and open source implementation of this standard, in particular of part 1,
but is evolving also for part 2 on tasking. At the moment, we have data coming from these sources. So we have data coming about a little bit less than 200 regional and official air quality stations,
plus new municipal air quality stations, plus bike counters and so on. So we are applying this standard not only to air quality, but also to other domain. In the fall, in autumn time, we will also start collecting data from other new 45 low-cost air quality stations
that will be provided by the municipality, citizens, schools and local associations. So the Frost instance has been deployed on the server farm of the municipality of Ferrara.
Here we have the base URL from a simple browser. It can be accessed and we can navigate the single concepts of the standard that we saw before. So we can access the list of locations and based on a specific location,
we may have the things related to that location and then we can go through the data streams, so have the list of all possible data streams. In the case of air quality, data streams are corresponding, for instance, to the variables,
to the parameters that are measured, like ozone, PM10 and so on. And then, of course, based on the data stream, we get observations. The first implementation that we started and we concluded at the end of last year
was on top of the Web GIS portal of the municipality of Ferrara. So we extended their own Web GIS solution by adding functionalities for interacting with the Sense of Things API endpoints.
I will stop now to call it Sense of Things API because it is too long. I will call it just STA. So when clicking on a specific location, you can see data as a simple table or as a chart like this
and from here you can download data as local CSV file. Of course, we added also functionalities for the municipality to configure other endpoints when available in this data catalog that is an admin user web application
for configuring maps, credentials, profiles, users and functionalities and so on. Then we focused on the fact that air quality is not so simple domain.
When talking about air quality data, we have to consider that we have different unit of measures, we have different meanings and what we wanted was to somehow humanize things. Air quality data and we run some workshops with student, teachers and so on.
This video is showing a web page hosted by the project website that will be publicly available in autumn. I jump these slides. One of the ways of presenting air quality, for instance, is with this mesh app.
We use the JavaScript libraries interactive with the GeoServer in order to get hourly updated data. And then we started QGIS. Since I've got five minutes less, I start this video and I can talk on top of them.
So we decided to add a capability that apparently QGIS is not having at the moment that is the ability to access dynamic data about sensors. And, of course, we focused on endpoints that are compliant to sensor things API, to SDA standard.
So here we are connecting to the municipality of Ferrara endpoint. Here I add a layer showing the location that will appear in some seconds
about the air quality stations, but then I also add the bike counters. So here it should appear two layers. And just by clicking on one location using the second functionality of the plug-in,
we can open a pop-up window showing the list of properties that are available for that specific location.
So in the case of air quality stations, the list of variables that are measured, like NOx or CO or even temperature and so on, then we can select one of them and have data like in the Web GIS client that I showed before.
We can change the time extent and download locally the data set in CSV, always interacting, so performing some request to the SDA endpoints. I jump a little bit, I skip this part because it is about bikes, bike transit.
Okay, I stop it a little bit here. You remember before the post-it, I said that in Veneto, Reggione Veneto or ARPA Veneto, that is the regional authority,
are not publishing data about air quality in their own portal. But when we started to develop the plug-in two months ago, we discovered an interesting endpoint by the Fraunhofer Institute
that is collecting all air quality data for all stations present in Europe. So here I can select and filter stations based on their own properties. For instance, I can only select stations from a specific country or by type,
like rural stations or urban stations. And here we have stations also about Reggione Veneto.
And again, when interacting with the second functionality by clicking on the location, we can explore data, we can navigate data and also for multi-data streams,
I skip here, we can have this kind of multi-diagrams, of course, if available at server side. Okay, I want to close the presentation, now the video. Okay, so the plug-in is already available on GitHub.
Okay, I'm finishing. You have also some instructions and more important, the list of publicly available endpoints providing SDA interface. And this is the last one. What we are in mind is to complete the development that we started two months ago,
also exploiting a new project called usage. So we are asking for call for contributions. We are searching for external developers, so who is interested, please contact me.
And Geocat already confirmed their interest, also because we are partnering together in usage project. And the idea is to have an open collaborative project and possibly have an official QGIS plug-in next year. I thank you very much.
Here you can find my email address if you want to contact me or if you want to scan the QR code. Okay.