计算几何字段属性规则 (数据管理)

摘要

生成属性规则,以计算要素几何信息并将其写入给定字段。 几何属性表示各要素的空间或几何特性以及位置,例如长度或面积以及 x、y、z 坐标和 m 值。

使用情况

  • 长度和面积将以输入要素坐标系的单位进行计算,除非在长度单位面积单位参数中指定了不同的单位。

    了解有关地理处理工具中长度和面积单位的详细信息

  • 可选坐标格式参数要求输入表的空间参考为地理坐标系。

  • 如果正在编辑输入类,则工具运行将失败。

  • 使用此工具创建的规则配置为仅在编辑设置为几何计算目标的一个或多个 SHAPE 字段时触发。

参数

标注说明数据类型
输入表

将应用新规则的表或要素类。

Feature Layer; Annotation Layer; Dimension Layer; Oriented Imagery Layer; Catalog Layer
输出文件夹

用于保存输出的文件夹。

Folder
几何属性

将在其中计算指定几何属性的字段。

您可以选择现有字段或提供新的字段名称。 如果提供了新的字段名称,则字段类型将由写入该字段的值的类型确定。 计数属性将写入长整型字段;面积、长度、x、y、z 坐标以及 m 值属性将写入双精度字段;度分秒或 MGRS 等坐标记法将写入文本字段。

除非另有说明,否则面积和长度属性是使用 2D 笛卡尔算法的平面测量值。

  • 面积 - 将添加用于存储各个面要素面积的属性。
  • 面积(测地线)- 将添加用于存储各个面要素的形状不变的测地线面积的属性。
  • 质心 x 坐标 - 将添加用于存储各个要素的质心 x 坐标的属性。
  • 质心 y 坐标 - 将添加用于存储各个要素的质心 y 坐标的属性。
  • 质心 z 坐标 - 将添加用于存储各个要素的质心 z 坐标的属性。
  • 质心 m 值 - 将添加用于存储各个要素的质心 m 值的属性。
  • 中心点 x 坐标 - 将添加用于存储各个要素内部或之上的中心点的 x 坐标的属性。 如果质心位于要素内,则此点与质心相同,否则,此点为内标记点。
  • 中心点 y 坐标 - 将添加用于存储各个要素内部或之上的中心点的 y 坐标的属性。 如果质心位于要素内,则此点与质心相同,否则,此点为内标记点。
  • 中心点 z 坐标 - 将添加用于存储各个要素内部或之上的中心点的 z 坐标的属性。 如果质心位于要素内,则此点与质心相同,否则,此点为内标记点。
  • 中心点 m 值 - 将添加用于存储各个要素内部或之上的中心点的 m 值的属性。 如果质心位于要素内,则此点与质心相同,否则,此点为内标记点。
  • 曲线数 - 将添加用于存储各个要素中的曲线数量的属性。 曲线包括椭圆弧、圆弧和贝塞尔曲线。
  • 孔洞数 - 将添加用于存储各个面要素内的内部孔洞数量的属性。
  • 最小 x 坐标 - 将添加用于存储各个要素范围的最小 x 坐标的属性。
  • 最小 y 坐标 - 将添加用于存储各个要素范围的最小 y 坐标的属性。
  • 最小 z 坐标 - 将添加用于存储各个要素范围的最小 z 坐标的属性。
  • 最大 x 坐标 - 将添加用于存储各个要素范围的最大 x 坐标的属性。
  • 最大 y 坐标 - 将添加用于存储各个要素范围的最大 y 坐标的属性。
  • 最大 z 坐标 - 将添加用于存储各个要素范围的最大 z 坐标的属性。
  • 长度 - 将添加用于存储各个线要素长度的属性。
  • 长度(测地线)- 将添加属性以存储各个线要素的形状不变的测地线长度。
  • 长度 (3D) - 将添加用于存储各个线要素长度的属性。
  • 线方位角 - 将添加用于存储各个线要素线段起始-结束方位角的属性。 值范围介于 0 至 360 之间,其中 0 表示北,90 表示东,180 表示南,270 表示西,以此类推。
  • 线角度 - 将添加一个属性,用于存储每个线要素的起始-结束算术角度。 值范围介于 0 至 360 之间,其中 0 表示东,90 表示北,180 表示西,270 表示南,以此类推。
  • 线起点 x 坐标 - 将添加用于存储各个线要素起点的 x 坐标的属性。
  • 线起点 y 坐标 - 将添加用于存储各个线要素起点的 y 坐标的属性。
  • 线起点 z 坐标 - 将添加用于存储各个线要素起点的 z 坐标的属性。
  • 线起点 m 值 - 将添加用于存储各个线要素起点的 m 值的属性。
  • 线终点 x 坐标 - 将添加用于存储各个线要素终点的 x 坐标的属性。
  • 线终点 y 坐标 - 将添加用于存储各个线要素终点的 y 坐标的属性。
  • 线终点 z 坐标 - 将添加用于存储各个线要素终点的 z 坐标的属性。
  • 线终点 m 值 - 将添加用于存储各个线要素终点的 m 值的属性。
  • 部分数 - 将添加用于存储包含各个要素的部分数量的属性。
  • 折点数 - 将添加用于存储包含各个要素的点或折点数量的属性。
  • 周长 - 将添加用于存储各个面要素周长或边界长度的属性。
  • 周长(测地线) - 将添加属性以存储各个面要素周长或边界的形状不变的测地线长度。
  • 点 x 坐标 - 将添加用于存储各个点要素的 x 坐标的属性。
  • 点 y 坐标 - 将添加用于存储各个点要素的 y 坐标的属性。
  • 点 z 坐标 - 将添加用于存储各个点要素的 z 坐标的属性。
  • 点 m 值 - 将添加用于存储各个点要素的 m 值的属性。
  • 点 x 和 y 坐标记法 - 将添加属性以存储格式化为指定坐标记法的各个点要素的 x 和 y 坐标。
