[Geoserver-devel] [jira] (GEOS-5078) Saved GeoServer tile layer gridsubset extents can overlap the gridset's area of validity instead of being contained

Gabriel Roldán created GEOS-5078:
------------------------------------

             Summary: Saved GeoServer tile layer gridsubset extents can overlap the gridset's area of validity instead of being contained
                 Key: GEOS-5078
                 URL: https://jira.codehaus.org/browse/GEOS-5078
             Project: GeoServer
          Issue Type: Bug
          Components: GWC
    Affects Versions: 2.2-beta1
            Reporter: Gabriel Roldán
            Assignee: Gabriel Roldán
             Fix For: 2.2-beta2

GWC (for some strange reason) uses an equality threshold when comparing bounding boxes of just 0.03.
GeoServerTileLayer computes gridsubset extents by reprojecting the layer's native bounds to the gridsubset's target CRS.
Due to the bounding box equality threshold, a reprojection inaccuracy may not be detected, and the resulting gridsubset extent may overlap the GridSet's area of validity instead of being contained in it. Hence the gridsubset's extent is saved with aov overlapping coordinates.
This, later on, can produce the computed tile grid coverage to extend beyond the full gridset coverage, and cause reprojection errors when asking GeoServer for a metatile, depending on the data source.

Such is the case in 2.2-beta1 with the Arc_Sample coverage. It covers the whole world in EPSG:4326.
When the bounds for the EPSG:900913 gridsubset are calculated, a small error results from the reprojection, and gwc's BoundingBox.contains method doesn't realize it, saving the gridsubset with wrong bounds.

When asking for a metatile, the gridset coverage for level 0 is -1 instead of 0 on the y axis, and the WMS fails to render the image.

So, in summary, make sure not to save gridsubset extents that are not contained in the CRS area of validity, both for accuracy and to account for data sources that fail when reprojecting outside the crs area of validity.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira