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