[Auscope-geosciml] RE : service architecture [SEC=UNCLASSIFIED]

Stephen M Richard steve.richard at azgs.az.gov
Wed Sep 16 20:29:06 EDT 2009


Eric--shouldn't xpath allow the filter for say preferredAge to be

<ogc:PropertyName>../gsml:preferredAge/../value</ogc:PropertyName> ?



Boisvert, Eric wrote:
>> If you deliver individual geologic feature types in separate WFS services (like we did in Testbed > 3), then you don't get the problem of dealing with mixed geologic feature types.
>>     
>  
> I did not look carefully at your implementation, but why did you create a separate service for each feature type when this is already part of the query syntax 
>  
> typeName=gsml:GeologicUnit
> or
> <wfs:Query typeName="gsml:GeologicUnit">
> ...
> </wfs:Query>
>  
>   
>> Could you give a real world example when a GeologicUnit would have the same name as a GeologicStructure?
>>     
>  
> I think it's the case when you don't know exactly what kind of GeologicFeature you are dealing with.  You only know it's a GeologicFeature of some sort.
>  
> Another case could be, give me all GeologicFeature of such or such age.  Since a GeologicFeature can be a GeologicUnit or a GeologicStructure including all potential subtype, do we have to specifically write a request for each of them or just invoke the topmost class ?
>  
> WFS has a way to lump a series of types into a single query with
>  
> typeName=gsml:GeologicUnit,gsml:GeologicStructure,gsml:Contact,...
> or
> <wfs:Query typeName="gsml:GeologicUnit,gsml:GeologicStructure,gsml:Contact">
> ...
> </wfs:Query>
>
> I guess it's a workable solution (I think it's silly). But the tricky part is when, as pointed out by Ben, the substitution appears in the XPath.  in GeoSciML, the most common case is requesting gsml:MappedFeature based on the properties of a class dangling at the other end of the gsml:specification
>
> Do we need to write a big ogc:Or request 
>
>  
>
> <wfs:Query typeName="gsml:MappedFeature">
> <ogc:Filter>
>   <ogc:Or>
>      <ogc:PropertyIsEqualTo>
>         <ogc:PropertyName>gsml:speficiation/gsml:GeologicUnit/gsml:preferredAge/...</ogc:PropertyName>
> <ogc:Literal>...</ogc:Literal>
>      </ogc:PropertyIsEqualTo>
>     <ogc:PropertyIsEqualTo> 
>         <ogc:PropertyName>gsml:speficiation/gsml:GeologicStructure/gsml:preferredAge/...</ogc:PropertyName>
> <ogc:Literal>...</ogc:Literal>
>      </ogc:PropertyIsEqualTo>
>     <ogc:PropertyIsEqualTo> 
>         <ogc:PropertyName>gsml:speficiation/gsml:Contact/gsml:preferredAge/...</ogc:PropertyName>
> <ogc:Literal>...</ogc:Literal>
>      </ogc:PropertyIsEqualTo>
>     <ogc:PropertyIsEqualTo> 
>         <ogc:PropertyName>gsml:speficiation/gsml:Fault/gsml:preferredAge/...</ogc:PropertyName>
> <ogc:Literal>...</ogc:Literal>
>      </ogc:PropertyIsEqualTo>
> .. more madness..
> </ogc:Or>
> </ogc:Filter>
> </wfs:Query>
>
> The fun part is, that if you have more than one condition to check (eg, geologicHistory), you now have a cardinal product
>
> GeologicUnit/preferredAge/ AND GeologicUnit/geologicHistory
>
> OR
>
> GeologicUnit/preferredAge/ AND GeologicStructure/geologicHistory
>
> OR
>
> GeologicUnit/preferredAge/ AND Contact/geologicHistory
>
> ... lots of lines
>
> GeologicStructure/preferredAge/ AND GeologicUnit/geologicHistory
>
> OR
>
> GeologicStructure/preferredAge/ AND  GeologicStructure/geologicHistory
>
> OR
>
> ..  keep them coming..
>
> a third property anyone ?
>
>  
>
>  
>
>  
>
>  
>
>
>   

-- 
Stephen M. Richard
Section Chief, Geoinformatics
Arizona Geological Survey
416 W. Congress St., #100
Tucson, Arizona, 85701 USA

Phone: 
Office: (520) 209-4127
Reception: (520) 770-3500 
FAX: (520) 770-3505

email: steve.richard at azgs.az.gov

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opengeospatial.org/pipermail/geosciml/attachments/20090916/dad660ab/attachment.htm>


More information about the GeoSciML mailing list