OGC wfs空间查询与geoserver cql空间查询

前言:

OGC wfs 空间查询 几乎所有的GIS厂商都会支持OGC 标准。但有一点不好的就是OGC标准虽然通用可是用起来繁琐,需要构建XML请求参数比较难受;对应的各个GIS服务厂商出了对应的查询服务,比较熟悉的有超图的rest查询服务,而geoserver对应的cql空间查询。

OGC wfs空间查询

空间查询种类

<Intersects>- 测试两个几何是否相交
<Disjoint>- 测试两个几何是否不相交
<Contains>- 测试几何是否包含另一个几何
<Within>- 测试几何是否在另一个之内
<Touches>- 测试两个几何体是否接触
<Crosses>- 测试两个几何图形是否交叉
<Overlaps>- 测试两个几何图形是否重叠
<Equals>- 测试两个几何是否在拓扑上相等

点线面构造

参考文档:https://www.ogc.org/standards/wfs

--- 点构造方式
<gml:Point>
    <gml:coordinates>106.00,36.00</gml:coordinates>
</gml:Point>

--- 线构造方式
<gml:LineString>
    <gml:coordinates>146.62903,-41.85171 147.27448,-42.18130</gml:coordinates>
</gml:LineString>

--- 面构造方式
<gml:Polygon>
    <gml:outerBoundaryIs>
        <gml:LinearRing>
        <gml:coordinates> 93.6474609375,37.10776507118514                 93.01025390625,35.17380831799959 95.11962890625,33.54139466898275     97.53662109375,33.54139466898275 99.25048828124999,33.96158628979907 99.97558593749999,35.191766965947394 93.6474609375,37.10776507118514</gml:coordinates>
        </gml:LinearRing>
    </gml:outerBoundaryIs>
</gml:Polygon>

构造查询条件

--通过空间查询规则和点线面数据构造方式我们可以组装对应的查询条件
http://localhost:8010/geoserver/nxgc/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=nxgc%3Anx_city&maxFeatures=50&outputFormat=application%2Fjson&filter=<Filter xmlns="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml">
<Intersects>
    <PropertyName>geom</PropertyName> //这里对应数据库中的矢量数据字段名称
        <gml:Point>
            <gml:coordinates>106.00,36.00</gml:coordinates> //这里是点数据坐标
        </gml:Point>
    </Intersects>
</Filter>

cql空间查询

空间查询类型和OGC同步换成大写就成

点线面构造

--点构造方式
POINT(106.00,36.00) 

--线构造方式
LINESTRING((106.00 36.00,106.00 36.10))

--面构造方式
POLYGON((-90 40, -90 45, -60 45, -60 40, -90 40))

构造查询条件

http://localhost:8010/geoserver/nxgc/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=nxgc%3Anx_city&maxFeatures=50&outputFormat=application%2Fjson&
INTERSECTS(geom, POINT(106.00,36.00))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值