用好字段计算器的GISer才是好GISer。
# 序
在计算建成环境路网密度时,需要批量用点的缓冲区面数据与路网线数据数据相交(intersects),但所有缓冲区又在同一个图层里。对于这类问题,使用地理信息系统自带的方法是很难高效解决这个问题的,因此需要活用字段计算器以解决此问题。
# 每个缓冲区内道路长计算
在缓冲区面图层上点击右键,打开属性表,点击属性表顶部的字段计算器。
aggregate (
layer:='Haik_Road',
aggregate:='sum',
expression:=$length,
filter:= intersects($geometry, geometry(@parent))
)
使用 aggregate() 函数以批量处理缓冲区面图层内每一个缓冲区与道路数据相交获得的道路长度。
缓冲区图层需要使用 Buffer 方法获得。
# 计算每个多边形里其他图层字段的值并汇总
在多边形图层上点击右键,打开属性表的字段计算器。
aggregate( 'point_layer', 'sum', "总户数", intersects($geometry,geometry(@parent)))
# Links