Details
Description
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.
Activity
| Field | Original Value | New Value |
|---|---|---|
| Resolution | Fixed [ 1 ] | |
| Status | Open [ 1 ] | Closed [ 6 ] |
Fixed at r16993