OpenLayers开发:WFS过滤

过滤器是WFS服务器的一个重要特性。通过过滤器,可以对请求的矢量要素进行筛选,只保留符合条件的要素。常用的过滤器有比较过滤器、逻辑过滤器、空间过滤器等,可以组合使用。以下说明过滤器的使用。

1. 创建HTML文件,引入OpenLayers开发包,插入地图div元素:

2. 创建地图实例对象,添加基础图层和相应控件。

3. 调用WFS图层,并在调用的过程中添加过滤器,筛选符合条件的要素显示。

//实例化OpenLayers.Layer.Vector类

varwfsLayer = new OpenLayers.Layer.Vector(“企业”,{

       //WFS请求协议

protocol:new OpenLayers.Protocol.WFS({

       //请求资源URL

url:”http://simap.chinalbs.org/beyonserver/beyondb/wfs”,

//图层名称

featureType:”t0703p001″,

//空间参考系统,默认为”EPSG:4326″

    srsName: “EPSG:4326”,

       //表示地理要素的属性字段名称

    geometryName: “the_geom”,

       //版本

    version: “1.0.0”

}),

//使用OpenLayers.Strategy.BBOX策略,该策略指示该图层随地图窗口的变化而刷新内容

strategies:[new OpenLayers.Strategy.BBOX()],

 

//使用WFS过滤器

//逻辑过滤器

filter:new OpenLayers.Filter.Logical({

type:OpenLayers.Filter.Logical.AND,

filters:[

       //比较过滤器

newOpenLayers.Filter.Comparison({

type:OpenLayers.Filter.Comparison.EQUAL_TO,

property:”district”,

value:”昌平区”

}),

//空间过滤器

newOpenLayers.Filter.Spatial({

type:OpenLayers.Filter.Spatial.WITHIN,

value:OpenLayers.Bounds.fromArray([116.3, 40, 116.6, 40.3])

})

]

})

});

map.addLayer(wfsLayer);

 

运行效果如下:


转载自:https://mtr-1.oss-cn-beijing.aliyuncs.com/qyblog/2019/04/46878559.jpg

You may also like...