European Commission logo
INSPIRE Community Forum

WFS vs. SOS: Which Features are provided by which download service?

Hi all,

one problem i've been chewing on for a while is the question which features get served via which download service? Problem is that there's a logical overlap between what should be provided via WFS to provide a logical spatial model, what should be provided via SOS to provide a logical measurement model. The following table illustrates the problem:

INSPIRE Features vs. Download Services (SOS/WFS)
Theme INSPIRE Class WFS SOS
EF EnvironmentalMonitoringFacility ~
OMPR Process
ISO O&M SF_SpatialSamplingFeature
EF EnvironmentalMonitoringNetwork  
ISO O&M OM_Observation  

Note: while it is not essential to provide the data for the EnvironmentalMonitoringFacility within the SOS, it would be nice to have, thus marked with ~.

I've put together a longer document on this, including problems with referencing features in INSPIRE. Now to figure out how to add this here

:)

Kathi

  • Katharina SCHLEIDT

    By Katharina SCHLEIDT

    Data Provision WFS vs. SOS

    Here the promised file on this topic

    :)

  • Ilkka RINNE

    Hello Kathi,

    If you have a WFS serving monitoring EF instances (networks & facilities), it should be relatively simple to refer to a single instance using the mandatory GetFeatureById stored query for GetFeature operation, right? So this would be a nice permanent URI if the featureID (usually a UUID) of the feature is fixed and stabile for the provided FE feature instances. One problem might be that these featureIDs may or may not be the same thing as the InspireIDs for these features, or even have a fixed 1-to-1 mapping between each other (one might be more stable than the other, for example when migrating to another database or server).

    I guess the essential modelling question here is the relationship between the O&M featureOfInterest (SamplingFeature and it's embedded or externally referred SampledFeature) and an instance of EF MonitoringFacility or MonitoringNetwork used for creating the observation out of the sampling. The type of the OM_Observation featureOfInterest is defined to be SF_SpatialSamplingFeature, so I guess it's not possible to use an instance of EF MonitoringFacility as it's value. The type of sampledFeature property is very loose defined, but it's supposed to refer to the real world target of the observation event (surroundings of the measurement station, or the place for which the station tries to take representative samples). If only the EF MonitoringFacility would implement SF_SpatialSamplingFeature things would be smoother.

  • Ilkka RINNE

    The references to the specific observation (data) instances is another question. I think it's not possible in practice to give a stable inspireID to each O&M Observation created from the data of a continuously working measurement station. Instead it would make sense to me to define such a timeseries of data as an open-ended DatasetSeries with a unique inspireID and an INSPIRE MD record. Thus the data user could find the DatasetSeries and the download service providing it by using a discovery service. Then it would be up to the download service to provide further details of which time steps (or Observation features) can actually be downloaded as subsets of this DatasetSeries.

  • Ilkka RINNE

    Hmm, actually I think it would make a lot of sense the make the EF:AbstractMonitoringObject class extend SF_SpatialSamplingFeature class. This would mean that we could use EF MonitoringFacility or MonitoringNetwork features directly as the values of featureOfInterest (sampling feature) of any O&M observation, be it a standalone GML document file, WFS GetFeature result or SOS GetFeatureOfInterest result.

    The geometry property would become obsolete, as the sampling feature geometry is already provided by the "shape" property of SF_SpatialSamplingFeature.

    Does anyone remember why this was not done so in the first place?

  • Katharina SCHLEIDT

    By Katharina SCHLEIDT

    Hi Ilkka,

    on making the EF:AbstractMonitoringObject class extend SF_SpatialSamplingFeature class

    while the idea of making the monitoring facility or network the sampledFeature came up during the EF TWG meetings, we came to the realization that we're not measuring something on the facility itself, but more on the surrounding environmental media. The actual FoI is linked to the facility via the ObservingCapability class.

    Within air quality reporting, we've also defined a backlink to the facility from the OM_Observation via the Observation parameter attribute, whilst setting the relevant processParameters in the INSPIRE Process

    Also, there can be cases where the facility geometry and the FoI geometry are not the same. Examples:

    • an air quality station with 2 different inlets: the air bubble around the inlet (with info such as it's height) is the FoI
    • in biodiversity surveys, you may have multiple plots around a facility where biodiv is being surveyed. again, it's not the facility itself

    Does this help to clarify ?

    :)

     

  • Katharina SCHLEIDT

    By Katharina SCHLEIDT

    Hi Ilkka,

    some more answers:

    pertaining to "references to the specific observation (data) instances", to my understanding, every time one queries (at least the 52°N) SOS on observations, one receives the observation ID. This is also persisted in the SOS server, so once an observation has been queried, one can always refer to it by the id returned.

    back to the base question of how to deal with overlaps, to my view the far trickier bit is the process information. providing an EF facility without this information doesn't work, but providing an observation without also doesn't work.

    One idea i've had is to always assume that the WFS is providing. in the SOS one could then, instead of actually accessing the process data, just redirect to the correct WFS query (and if you wanna be nice about it, reformat the result to an SOS response wrapper)

    :)

     

  • Ilkka RINNE

    Thanks for the clarification Kathi,

    The facility is not the sampled feature, I agree. As we both pointed out the sampled feature should point to the "domain feature", which is typically the surroundings of the sampling feature, and the properties of which are being sampled via some medium. But I'm still not fully convinced that the facility could not be sampling feature.

    In this case I'm seeing more than two levels of sampling/sampled features: When taking a high-level overview, in many cases the facility samples it's the conditions of it's surroundings as an atomic entity. When zooming in, the facility may be consist of separate measurement locations with a set of instruments deployed in each.

    The OGC O&M specification suggests that the relatedSamplingFeature property could be used for modelling this kind of hierarchical relationships between sampling features (O&M SamplingFeature schema):

    Sampling features are frequently related to each other, as parts of complexes, through sub-sampling, and in other ways. If present, the association class SamplingFeatureComplex (Figure 9) shall link a SF_SamplingFeature to another SF_SamplingFeature.

    So if the air quality station would be a SpatialSamplingFeature, it could have references to all it's inlets (and their geometries) as relatedSamplingFeature property values with role "member" etc. Each of the inlets, instruments etc. would then also be modelled as SpatialSamplingFeatures, either inline or by reference. Unfortunately the acceptable roles would then of course have to specified somewhere (another codelist). 

  • Ilkka RINNE

    About the process: Finnish Meteorological Institute is providing pretty much all of the weather measurements and forecasts using as open data using WFS and the INSPIRE O&M data models. They are also currently in process of publishing the weather observation stations and networks in Finland using the EF data model.

    The way I've guided them to solve the process problem is to use a standalone xml files for describing the process. An example: http://xml.fmi.fi/inspire/process/opendata

    The same files are then used both in WFS GetFeature responses for the observation time series (omso:PointTimeSeriesObservation etc.) and for the EF MonitoringFacilities.

  • Katharina SCHLEIDT

    By Katharina SCHLEIDT

    Hi Ilkka,

    sorry, I currently just don't have the resources to further discuss options for making the station the samplingFeature. We had these discussions within the TWG, and if you really want to discuss this, please do a seperate thread on this topic.

    as to how to provide all this data, do I understand correctly that the Finnish Meteorological Institute will only be providing the available measurement data via a WFS? Is this WFS configured so that users can access certain time periods or must they always do a bulk download and then sort out what they need?

    :)

  • Katharina SCHLEIDT

    By Katharina SCHLEIDT

    Hi Ilkka,

    interesting approach with the standalone XML files for process (btw - once you upgrade to the final Process Schema, you'll no longer get an error for not having an inspireLd ;) )

    But again - some questions: at http://xml.fmi.fi/inspire/process/opendata you currently provide exactly one process description, how do you do this with multiple processes?

    Also - have you sorted a way of getting from the INSPIRE ID, so in your example the parts:

    to a single URI reference such as your http://xml.fmi.fi/inspire/process/opendata ?

    :)

Environmental Monitoring & Observations

Environmental Monitoring & Observations

Environmental Monitoring Facilities, Observations and Measurements