Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >按要素属性在本地过滤ol.layer.Vector

按要素属性在本地过滤ol.layer.Vector
EN

Stack Overflow用户
提问于 2015-03-12 14:06:38
回答 1查看 2.9K关注 0票数 2

我有一个openlayer-3 web应用程序,我需要在上面做一些图层过滤。该层恰好来自WFS源。我想选择过滤作为GetFeature CQL请求到服务器,也过滤本地的数据。

我还没有让CQL请求工作。同时,我想根据Openlayers 2中的特征属性在本地过滤矢量数据。有没有简单的方法可以做到这一点?是否有意不将Filter对象包含在ol3中?

编辑:我希望在ol3中有一个这样的过滤器:

http://dev.openlayers.org/examples/cql-format.html

EN

回答 1

Stack Overflow用户

发布于 2016-07-27 17:46:11

我已经找到了一种解决方案,通过解析CQL过滤器并在将特征添加到层之前过滤掉它们。

代码语言:javascript
运行
AI代码解释
复制
/* Your filter ... */
var cql = "STATE_ABBR >= 'B' AND STATE_ABBR <= 'O'";

/* Gets all the features from the current extent */
var features = new ol.format.WFS().readFeatures(response);

/**
 * Find a way to parse your CQL filter, for example, replace the 'AND's into '&&'s
 * It would be better to build a parser. You can use this: http://pegjs.org/
 */

/* Filters the features */
features = features.filter(function (feature) {
    return feature.get('STATE_ABBR') >= 'B' && feature.get('STATE_ABBR') <= 'O';
});

/* Adds the features to the layers */
layerWFS.getSource().addFeatures(features);

尝试使用PEGjs构建解析器

您的解析器应该将此转换为

代码语言:javascript
运行
AI代码解释
复制
"STATE_ABBR >= 'B' AND STATE_ABBR <= 'O'"

进入到这个

代码语言:javascript
运行
AI代码解释
复制
feature.get('STATE_ABBR') >= 'B' && feature.get('STATE_ABBR') <= 'O'

请参阅示例here

这里的关键是PEGjs。:)我希望我能帮到..。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29011970

