我有两个图层,一个是点图层,另一个是多边形图层。这两个图层都使用 WMS 服务从 GeoServer 显示在 map 上。我在多边形内绘制一些点,其他点仅在 map 上绘制。
现在我想获取点特征详细信息,这些详细信息可用于特定的多边形区域,为此,我通过使用 EPSG:4326 向 Geoserver 发出 WFS 请求,应用了带有多边形特征 BBOX 的 CQL 过滤查询。
过滤查询:
http://localhost:8080/geoserver/cite/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=cite:filterquertyTest&CQL_FILTER=BBOX(the_geom%2C70.136719%2C10.833306%2C87.890625%2C32.842674)&SRS=EPSG%3A4326&WIDTH=950&HEIGHT=400&maxFeatures=50&outputFormat=application%2Fjson
但在这里我遇到了诸如多边形之外的近点也可以由地理服务器作为功能详细信息返回的问题。
请参阅image它返回totalFeatures Count 4,但在多边形层内部只有3个点。
因此,任何精确获取 Point 的解决方案都可以在多边形区域内使用。
提前致谢。
最佳答案
GeoServer 所提供的正是您所要求的,即落入由两个角 70.136719,10.833306 87.890625,32.842674 定义的框内的所有点。
如果您只需要多边形内的 3 个点,则需要使用within
过滤器。
&CQL_FILTER=within(the_geom,POLYGON((70.136719 10.833306,....)))
关于geoserver - 当应用过滤器查询基于 BBOX 获取多边形区域内的要素时返回不需要的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47230295/