BUT
On to eventTime.
For some reason no eventTime tests are executed. The messages are
for various tests:
Temporal operators "TM_During" "TM_Equals" are not supported by this
implementation. Test will be skipped.
Temporal operator "TM_During" is not supported by this
implementation. Test will be skipped.
I've changed my GetCapabilities response to include in the
GetObservation descriptions a Parameter element named eventTime as:
<ows:Parameter name="eventTime">
<ows:AllowedValues>
<ows:Range>
<ows:MinimumValue>2001-07-10T03:00:00Z</ows:MinimumValue>
<ows:MaximumValue>2009-11-04T23:00:00Z</ows:MaximumValue>
</ows:Range>
</ows:AllowedValues>
</ows:Parameter>
(These are based on the reference implementation at: http://mars.uni-
muenster.de:8080/OWS5SOS/sos?request=GetCapabilities&service=SOS )
But this had no effect.
In the offering list I've always had:
<sos:time>
<gml:TimePeriod xsi:type="gml:TimePeriodType"
gml:id="A01_valid_times">
<gml:beginPosition>2001-07-10T03:00:00Z</gml:beginPosition>
<gml:endPosition indeterminatePosition="now"/>
<gml:timeInterval unit="hour">.5</gml:timeInterval>
</gml:TimePeriod>
</sos:time>
Just like the Muenster SOS.
The muenster SOS contains in the GetCap response the following:
<sos:Filter_Capabilities ... >
...
<ogc:Temporal_Capabilities>
<ogc:TemporalOperands>
<ogc:TemporalOperand>gml:TimeInstant</ogc:TemporalOperand>
<ogc:TemporalOperand>gml:TimePeriod</ogc:TemporalOperand>
</ogc:TemporalOperands>
<ogc:TemporalOperators>
<ogc:TemporalOperator name="TM_During"/>
<ogc:TemporalOperator name="TM_Equals"/>
<ogc:TemporalOperator name="TM_After"/>
<ogc:TemporalOperator name="TM_Before"/>
</ogc:TemporalOperators>
</ogc:Temporal_Capabilities>
<ogc:Scalar_Capabilities>
As I write this email it seems clearer that we will need an
sos:Filter Section in our GetCap response.
There is also ogc:SpatialCapabilities section specifying a
<GeometryOperands> including <SpatialOperator name="BBOX">
O.K. Sorry for this brain dump, but I can see the path forward.
Eric
For reference:
http://stubb.gomoos.org:8081/cgi-bin/sos/V1.0/oostethys_sos.cgi?
service=SOS&request=GetCapabilities&version=1.0.0
The problem has been that the CITE tester did not recognize the my
SOS supported eventTime parameter. For all the eventTime tests:
"Temporal operators "TM_During" "TM_Equals" are not supported by
this implementation. Test will be skipped."
I examined the Muenster SOS GetCapabilities which is the reference
SOS displayed in the tester and noticed that they supported, the
GetCapabilities Parameter name "Sections".
AFAICT this means you can pass a sections=nnnn,nnnn and just get back
those sections of the GetCapabilities response. This is related to
fact the the Muenster SOS also had a section called
<Filter_Capabilities> with elements like:
<Temporal_Capabilites> and <Temporal_Operands> and
<Temporal_Operators>. I added this section and then spent a lot time
figuring out how to deal with GetCapabilities request which contained
a sections= parameter. (This is not a simple as it sounds. E.g. the
test makes a request with a null sections, which means a full
GetCapabilities repsonse with no optional sections, such as the
Filter_Capabilities)
Anyway I finally got this working. Now passing 52 tests, Fail 0 but
the CITE TEAM Engine tester is still not recognizing any eventTime
support in my SOS.
Currently the Muenster SOS is down. (No connections to their
Postgres DB) so I can't compare, as I've been doing.
Previous runs of the Muenster SOS have yeilded 56 pass 0 fail.
I copied most of the <Filter_Capabilities> section from that SOS and
included Temporal_Operands and Temporal_Operaors:
<ogc:TemporalOperators>
<ogc:TemporalOperator name="TM_During"/>
<ogc:TemporalOperator name="TM_Equals"/>
</ogc:TemporalOperators>
So I'm not sure if this was a dead end or what.
Any suggestions welcomed.
Eric