如何设置wms参数(bbox、width、height、x、y)

Posted

技术标签:

【中文标题】如何设置wms参数(bbox、width、height、x、y)【英文标题】:How to set wms parameter (bbox, width, height, x, y) 【发布时间】:2019-10-22 06:11:39 【问题描述】:

我在创建 wms url 后访问地理服务器。然后我使用 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】:

如果你想要更多的层,在你的代码的某个地方你有一个名为layers 的列表/数组。添加你想要的每一层。

对于您的第二个问题,请检查 here 以获取 GeoServer 请求。 但简而言之:

BBox 表示边界框。它定义了 GeoServer 发送数据的区域。 宽度和高度定义从 GeoServer 返回的地图大小。

【讨论】:

以上是关于如何设置wms参数(bbox、width、height、x、y)的主要内容,如果未能解决你的问题,请参考以下文章

按要求编写一个Java应用程序: 编写一个矩形类Rect,包含: 两个属性:矩形的宽width;矩形的高height。 两个构造方法: 1.一个带有两个参数的构造方法,用于将width和heig(代码

yolo 算法 网格的两个bounding box大小是怎么确定的

通过请求参数样式化 wms

如何设置透明覆盖 WMS 图层的样式

C#已有的Image对象(内存图片)如何改变高宽?

如何使用 Apache 和 Tomcat 为 Geoserver WMS 设置子域