Value Table
表达式
(可选)

用于限制参与属性规则的输入要素的 SQL 表达式。

SQL Expression
长度单位
(可选)

指定将用于计算长度的单位。

  • 千米长度单位将为千米。
  • 长度单位将为米。
  • 法定英里长度单位将为法定英里。
  • 国际海里长度单位将为国际海里。
  • 国际码长度单位将为国际码。
  • 国际英尺长度单位将为国际英尺。
  • 美国测量英里长度单位将为美国测量英里。
  • 美国测量海里长度单位将为美国测量海里。
  • 美国测量码长度单位将为美国测量码。
  • 美国测量英尺长度单位将为美国测量英尺。
String
面积单位
(可选)

指定将用于计算面积的单位。

  • 平方千米面积单位将为平方千米。
  • 公顷面积单位将为公顷。
  • 平方米面积单位将为平方米。
  • 法定平方英里面积单位将为法定平方英里。
  • 国际平方海里面积单位将为国际平方海里。
  • 国际英亩面积单位将为国际英亩。
  • 国际平方码面积单位将为国际平方码。
  • 国际平方英尺面积单位将为国际平方英尺。
  • 美国测量平方英里面积单位将为美国测量平方英里。
  • 美国测量平方海里面积单位将为美国测量平方海里。
  • 美国测量英亩面积单位将为美国测量英亩。
  • 美国测量平方码面积单位将为美国测量平方码。
  • 美国测量平方英尺面积单位将为美国测量平方英尺。
String
坐标格式
(可选)

用于计算坐标、长度和面积的坐标系。 默认使用输入要素的坐标系。

String

派生输出

标注说明数据类型
输出规则 CSV

将具有属性规则的 .csv 文件。

File

arcpy.management.CalculateGeometryFieldsAttributeRule(in_table, out_folder, geometry_attributes, {where_clause}, {length_unit}, {area_unit}, {coordinate_format})
名称说明数据类型
in_table

