Scenario 1: Find a Service providing Sensor Data that supports Comparison Filters

72 Copyright © 2010 Open Geospatial Consortium, Inc. ogc:PropertyIsEqualTo ogc:PropertyNameServiceidogc:PropertyName ogc:PropertyNameClassificationclassifiedObjectogc:PropertyName ogc:PropertyIsEqualTo ogc:PropertyIsEqualTo ogc:PropertyNameClassificationclassificationNodeogc:PropertyName ogc:Literalurn:x-ogc:def:rim-scheme:fes-2.0- ops:comparisonogc:Literal ogc:PropertyIsEqualTo -- link Serivce to its Channels -- ogc:PropertyIsEqualTo ogc:PropertyNameServiceidogc:PropertyName ogc:PropertyNamehcsourceObjectogc:PropertyName ogc:PropertyIsEqualTo ogc:PropertyIsEqualTo ogc:PropertyNamehcassociationTypeogc:PropertyName ogc:Literalurn:oasis:names:tc:ebxml- regrep:AssociationType:HasChannelogc:Literal ogc:PropertyIsEqualTo ogc:PropertyIsEqualTo ogc:PropertyNamehctargetObjectogc:PropertyName ogc:PropertyNamechannelidogc:PropertyName ogc:PropertyIsEqualTo ogc:PropertyIsEqualTo ogc:PropertyNamechannelobjectTypeogc:PropertyName ogc:Literalurn:ogc:def:rim-object- type:ows7:EventChannelogc:Literal ogc:PropertyIsEqualTo -- link Channel to its events -- ogc:PropertyIsEqualTo ogc:PropertyNamechannelidogc:PropertyName ogc:PropertyNamecbsourceObjectogc:PropertyName ogc:PropertyIsEqualTo ogc:PropertyIsEqualTo ogc:PropertyNamecbassociationTypeogc:PropertyName ogc:Literalurn:oasis:names:tc:ebxml- regrep:AssociationType:ChannelBindingogc:Literal ogc:PropertyIsEqualTo ogc:PropertyIsEqualTo ogc:PropertyNamecbtargetObjectogc:PropertyName ogc:PropertyNameeventidogc:PropertyName ogc:PropertyIsEqualTo -- Event must be in SFE domain and handle some form of sensor measurement -- ogc:PropertyIsEqualTo ogc:PropertyNameeventSlot[name=EventDomain]ValueListValueogc: PropertyName ogc:Literalhttp:www.opengis.netows7sfeeventsogc:Literal ogc:PropertyIsEqualTo ogc:PropertyIsEqualTo Copyright © 2010 Open Geospatial Consortium, Inc. 73 ogc:PropertyNameeventNameLocalizedStringvalueogc:PropertyName ogc:LiteralVideoChangeDetectedogc:Literal ogc:PropertyIsEqualTo ogc:And ogc:Filter Constraint Query GetRecords 7.5.1.2 Step 2: Query invocation To invoke the query an HTTP-POST request is submitted to the registry query endpoint. Typically, a registry client is used to perform these operations. For demonstration purposes, the Query utility page at http:registry.galdosinc.comows7utilquery can be used by pasting the above query into the text box and clicking the Query button. Note: This Query utility page requires authentication --- use these credentials: ows7event 0pen4me. The password contains two numbers, a zero 0 and a four 4. Step 3: Extract the Service URL from the response. The base assumption is that the Service URL may then be invoked directly to access the Service in question. In reality, one would not expect to invoke such a service directly, but via a suitable client application. The sample response for the query formulated above is shown below. The Service URL can be obtained from the Service object as indicated by this XPath statement: csw:GetRecordsResponsecsw:SearchResultsrim:Servicerim:ServiceBindin gaccessURI assuming that the prefixes are bound appropriately. If the namespaces are not bound as expected, then this modified XPath should work: :GetRecordsResponse:SearchResultsrim:Servicerim:ServiceBindinga ccessURI The following listing shows the response to the query shown in Listing 1. It has been simplified to focus only on relevant details. Listing 2: Response from service registry listing a service that provides sensor events and supports comparison filters ?xml version=1.0 encoding=UTF-8? GetRecordsResponse xmlns=http:www.opengis.netcatcsw2.0.2 version=2.0 SearchStatus timestamp=2010-05-27T13:53:14 SearchResults numberOfRecordsMatched=1 elementSet=full numberOfRecordsReturned=1 nextRecord=0 74 Copyright © 2010 Open Geospatial Consortium, Inc. rim:Service xmlns:rim=urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0 xmlns:wrs=http:www.opengis.netcatwrs1.0 xmlns:xlink=http:www.w3.org1999xlink id=urn:x-ows7:def:event-service:sfe:ex-01 objectType=urn:oasis:names:tc:ebxml- regrep:ObjectType:RegistryObject:Service status=urn:oasis:names:tc:ebxml-regrep:StatusType:Submitted rim:Slot name=http:purl.orgdcelements1.1subject slotType=urn:oasis:names:tc:ebxml-regrep:DataType:String rim:ValueList rim:Valueswerim:Value rim:Valuesferim:Value rim:Valuesensorrim:Value rim:Valueeventrim:Value rim:Valueowsrim:Value rim:Valueows7rim:Value rim:Valueows 7rim:Value rim:Valueows-7rim:Value rim:Valuewrsrim:Value rim:Valueebrimrim:Value rim:Valueogcrim:Value rim:Valueweb servicerim:Value rim:ValueList rim:Slot rim:Slot name=Topics slotType=urn:oasis:names:tc:ebxml-regrep:DataType:String rim:ValueList rim:ValueCameraPositionsrim:Value rim:ValueDetectedChangesrim:Value rim:ValueList rim:Slot rim:Slot name=Extent slotType=urn:ogc:def:dataType:ISO-19107:2003:GM_Envelope wrs:ValueList wrs:AnyValue gml:Envelope xmlns:gml=http:www.opengis.netgml srsName=urn:ogc:def:crs:EPSG::4326 gml:lowerCorner49.5964 2.3508gml:lowerCorner gml:upperCorner51.50167 6.4597gml:upperCorner gml:Envelope wrs:AnyValue wrs:ValueList rim:Slot rim:Name rim:LocalizedString value=Sample SFE Event service 1 rim:Name rim:Description rim:LocalizedString value=Sample SFE Event service with two event channels and full Filter 2.0.0 support. rim:Description ... Copyright © 2010 Open Geospatial Consortium, Inc. 75 rim:Classification id=urn:uuid:4ee124c5-3f72-43e5-ae43- 51a70d28770c lid=urn:uuid:4ee124c5-3f72-43e5-ae43-51a70d28770c objectType=urn:oasis:names:tc:ebxml- regrep:ObjectType:RegistryObject:Classification status=urn:oasis:names:tc:ebxml-regrep:StatusType:Submitted classifiedObject=urn:x-ows7:def:event-service:sfe:ex-01 classificationNode=urn:ogc:serviceType:SensorEventService:0.3 rim:Name rim:Description rim:Classification ... rim:Classification id=urn:uuid:5d8819d5-5484-4d58-946b- e0f18fa4084d lid=urn:uuid:5d8819d5-5484-4d58-946b-e0f18fa4084d objectType=urn:oasis:names:tc:ebxml- regrep:ObjectType:RegistryObject:Classification status=urn:oasis:names:tc:ebxml-regrep:StatusType:Submitted classifiedObject=urn:x-ows7:def:event-service:sfe:ex-01 classificationNode=urn:x-ogc:def:rim-scheme:fes-2.0- ops:comparison rim:Name rim:Description rim:Classification ... rim:ServiceBinding id=urn:uuid:915a6135-92e2-44d2-8183- 588ef890d5fd lid=urn:uuid:915a6135-92e2-44d2-8183-588ef890d5fd objectType=urn:oasis:names:tc:ebxml- regrep:ObjectType:RegistryObject:ServiceBinding status=urn:oasis:names:tc:ebxml-regrep:StatusType:Submitted service=urn:x-ows7:def:event-service:sfe:ex-01 accessURI=http:www.foo-bar.neteventssfe rim:ServiceBinding rim:Service SearchResults GetRecordsResponse

