首页 / 浏览问题 / 云GIS / 问题详情
调用GetFeatureInfo 点击wms区域外也返回数据了,我看了有人提问过相关问题,但是没有解决
10EXP 2024年01月22日
使用产品 iserver11i   操作系统  win10

我看了有人提问过相关问题, 但是回复是 “是跟您鼠标的状态有关” ,但其实是点击区域外也返回数据,该问题没有解决, 我这边也同样遇到了类似的问题, 怎么才能点击区域外不返回数据,测试了使用geoserver的wms点击区域外就不会返回数据,但是使用iserver的wms点击区域外就会返回数据

1个回答

您好,iserver发布的wms服务进行GetFeatureInfo查询时,有个FEATURE_COUNT=number,该参数为要返回信息的要素的数量(默认为1)。

以(IJ)为中心点,根据操作中的请求参数 BBOX,Width 和 Height 确定初始查找范围半径,对指定的查询图层进行查找。如果查询返回结果小于用户指定的 number 值,将查找半径扩大一倍继续查找,如果查询结果数目满足用户要求返回的要素数目,返回结果,否则继续扩大半径。当查找半径达到初始搜索半径的8倍时,终止查询,返回查询结果,进入下一图层的查询。参数具体介绍参考帮助文档:http://support.supermap.com.cn/DataWarehouse/WebDocHelp/iServer/API/WMS/WMS130/GetFeatureInfo/GetFeatureInfo_request.htm

所以当鼠标点击位置查询结果为空,小于返回信息的要素数量,即会扩大范围继续查找,最后就会返回最近的要素信息。您可以在前端进行鼠标点击位置判断,当点在数据范围外时不进行GetFeatureInfo请求,点在范围内时再进行GetFeatureInfo请求返回查询结果。

3,143EXP 2024年01月22日
...