European Commission logo
INSPIRE Community Forum

How to provide a ObservableProperty in a valid GML-file for the SOIL theme?

Dear all, we are having trouble to deliver SoilDerivedObject results using the codelist SoilDerivedObjectParameterNameValue. Looking at the model it should be delivered in the ObservableProperty attribute basePhenomenon, something like this:

<omop:ObservableProperty>
       <omop:basePhenomenon
               xlink:href="http://inspire.ec.europa.eu/codelist/SoilDerivedObjectParameterNameValue/pHValue&quot;
               xlink:title="pHValue"/>
        <omop:uom uom="pH"/>

</omop:ObservableProperty>

Our problem is where to include omop:ObservableProperty in the gml structure. The obvious place looks to be in the om:observedProperty association from OM_Observation? However, using Oxygen XML Editor we only seem to be allowed to put a reference like xlink:href under om:observedProperty.

Generating an instance document from the soil schema using Oxygen puts omop:ObservableProperty under om:procedure which doesn't make sense to us.

What are we missing here? Or could it be a problem with the schema, or Oxygen?

Any guidance or example instance documents on how to deliver omop:basePhenomenon in a valid gml file would be highly appreciated. Soil sites or soil profile exemples should follow the the same pattern.

Thanks,

Tomas Lindberg

