计算字段 (矢量计算器)
功能概述
计算字段工具用于对要素数据集的属性列进行批量逻辑与数学运算。你可以通过编写表达式实现字段间的代数运算、条件分级赋值、空值修复,并能直接调用内置的几何函数(如 AREA, LENGTH)和测地线函数计算空间指标。
应用场景
- 指标派生:基于人口与面积字段计算“人口密度”。
- 几何属性提取:自动提取面要素的测地线面积或线要素的起点坐标。
- 数据分级:利用
where函数根据数值大小生成“评价等级”字段。 - 字段清洗:进行单位换算、字符串拼接或异常值批量替换。
公式编写规范
1. 字段与几何引用
- 字段引用:直接使用字段名。若字段名含特殊字符,建议先通过【字段编辑】工具重命名。
- 几何引用:
geometry:用于计算当前坐标系下的投影几何指标。geometry_geodesic:用于计算 WGS 84 椭球体下的测地线指标(如AREA_GEODESIC)。
2. 逻辑与条件
- 逻辑运算符:必须使用逐要素逻辑运算符
&(与),|(或),~(非),并配合括号使用。 - 条件函数:使用
where(condition, x, y)。 - 多行赋值:
tmp = Population / Area
Density = where(tmp > 100, 'High', 'Low')
几何函数参考
| 关键字 | 含义 | 适用类型 |
|---|---|---|
| AREA | 投影面积 | 面要素 (Polygon) |
| AREA_GEODESIC | 测地线面积 | 面要素 (WGS84 椭球) |
| LENGTH | 投影长度 | 线要素 (LineString) |
| LENGTH_GEODESIC | 测地线长度 | 线要素 (WGS84 椭球) |
| CENTROID_X / Y | 质心坐标 | 所有类型 |
| PART_COUNT | 部件数量 | 多部件 (Multi*) 要素 |
参数介绍
| 参数名称 | 参数描述 | 补充说明 |
|---|---|---|
| 输入要素 | 需要进行字段计算的数据集。 | 支持点、线、面。 |
| 计算公式 | 包含赋值逻辑的多行表达式。 | 最后一行赋值决定输出字段。 |
| 保存中间结果 | 是否在输出中保留中间变量。 | 默认:否。 |
| 输出要素数据集 | 计算后的结果。 | 支持常见矢量格式。 |
操作步骤
- 启动工具:打开【计算工具箱】工具箱 → 导航至【矢量工具】 > 【字段】 → 启动【计算字段】工具窗格。
- 设置输入:选择【输入要素】。
- 配置参数:在【计算公式】文本框中编写运算逻辑;按需勾选【保存中间结果】。
- 配置输出:设置输出路径与文件名。
- 执行生成:点击“运行”并查看结果。
注意事项
- 几何函数(如
AREA)的结果单位由输入数据的坐标系决定(米或度)。 - 表达式语法极其严格,确保所有括号成对出现。
- 大数据量计算时,建议先通过少量记录验证公式正确性。官方建议在复杂计算前先执行【修复几何体】。