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