(十九)数据编辑——属性编辑②

数据编辑——属性编辑②

使用键盘输入值并不是编辑表中值的唯一方式。在某些情况下,为了设置字段值,可能要对单条记录甚至是所有记录执行数学计算。ArcMap 中的字段计算器可以对所有或所选记录进行简单和高级计算。

此外,还可以基于字段计算属性表中的面积、长度、周长和其他几何属性。

1.对要素几何执行计算

1.1计算几何

计算几何”工具可以访问图层的要素几何。根据输入图层的几何,此工具可以计算坐标值、长度和面积。仅当对所使用的坐标系进行了投影时,才能计算要素的面积、长度或周长。请牢记,不同投影具有不同的空间属性和变形。如果数据源和数据框的坐标系不同,那么使用数据框坐标系所计算的几何结果就可能与使用数据源坐标系所计算的几何结果不同。建议在计算面积时使用等积投影。

仅当要素含有 z 值时,才能计算 z 坐标值或 3D 测量值。无论选择何种坐标系,都可以计算 Z 坐标值和 3D 测量值。只要为图层定义了垂直坐标系,列出的 z 和 3D 计算结果的单位就为平面单位(如英里、米等)。如果没有为数据定义垂直坐标系,则单位将被列为未知。

下表显示了不同类型要素的可计算几何属性:
在这里插入图片描述
注意:仅当要素含有 z 值时,才能计算 z 坐标值和 3D 测量值。

ArcGIS 中的几何计算是平面的 - 也就是说,在投影空间中计算而不是在球空间或测地线空间中计算。仅当所使用的坐标系为投影坐标系时,才能计算要素的面积、长度或周长。如果数据源使用了一个地理坐标系,如 WGS 1984 并且未投影,则可以使用数据框的投影坐标系来执行计算。或者,也可以投影数据源。

“计算几何”可处理任意数字或文本字段。为了得到最精确的结果,可使用双精度字段类型(小数位数根据需要自行定义)。如果使用整型字段,则结果会四舍五入为一个整数。如果使用文本字段,则可以执行一些自定义操作(如包含单位缩写、选择格式等),以便为标注轻松地创建随时可用的字段。

1.2操作步骤

①启动编辑会话。 即使您未处于编辑会话中,也可以进行计算,但在这种情况下无法撤消计算结果;

②右键单击图层,然后单击打开属性表;

③右键单击要计算的字段标题,然后单击计算几何,或者,也可以按 CTRL+SHIFT+G 打开计算几何 对话框。

④单击要计算的几何属性。

⑤单击“使用数据源的坐标系”或“使用数据框的坐标系”,单击输出计算结果的单位,如果已在表中选择记录,也可以选择将计算应用于所有记录还是仅应用于所选记录。

⑥ 单击确定。
在这里插入图片描述

1.3问题解决

①在编辑会话之外进行字段计算时无法撤消计算结果。

②要在编辑会话之外计算值而不出现警告消息,可选中消息中的不再向我发出警告复选框。可在 ArcMap 选项 对话框的表选项卡中重新启用此警告消息。

③计算几何 对话框遵从编辑选项 对话框的常规选项卡所指定的小数位数(默认情况下为三位)。要更改此设置,单击“编辑器”工具条上的编辑器菜单,然后单击选项。此设置会保存在地图文档中。

2.“字段计算器”可能被禁用的原因

如果右键单击某字段时,字段计算器或计算几何命令不可用,请检查以下一些事项:

①右键单击了由 ArcGIS 管理的字段,因此导致无法手动编辑该字段。这些字段包括 ObjectID(OID 或 FID)字段、地理数据库要素类的 Shape_Length 和 Shape_Area 字段、coverage 中点或多边形要素类的面积、周长和 # 字段,以及 coverage 中 arc 要素类的 FNODE#、TNODE#、LPOLY#、RPOLY#、长度、和 # 字段。

②表中的数据源为只读,不能建立文件夹或地理数据库的写入权限,或者在 ArcMap 中不能正常修改数据源格式。还可以使用 EDG 或 SDC 数据或 ArcIMS 服务,它们通常可用于打开属性表但不能修改数据。

③未处于编辑会话中,只有处于编辑状态才能计算数据。例如,当处理版本化 ArcSDE 数据或参与地理数据库拓扑、几何网络或关系类的要素类时,必须处于编辑会话中。

④该字段从属于您的表所连接的表。您只能计算源表中字段的值。

⑤字段可能是无法计算的栅格、BLOB 或全局 ID 类型。要查看字段类型,可右键单击该字段然后单击“属性”。

3.使用“字段计算器”进行高级计算

字段计算器支持使用 VBScript 或 Python 代码块(对选定的字段进行计算前会处理数据)执行高级计算。例如,使用人口统计数据时,可能想要找到每个县的最大年龄组所占人口的百分比。可以使用逻辑结构(如“IF…THEN”语句和“Select Case”块)创建一个脚本来预处理数据。

简单的字段计算器表达式可直接输入至表达式文本框内。较复杂的表达式,如,多行脚本、循环和分支可在计算字段工具对话框上的代码块框中输入。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

用户在睡觉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值