7.5.2 Scenario 2: Find a Service providing Aviation Data in a specified Area

In this scenario, a spatial query is used to demonstrate the discovery of Services of interest based on a defined region. This spatial clause is coupled with other OGC Filter clauses which filter based on an EventChannel offering Aviation data. The ChannelDomain property for an EventChannel is used to identify broad support for Aviation data. 7.5.2.1 Step 1: Formulation of a CSW-ebRIM GetRecords query A query is created using OGC Filter syntax that: selects Services which supports an OGC Filter spatial operator in this case BBOX. offers a channel that provides Aviation information and 76 Copyright © 2010 Open Geospatial Consortium, Inc. has data for the region around Vancouver, British Columbia, Canada. Listing 3: Registry query to find services providing aviation events, supporting bbox filters and serving data for the Vancouver region ?xml version=1.0 encoding=UTF-8? GetRecords xmlns=http:www.opengis.netcatcsw2.0.2 xmlns:rim=urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0 xmlns:ogc=http:www.opengis.netogc xmlns:gml=http:www.opengis.netgml xmlns:wrs=http:www.opengis.netcatwrs1.0 outputFormat=applicationxml; charset=UTF-8 service=CSW version=2.0.2 startPosition=1 maxRecords=10 resultType=results -- Find All Services which provide Aviation related events within Europe -AND- which support the spatial operator BBOX -- Query typeNames=Service Classification ExtrinsicObject Association ?indicio-distinct-values true? ElementSetName typeNames=ServicefullElementSetName Constraint version=1.1.0 ogc:Filter ogc:And ogc:PropertyIsEqualTo ogc:PropertyNameServiceidogc:PropertyName ogc:PropertyNameClassificationclassifiedObjectogc:PropertyName ogc:PropertyIsEqualTo ogc:PropertyIsEqualTo ogc:PropertyNameServiceidogc:PropertyName ogc:PropertyNameAssociationsourceObjectogc:PropertyName ogc:PropertyIsEqualTo ogc:PropertyIsEqualTo ogc:PropertyNameAssociationassociationTypeogc:PropertyName ogc:Literalurn:oasis:names:tc:ebxml- regrep:AssociationType:HasChannelogc:Literal ogc:PropertyIsEqualTo ogc:PropertyIsEqualTo ogc:PropertyNameExtrinsicObjectidogc:PropertyName ogc:PropertyNameAssociationtargetObjectogc:PropertyName ogc:PropertyIsEqualTo ogc:PropertyIsEqualTo ogc:PropertyNameExtrinsicObjectobjectTypeogc:PropertyName ogc:Literalurn:ogc:def:rim-object- type:ows7:EventChannelogc:Literal ogc:PropertyIsEqualTo ogc:PropertyIsEqualTo ogc:PropertyNameExtrinsicObjectSlot[name=ChannelDomain]ValueList Valueogc:PropertyName