[MapProxy] WMS for high resolution printing
christian.daneke at dataport.de
Fri Nov 20 05:53:07 PST 2015
I am working with Kolja on that particular problem. Thank you for explaining some of the mechanisms. After your explanation it became clear to me, why our approach does not work as intended under the given circumstances. In this case, the restriction to certain scale-ranges and the requests under a higher image resolution prohibits the display of the layers even before the scale restrictions on the web-display apply. When printing at 300 dpi the server will try to process the images of the wms at the scales, which are restricted. Hence the effect that these layers will not show in the printed document, even though we see them in the webportal.
We may have to overthink our approach of enabling high-resolution printing.
Von: MapProxy [mailto:mapproxy-bounces at lists.osgeo.org] Im Auftrag von Oliver Tonnhofer
Gesendet: Donnerstag, 12. November 2015 16:51
An: Grascht, Kolja
Cc: mapproxy at lists.osgeo.org
Betreff: Re: [MapProxy] WMS for high resolution printing
WMS has no standard way to provide a target scale and DPI. If a client just increases the request size to get more pixel for better print results, then you are actually requesting a different resolution (scale):
For example, a request with a map scale with grey roads:
Same BBOX but larger size, map scale changed to a styling with white roads:
You need a WMS service that allows you to select a different output resolution, so that the styling is adapted to the larger request size. Like this:
Oliver Tonnhofer | Omniscale GmbH & Co KG | http://omniscale.com
OpenStreetMap WMS and tile services | http://maps.omniscale.com
> On 10.11.2015, at 14:37, Grascht, Kolja <kolja.grascht at dataport.de> wrote:
> I am building a WMS Service in mapproxy intended for high resolution printing (up to 300 dpi). The WMS will be used in a Portal Application alongside ArcGIS Server Services – hence the ability for high resolution printing. The idea is to create a tile cache for the required service that is then used to create the large image needed for printing. The origin has a limitation of image size, which disables it to be printed in 300 dpi in a A3 template. I have built a yaml for the required WMS Service and created tiles for each layer. I seeded the 19 Layers of the WMS in the specified GRID (see below) and one folder for each layer. Some of the layers have a defined maximum resolution. Hence, the seeding for these layers is only calculated according to these limitations.
> Using the service in the Webapplication everything looks fine on screen. The layers with a maximum resolution are displayed correctly. When printing however there seems to be a difference between the export of 96 dpi and 300 dpi images. Printing in 96 dpi is working in every scale but printing in 300 dpi is only working for every scale for those layers without a limit. Those layers with a limit can’t be printed in the two biggest available scales although the layers are shown in the map.
> For example a few layers are available to the scale 1:36.112 but it’s not possible to print in 1:36.112 and 1:72.224. The first printable scale is 1:144.448.
> When I print in 96 dpi there are no requests in the source-request.log but when I print in 300 dpi there are requests to the origin WMS.
> The second problem appeared when I seeded one of the layers with the limits again without a max resolution. The cache is available and in the correct folder but the layer is still not shown in the map.
> Any hints or solutions?
> Thanks for the support!
> Kolja Grascht
> MapProxy mailing list
> MapProxy at lists.osgeo.org
MapProxy mailing list
MapProxy at lists.osgeo.org
More information about the MapProxy