Modify

Opened 14 months ago

Last modified 13 months ago

#7682 new defect

WMS-cache does not "tile" requests one same boundaries between session resulting in re-requests of already cached areas

Reported by: jjaf.de Owned by: team
Priority: normal Component: Core
Version: tested Keywords: WMS cache hasExactMatch tiling
Cc: jttt

Description

WMS does pre-load cached areas but since

cache.hasExactMatch()

is false since the viewport is slighty shifted although the complete area can be rendered the whole area is re-requested from WMS-server

Problem

Re-requests are resulting in having a huge cache of [session]-times the size and stress on network and WMS-server.

possible Solution

A solution could be to introduce "tiling" in maybe

downloadAreaToCache()

so that the same bounding-boxes for WMS-requests having shifted viewports are being calculated between sessions or have an algorithm to recognise total coverage from cache instead of

cache.hasExactMatch()

I would suggest the former is easier to implement maybe with help from the tiling-projection.

Workaround

Set viewport to exactly same coordnates and zoom before adding WMS-layer with cache e.g. by using "Jump To Position".

Attachments (0)

Change History (4)

comment:1 Changed 13 months ago by bastiK

  • Cc jttt added
  • Type changed from enhancement to defect

When scale matches exactly, the cache should be used.

comment:2 Changed 13 months ago by stoecker

We have WMS bookmarks, which solve this issue already. THought maybe a tiled approach and some sort of "native" request levels would be a good idea.

comment:3 Changed 13 months ago by jttt

WmsLayer already has tiling, method getImageXIndex() convert coordinate to tile index. But scale needs to be exactly the same as before (that's what WMS bookmarks are for).

comment:4 Changed 13 months ago by bastiK

Native request levels may decrease the image quality in some cases, but I guess for the average user, it would be an improvement.

Add Comment

Modify Ticket

Change Properties
<Author field>
Action
as new .
as The resolution will be set. Next status will be 'closed'.
to The owner will be changed from team. Next status will be 'new'.
Next status will be 'needinfo'.The owner will change to jjaf.de
as duplicate The resolution will be set to duplicate. Next status will be 'closed'.The specified ticket will be cross-referenced with this ticket
The owner will be changed from team to anonymous. Next status will be 'assigned'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.