将应用新规则的表或要素类。

Feature Layer; Annotation Layer; Dimension Layer; Oriented Imagery Layer; Catalog Layer
out_folder

用于保存输出的文件夹。

Folder
geometry_attributes
[geometry_attributes,...]

将在其中计算指定几何属性的字段。

您可以选择现有字段或提供新的字段名称。 如果提供了新的字段名称,则字段类型将由写入该字段的值的类型确定。 计数属性将写入长整型字段;面积、长度、x、y、z 坐标以及 m 值属性将写入双精度字段;度分秒或 MGRS 等坐标记法将写入文本字段。

除非另有说明,否则面积和长度属性是使用 2D 笛卡尔算法的平面测量值。

  • AREA - 将添加用于存储各个面要素面积的属性。
  • AREA_GEODESIC - 将添加属性以存储各个面要素的形状不变的测地线面积。
  • CENTROID_X - 将添加用于存储各个要素的质心 x 坐标的属性。
  • CENTROID_Y - 将添加用于存储各个要素的质心 y 坐标的属性。
  • CENTROID_Z - 将添加用于存储各个要素的质心 z 坐标的属性。
  • CENTROID_M - 将添加用于存储各个要素的质心 m 值的属性。
  • INSIDE_X - 将添加用于存储各个要素内部或之上的中心点的 x 坐标的属性。 如果质心位于要素内,则此点与质心相同,否则,此点为内标记点。
  • INSIDE_Y - 将添加用于存储各个要素内部或之上的中心点的 y 坐标的属性。 如果质心位于要素内,则此点与质心相同,否则,此点为内标记点。
  • INSIDE_Z - 将添加用于存储各个要素内部或之上的中心点的 z 坐标的属性。 如果质心位于要素内,则此点与质心相同,否则,此点为内标记点。
  • INSIDE_M - 将添加用于存储各个要素内部或之上的中心点的 m 值的属性。 如果质心位于要素内,则此点与质心相同,否则,此点为内标记点。
  • CURVE_COUNT - 将添加用于存储各个要素中的曲线数量的属性。 曲线包括椭圆弧、圆弧和贝塞尔曲线。
  • HOLE_COUNT - 将添加用于存储各个面要素内的内部孔洞数量的属性。
  • EXTENT_MIN_X - 将添加用于存储各个要素范围的最小 x 坐标的属性。
  • EXTENT_MIN_Y - 将添加用于存储各个要素范围的最小 y 坐标的属性。
  • EXTENT_MIN_Z - 将添加用于存储各个要素范围的最小 z 坐标的属性。
  • EXTENT_MAX_X - 将添加用于存储各个要素范围的最大 x 坐标的属性。
  • EXTENT_MAX_Y - 将添加用于存储各个要素范围的最大 y 坐标的属性。
  • EXTENT_MAX_Z - 将添加用于存储各个要素范围的最大 z 坐标的属性。
  • LENGTH - 将添加用于存储各个线要素长度的属性。
  • LENGTH_GEODESIC - 将添加属性以存储各个线要素的形状不变的测地线长度。
  • LENGTH_3D - 将添加用于存储各个线要素 3D 长度的属性。
  • LINE_BEARING - 将添加用于存储各个线要素线段起始-结束方位角的属性。 值范围介于 0 至 360 之间,其中 0 表示北,90 表示东,180 表示南,270 表示西,以此类推。
  • LINE_ANGLE - 将添加一个属性,用于存储每个线要素的起始-结束算术角度。 值范围介于 0 至 360 之间,其中 0 表示北,90 表示东,180 表示南,270 表示西,以此类推。
  • LINE_START_X - 将添加用于存储各个线要素起点的 x 坐标的属性。
  • LINE_START_Y - 将添加用于存储各个线要素起点的 y 坐标的属性。
  • LINE_START_Z - 将添加用于存储各个线要素起点的 z 坐标的属性。
  • LINE_START_M - 将添加用于存储各个线要素起点的 m 值的属性。
  • LINE_END_X - 将添加用于存储各个线要素终点的 x 坐标的属性。
  • LINE_END_Y - 将添加用于存储各个线要素终点的 y 坐标的属性。
  • LINE_END_Z - 将添加用于存储各个线要素终点的 z 坐标的属性。
  • LINE_END_M - 将添加用于存储各个线要素终点的 m 值的属性。
  • PART_COUNT - 将添加用于存储包含各个要素的部分数量的属性。
  • POINT_COUNT - 将添加用于存储包含各个要素的点或折点数量的属性。
  • PERIMETER_LENGTH - 将添加用于存储各个面要素周长或边界长度的属性。
  • PERIMETER_LENGTH_GEODESIC - 将添加属性以存储各个面要素周长或边界的形状不变的测地线长度。
  • POINT_X - 将添加用于存储各个点要素的 x 坐标的属性。
  • POINT_Y - 将添加用于存储各个点要素的 y 坐标的属性。
  • POINT_Z - 将添加用于存储各个点要素的 z 坐标的属性。
  • POINT_M - 将添加用于存储各个点要素的 m 值的属性。
  • POINT_COORD_NOTATION - 将添加属性以存储格式化为指定坐标记法的各个点要素的 x 和 y 坐标。
