qgis - Atlas 函数似乎不适用于结合“内部”过滤器的倒置多边形
问题描述
我的项目是创建一组地图来描述流域。该盆地由多个子盆地组成,每个子盆地都使用 .shp 文件中的多边形进行描述。我正在使用 layout/Atlas 选项创建显示相对较高细节的子流域地图。这些子流域地图应仅显示位于子流域内的几何图形 - 我不想看到其多边形之外的任何信息。我想显示的大多数(点)图层可以很好地过滤到子流域内的那些,仅使用within($geometry,@atlas_geometry)
基于规则的符号系统过滤器中的语句。这些层由完全位于盆地内的点或多边形组成。到目前为止,一切都很好。
这种方法不适合包含高度轮廓的多边形层。通过构造,这些等高线跨越(而不是位于)子流域多边形。使用within
语句过滤不会给出我正在寻找的结果(它只会导致显示轮廓的子集)。类似地,使用过滤器intersects
将导致完整轮廓多边形的可视化,包括子流域之外的部分。
我目前的方法是简单地隐藏(而不是不绘制)可视化的子流域多边形之外的任何对象。我尝试通过将子流域多边形设置为用纯白色“简单填充”的“倒置多边形”来做到这一点。我的想法是,这应该只是隐藏正在显示的子流域之外的轮廓。我的设置如下:
- 子流域层设置为图集覆盖层
- 我的地图由阿特拉斯“控制”
- 子流域符号系统设置是“倒置多边形”,在过滤器所在的位置“基于规则”
within($geometry,@atlas_geometry)
- 过滤器“测试”确认对于当前显示的图集预览子流域,该语句的计算结果为 TRUE/1。
我本来希望布局以橙色显示周围的子流域。唉,布局没有以任何方式显示任何子流域(下面的最后一个屏幕截图)。
我的问题是:
- 我的方法是否可行,即我所考虑的原则是否有效?
- 如果是这样,那么我的设置在哪里不正确或不完整?
非常感谢您的帮助!
解决方案
推荐阅读
- python - 缺少 1 个必需的位置参数:django 模型中的“on_delete”
- python - groupby 应用函数中的缺失值
- jenkins - 我可以将我的 Jenkins 管道编写为 Yaml 而不是 groovy 吗?
- python - 如何重复代码直到满足特定条件?
- javascript - 带有动态文本的 Vue setCustomValidity
- nginx - NGINX 充当正向代理?
- amazon-web-services - terraform aws_lb_listener_rule 条件争论未在 terraform 0.12.20 中得到认可
- html - 媒体查询不适用
- python - 将“Python 模板字符串”扩展为非 ASCII
- android - android - 访问相机强制关闭 api 29