WFS过滤条件空间查询

//  And标签相当于&&  满足标签内的所有条件才查询
//  Or相当于||  满足过滤条件中的任何一个就可查询
var filter = `
                <Filter>
                    <And>
                         <PropertyIsEqualTo>
                            <PropertyName>NAME</PropertyName>
                            <Literal>${roadname}</Literal>
                        </PropertyIsEqualTo>
                    </And>
                </Filter>
            `
$.ajax({
    type: "post",
    url:"http://xxxx/geoserver/xxx/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=xxx&maxFeatures=10000&outputFormat=application%2Fjson",
    dataType: "json",
    contentType: "application/x-www-form-urlencoded;charset=utf-8",
    async: true,
    data: {
        filter: filter
    },
    success: function (data) {
        if(data.features.length == 0){
            alert("暂无查询结果")
        }else{
            var features = new ol.format.GeoJSON().readFeatures(JSON.stringify(data));
            searchRoad.getSource().addFeatures(features);
        }
    }
});

 

WFS(Web Feature Service)是一种用于在网络上发布和共享地理空间数据的标准协议。通过WFS进行区域查询是指从服务器请求某一特定地理范围内的矢量数据的操作过程。下面详细介绍如何利用WFS实现高效的区域性信息检索: ### 实现步骤 **第一步:明确需求** 确定需要获取哪一地区的详细资料以及所涉及的具体属性字段,例如土地用途分类、建筑物高度限制条件等等。 **第二步:配置过滤条件** 使用标准的OGC Filter Encoding语法构建XML文档描述希望匹配的对象集合特性,包括但不限于几何形状边界框限定、属性值比较运算符应用等内容。 ```xml <wfs:GetFeature service="WFS" version="1.1.0"> <wfs:Query typeName="feature:MyLayerName"> <ogc:Filter> <ogc:BBOX> <ogc:PropertyName>geom</ogc:PropertyName> <!-- 设置经纬度坐标 --> <gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#4326"> <gml:lowerCorner>-75.8 45.2</gml:lowerCorner> <gml:upperCorner>-74.9 46.3</gml:upperCorner> </gml:Envelope> </ogc:BBOX> </ogc:Filter> </wfs:Query> </wfs:GetFeature> ``` **第三步:发送HTTP GET / POST 请求至指定URL地址** 将构造完毕后的请求字符串提交给远程主机解析处理返回满足约束的结果集形式可以为GML(Geography Markup Language)或其他兼容格式依据实际项目而定。 --- 这种技术非常适合应用于城市规划管理工作中快速统计某片街区内部设施分布状况进而做出精准调整优化建议。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值