[GIS] Geoserver: WMS layer is shifted at certain zoom scales in openlayers

geoserveroracle-dbms

We use geoserver to serve WMS tiles inside a openlayers environment. The weird thing I see is that, in our production environment, depending on the scale, data is shifted (translated) against the OSM/Google/Bing background.

See following screenshot, here you can see the pipelines positioned correctly on the plant site:

correctly positioned

Now if I zoom out, I get the following view:

incorrect position

obviously wrong. I am a bit puzzled as to what could cause this.

I develop on a mac, using geoserver 2.6.3 and (unfortunately) Oracle database backend. On my mac I do no have this problem at all. So it is imho not related to my OpenLayers/javascript code.

Our production environment is a Windows 2012R2 server, with Oracle 11g2. I first ran Geoserver 2.6.3, just upgraded to 2.7.1, hoping that would remove the problem (but it did not –a lot faster though, which is nice).

I read on the geoserver site that Windows+oracle is an obscure platform, but I am kind of hoping somebody could think of something to look at that could cause this?

Things I tried/verified:

  • the data is the same on both platforms
  • the data is stored in SRS-ID 3035, and thus transformed to 900913
  • the cache is empty (originally the srs-id was incorrectly deduced from the table)
  • used the same browser
  • I checked the featuretype.xml on both platforms and it looked identical

At the moment I am bit stuck, my guess it is the combination of oracle and windows that causes this error? We use postgis+geoserver 2.3 on windows for another client without issues.

But I have no idea where to look for a probable cause, and eventually, hopefully a fix.

Best Answer

Zoom-level depending mis-alignments are often caused by the OL client and the server having either slightly different zoom level definitions, or different maximum extent definitions.

Try looking at the GWC preview (you can find it in the tile layers menu) and check its setup, then make sure your client does the same.