Hi,
I'm still playing with axis order issues and finding
other issues.
So far I've fixed the postgis sample data set, and I have
tests that do specify BBOX in "urn:x-ogc:def:crs:EPSG:6.11.2:4326"
work fine (the server flips the envelope before throwing it
at the datastore, which is working in lon/lat order).
Unfortunately this does not work with the following query
(notice the is no SRS specified):
<wfs:Query typeName="sf:PrimitiveGeoFeature">
<ogc:Filter>
<ogc:BBOX>
<ogc:PropertyName>sf:pointProperty</ogc:PropertyName>
<gml:Envelope>
<gml:lowerCorner>37.0 -2.5</gml:lowerCorner>
<gml:upperCorner>42.0 2.5</gml:upperCorner>
</gml:Envelope>
</ogc:BBOX>
</ogc:Filter>
</wfs:Query>
</wfs:GetFeature>
Where the test assertion is:
"If the @srsName of the supplied literal geometry or gml:Envelope is unspecified, it shall be handled as if it corresponded to the advertised default CRS."
Now, the capabilities document for that layer states:
<FeatureType>
<Name>sf:PrimitiveGeoFeature</Name>
<Title>PrimitiveGeoFeatureType</Title>
<Abstract>Generated from sf</Abstract>
−
<ows:Keywords>
<ows:Keyword>sf PrimitiveGeoFeature</ows:Keyword>
</ows:Keywords>
<DefaultSRS>urn:x-ogc:def:crs:EPSG:6.11.2:4326</DefaultSRS>
−
<OutputFormats>
<Format>text/gml; subtype=gml/3.1.1</Format>
</OutputFormats>
−
<ows:WGS84BoundingBox>
<ows:LowerCorner>-180.0 -90.0</ows:LowerCorner>
<ows:UpperCorner>180.0 90.0</ows:UpperCorner>
</ows:WGS84BoundingBox>
</FeatureType>
</FeatureTypeList>
Sigh, how crazy is this... Now, the cite test suite is
somewhat right, in fact we're advertising the default
srs with lat/lon order, I'll check if using EPSG:4326 changes
anything. I really doubt it anyways, the cite test expects
a certain result from that request, so it'll always assume
the data is really in that SRS, but for sure with this
configuration we are the one at loss.
It seems the only way to have the cite tests pass for good
is to have the datastore use lat/lon axis ordering, but yet
I'm wondering, would this mean that the only way to have
GeoServer be WFS 1.1 compliant is to have it handle all
data in latitude/longitude order? This is crazy, no
datastore and no storage besides GML uses that order, which
means all datastores would have to apply a transfomation
on whatever data they load before passing it to the upper
levels!
Would stating EPSG:4326 in the capabilities save our bacon
in terms of stating we are compliant?
Really, the OGC attitude about axis order is starting to
get on my nerves, the real world data is using longitude/latitude
people, get out of that crystal ball!
Cheers
Andrea