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

描述

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

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

使用方法

    警告:

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

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

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

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

语法

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

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

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

指定要在哪些字段中计算几何属性以及要计算的几何属性。支持以下几何属性:

  • 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
(可选)

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

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

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

更新后的输入要素。

要素图层

代码示例

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: 是

相关主题