geoserver WMS图层筛选

目录

图层简单介绍

 属性名筛选

1、=  (属性名='属性值')

2、属性名的模糊匹配 

 3、属性值为number类型

 4、函数过滤

5、空间筛选


图层简单介绍

       geoserver打开预览图层,styles可以在发布图层的时候添加样式,这里可以选择默认或者添加的样式来为图层添加样式;CQL的筛选语句和sql的语句有点相似,下面主要记录一下CQL的各种筛选。

 属性名筛选

1、=  (属性名='属性值')

注意:属性值如果为string,则要加引号

例如:region_code='330702'

2、属性名的模糊匹配 

匹配规则和sql语句的规则一致

例如:region_code like '3307021%'

 3、属性值为number类型

可使用(+、-、*、/、>、<、=等运算方法,以及between···and··· 区间范围)

我们这里介绍一下<,+和between··· and,其他的运算方法是一致的

 

 

 4、函数过滤

例如:strLength(name) = 4  筛选出name的长度为4的区域

 以下是几种常用的函数:

名称参数描述
strLengthstring返回字符串长度
strIndexOfstring:String,substring:String返回指定字符串在字符串中首次出现的索引,未找到则返回-1
strLastIndexOfstring:String,substring:String返回指定字符串在字符串中末次出现的索引,未找到则返回-1
strSubstringstring:字符串,begin:整数,end整数返回一个新的字符串,是字符串从begin开始到end结束截取的字符串,包含begin,不包含end
strSubstringStartstring:字符串,begin:整数返回一个新的字符串,是字符串从begin开始到字符串结尾
strToLowerCasestring:字符串返回小写的字符串
strToUpperCasestring:字符串返回大写的字符串
strTrimstring:字符串返回去掉首尾空格的字符串

5、空间筛选

判断点所在的区域:CONTAINS(geom,SRID=4326;POINT(${this.longitude} ${this.latitude}))

注意:经纬度之间要添加空格,geom要设置 类型为MultiPolygon,坐标为4326

 获取和区域相交:BBOX(geom,左上角经度,左上角纬度,右下角经度,右下角纬度)

geom和上面的一样

 获取和区域不相交:disjoint(geom,polygon((119.65073 29.06021,119.69142 29.06021,119.73038 28.95893,119.66858 28.95893,119.65073 29.06021)))

获取和区域相交:intersects(geom,polygon((119.65073 29.06021,119.69142 29.06021,119.73038 28.95893,119.66858 28.95893,119.65073 29.06021)))

disjoint和intersects 刚好相反

 注意:polygon中的第一个点和最后一个点要一样,保证是一个完整的区域

 获取绘制区域包含的区域: within(geom,polygon((119.65073 29.06021,119.69142 29.06021,119.73038 28.95893,119.66858 28.95893,119.65073 29.06021)))

获取距离某个点一定距离内的区域: DWITHIN(geom,POINT(119.66858 28.95893),10000,meters) 

DWITHIN(表达式,表达式,距离,单位);feet :英尺 ;meters :米 ;kilometers : 千米;statute miles :英里;nautical miles :海里;

BEYOND 和DWITHIN 刚好相反,BEYOND是距离某个点大于一定距离的区域,表达式和DWITHIN一样

        空间谓词还有一些,例如:TOUCHES,CROSSES,OVERLAPS,EQUALS,RELATE;这些空间谓词项目中没有使用到,就不一一写了,大家可以自行研究一下!

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

travel_wsy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值