Apologies for cross-posting this - not sure quite where it belongs. While using Firebug (Firefox 2.0.0.9 WinXP) to look at performance and client-side memory usage of my OpenLayers 2.5 app (which uses Tilecache 1.9 in standalone server mode with a seeded cache of WMS layer images), I noticed a large number (50+) failed 404 responses for images e.g:
http://10.48.1.76:8084/?LAYERS=Coastline%20and%20bathymetry&STYLES=sggis_bathymetry_polygon%2Csggis_coastline&FORMAT=image%2Fpng&TRANSPARENT=off&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&SRS=EPSG%3A2007056&BBOX=-82000,-43494.81471999999,-30705.185279999998,7800.000000000015&WIDTH=256&HEIGHT=256 Now the BBOX values being asked for in this request are way outside the bounds I have specified in tilecache.cfg - here is the extract for the above layer: [Coastline and bathymetry] type=WMSLayer url=http://10.48.1.76:8080/geoserver/wms?transparent=off layers=sggis:bathy_poly,sggis:coastline2007 extension=png #extent_type=loose bbox=-82000,7800,80000,116000 maxResolution=200.370370 srs=EPSG:2007056 metaTile=true (The coordinates are a metre projection for South Georgia in the Southern Ocean). Tilecache correctly reports this with the following error: An error occurred: Lower left corner (-82000.000000, -43494.814720) is outside layer bounds [-82000.0, 7800.0, 80000.0, 116000.0]. To remove this condition, set extent_type=loose in your configuration. An HTTP 404 response is generated. If I do as the error suggests and set extent_type=loose (uncomment the line above) then I notice a marked drop in performance - one layer takes half a minute to load from the cache for some reason. There are also 20-30 HTTP 500 responses which generate the error: An error occurred: Zero length data returned from layer. File "C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\tilecache\TileCache\Service.py", line 495, in wsgiHandler format, image = service.dispatchRequest( fields, path_info, req_method, host ) File "C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\tilecache\TileCache\Service.py", line 443, in dispatchRequest return self.renderTile(tile, params.has_key('FORCE')) File "C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\tilecache\TileCache\Service.py", line 403, in renderTile else: raise Exception("Zero length data returned from layer.") Either way, it seems like a lot of time is being wasted when the app loads doing requests which won't result in anything but failure. So I'd like to understand why these out of range requests are being made by OpenLayers and perhaps find an approach to prevent them. Unfortunately I'm not a Python programmer so I'm not in familiar territory. Any help much appreciated! Thanks, David Herbert British Antarctic Survey. -- This message (and any attachments) is for the recipient only. NERC is subject to the Freedom of Information Act 2000 and the contents of this email and any reply you make may be disclosed by NERC unless it is exempt from release under the Act. Any material supplied to NERC may be stored in an electronic records management system. _______________________________________________ Users mailing list [email protected] http://openlayers.org/mailman/listinfo/users
