Hello!

We are upgrading our Geoserver instance from version 2.11.5 to 2.14.1. As part of that task, we have been running regression tests to ensure that our data are still served and rendered as expected.

For the most part, our tests have shown no change, except for image mosaic layers stored in northern hemisphere polar stereographic projections (EPSGs 3411, 3413, 6931).

These layers show some differences in how WMS requests get rendered, leading me to wonder if there was a Geoserver code change that may have led to this observed behavior.

To be more specific:

We store thumbnail (low resolution, 300x300) images of all of our layers. When we make configuration changes, we make wms requests that we compare against those thumbnails. Any found differences get flagged for review (in this case, all of our polar stereographic north layers). When I discovered that there was a problem upgrading from Geoserver v2.11.5 to v2.14.1, I did some additional testing.

 * 'native' resolution wms requests are consistent. In other words, if
   I request an image with a bounding box and size (in pixels) of the
   matching source data file on disk, the resulting image is the same
   in both v2.11.5 and v2.14.1
 * Other WMS requests (e.g., 300x300 thumbnails, or double the native
   resolution), result in differences in a grid-like pattern. See the
   attachments vel_thumb_diff.png and conc_double_diff.png, which show
   the grid-like pattern of differences for two of our layers. These
   images were created using imagemagick's `compare` utility (each red
   pixel represents a difference between wms responses in v2.11.5 and
   v2.14.1).


All of our layers are image mosaics with the TIME dimension enabled. I tried adding a single GeoTiff from one of the affected layers as a GeoTiff store, and it did not experience this behavior. Appears as though this observed behavior only affects image mosaics.

To reproduce this issue, see the attached 'steps_to_reproduce.txt'

Given that differences seem to only appear when an image is requested that does not match the 'native' resolution of the source file on disk, I suspect this might have something to do with differences in how image interpolation occurs between these versions.

GEOS-5482 (https://osgeo-org.atlassian.net/browse/GEOS-8542), which resolved an issue with polar stereographic projections may be related. I have not seen anything else obvious in the changelogs for releases since v2.11.5 which would suggest WMS rendering changes for polar stereographic projections, but I may have missed something. Does anyone know if what I am seeing is expected, or might this be a bug?


Thanks!

Trey Stafford

First, to get test data, navigate to this Google Drive Folder: 
https://drive.google.com/drive/folders/1sPym3puQIViu-FoMPSon2ciLzscn8YQQ?usp=sharing

For both Geoserver v2.11.5 and v2.14.1:

1) Add the g02135_extent_raster_basemap.sld style to Geoserver
2) Download the mosaic_rendering_test/ directory and create an image mosaic 
data store from that directory.
3) Publish a layer from the store.
   a) Under the "Data" tab, change "Coverage Band Details" to have a null value 
of 255, a minRange of 0, and a maxRange of 255.
   b) Associate the 'g02135_extent_raster_basemap' style with the layer under 
the "Publishing" tab.
   c) Enable the TIME dimension under the "Dimensions" tab.
   d) Save the layer.
4) Make a wms request for a thumbnail and save the resulting image, 
substituting {BASE_URL} and {WORKSPACE}: 
https://{BASE_URL}/wms?service=WMS&version=1.1.0&request=GetMap&width=300&height=300&format=image%2Fpng&layers={WORKSPACE}:mosaic_rendering_test&bbox=-3850000,-5350000,3750000,5850000&srs=EPSG:3411&TIME=2010-01-01&styles={WORKSPACE}:g02135_extent_raster_basemap

After the tests have been completed, compare the two images with e.g., 
imagemagick's `compare`:

compare img1.png img2.png -compose src diff.png

See the attached reproduced_diff.png for what the result should look like.
_______________________________________________
Geoserver-users mailing list

Please make sure you read the following two resources before posting to this 
list:
- Earning your support instead of buying it, but Ian Turton: 
http://www.ianturton.com/talks/foss4g.html#/
- The GeoServer user list posting guidelines: 
http://geoserver.org/comm/userlist-guidelines.html

If you want to request a feature or an improvement, also see this: 
https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer


[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Reply via email to