Value Table
where_clause
(可选)

用于限制参与属性规则的输入要素的 SQL 表达式。

SQL Expression
length_unit
(可选)

指定将用于计算长度的单位。

  • KILOMETERS长度单位将为千米。
  • METERS长度单位将为米。
  • MILES_INT长度单位将为法定英里。
  • NAUTICAL_MILES_INT长度单位将为国际海里。
  • YARDS_INT长度单位将为国际码。
  • FEET_INT长度单位将为国际英尺。
  • MILES_US长度单位将为美国测量英里。
  • NAUTICAL_MILES长度单位将为美国测量海里。
  • YARDS长度单位将为美国测量码。
  • FEET_US长度单位将为美国测量英尺。
String
area_unit
(可选)

指定将用于计算面积的单位。

  • SQUARE_KILOMETERS面积单位将为平方千米。
  • HECTARES面积单位将为公顷。
  • SQUARE_METERS面积单位将为平方米。
  • SQUARE_MILES_INT面积单位将为法定平方英里。
  • SQUARE_NAUTICAL_MILES面积单位将为国际平方海里。
  • ACRES面积单位将为国际英亩。
  • SQUARE_YARDS面积单位将为国际平方码。
  • SQUARE_FEET_INT面积单位将为国际平方英尺。
  • SQUARE_MILES_US面积单位将为美国测量平方英里。
  • SQUARE_NAUTICAL_MILES_US面积单位将为美国测量平方海里。
  • ACRES_US面积单位将为美国测量英亩。
  • SQUARE_YARDS_US面积单位将为美国测量平方码。
  • SQUARE_FEET_US面积单位将为美国测量平方英尺。
String
coordinate_format
(可选)

用于计算坐标、长度和面积的坐标系。 默认使用输入要素的坐标系。

String

派生输出

名称说明数据类型
out_rule_csv

将具有属性规则的 .csv 文件。

File

代码示例

CalculateGeometryFieldsAttributeRule 示例(Python 窗口)

以下 Python 窗口脚本演示了如何使用 CalculateGeometryFieldsAttributeRule 函数。

import arcpy
arcpy.env.workspace = r"C:\data\City.gdb"
arcpy.management.CalculateGeometryFieldsAttributeRule(
    in_table="test_class",
    out_folder=r"C:\temp", 
    geometry_attributes="area_field AREA_GEODESIC",
    where_clause="OBJECTID = 1",
    length_unit="",
    area_unit="SQUARE_MILES_US",
    coordinate_format=""
)

环境

此工具不使用任何地理处理环境。

相关主题