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

摘要

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

添加几何属性工具是用于将多个几何属性添加到新属性字段的类似工具。

使用情况

    警告:

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

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

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

  • 此工具适用于点、多点、折线和面要素类。

参数

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

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

Feature Layer
几何属性

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

您可以选择现有字段或提供新的字段名称。 如果指定了新的字段名称,则字段类型将由写入该字段的值的类型确定。

  • 计数属性将写入长整数字段。
  • 面积、长度以及 x、y、z 和 m 坐标属性将写入双精度字段。
  • 坐标记法(例如度分秒或 MGRS)将写入文本字段。

  • 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构成各个要素的部分数量。
  • PERIMETER_LENGTH各个面要素周长或边界长度。
  • PERIMETER_LENGTH_GEODESIC各个面要素周长或边界的形状不变的测地线长度。
  • POINT_COUNT构成各个要素的点或折点数量。
  • POINT_X各个点要素的 x 坐标。
  • POINT_Y各个点要素的 y 坐标。
  • POINT_Z各个点要素的 z 坐标。
  • POINT_M各个点要素的 m 坐标。
  • POINT_COORD_NOTATION格式化为指定坐标符号的各个点要素的 x 坐标和 y 坐标。
Value Table
长度单位
(可选)

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

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

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

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

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

对于基于坐标的几何属性,仅当坐标格式与输入相同时才应用坐标系;否则,将使用地理坐标系 WGS84。

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)将写入文本字段。

  • 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构成各个要素的部分数量。
  • PERIMETER_LENGTH各个面要素周长或边界长度。
  • PERIMETER_LENGTH_GEODESIC各个面要素周长或边界的形状不变的测地线长度。
  • POINT_COUNT构成各个要素的点或折点数量。
  • POINT_X各个点要素的 x 坐标。
  • POINT_Y各个点要素的 y 坐标。
  • POINT_Z各个点要素的 z 坐标。
  • POINT_M各个点要素的 m 坐标。
  • POINT_COORD_NOTATION格式化为指定坐标符号的各个点要素的 x 坐标和 y 坐标。
Value Table
length_unit
(可选)

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

  • FEET_US长度单位将为英尺(美国)。
  • METERS长度单位将为米。
  • KILOMETERS长度单位将为千米。
  • MILES_US长度单位将为英里(美国)。
  • NAUTICAL_MILES长度单位将为海里(美国)。
  • YARDS长度单位将为码(美国)。
String
area_unit
(可选)

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

  • ACRES面积单位将为英亩。
  • HECTARES面积单位将为公顷。
  • SQUARE_MILES_US面积单位将为平方英里(美国)。
  • SQUARE_KILOMETERS面积单位将为平方千米。
  • SQUARE_METERS面积单位将为平方米。
  • SQUARE_FEET_US面积单位将为平方英尺(美国)。
  • SQUARE_YARDS面积单位将为平方码(美国)。
  • SQUARE_NAUTICAL_MILES面积单位将为平方海里(美国)。
String
coordinate_system
(可选)

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

对于基于坐标的几何属性,仅当坐标格式与输入相同时才应用坐标系;否则,将使用地理坐标系 WGS84。

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.CalculateGeometryAttributes_management("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.CalculateGeometryAttributes_management(in_features, [["Left", "EXTENT_MIN_X"],
                                                           ["Bottom", "EXTENT_MIN_Y"],
                                                           ["Right", "EXTENT_MAX_X"],
                                                           ["Top", "EXTENT_MAX_Y"]])

许可信息

  • Basic: 是
  • Standard: 是
  • Advanced: 是

相关主题