Modify

Opened 15 years ago

Closed 15 years ago

Last modified 15 years ago

#2735 closed defect (wontfix)

[PATCH] WMSPlugin can't request arbitrary large areas from WMS servers when selecting "Download visible tiles"

Reported by: avarab@… Owned by: team
Priority: major Milestone:
Component: Core imagery Version: latest
Keywords: Cc:

Description

When I select "Download visible tiles" when using WMS WMSPlugin will sometimes refuse to do so with the error message "The requested area is too big. Please zoom in a little, or change resolution".

Instead the software should do what I told it to do.

This patch introduces a preference which can be set in the Einsten dialog to ignore the warning, but perhaps the dialog box should be modified to allow the user to bypass it instead?.

Attachments (1)

wmsplugin-denanny.patch (766 bytes ) - added by avarab@… 15 years ago.
Patch to WMSLayer.java for adding the wmsplugin.maxarea-error.ignore preference option

Download all attachments as: .zip

Change History (7)

by avarab@…, 15 years ago

Attachment: wmsplugin-denanny.patch added

Patch to WMSLayer.java for adding the wmsplugin.maxarea-error.ignore preference option

comment:1 by stoecker, 15 years ago

Resolution: wontfix
Status: newclosed

Refused. This option is to protect servers from useless large traffic. Adding such a setting would make this protection useless and also be fatal for autoloading.

comment:2 by avarab@…, 15 years ago

Then do you mind if I fork wmsplugin and upload wmsplugin_nonanny (or something) to SVN extensions so I can use that instead? It's easier than maintaining my own build system.

If users are going to hammer public servers they can do that with or without JOSM's help, and this limitation is particularly annoying when the WMS server I'm connecting to happens to be mine and because of this limitation I have to do a lot of redundant zooming/panning around instead of just telling JOSM to request all the tiles and wait for them to load.

comment:3 by stoecker, 15 years ago

Why do you want to do that anyway? If you want to load large areas then use a lower resolution. You have a menu point "change resolution" to do that.

What you request is loading very large areas in high resolutions which will then probably be dropped anyway due to cache limitations.

I do not care what people do to servers with whatever software they use, as this is their problem. But if JOSM is doing it, then all users are affected and one useragent-block will effectively kill all JOSM users from using that servers. And JOSM is the only thing which the server operator will see.

in reply to:  3 comment:4 by avarab@…, 15 years ago

Replying to stoecker:

Why do you want to do that anyway? If you want to load large areas then use a lower resolution. You have a menu point "change resolution" to do that.

I explicitly want to load a large area at high resolution. What I'm doing is tracing say a 1000m x 1000m area on a aerial map with ~1-2 meter resolution. So I'll zoom into a 50m x 50m box, turn on WMS, then zoom out again to 1000m x 1000m, select "Download visible tiles", wait for it to load, and then I can trace that 1000m x 1000m area without a network connection.

In theory anyway.

What you request is loading very large areas in high resolutions which will then probably be dropped anyway due to cache limitations.

Do you mean the behavior of WMSPlugin to only keep a set number of images visible at any given time? Yeah that's somewhat of an impediment, and I've been looking for a way to disable it so that I can just delete the WMS layer and start again if JOSM starts using too much memory - and rely on the cache when I render the area again. But even when I have to deal with that the whole process is much easier when "Download visible tiles" works like I want it to.

I do not care what people do to servers with whatever software they use, as this is their problem. But if JOSM is doing it, then all users are affected and one useragent-block will effectively kill all JOSM users from using that servers. And JOSM is the only thing which the server operator will see.

I'll just maintain my patched version locally then.

comment:5 by stoecker, 15 years ago

Maybe if you change the patch so, that your hidden setting causes opening a popup telling you "This request will cause xxx individual requests at the WMS server causing large server load. Are you sure you want to do that?" it can be included. The text should make clear that this is a BAD thing to do.

Regarding the cache: You can increase it. Search for cache in einstein.

in reply to:  5 comment:6 by avarab@…, 15 years ago

Replying to stoecker:

Maybe if you change the patch so, that your hidden setting causes opening a popup telling you "This request will cause xxx individual requests at the WMS server causing large server load. Are you sure you want to do that?" it can be included. The text should make clear that this is a BAD thing to do.

I'll see about doing that. But being lazy I thought an undocumented option might do initially :)

Regarding the cache: You can increase it. Search for cache in einstein.

Do you mean cache.wmsplugin.expire and cache.wmsplugin.maxsize? That's all I find under cache. That's the on-disk cache, but I'm talking about the on-screen cache, I.e. when I use WMSPlugin long enough to pan around it'll start deleting old tiles from my map view, although they aren't being deleted from disk due to my cache policy.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain team.
as The resolution will be set.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


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