当多边形较小时,如何在 wms 层 Geoserver 中获取准确的特征信息?

Posted

技术标签:

【中文标题】当多边形较小时,如何在 wms 层 Geoserver 中获取准确的特征信息?【英文标题】:How to get exact featureinfo in wms layer Geoserver when polygon is small? 【发布时间】:2013-01-09 07:14:40 【问题描述】:

我得到了单击多边形特征信息的相邻多边形特征信息。 在我的代码中:

获取特征信息:函数(e) 坐标=e; 变量参数 = 请求:“GetFeatureInfo”, 投影:“EPSG:4326”, 例外:“应用程序/vnd.ogc.se_xml”, BBOX:map.getExtent().toBBOX(), 服务:“WMS”, INFO_FORMAT: '文本/html', QUERY_LAYERS:选择层(map.zoom), FEATURE_COUNT:50, 图层:selectlayer(map.zoom), 宽度:map.size.w, 高度:map.size.h, X:parseInt(e.xy.x), Y:parseInt(e.xy.y), CQL_FILTER:selectfilter(), srs: map.layers[0].params.SRS; // 处理 wms 1.3 vs wms 1.1 的疯狂 if(map.layers[0].params.VERSION == "1.3.0") params.version = "1.3.0"; 参数.i = e.xy.x; 参数.j = e.xy.y; 别的 params.version = "1.1.1"; params.y = parseInt(e.xy.y); params.x = parseInt(e.xy.x); OpenLayers.loadURL("http://myserver/tomcat/geoserver/india/wms", params, this, setHTML, setHTML);

在图层预览中我遇到了同样的问题,那么是图层问题还是代码问题? 注意:如果多边形很大,那么它会显示完美的特征信息,但是当它很小时,就会出现这个问题。 我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

使用附加参数buffer:

var params = 
    buffer: 0,
    ...

【讨论】:

以上是关于当多边形较小时,如何在 wms 层 Geoserver 中获取准确的特征信息?的主要内容,如果未能解决你的问题,请参考以下文章

android上可读性差的wms层 - 传单

当屏幕尺寸较小时如何在屏幕右侧对齐图标

如何使用 cesium 和 geoserver 在 android 应用程序中显示 wms 层?

从 WorldWind Java 中删除默认 WMS 层

如何使用 Vuelayers 与 GeoServer 提供的 WMS 瓦片层进行交互?

地图服务器空间过滤