[Requests] Comment to SOS 2.0 (OGC 10-037) from GWIE

Boisvert, Eric Eric.Boisvert at RNCan-NRCan.gc.ca
Tue Nov 30 06:29:29 EST 2010


Part A to be completed once.  Iterate Part B as needed.

PART A

1. Evaluator:
        Eric Boisvert (on behalf of the GWIE)
 Geological Survey of Canada
 eboisver at nrcan.gc.ca
 +01 418 654-3705
2. Submission: OGC® SOS 2.0 Interface Standard, OGC 10-037, 2010-09-02
 
PART B

1. Requirement: General (related Feature)

2. Implementation Specification Section number: General (Table 17)

3. Criticality: Major

4. Comments/justifications for changes: [Comments]

The SOS 1 specification demands that the list of features-of-interest be explicitly serialized in the GetCapabilities document. This list is either used for discovery (harvesting by catalog) or to provide a valid list of feature identifiers to be used in GetObervation (the feature-of-interest id being one of the parameters of this operation). SOS 2 has a relatedFeature property (no more information is provided, beside the property cardinality in Table 17 of OGC 10-037), which seems to play a slightly more restricted role. The Capabilities document of SOS 2.0 lists related features instead of all features-of-interest. The related features are selected by the service provider and serve discovery purposes. In the current WaterML2 model, it has been decided that the feature-of-interest should be the monitoring station (or any other relevant sampling feature). 

But, some systems can contain large quantities of features-of-interest, so it is impractical for performance reasons to serialize them individually.  Nonetheless, the service must still need to publish a collection of feature-of-interest that can be used in GetObservation to extract observation related to a specific feature-of-interest.
 
Proposed Solution 
 
The capabilities document should be allowed to provide a composite feature as feature-of-interest. The composite feature shall be a gml:FeatureCollection nesting other gml:FeatureCollections. The collection would be composed of a list of sub-collections. If the sub-collection contains a reasonable amount of features-of-interest, the list would be serialized explicitly; otherwise the composite feature is serialized. The nesting logic within collections is up to the server. 

It can follow a purely geometric partitioning (e.g. quad-tree) or follow an administrative structure (state/county/city/zip). 
 
Proposed Specification Modification
 
Specify that the related feature CAN be a feature collection and when it's the case, the client SHALL consider that the feature 
is actually within this collection, considering that the feature collection can: 
* have nested feature collections, 
* featureOfInterest must report a xlink:role indicating that the reference is a collection or a single feature-of-interest, and
* those nested feature collections can be provided by reference. It's then up to the client application to resolve the references and drill into the collection. 
Note that this can also be used in SOS 1.0.  It can be implemented as a specific profile. 
The referenced document shall be a gml:FeatureCollection with child elements: 
* gml:description (optional),  
* gml:name (mandatory),
* gml:boundedBy (mandatory)
The boundedBy shall contain a gml:EnvelopeWithTimePeriod with all its mandatory properties (gml:lowerCorner, gml:upperCorner, gml:beginPosition and gml:endPosition).
Below is an example of a reference to a large collection.  The collection has 4 root featureMembers (nw,ne,sw and se).  The first and the last featureMembers 
are external references to other collection.  The second and third contains collection that have an explicit list of features-of-interests.  

Following the first or last xlink:href reference will return a similar collection and so forth.
 
