[OpenLayers-Dev] Layer is completely redrawn when panning
passed 180th meridian.
crschmidt at metacarta.com
Wed Dec 19 09:58:30 EST 2007
On Wed, Dec 19, 2007 at 06:07:40AM -0800, pdecker wrote:
> Our wms server and OpenLayers 2.5 client has the following behavior. An
> image which spans the 180th meridian has the following upper left longitude,
> lower right longitude, upper left latitude, and lower right latitude.
> LRLon = 179:59:06W
> ULLat = 00:00:45N
> LRLat = 00:00:45S
That's strange. Can you share the URL that this tile is requesting? Can
you share the OpenLayers config that is resulting in this? A standard
WMS should not be requesting an image like this, unless, perhaps, you
are using the 'gutter' property?
> The image displays, zooms, and pans very well with one exception: when the
> image is panned (to the east or to the west) so that the 180th meridian of
> the image is in the center of the display area, the image is completely
This is a limitation of the current world wrapping coe, which it sounds
like you are using. Can you confirm that you are using this?
> I have looked at the bounding boxes that OpenLayers requests from
> the WMS server. The server is sending back a blank tile only for the
> bounding boxes which are outside of the image. This problem is annoying if
> the image is zoomed in so that it completely fills the display area. Each
> time the image is panned so that its 180th meridian section passes the
> middle of the display area, the entire display area is redrawn.
> Are there any suggestions to remedy this problem?
The world wrapping code is a hack. Doing something more intelligent with
it is very difficult, since OpenLayers is designed not to be used in
this manner. Specifically, you would have to teach OpenLayers that the
tiles from -180 -> -170 is the same as from 180 -> 190, which we have
not done. It might be possible -- probably in a custom layer class --
but there is no strong motivator towards it.
More information about the Dev