mapbox-gl-js - MapBox GL JS 组合过滤器
问题描述
我正在尝试在 MapBox GL JS v1.9.1 上组合多个过滤器。过滤器是 -- 如果属性“d”在 2 个整数之间并且属性“i”具有给定值之一,并且如果点落在多边形内。过滤器表达式如下 -
[
"all",
[
">=",
[
"get",
"d"
],
1577854800
],
[
"<=",
[
"get",
"d"
],
1577941199
],
[
"match",
[
"get",
"i"
],
[
"bdba680267591d0543072cf18cd98e57",
"c42c6d59e302b45e5fb6be6e8abdfcbb",
"2b34c7d0c8fe7021eae2cf8b693f6d14",
"bcbce48c922fdd706094d80f6f6efa5a"
],
true,
false
],
[
"==",
[
"within",
[
"object",
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-73.96644912936983,
40.7579747
],
[
-73.96790253328018,
40.76354671807032
],
[
-73.96870366224104,
40.76483841792908
],
[
-73.98926755133365,
40.77225531118752
],
[
-73.99108514195954,
40.771908119615176
],
[
-73.99284935487653,
40.77142674159516
],
[
-73.99454319974974,
40.77081581306094
],
[
-73.99615036392716,
40.770081217588285
],
[
-74.00454413035031,
40.75940186729005
],
[
-74.00463607063017,
40.7579747
],
[
-73.97078314761191,
40.74873768960421
],
[
-73.96966695937762,
40.749885383567914
],
[
-73.96870366224104,
40.75111098207092
],
[
-73.96790253328018,
40.752402681929674
],
[
-73.96727128780488,
40.753748043368425
],
[
-73.96681600505411,
40.75513410982106
],
[
-73.9665410696497,
40.756547532709945
],
[
-73.96644912936983,
40.7579747
]
]
]
}
}
]
}
]
],
true
]
]
过滤器不适用,但如果我从表达式中删除“内部”,过滤器工作正常。“内部”表达式本身也可以完美地工作,但在上述情况下会失败。
关于如何解决这个问题的任何见解?
解决方案
嵌套的“内部”过滤器是一个错误并已修复。
推荐阅读
- listview - 使用滚动视图的视图更改时禁用单击等事件的更好方法
- json - 使用 JOLT 根据属性拆分数组
- r - 如何根据名称列表搜索字符串列表并删除所有额外字符?
- ios - 值类型和初始化的问题
- java - Feign Client GET 请求,从微服务抛出“Method Not Allowed: Request method 'POST' not supported”
- python - 使用 inplace=True 时出现 SettingWithCopy 错误
- google-bigquery - 在 BigQuery 中将行分组为固定大小的数组
- r - 如何更改r bookdown中的间距
- vue.js - 立即更改引导导航栏崩溃的背景颜色
- sql - 更改 2 选择连接查询以填充零/空,而不是在一个查询中不存在数据时过滤掉