Opened 17 months ago

Last modified 17 months ago

#22698 new enhancement

Wms and viewport dynamic generated tiles.

Reported by: Allroads Owned by: team
Priority: normal Milestone:
Component: Core imagery Version:
Keywords: wms dynamic viewport Cc:


Is it possible to make dynamically generated tiles visible based on the viewport?

Now, every tile has it own visualisation. The gives a tile block effect.

Not very suitable for lidar data.

The problem is mentioned in the community, with some images.

Used url with coloramp renderingRule=,6684876.7457084,395332.3102909,6685029.6197649&size=512,512

Is it possible to do it else?

Attachments (0)

Change History (7)

comment:1 by taylor.smock, 17 months ago

Not at this time.

Right now, all sources are assumed to be tileable, and it looks like it is going to be a major bit of work to support dynamically styled tiles.

Even if we were to make a request for the current viewport, we currently store the retrieved tiles in order to lessen the load on public servers. This would be contradicted by what is desired here; always getting the viewport from the server.

In order to support this specific usecase, we'd probably want to do the following:

  • Add a switch to the maps xml definition for WMS
  • If that switch is enabled, ask for an image that covers all visible tiles + 1 row in each direction, and cache that response. So on a 4096x2160 display would (worst case) ask for a 5120x3072 image. We'd have to do some stuff so that we use that image until we are reaching or almost reaching the bounds, but that is a coding problem.
  • We'd want to do something to avoid sudden changes of the background image.

comment:2 by Allroads, 17 months ago

Thanks for the explanation.

Mostly we use these layers zoomed in, for example set the MTB path under the leaves.
I have no idea, what is the best ?x? display.
I assume with a smaller display, you get dynamically better detail.

comment:3 by taylor.smock, 17 months ago

I assume that the ?x? display is for the WMS url. Just use {width},{height} as seen below.{wkid}&imageSR={wkid}format=jpgpng&bbox={bbox}&size={width},{height}

As a workaround for the tiling problem, a non-perfect method would be to use wiki:Help/Preferences/Imagery#WmsSettings to set the tile size to something larger than the default 512px. For a 1080p monitor, 1028 should be enough. You should prefer a power of two for that. So 512 -> 1024 -> 2048 -> 4096. It looks like we max out at 4096, so keep that in mind. Based off of my testing, it appears that the server may timeout for 2048px and larger, so you may have to play around with the numbers a bit.

comment:4 by Allroads, 17 months ago

Here I tried, this.

Only for one layer, not knowing if this could work.


comment:5 by Allroads, 17 months ago

Also we use this layer in a .jos file, as a startup file for JOSM, with the best Netherlands layers.

comment:6 by taylor.smock, 17 months ago

If you really want to do the &size= thing, it would be &size=1024,1024 (no {}).

But I don't think it is going to do what you want it to do. That will just increase the number of pixels in the tile, which should already be appropriately sized for the screen.

comment:7 by Allroads, 17 months ago

Your correct, tried it, 1024 -> 2048 , this is not what I want.

Modify Ticket

Change Properties
Set your email in Preferences
as new The owner will remain team.
as The resolution will be set. Next status will be 'closed'.
to The owner will be changed from team to the specified user.
Next status will be 'needinfo'. The owner will be changed from team to Allroads.
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'.

Add Comment

E-mail address and name can be saved in the Preferences .
Note: See TracTickets for help on using tickets.