'MaxScaleDenominator'和'BBOX'不能同时工作

时间:2019-10-22 09:04:16

标签: openlayers geoserver wms

Geoserver层样式部分和“ bbox”不能同时工作。

它恰好是MaxScaleDenominatorwms bbox

<sld:MaxScaleDenominator>30000.0</sld:MaxScaleDenominator>
var bboxControl = 0.1;

var bbox = (coordinate[0]-bboxControl) + ',' +  
(coordinate[1]-bboxControl) + ',' +  
(coordinate[0]+bboxControl) + ',' +
(coordinate[1]+bboxControl);

var projection = map.getView().getProjection().getCode();

const parameter = "?SERVICE=WMS
&VERSION=1.1.1
&REQUEST=GetFeatureInfo
&FORMAT=image/png
&TRANSPARENT=true" 
+ "&QUERY_LAYERS=" + layers
+ "&LAYERS=" + layers
+ "&exceptions=application/vnd.ogc.se_inimage
&INFO_FORMAT=application/json
&FEATURE_COUNT=50
&X=50&Y=50"
+ "&SRS=" + projection
+ "&STYLE=&WIDTH=101&HEIGHT=101"
+ "&BBOX=" + bbox;

$(document).ready(function(){
    $.ajax({
        url: getFeatureInfoUrl + parameter,
        dataType : 'json',
        success: function(result){
            success(result);
        }           
    });
});

如果我删除一个,则另一个起作用。 我不知道两者之间的关系。

1 个答案:

答案 0 :(得分:2)

如果您的边界框和图像尺寸组合使得(GetMap)图像的比例大于30000.0,则由于没有要查询的功能,您将不会获得GetFeatureInfo响应。

您可以使用实际的GetFeatureInfo请求生成关联的WMS GetMap请求,然后在浏览器中进行尝试,是否得到非空白的图像?