Geological survey of Sweden

  • Katharina SCHLEIDT

    By Katharina SCHLEIDT

    Hi Tomas,

    a short pragmatic note on the background of ObservableProperties in INSPIRE - if you go down to the UML level of the data spec, you'll find that the observedProperty association on O&M Observation references a metaclass of GF_PropertyType. Thus in the core O&M Model, this is just a reference to an external resource to be provided via xlink. Most implementations rely on external (existing) codelists of ObservableProperties

    During the INSPIRE work, we did see a requirement for more detail within the ObservableProperties; this lead to the creation of the Observable Properties model in INSPIRE. This part of the Observation Model in the GCM provides a standardized representation for the complexities of ObservableProperties.

    As we did not want to break the core observation by requiring reference to the INSPIRE ObservableProperties, we left it as is, allowing data providers to either utilize their existing ObservableProperty vocabularies, or provide new ones using the INSPIRE ObservableProperties model. However, the link is ALWAYS provided via xlink, NEVER embedded.

    For Soil, unfortunately there is no consistent codelist for ObservableProperties available. We're currently working on a datamodel for GLOSIS working for the UN FAO, and hope to provide these within AGROVOC within the next months or years.

    But, I can provide you with some encoding examples from other domains, if you look within the O&M and Environmental Monitoring Group, you'll find our best practice page with examples from air and water - while it's a different environmental medium, the core observational model remains the same:

    https://inspire.ec.europa.eu/forum/pages/view/30357/efom-best-practices

    Hope this helps!

    :)

    Kathi

  • Tomas LINDBERG

    By Tomas LINDBERG

    Hi Kathi,

    Thanks a lot, really appreciate it!

    I am still not sure I understand this model completely, but that's my problem and I can live with that:)

    We are planning to deliver observedProperty like indicated below for now, and I would assume this is OK looking at the examples?

    Tomas

    ...

    <om:parameter>
       <om:NamedValue>
              <om:name xlink:title="sampledHorizonOrDepth"/>
               <om:value>1meter</om:value>
        </om:NamedValue>
     </om:parameter>
     <om:observedProperty xlink:href="http://inspire.ec.europa.eu/codelist/SoilDerivedObjectParameterNameValue/pHValue&quot; xlink:title="pH value"/>
      <om:featureOfInterest xlink:href="#id-fe642371-a754-4abb-a7f7-33190047a35f"/>
      <om:result>
            <swe:Quantity>
                <swe:uom code="pH"/>
                <swe:value>4</swe:value>
             </swe:Quantity>
         </om:result>

    ...

  • Katharina SCHLEIDT

    By Katharina SCHLEIDT

    Hi Tomas,

    observedProperty xlink is perfect, for those observedProperties where a value is provided from the INSPIRE SoilDerivedObjectParameterName codelist, use that one, for those observedProperties where there is no INSPIRE entry you must either find an alternative source (and ideally tell us here so others can also use it!) or provide your own.

    Question to the om:parameter you provide - is "sampledHorizonOrDepth" defined somewhere (I couldn't find it in the data spec). Other approach to the question - what's your featureOfInterest?

    :)

    Kathi

  • Tomas LINDBERG

    By Tomas LINDBERG

    Hi Kathi,

    Some background on our approach to implementing the SOIL theme, which is rather pragmatic.

    The data we are delivering are results from geochemical analysis on soil samples in till, sampled in a 15.5 km grid covering Sweden. We think this could be delivered using SoilDerivedObject only, since it is not really soil sites or soil profiles in our interpretation.

    We describe the procedure used  in ompr:Process (embedded), and have defined ompr:processParameters to capture some important parameters for the procedure. One of them is"sampledHorizonOrDepth", and the value is provided in om:parameter.

    The featureOfInterest is the pointing to the same SoilDerivedObject.

    We are aware that O&M is heavily based on registers, and I think these parameters should really exist in a register, maybe also the process. However, we don't have the capacity to define and publish true registers in the short term, but still wan't to publish "as is" to at least get the data out there and hopefully learn and improve our implementation further on.

    I provide a simple example with only one object. Any comments or suggestions appreciated:)

    Draft example GML SoilDerivedObject (SGU)

    /Tomas

  • Katharina SCHLEIDT

    By Katharina SCHLEIDT

    Hi Tomas,

    Very NICE!!! :)

    And yes, for your Use Case I very much understand that you're not modelling the higher level features (one could consider providing this sort of data as a coverage, but as currently all INSPIRE Coverage Models are corrupted so that they cannot be provided via WCS, this is more something for the future!)

    One question on your FoIs - is only the pH being measured on these samples, or also other things? Is there only the one sample from the location (in the Observation you provided with sampledHorizonOrDepth = "1meter") or do you take multiple samples from different depths at the same location? If it's only the one, nesting the observation makes sense, if there are multiple observations on the same location, you may want to disaggregate and link)

    I do find your process parameters very interesting as I'm still coming to understand the complexity of soil and geological measurements, all the reagent and other chemical tricks y'all do. Do you have a complete list of process parameters you've found necessary in your work? I'm assuming that most MS will have very similar requirements so it would make a lot of sense to start collecting these while finding a registry to host them (I've also been running into similar issues with the FAO GLOSIS work, ideally we'd get these bits sorted at the FAO level)

    A few do worry me a bit though:

    • percentCV: what is expressed by this value? In the Observation, the value is "+-0.02 pH-units", to me this looks like data quality information (the Observation has a slot for this!)
    • sampledHorizonOrDepth: here I'm wondering if it wouldn't be better to use a 3d CRS and provide the depth in the feature Geometry, but think both options are equally valid

    :)

    Kathi

  • Tomas LINDBERG

    By Tomas LINDBERG

    Hi Kathi,

    thanks for your comments!

    Sorry to say we don't have a complete list of process parameters covering different processes we are using. For now we have tried to translate parameters described in documentation and attributes in "excel-data" for this dataset only to make a reasonable O&M mapping.

    You point out two parameters that could need further improvements. You are probably right that percentCV would be better represented in data quality. sampledHorizonOrDepth is only a general indication on where in the sample is taken, other values includes "C-horizon" and "topsoil" so it is not a only a depth. This paramerer also should probably be further developed.

    We  normally only sample at one depth, but analyze a lot of chemical elements on that sample. Right now the model allows only for one observation on a SoilDerivedObject which we think is problematic (and as we dicussed elsewhere on this forum). 

    We will publish our first version of the SOIL theme very much like the file I published, and hopefully improve as we move along to other datasets and get some means to create and publish more official registers.

    Thanks again,

    Tomas

     

     

     

     

  • Katharina SCHLEIDT

    By Katharina SCHLEIDT

    Hi Tomas,

    one O&M insight for you on the issue "the model allows only for one observation on a SoilDerivedObject"

    While this is definitely problematic pertaining to the link from the SoilDerivedObject, the O&M standard does give you further support here based on the following 2 facts:

    • There is no limit to the number of Observations that reference the same spatial feature (in your case SoilDerivedObject) as featureOfInterest
    • The O&M Observation is a feature in its own right, and can thus be provided separately from the featureOfInterest

    At the end of the day, the soilDerivedObjectObservation association is redundant as the symetrical featureOfInterest association is mandatory anyway so the essential information is provided. Not having the soilDerivedObjectObservation association will require a bit more query functionality on your servers for complete data access, i.e. it would be nice to provide a stored query allowing access to an Observation based on it's featureOfInterest, but the data is still correct and consistent.

    And a final note on your process parameters - could you please once you've defined a consistent set that your organization will be using please post that list here?

    Many thanks!

    :)

    Kathi

Earth Science

Earth Science

Join this group to share your knowledge, learn and collaborate with INSPIRE Earth Science Cluster for Geology, Soils, Natural Risk Zones, Mineral resources, and Energy resources