GeoServer的WFS空间查询(点查询)

首先按照 https://yq.aliyun.com/articles/657891 给出的方式,将返回的数据改为json格式

注意:这样修改了后,由于 <#if !attribute.isGeometry> 的存在,返回的都是属性数据,如果要获取要素坐标信息,需要把这句话去掉。这样就能多了一个 the_geom 字段信息

接下来,就是获取url的过程了。

打开Layer Preview 中某个实例的 OpenLayers 示例,点击某个要素后,通过chrome浏览器的网络抓包,得到一个url的请求地址

http://localhost:8011/geoserver/fhsq/wms?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetFeatureInfo&FORMAT=image/png&TRANSPARENT=true&QUERY_LAYERS=fhsq:buildings&LAYERS=fhsq:buildings&exceptions=application/vnd.ogc.se_inimage&INFO_FORMAT=text/html&FEATURE_COUNT=1&X=50&Y=50&SRS=EPSG:4326&STYLES=&WIDTH=101&HEIGHT=101&BBOX=114.46627914905548,30.4414039850235,114.4673627614975,30.442487597465515

我只是点了某个要素,这里能够看得到的有坐标信息的就只有bbox参数了,但是它是一个范围。

经过测试:

我点的坐标点为 114.4664454460144,30.44195115566254

bbox的坐标范围是 114.4661745429039,30.44168025255203, 114.4667163491249,30.44222205877304

x和y的差值都是 0.0002709031105,这个应该是最小的容差值,

于是通过鼠标点击的坐标计算bbox的公式即为:

x - 0.0002709031105, y - 0.0002709031105, x + 0.0002709031105, y + 0.0002709031105

至此,完工。

你可能感兴趣的:(其他)