复制
相关文章
Jackson 动态过滤属性,编程式过滤对象中的属性
场景:有时候我们做系统的时候,比如两个请求,返回同一个对象,但是需要的返回字段并不相同。
全栈程序员站长
2022/07/20
4.7K0
定制 Fiddler 之按设备过滤请求
在开发/测试过程中有多台设备(PC/手机/模拟器)通过 Fiddler 代理上网时,如何方便地从满屏纷飞的 Session 中筛选出自己关心的那台设备的请求?
零式的天空
2022/03/28
7910
定制 Fiddler 之按设备过滤请求
在开发/测试过程中有多台设备(PC/手机/模拟器)通过 Fiddler 代理上网时,如何方便地从满屏纷飞的 Session 中筛选出自己关心的那台设备的请求?
mzlogin
2020/04/16
1.1K0
js 对象属性过滤方法
数组使用fliter 函数是可以过滤掉的,但是对象的属性怎么过滤呢? 剔除少数属性,要多数属性 有时候需要剔除少数属性,留下大多数。类似于TS的omit 例子: let person = { name:"jack chen", age:54, address:'hongkong' } let {name,...xiaohong}=person console.log(xiaohong); 运行结果: 选择少数属性 有时候需要选中少数属性。类似于TS的pick 例子: let person
星宇大前端
2022/10/05
9.7K0
js 对象属性过滤方法
Java 对象数组按某个属性排序
新建一个Student对象 public class Student { private String name; private double score; public Student(String name,double score) { super(); this.name = name; this.score = score; } public String getName() { re
赵哥窟
2021/12/16
3K0
集合:按元素的中文属性排序
1. 要排序的元素类: public static class NameCount implements Comparable<NameCount> { Collator collator = Collator.getInstance(java.util.Locale.CHINA); @ApiModelProperty(value = "名") private String name; @ApiModelProperty(value =
微风-- 轻许--
2020/04/14
1.4K0
对list中对象按某属性排序
实际上只要一句话children.sort(Comparator.comparing(SDict::getOrderNum));
2021/03/11
4.1K0
对list中对象按某属性排序
CSS 3.0的过滤属性实现黑暗模式
现在很多的网站都喜欢采用黑暗模式,毕竟这种界面看起来逼格比较高端,比如下面这样的效果:
越陌度阡
2020/11/26
5530
CSS 3.0的过滤属性实现黑暗模式
elasticsearch geo_point 地理位置过滤 按经度排序
"poi": [           113.40780444444,           22.920241666667       ],
双面人
2019/08/30
1.5K0
elasticsearch geo_point 地理位置过滤 按经度排序
GIS常用npm包:GeoJSON文件合并与元素过滤\属性过滤\图形合并
普通的geoJSON文件合并,只需geojson-merge插件就够了,https://www.npmjs.com/package/@mapbox/geojson-merge
周陆军博客
2023/04/09
1.6K0
会员管理小程序实战开发教程-按条件过滤数据
我们在会员小程序中实现了会员列表的功能,但在常规的业务中,只是做列表展示还是不够的,我们还需要设置查询条件,根据条件过滤数据。本篇就介绍如何在低代码中进行按条件过滤数据。
低代码布道师
2021/07/13
1.1K0
会员管理小程序实战开发教程-按条件过滤数据
在客户端创建要素图层 (FeatureLayer)
在 ArcGIS JS API 的开发中, FeatureLayer 可以说是让人又爱又恨, 特别是 ArcGIS JS API 4.x , FeatureLayer 从服务端加载数据的策略不可控制, 或者说默认的数据加载策略不适合所有的场景, 某些场景下, 需要从先加载数据, 然后在客户端创建 FeatureLayer 。
beginor
2020/09/22
1.7K0
在本地安装 Matomo
本页说明如何在您的网络服务器上安装 Matomo 并开始跟踪您的站点网络分析。如果您更喜欢观看视频教程,请单击此处:如何设置 Matomo Analytics(以前称为 Piwik Analytics)[视频]
西里国际站
2023/04/18
3K0
在本地安装 Matomo
Milvus 向量数据库如何实现属性过滤
如下图所示,Milvus 运用 EBNF 语法,此处用等式和语法图体现了 Milvus 所支持的查询表达式的整体规则。
Zilliz RDS
2022/05/25
1.7K0
Milvus 向量数据库如何实现属性过滤
Vue02基础语法-插值+过滤器+计算属性+计算属性
示例: 使用计算属性,计算书本的总价定义测试数据,和计算属性,计算属性遍历书本记录,计算总价
天蝎座的程序媛
2022/11/18
1.4K0
03 . Vue基础之计算属性,过滤器
vue计算属性 /* 复杂逻辑,模板难以维护 1. 基础例子 2. 计算缓存 VS methods - 计算属性是基于他们的依赖进行缓存的. - 计算属性只
iginkgo18
2020/11/24
1.8K0
03 . Vue基础之计算属性,过滤器
实战 | 如何使用微搭低代码实现按条件过滤数据
在开发应用过程中难免会用到条件查询这个功能,本篇就来详细介绍下如何使用微搭低代码实现按条件过滤数据。
腾讯云开发TCB
2021/07/21
2.1K0
实战 | 如何使用微搭低代码实现按条件过滤数据
在Ubuntu中实现python按tab
    刚学习python,其实一切都很好接受,因为有过C语言的基础,感觉一切都来得那么自然,python极其精简的语法,让我真心是爱上这种语言!相信往后python一定会在我的IT生涯中大放光彩!
py3study
2020/01/09
1.6K0
Hive之导出文件按逗号分隔到本地文件
    如下所示,默认导出的是用\t分隔的,需要使用管道符进行转换,经常使用到,记录下.
克虏伯
2020/02/14
2.4K0
在本地搭建 discourse 社区
有时候需要测试修改一些插件,如果直接在生产环境上面测试,会影响社区的正常运行,因此有必要在本地搭建一个 discourse 社区以供测试使用。
p4nda
2023/01/03
1.6K2
在本地搭建 discourse 社区

相似问题

按属性过滤要素,该属性是Mapbox中的对象列表

110

openlayers 4从ol.layer.Vector获取要素

224

按属性或要素进行Mapbox iOS搜索

110

按属性过滤

81

在地图中单击并向其中添加时,按要素过滤小叶图层

116
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档