Hi all,
So after a lot of hacking on the latest version of the wms cite tests I have reached a point where we pass all of them except for two:
wms:wmsops-getmap-each-style
wms:wmsops-getmap-each-layer
And just to point out these are new tests added recently.
The tests in question loop through all layers and do a simple GetMap request. The reason the request fails is because an "empty" (zero area) bbox is being sent.
Why it is being sent? Because it is published as empty in the capabilities document:
<LatLonBoundingBox minx="-2.0" miny="-1.0" maxx="2.0" maxy="6.0"/>
<LatLonBoundingBox minx="-2.0" miny="-1.0" maxx="2.0" maxy="6.0"/>
<LatLonBoundingBox minx="2.0E-4" miny="7.0E-4" maxx="2.0E-4" maxy="7.0E-4"/>
<LatLonBoundingBox minx="8.0E-4" miny="5.0E-4" maxx="0.0024" maxy="0.0010"/>
<LatLonBoundingBox minx="-0.0032" miny="-0.0024" maxx="-0.0026" maxy="0.0024"/>
<LatLonBoundingBox minx="-0.0014" miny="-0.0024" maxx="0.0042" maxy="0.0018"/>
<LatLonBoundingBox minx="6.0E-4" miny="-0.0018" maxx="0.0031" maxy="-1.0E-4"/>
<LatLonBoundingBox minx="-0.0042" miny="-0.0024" maxx="0.0042" maxy="0.0024"/>
<LatLonBoundingBox minx="0.0014" miny="-0.0011" maxx="0.0042" maxy="0.0024"/>
<LatLonBoundingBox minx="-0.0020" miny="0.0016" maxx="-0.0014" maxy="0.0020"/>
<LatLonBoundingBox minx="-0.0042" miny="-0.0024" maxx="0.0042" maxy="0.0024"/>
<LatLonBoundingBox minx="-4.0E-4" miny="-0.0024" maxx="0.0036" maxy="0.0024"/>
The empty bounding boxes are for point layers that consist of a single point.
So... where does the fault lie? I believe the WMS spec says that an empty bounding box is illegal, which makes sense. So is it (a) the servers fault for advertising it in the capabilities document a so? or (b) the clients fault for making a request with an empty bounding box?
I would tend to lean toward (a). But if we do fix on the server what is the fix? Slightly grow the bounding box by some set amount? Not sure. Food for thought.
-Justin
--
Justin Deoliveira
OpenGeo - http://opengeo.org
Enterprise support for open source geospatial.
Hi,
perhaps this can be solved as a "domain and range" pattern:
the single point is the range, but the domain is the context: for
example a single point with the capital of the USA should have a
domain extent of the USA, not the point.
Will this work (or can it be fudged to work) with the examples?
Rob
On Fri, May 21, 2010 at 11:22 AM, Justin Deoliveira
<jdeolive@anonymised.com> wrote:
Hi all,
So after a lot of hacking on the latest version of the wms cite tests I
have reached a point where we pass all of them except for two:
wms:wmsops-getmap-each-style
wms:wmsops-getmap-each-layer
And just to point out these are new tests added recently.
The tests in question loop through all layers and do a simple GetMap
request. The reason the request fails is because an "empty" (zero area)
bbox is being sent.
Why it is being sent? Because it is published as empty in the
capabilities document:
<LatLonBoundingBox minx="\-2\.0" miny="\-1\.0" maxx="2\.0" maxy="6\.0"/>
<LatLonBoundingBox minx="\-2\.0" miny="\-1\.0" maxx="2\.0" maxy="6\.0"/>
<LatLonBoundingBox minx="2\.0E\-4" miny="7\.0E\-4" maxx="2\.0E\-4"
maxy="7.0E-4"/>
<LatLonBoundingBox minx="8.0E-4" miny="5.0E-4" maxx="0.0024"
maxy="0.0010"/>
<LatLonBoundingBox minx="-0.0032" miny="-0.0024" maxx="-0.0026"
maxy="0.0024"/>
<LatLonBoundingBox minx="-0.0014" miny="-0.0024" maxx="0.0042"
maxy="0.0018"/>
<LatLonBoundingBox minx="6.0E-4" miny="-0.0018" maxx="0.0031"
maxy="-1.0E-4"/>
<LatLonBoundingBox minx="-0.0042" miny="-0.0024" maxx="0.0042"
maxy="0.0024"/>
<LatLonBoundingBox minx="0.0014" miny="-0.0011" maxx="0.0042"
maxy="0.0024"/>
<LatLonBoundingBox minx="-0.0020" miny="0.0016" maxx="-0.0014"
maxy="0.0020"/>
<LatLonBoundingBox minx="-0.0042" miny="-0.0024" maxx="0.0042"
maxy="0.0024"/>
<LatLonBoundingBox minx="-4.0E-4" miny="-0.0024" maxx="0.0036"
maxy="0.0024"/>
The empty bounding boxes are for point layers that consist of a single
point.
So... where does the fault lie? I believe the WMS spec says that an
empty bounding box is illegal, which makes sense. So is it (a) the
servers fault for advertising it in the capabilities document a so? or
(b) the clients fault for making a request with an empty bounding box?
I would tend to lean toward (a). But if we do fix on the server what is
the fix? Slightly grow the bounding box by some set amount? Not sure.
Food for thought.
-Justin
--
Justin Deoliveira
OpenGeo - http://opengeo.org
Enterprise support for open source geospatial.
------------------------------------------------------------------------------
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel
Justin Deoliveira ha scritto:
I would tend to lean toward (a). But if we do fix on the server what is the fix? Slightly grow the bounding box by some set amount? Not sure. Food for thought.
What we publish is in the end what the administrator declared in the
layer configuration.
But the default "compute bbox" method will indeed just return you
an empty bbox.
So the fault is in the middle, the admin setting up the layer could
have been more careful, yet GeoServer should have returned a non
empty bbox.
So I'd say:
- manually fix the layer declared bbox so that it's not a empty
box
- open a jira so that GS starts computing valid bboxes when the
admin asks for automatic computation
As a matter of fact I believe the current GeoServer will
fail if you just ask for the tasmania cities layer preview
for that very reason
Cheers
Andrea
--
Andrea Aime
OpenGeo - http://opengeo.org
Expert service straight from the developers.