Как установить параметр wms (bbox, width, height, x, y) - PullRequest
1 голос
/ 22 октября 2019

Я получаю доступ к геосерверу после создания 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);
        }           
    });
});

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

1 Ответ

0 голосов
/ 22 октября 2019

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

Для вашего второго вопроса отметьте здесь для запросов GeoServer.
Но в двух словах:

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