[MapProxy] WMS for high resolution printing

Oliver Tonnhofer olt at omniscale.de
Thu Nov 12 07:51:18 PST 2015


Hi,

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:

http://maps.omniscale.net/v2/demo/style.default/map?service=WMS&request=GetMap&version=1.1.1&layers=osm&styles=&format=image%2Fpng&height=256&width=256&srs=EPSG%3A3857&bbox=909906.384706738,7005300.768279835,919690.3243272406,7015084.707900337


Same BBOX but larger size, map scale changed to a styling with white roads:

http://maps.omniscale.net/v2/demo/style.default/map?service=WMS&request=GetMap&version=1.1.1&layers=osm&styles=&format=image%2Fpng&height=512&width=512&srs=EPSG%3A3857&bbox=909906.384706738,7005300.768279835,919690.3243272406,7015084.707900337


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:

http://maps.omniscale.net/v2/demo/style.default/200.dpi/map?service=WMS&request=GetMap&version=1.1.1&layers=osm&styles=&format=image%2Fpng&height=512&width=512&srs=EPSG%3A3857&bbox=909906.384706738,7005300.768279835,919690.3243272406,7015084.707900337



Regards,
Oliver

-- 
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:
> 
> Hello,
> 
> 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. 
> 
> <image001.png>
> 
>  
> 
> 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
> http://lists.osgeo.org/mailman/listinfo/mapproxy



More information about the MapProxy mailing list