<?xml version="1.0" encoding="UTF-8"?>
<gml:FeatureCollection xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:xlink="http://www.w3.org/1999/xlink" gml:id="network.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/gml/3.2 http://schemas.opengis.net/gml/3.2.1/gml.xsd">
      <gml:boundedBy>
            <gml:EnvelopeWithTimePeriod srsName="urn:ogc:def:crs:EPSG:4326">
                  <gml:lowerCorner>49.260000000000008 -95.19</gml:lowerCorner>
                  <gml:upperCorner>56.92 -84.69</gml:upperCorner>
                  <gml:beginPosition frame="urn:ogc:property:time:iso8601">1899-05-16T00:00:00.0</gml:beginPosition>
                  <gml:endPosition frame="urn:ogc:property:time:iso8601">2009-12-30T00:00:00.0</gml:endPosition>
            </gml:EnvelopeWithTimePeriod>
      </gml:boundedBy>
      <gml:featureMember xlink:href="http://ngwd-bdnes.cits.nrcan.gc.ca/service/gin/sos2/network/OntarioNetwork?BBOX=-95.19,49.260000000000008,-89.94,53.09" xlink:title="sw" xlink:role="http://www.opengis.net/gml/FeatureCollection"/>
      <gml:featureMember>
            <gml:FeatureCollection gml:id="nw">
                  <gml:boundedBy>
                        <gml:EnvelopeWithTimePeriod srsName="urn:ogc:def:crs:EPSG:4326">
                             <gml:lowerCorner>54.59 -95.19</gml:lowerCorner>
                             <gml:upperCorner>56.92 -89.94</gml:upperCorner>
                             <gml:beginPosition frame="urn:ogc:property:time:iso8601">1899-05-16T00:00:00.0</gml:beginPosition>
                              <gml:endPosition frame="urn:ogc:property:time:iso8601">2009-12-30T00:00:00.0</gml:endPosition>
                        </gml:EnvelopeWithTimePeriod>
                  </gml:boundedBy>
                  <gml:featureMember xlink:href="http://ngwd-bdnes.cits.nrcan.gc.ca:8080/Reference/uri-cgi/feature/gsc/waterwell/ca.on.gov.wells.3101985" xlink:title="3101985" xlink:role="http://www.opengis.net/gml/Feature"/>
                  <gml:featureMember xlink:href="http://ngwd-bdnes.cits.nrcan.gc.ca:8080/Reference/uri-cgi/feature/gsc/waterwell/ca.on.gov.wells.3100506" xlink:title="3100506" xlink:role="http://www.opengis.net/gml/Feature"/>
                  <!-- ... -->
            </gml:FeatureCollection>
      </gml:featureMember>
      <gml:featureMember>
            <gml:FeatureCollection gml:id="ne">
                  <gml:boundedBy>
                        <gml:EnvelopeWithTimePeriod srsName="urn:ogc:def:crs:EPSG:4326">
                             <gml:lowerCorner>54.59 -89.94</gml:lowerCorner>
                             <gml:upperCorner>56.92 -84.69</gml:upperCorner>
                             <gml:beginPosition frame="urn:ogc:property:time:iso8601">1899-05-16T00:00:00.0</gml:beginPosition>
                             <gml:endPosition frame="urn:ogc:property:time:iso8601">2009-12-30T00:00:00.0</gml:endPosition>
                        </gml:EnvelopeWithTimePeriod>
                  </gml:boundedBy>
                  <gml:featureMember xlink:href="http://ngwd-bdnes.cits.nrcan.gc.ca:8080/Reference/uri-cgi/feature/gsc/waterwell/ca.on.gov.wells.3100636" xlink:title="3100636" xlink:role="http://www.opengis.net/gml/Feature"/>
                  <gml:featureMember xlink:href="http://ngwd-bdnes.cits.nrcan.gc.ca:8080/Reference/uri-cgi/feature/gsc/waterwell/ca.on.gov.wells.3100638" xlink:title="3100638" xlink:role="http://www.opengis.net/gml/Feature"/>
                  <gml:featureMember xlink:href="http://ngwd-bdnes.cits.nrcan.gc.ca:8080/Reference/uri-cgi/feature/gsc/waterwell/ca.on.gov.wells.3100640" xlink:title="3100640" xlink:role="http://www.opengis.net/gml/Feature"/>
                  <!-- ... -->
            </gml:FeatureCollection>
      </gml:featureMember>
      <gml:featureMember xlink:href="http://ngwd-bdnes.cits.nrcan.gc.ca/service/gin/sos2/network/OntarioNetwork?BBOX=-89.94,49.260000000000008,-84.69,53.09" xlink:title="se" xlink:role="http://www.opengis.net/gml/FeatureCollection"/>
</gml:FeatureCollection>
 


More information about the Requests mailing list