Air Quality Data e-Reporting
Introduction
This page descibes the
Air Quality Data (AQD) e-Reporting extension for the 52°North SOS 4.x.
This extensions extends the database model with additionally columns and tables to store the required information and returns the observations in the prescribed AQD e-Reporting format. Furhtermore you have the possibility to define the Reporting Header that must be included in any AQD e-Reporting encoded observation collection.
DB-Model
The database model is based on the
series concept. New tables are added and existing tables were extended with required columns.
- SOS 4.3.x e-Reporting conceptdatabase model as svg
- SOS 4.3.x e-Reporting conceptdatabase model as png
Database model was created wiht
DbVisualizer
Extended tables
series
Mapping file: EReportingSeries.hbm.xml
Description: Describes a series, a combination of featureOfInterest, observableProperty, procedure, and samplingPoint
Complex Constraint: unique combination of featureOfInterestId, observablePropertyId, procedureId, and samplingPointId
observation
Mapping file: EReportingSeriesObservation.hbm.xml, EReportingSeriesObservationInfo.hbm.xml, EReportingSeriesObservationTime.hbm.xml
Description: Observation table with a relation to the series table.
Name |
Type |
Constraint |
Description |
validation |
int |
Not Null, default: -1 |
validation flag, see vocabulary |
verification |
int |
Not Null, default: 3 |
verification flag, see vocabulary |
primaryobservation |
character |
Not Null, default: var |
primaryObservation flag, see vocabulary |
timecoverageflag |
org.hibernate.type.TrueFalseType |
- |
indicator for time coverage |
datacaptureflag |
org.hibernate.type.TrueFalseType |
- |
indicator for data capture |
datacapture |
double |
- |
Data capture value, used for multi day aggregations |
uncertaintyestimation |
double |
- |
value for uncertainty estimation |
Complex Constraint: unique combination of seriesId, phenomenonTimeStart, phenomenonTimeEnd, resultTime
New tables
samplingPoint
Mapping file: EReportingSamplingPoint.hbm.xml
Description: Stores the SamplingPoint data.
Name |
Type |
Constraint |
Description |
samplingPointId |
long |
PK |
id of the samplingPoint |
identifier |
string |
unique, Not Null |
the identifier of the samplingPoint |
codespace |
long |
FK |
the codespace for the identifier, pointing to the entry in the codespace table |
name |
string |
- |
this corresponds to the names of the samplingPoint |
codespaceName |
long |
FK |
the codespace for the name, pointing to the entry in the codespace table |
description |
string |
- |
description of this samplingPoint, e.g. keywords |
assessmenttype |
string |
FK, Not Null |
the assessmentType for the samplingPoint, pointing to the entry in the assessmentType table |
station |
long |
FK |
the station relating to the samplingPoint, pointing to the entry in the station table, ( since 4.3.0-M4) |
network |
long |
FK |
the networkrelating to the samplingPoint, pointing to the entry in the network table, ( since 4.3.0-M4) |
Complex Constraint:
assessmentType
Mapping file: EReportingAssessmentType.hbm.xml
Description: Stores the AssessmentTypes data.
Complex Constraint:
station ( since 4.3.0-M4)
Mapping file: EReportingStation.hbm.xml
Description: Stores the Station data.
Name |
Type |
Constraint |
Description |
stationId |
long |
PK |
id of the station |
identifier |
string |
unique, Not Null |
the identifier of the station |
codespace |
long |
FK |
the codespace for the identifier, pointing to the entry in the codespace table |
name |
string |
- |
this corresponds to the names of the station |
codespaceName |
long |
FK |
the codespace for the name, pointing to the entry in the codespace table |
description |
string |
- |
description of this station, e.g. keywords |
Complex Constraint:
network ( since 4.3.0-M4)
Mapping file: EReportingNetwork.hbm.xml
Description: Stores the Network data.
Name |
Type |
Constraint |
Description |
networkId |
long |
PK |
id of the network |
identifier |
string |
unique, Not Null |
the identifier of the network |
codespace |
long |
FK |
the codespace for the identifier, pointing to the entry in the codespace table |
name |
string |
- |
this corresponds to the names of the network |
codespaceName |
long |
FK |
the codespace for the name, pointing to the entry in the codespace table |
description |
string |
- |
description of this network, e.g. keywords |
Complex Constraint:
ereportingQuality
Mapping file: EReportinQuality.hbm.xml
Description: Stores the observation result quality information for yearly reporting.
Name |
Type |
Constraint |
Description |
id |
long |
PK |
- |
series |
long |
Not Null |
referenced series |
year |
int |
Not Null |
references year |
primaryobservation |
character |
Not Null |
primaryObservation flag, see vocabulary |
timecoverageflag |
org.hibernate.type.TrueFalseType |
- |
indicator for time coverage |
datacaptureflag |
org.hibernate.type.TrueFalseType |
- |
indicator for data capture |
uncertaintyestimation |
double |
- |
value for uncertainty estimation |
Complex Constraint: unique combination of series, year, primaryobservation
Installation
The installation of the e-Reporting SOS is very similar to the
default installation. The difference is in the choice of the database model where
eREporting concept
should be selectd, see the screenshot:
Configuration
- After the deployment it is necessary to initial set up the e-Reporting Headers. This can be done in the admin interface:
- After you have selected eReporting you can see the form to enter the global e-Reporting Header information as organisation name, roles, contact information, ...
- On the left side you can find an overview of the e-Reporting Header elements. The colors indicate the following:
- blue : not Nil elements with a radio button, text fields or +/- buttons to add/remove sub elements
- grey : the element is
Nil
with a defined reason
- The Nil field can be de-/activated by clicking on the orange/grey
Nil
button. If the Nil field is deactivated (), the element related sub elements appears, e.g. a text field to enter the name or title.
- The
Nil reason
can be selected by clicking on the orange/grey drop down button.
- With the button the user is able to add or remove sub elements.
- For each flow an own tab is visible to define the flow specific information like change or reporting period. Currently, the e-Reproting SOS supports the flows
E1a
, E1b
, and E2a
. The screenshot shows only the flow E2a
:
- After you've made the changes press the
Save
button.
Set up namespace and prefixes for e-Reporting (optional)
The 52°North AQD e-Reporting SOS provides the support to add namespace and prefixes to the identifier of the responses, e.g. to the procedure, featureOfInterest, observedProperty, ... .
- In the
eReporting
tab of the settings you can define the namespace and the prefixes for the identifiers All definitions are optional..
- After you've made the changes press the
Save
button.
Requesting the e-Reporting SOS.
In regard to the future and to support a standard SOS next to the AQD e-Reporting support, own
service and
version parameters are used for querying AQD e-Reporting requests. These parameters are should be set in the OGC SOS 2.0 request instead of
service=SOS and
version =2.0.0:
- service =
AQD
- version =
1.0.0
Supported operations
Currently, the AQD e-Reporting extension supports the OGC SOS 2.0 operations:
- GetCapabilities
- GetObservation
During GetCapabilities is used for querying the metadata, the SOS 2.0 GetObservation operations with
service=AQD and
version=1.0.0 is used for requesting the e-Reporting flows
E
. Currently, the AQD e-Reporting SOS extension supports the e-Reporting flows
E1a
,
E1b
, and
E2a
. The response format for AQD e-Reporting is optional and by default:
- responseFormat =
http://dd.eionet.europa.eu/schemaset/id2011850eu-1.0
(optional)
Bindings
The supported bindings are:
Selecting the requested flow
As mentioned before the AQD e-Reporting 52N SOS extension supports the e-Reporting flows
E1a
,
E1b
, and
E2a
via the OGC SOS 2.0 GetObservation request definition. The flow definition in the request is
optional and should lool like this:
- KVP
- Add the parameter:
flow=e2a
- POX/SOAP
- Add this element to the request:
1 <swes:extension xsi:type="swe:TextPropertyType">
2 <swe:Text>
3 <swe:identifier>flow</swe:identifier>
4 <swe:value>e1a</swe:value>
5 </swe:Text>
6 </swes:extension>
The
value
content
case insensitive and if no flow is defined in the request, the e-Reporting flow
E2a
is returned as default flow.
Default temporal extend of a GetObservation response and temporal filter
You can define the temporal filter as defined in the
OGC SOS 2.0 standard. Without a temporal filter definition in the request, the e-Reporting GetObservation request returns the following time periods for each flow:
flow |
period |
example |
E1a |
last year |
year is 2014, the values for 2013 are returned |
E1b |
last year |
year is 2014, the values for 2013 are returned |
E2a |
last day |
today is 2014-09-20, the values for 2014-09-19 are returned |
Example requests
The 52N SOS provides some AQD e-Reporting example requests via the client. Select
AQD in the service drop-down box to only show the AQD e-Reporting example requests in
example request drop-down box.