Hello, recently I came accross a problem with printing WMS layer. The printing is fine when the size of the result image is not too large. When larger - it crashes. I use Geotools 12.1.
But let me explain more in details: Here is a piece of code that prepares the WmsLayer that will be passed to MapContent. // layer is an instance of my own class that has the layer properties read from database URL url = new URL(layer.getWmsUrl() + "?request=getCapabilities"); WebMapServer wms = new WebMapServer(url); List<org.geotools.data.ows.Layer> tileLayers = wms.getCapabilities().getLayerList(); org.geotools.data.ows.Layer wmsLayer = ...;//here I select a proper layer from 'tileLayers' return new WMSLayer(wms, wmsLayer); I store the result in *wmsLayer* variable. I create the print bounding box in this way: ReferencedEnvelope extent = new ReferencedEnvelope(printArea.getExtent(), targetCrs); The reference system (*targetCrs*) of the bounding box is EPSG:3857 (Pseudo Mercator). After the layer and printing area are ready I do the followig to print it: MapContent mapContent = new MapContent(); mapContent.addLayer(wmsLayer); mapContent.setViewport(new MapViewport(extent)); renderer.paint(gr, renderSize, extent); where: *gr *is an instance of Graphics2D class *renderSize *is an instance of java.awt.Rectangle The render size is: width = 3390, height = 2363. The problem has its beggining in WMSCoverageReader class in this method: ReferencedEnvelope initMapRequest(ReferencedEnvelope bbox, int width, int height, Color backgroundColor); It starts at line: 322 The reference system of the wms layer is EPSG:4326. It is different from the *bbox* of the print viewport which is EPSG:3857 (as mentioned above). This method tries to transform the *bbox* to the layer's CRS and along with it it changes the size of the drawn picture. >From the initial values: 3390 x 2363 they change to 3390 x *8073*. And here is the root of the problem. The new size of the image exceeds the maximum image size that WMS server can produce. The GetCapabilities request clearly states the maximum image size. Is there any way to solve such problem ? Currently I can print an image that would fit A4 paper sheet assuming that its resolution is not too high. If I set the resolution to about 300dpi (which increases the size of the image in pixels) I get this error. I am aware that the post is long so if there is anything unclear - please let me know. -- View this message in context: http://osgeo-org.1560.x6.nabble.com/Problem-with-printing-WMS-tp5181673.html Sent from the geotools-gt2-users mailing list archive at Nabble.com. ------------------------------------------------------------------------------ New Year. New Location. New Benefits. New Data Center in Ashburn, VA. GigeNET is offering a free month of service with a new server in Ashburn. Choose from 2 high performing configs, both with 100TB of bandwidth. Higher redundancy.Lower latency.Increased capacity.Completely compliant. http://p.sf.net/sfu/gigenet _______________________________________________ GeoTools-GT2-Users mailing list GeoTools-GT2-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users