计算几何属性 (数据管理)

摘要

向要素的属性字段(表示各要素的空间或几何特性以及位置)添加信息,例如长度或面积以及 x、y、z 坐标和 m 值。

使用情况

    警告:

    此工具会修改输入数据。 有关详细信息以及避免数据被意外更改的策略,请参阅修改或更新输入数据的工具

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

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

  • 测地线长度和面积属性将使用保形算法。 此类算法将生成十分精确的结果,这些结果不会因假设输入线或面要素是使用折点之间的测地线弧构造的(这是关于传统测地线长度和面积的假设)而产生偏差。

  • 如果输入要素具有选择内容,则在添加的字段中,仅所选要素具有计算值;其他所有要素将保留其现有值。

参数

标注说明数据类型
输入要素

将使用几何计算进行更新的带有字段的要素。

Feature Layer
几何属性

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

您可以选择现有字段或提供新的字段名称。 如果提供了新的字段名称,则字段类型将由写入该字段的值的类型确定。 计数属性将被写入长整型字段,面积、长度和 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 表示西,以此类推。
  • 线起点 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
长度单位
(可选)

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

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

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

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

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

Coordinate System
坐标格式
(可选)

指定将用于计算 x 和 y 坐标的坐标格式。 默认情况下,将使用与输入要素的空间参考单位匹配的坐标格式。

包括“度分秒”、“十进制度分”等在内的多种坐标格式需要在文本字段中执行计算。

  • 与输入相同输入要素的空间参考单位将用于坐标格式化。 这是默认设置。
  • 十进制度坐标格式将为十进制度。
  • 度分秒 (DDD° MM' SSS.ss" <N|S|E|W>)坐标格式将为末尾带有主方向分量的度分秒 (DDD° MM' SSS.ss" <N|S|E|W>)。
  • 度分秒 (<N|S|E|W> DDD° MM' SSS.ss")坐标格式将为开头带有主方向分量的度分秒 (<N|S|E|W> DDD° MM' SSS.ss")。
  • 度分秒 (<+|-> DDD° MM' SSS.ss")坐标格式将为开头带有正或负方向分量的度分秒 (<+|-> DDD° MM' SSS.ss")。
  • 度分秒 (<+|-> DDD.MMSSSss)坐标格式将为被打包成单个值的、开头带有正或负方向分量的度分秒 (<+|-> DDD.MMSSSss)。
  • 十进制度分 (DDD° MM.mmm' <N|S|E|W>)坐标格式将为末尾带有主方向分量的十进制度分 (DDD° MM.mmm' <N|S|E|W>)。
  • 十进制度分 (<N|S|E|W> DDD° MM.mmm')坐标格式将为开头带有主方向分量的十进制度分 (<N|S|E|W> DDD° MM.mmm')。
  • 十进制度分 (<+|-> DDD° MM.mmm')坐标格式将为开头带有正或负方向分量的十进制度分 (<+|-> DDD° MM.mmm')。
  • GARS(全球区域参考系)坐标格式将为全球区域参考系统。 全球区域参考系基于纬度和经度,将世界划分和细分为多个像元。
  • GEOREF(世界地理参考系)坐标格式将为世界地理参考系。 世界地理参考系基于由纬度和经度构成的地理系统,并且使用了一种更为简单、灵活的符号。
  • MGRS(军事格网参考系)坐标格式将为军事格网参考系。
  • USNG(美国国家格网)坐标格式将为美国国家格网。
  • UTM(通用横轴墨卡托)坐标格式将为通用横轴墨卡托投影坐标系。
  • 没有空格的 UTM坐标格式将为通用横轴墨卡托投影坐标系(不含空格)。
String

派生输出

标注说明数据类型
更新的要素

更新后的输入要素。

Feature Layer

arcpy.management.CalculateGeometryAttributes(in_features, geometry_property, {length_unit}, {area_unit}, {coordinate_system}, {coordinate_format})
名称说明数据类型
in_features

将使用几何计算进行更新的带有字段的要素。

Feature Layer
geometry_property
[[Field, Property],...]

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

您可以选择现有字段或提供新的字段名称。 如果提供了新的字段名称,则字段类型将由写入该字段的值的类型确定。 计数属性将被写入长整型字段,面积、长度和 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_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
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_system
(可选)

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

Coordinate System
coordinate_format
(可选)

指定将用于计算 x 和 y 坐标的坐标格式。 默认情况下,将使用与输入要素的空间参考单位匹配的坐标格式。

包括“度分秒”、“十进制度分”等在内的多种坐标格式需要在文本字段中执行计算。

  • SAME_AS_INPUT输入要素的空间参考单位将用于坐标格式化。 这是默认设置。
  • DD坐标格式将为十进制度。
  • DMS_DIR_LAST坐标格式将为末尾带有主方向分量的度分秒 (DDD° MM' SSS.ss" <N|S|E|W>)。
  • DMS_DIR_FIRST坐标格式将为开头带有主方向分量的度分秒 (<N|S|E|W> DDD° MM' SSS.ss")。
  • DMS_POS_NEG坐标格式将为开头带有正或负方向分量的度分秒 (<+|-> DDD° MM' SSS.ss")。
  • DMS_PACKED坐标格式将为被打包成单个值的、开头带有正或负方向分量的度分秒 (<+|-> DDD.MMSSSss)。
  • DDM_DIR_LAST坐标格式将为末尾带有主方向分量的十进制度分 (DDD° MM.mmm' <N|S|E|W>)。
  • DDM_DIR_FIRST坐标格式将为开头带有主方向分量的十进制度分 (<N|S|E|W> DDD° MM.mmm')。
  • DDM_POS_NEG坐标格式将为开头带有正或负方向分量的十进制度分 (<+|-> DDD° MM.mmm')。
  • GARS坐标格式将为全球区域参考系统。 全球区域参考系基于纬度和经度,将世界划分和细分为多个像元。
  • GEOREF坐标格式将为世界地理参考系。 世界地理参考系基于由纬度和经度构成的地理系统,并且使用了一种更为简单、灵活的符号。
  • MGRS坐标格式将为军事格网参考系。
  • USNG坐标格式将为美国国家格网。
  • UTM坐标格式将为通用横轴墨卡托投影坐标系。
  • UTMNS坐标格式将为通用横轴墨卡托投影坐标系(不含空格)。
String

派生输出

名称说明数据类型
updated_features

更新后的输入要素。

Feature Layer

代码示例

CalculateGeometryAttributes 示例(Python 窗口)

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

import arcpy
arcpy.env.workspace = r"C:\data\City.gdb"
arcpy.management.CalculateGeometryAttributes("roads", [["Length_mi", "LENGTH"], ["Stops", "POINT_COUNT"]], "MILES_US")
CalculateGeometryAttributes 示例(独立脚本)

获取各个要素的范围矩形。

# Name: ExtentCreation.py

# Import system modules
import arcpy

# Set environment settings
arcpy.env.workspace = r"C:\data\City.gdb"
arcpy.env.outputCoordinateSystem = arcpy.Describe("roads").spatialReference

# Set local variables
in_features = "roads"

# Generate the extent coordinates using CalculateGeometry
arcpy.management.CalculateGeometryAttributes(in_features, [["Left", "EXTENT_MIN_X"],
                                                           ["Bottom", "EXTENT_MIN_Y"],
                                                           ["Right", "EXTENT_MAX_X"],
                                                           ["Top", "EXTENT_MAX_Y"]])