OpenLayers filter 过滤器实现查询
来源:互联网 发布:cstpcd数据库 编辑:程序博客网 时间:2024/06/13 07:39
首页介绍下 OpenLayers 的 Filter
Filter是一种基于XML的并且符合OGC规范的语言。SLD用它来实现复杂的Rule选择。WFS在所有需要定位操作对象的地方都会使用Filter。Filter的作用是构建一个表达式,返回值就是Feature的集合,换句话说Filter就如他的名字一般为我们从一个集合中过滤出一个满足我们要求的子集。而过滤的方法就是Filter定义的操作符。Filter定义了三种操作符:地理操作符(Spatial operators),比较操作符(Comparison operators)和逻辑操作符(Logical operators)。
1. Spatial operators定义了地理属性的操作方式,他们有:Equals,Disjoint,Touches,Within,Overlaps,Crosses,Intersects,Contains,DWithin,Beyond,BBOX。
名称
含义
举例
Equals
等于
Disjoint
不相交
Intersects
相交(存在交集)
Touches
Within
在..内部
DWithin
在…外部
Overlaps
叠加
Crosses
通过
Contains
包含
Beyond
BBOX
矩形范围
2. Comparison operators定义了标量属性的操作方式,他们有:PropertyIsEqualTo,PropertyIsNotEqualTo,PropertyIsLessThan,PropertyIsGreaterThan,PropertyIsLessThanOrEq,PropertyIsGreaterThanO,PropertyIsLike,PropertyIsNull,PropertyIsBetween。
名称
含义
举例
PropertyIsEqualTo
==
PropertyIsNotEqualTo
!=
PropertyIsLessThan
<
PropertyIsGreaterThan
>
PropertyIsLessThanOrEq
<=
PropertyIsGreaterThanO
>=
PropertyIsLike
利用通配符等符号对字符进行模糊匹配
<Filter>
<PropertyIsLike wildCard="*" singleChar="#" escapeChar="!">
<PropertyName>LAST_NAME</PropertyName>
<Literal>JOHN*</Literal>
</PropertyIsLike>
</Filter>
PropertyIsNull
为空
PropertyIsBetween
在…之间
3. Logical operators逻辑操作符,定义了组合这些操作的方式,他们有:And,Or,Not。
举例:构建一个表达式,人口在一千万以上,并且在指定的空间范围内的城市。
下面来个例子:查询status属性值为1的列表
var filter = new OpenLayers.Filter.Comparison({type: OpenLayers.Filter.Comparison.EQUAL_TO, // 表达式 equalproperty: "status",value: "1"});var filterStrategy = new OpenLayers.Strategy.Filter({filter: filter});var gmlLayer = new OpenLayers.Layer.Vector("GML", {styleMap: myStyles,projection: "EPSG:4326",protocol: new OpenLayers.Protocol.HTTP({url: "http://localhost:8088/geoserver/local/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=local:gis_test&maxFeatures=50",format: new OpenLayers.Format.GML()}),strategies: [new OpenLayers.Strategy.Fixed(),filterStrategy]});map.addLayer(gmlLayer);
- OpenLayers filter 过滤器实现查询
- openlayers实现查询功能
- OpenLayers中基于Filter的WFS查询
- SpringBoot 实现Filter过滤器
- Filter过滤器实现权限控制
- 使用Filter实现编码过滤器
- Filter过滤器实现权限控制
- Filter过滤器实现自动登录
- Filter过滤器实现自动登录
- Filter简单过滤器的实现
- OpenLayers 3+Geoserver+PostGIS实现点击查询
- 过滤器实现模糊查询
- openlayers实现wfs属性查询和空间查询
- 使用filter过滤器实现登陆权限验证
- 使用filter过滤器实现登陆验证
- 使用filter过滤器实现登陆权限验证
- 用filter过滤器实现登陆权限验证
- filter过滤器实现过滤非法文字
- Ubuntu Linux 软件寻找/安装/卸载 图文详解教程
- eclise 部署web工程报 There are no resources that can be added or removed from the server.
- Group by H
- C++中错误no matching function for call to transform
- struts2开发的struts.xml文件代码提示
- OpenLayers filter 过滤器实现查询
- 【黑马程序员】Objective-C语言学习笔记之小知识点
- cf236,div2
- 职场邮件礼仪
- [学习记录]C++定时器功能的实现
- 关于gen_fsm 的一些理解
- IOS工具, 解码,charles,json校验等工具使用地址
- 链式前向星
- 磁学基础 永久磁铁的磁力线分布