Как установить параметр wms (bbox, ширина, высота, x, y)

Я получаю доступ к геосерверу после создания URL-адреса wms. Затем я использую getFeatureInfo для получения информации. Как установить параметры для получения информации о нескольких слоях?

что означает ширина, высота, x, y, bbox?

var bboxControl = 0.0001;

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);
        }           
    });
});

Это работает, но не зависит от состояния масштабирования.


person Hans    schedule 22.10.2019    source источник


Ответы (1)


Если вам нужно больше слоев, где-то в вашем коде у вас есть список/массив с именем layers. Добавьте каждый слой, который вы хотите в это.

По второму вопросу проверьте здесь запросы GeoServer.
Но в двух словах:

  • BBox означает ограничивающую рамку. он определяет область, в которую GeoServer отправляет данные.
  • Ширина и высота определяют размер карты, возвращаемой GeoServer.
person Mahdi Mahmoodian    schedule 22.10.2019