I am having some difficulties viewing OS OnDemand WMS layers at certain Scales. For example, I have loaded the OS MiniScale layer which should be view-able between 1:236250 and 1:944928. However, if I attempt to view it at 1:500000 scale (with magnifier set to 100%), it doesn't render and I get the following error in the Log Messages Panel:

Map request error (Status: 200; Response: xmlns:ogc="http://www.opengis.net/ogc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/ogc http://schemas.opengis.net/wms/1.3.0/exceptions_1_3_0.xsd"> No requested layers (MS) are visible at the requested scale (189025) ; Content-Type: text/xml;charset=ISO-8859-1; URL:http://osondemand.ordnancesurvey.co.uk:80/ondemand/wms/MAP.do?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&BBOX=366531.5586588375154,617562.0833002466243,439270.4167577226181,682437.9166997533757&CRS=EPSG:27700&WIDTH=1375&HEIGHT=1226&LAYERS=MS&STYLES=&FORMAT=image/png&DPI=240&MAP_RESOLUTION=240&FORMAT_OPTIONS=dpi:240&TRANSPARENT=TRUE)

The confusing bit is, the scale in the Error Message does not correspond to the scale I'm trying to view it in QGIS. I've attached a screenshot to show the behaviour.

enter image description here


The WMS (1.3.0) specification tells us:

The and elements define the range of scales for which it is appropriate to generate a map of a Layer. Because maps from a WMS may be viewed on arbitrary displays rather than on paper, the values used are actually the scale denominators relative to a common display pixel size. The intent of scale denominators is not that the translation between “actual” and “standard” scales always be completely accurate. Rather, the intent is to reduce the amount of clutter or crowding of features portrayed on the map. The scale denominator values are guidelines for clients, not firm limits. Upon receiving a request for a map that is not within the scale denominator range, the server may return a blank map, or may return a portrayal of the Layer that is crowded with features or otherwise poorly suited for display; the server shall not respond with a service exception.

So the scales defined in the GetCapabilites do not have to be accurate, and the OS WMS on demand server appears to be in error for giving an error message!

The WMS (1.3.0) specification then says:

For the purposes of this International Standard, the common pixel size is defined to be 0,28 mm × 0,28 mm

Which is approx 91 dpi, but the GetMap request is for a 240 dpi image.

240/91 approx = 2.64

500,000/189,025 approx = 2.64

So perhaps difference in scales between QGIS 1:500,000 and error message reported request at 1:189,025 (and therefore out of scale range), could therefore be explained by differences in expected dpi

| improve this answer | |
  • That's great info, thanks nmtoken. I t has enabled me to solve the problem, I think. I changed the DPI-Mode in the WMS connection from All to QGIS and the layers are all showing now. Thanks again. – David Williams Mar 5 '18 at 13:56

Using nmtoken's information, I checked the WMS connection settings and the DPI-Mode was set to all. I changed this to QGIS and the layers are all showing now.

WMS Connection settings

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.