geoserver 利用wfs服务判断 点是否在面内

利用wfs的getfeature(cql contains、intersects等空间查询)

示例如下:

http://ip:8080/geoserver/citydo/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=citydo:沿海禁养区_3857&outputFormat=application/json&cql_filter=CONTAINS(geom,SRID=4326;POINT(123 29.888))
http://ip:8223/geoserver/zjyycy/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=zjyycy:%E6%B5%99%E6%B1%9F%E6%B7%A1%E6%B0%B4%E5%8C%BA%E5%9F%9F_%E7%A6%81%E5%85%BB%E5%8C%BA_3857&outputFormat=application/json&cql_filter=CONTAINS(the_geom,SRID=4326;POINT(120.1279208112711%2030.9434113455055))
http://ip:8080/geoserver/citydo/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=citydo%3A%E6%B2%BF%E6%B5%B7%E7%A6%81%E5%85%BB%E5%8C%BA_3857&outputFormat=application/json&cql_filter=INTERSECTS(geom,SRID=4326;POINT(123%2029.888))

其中cql_filter语句中,contains函数表示筛选包含改点的数据、INTERSECTS表示相交数据,geom(或the_geom)代表查询要素,指定srid为4326;注意geom还是the_geom在导入数据时可指定几何图形字段。


image.png
cql_filter=CONTAINS(geom,SRID=4326;POINT(123%2029.888))//包含

cql_filter=INTERSECTS(geom,SRID=4326;POINT(123%2029.888))//相交

查询结果


image.png
image.png

参考:
wfs getFeature

geoserver常用cql图层过滤


另附:wms 的getfeatureinfo 备选查询
geoserver wms GetFeatureInfo

WMS vendor parameters

注意,官方建议使用wfs的getfeature查询


image.png

前人经验:
通过 geoserver 空间点查询

postgis常用空间函数应用于geoserver

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容