描述
向表示各要素空间或几何特性和位置的输入要素添加新的属性字段,如长度或面积或 x、y、z 和 m 坐标。
使用方法
它会向输入要素添加一个或多个属性字段,具体视几何属性参数中指定的选项而定。 当输入要素中已经存在这些字段时,这些字段值将被覆盖。 使用下表来确定要为各几何属性添加的字段:
几何属性 添加字段 AREA
POLY_AREA- 面的面积
AREA_GEODESIC
AREA_GEO- 面的形状不变的测地线面积。
CENTROID
CENTROID_X- 质心点的 x 坐标。
CENTROID_Y- 质心点的 y 坐标。
CENTROID_Z- 质心点的 z 坐标。 只有在输入要素启用了 z 值时,才会添加此字段。
CENTROID_M- 质心点的 m 坐标。 只有在输入要素启用了 m 值时,才会添加此字段。
CENTROID_INSIDE
INSIDE_X- 输入要素内或输入要素上中心点的 x 坐标。
INSIDE_Y- 输入要素内或输入要素上中心点的 y 坐标。
INSIDE_Z- 输入要素内或输入要素上中心点的 z 坐标。 只有在输入要素启用了 z 值时,才会添加此字段。
INSIDE_M- 输入要素内或输入要素上中心点的 m 坐标。 只有在输入要素启用了 m 值时,才会添加此字段。
范围
EXT_MIN_X- 要素的最小 x 坐标值。
EXT_MIN_Y- 要素的最小 y 坐标值。
EXT_MAX_X- 要素的最大 x 坐标值。
EXT_MAX_Y- 要素的最大 y 坐标值。
长度
LENGTH- 线的长度。
LENGTH_GEODESIC
LENGTH_GEO- 线的形状不变的测地线长度。
LENGTH_3D
LENGTH_3D- 线的 3D 长度。
LINE_BEARING
BEARING- 线的起始-结束方位角。 值范围介于 0 至 360 之间,其中 0 表示北,90 表示东,180 表示南,270 表示西。
LINE_START_MID_END
START_X- 线或面边框第一个点的 x 坐标。
START_Y- 线或面边框第一个点的 y 坐标。
START_Z- 线或面边框第一个点的 z 坐标。 只有在输入要素启用了 z 值时,才会添加此字段。
START_M- 线或面边框第一个点的 m 坐标。 只有在输入要素启用了 m 值时,才会添加此字段。
MID_X- 线或面边框长度中点的 x 坐标。
MID_Y- 线或面边框长度中点的 y 坐标。
MID_Z- 线或面边框长度中点的 z 坐标。 只有在输入要素启用了 z 值时,才会添加此字段。
MID_M- 线或面边框长度中点的 m 坐标。 只有在输入要素启用了 m 值时,才会添加此字段。
END_X- 线或面边框最后一个点的 x 坐标。
END_Y- 线或面边框最后一个点的 y 坐标。
END_Z- 线或面边框最后一个点的 z 坐标。 只有在输入要素启用了 z 值时,才会添加此字段。
END_M- 线或面边框最后一个点的 m 坐标。 只有在输入要素启用了 m 值时,才会添加此字段。
PART_COUNT
PART_COUNT- 要素包含的部分数量。
PERIMETER_LENGTH
PERIMETER- 面周长或边界长度。
PERIMETER_LENGTH_GEODESIC
PERIM_GEO- 面周长或边界的形状不变的测地线长度。
POINT_COUNT
PNT_COUNT- 要素包含的点数量。
POINT_X_Y_Z_M
POINT_X- 点的 x 坐标。
POINT_Y- 点的 y 坐标。
POINT_Z- 点的 z 坐标。 只有在输入要素启用了 z 值时,才会添加此字段。
POINT_M- 点的 m 坐标。 只有在输入要素启用了 m 值时,才会添加此字段。
如果已指定了坐标系,则长度和面积将以该坐标系的单位进行计算,除非在长度单位和面积单位参数中选择了不同的单位。
由此工具添加的属性字段与向要素层添加的字段相似。 您可以覆盖字段值,也可以删除或重命名字段。 编辑后,这些字段中的值不会自动重新计算。 如果对要素进行了编辑,那么您需要再次运行此工具来更新字段值。
如果输入要素具有选择内容,则在添加的字段中,仅所选要素具有计算值;其余所有要素的值均为空。
此工具适用于点、多点、折线、面和注记要素类。 注记被视为面要素类。
语法
arcpy.management.AddGeometryAttributes(Input_Features, Geometry_Properties, {Length_Unit}, {Area_Unit}, {Coordinate_System})
参数 | 说明 | 数据类型 |
Input_Features | 将向输入要素添加新的属性字段以存储各种属性,如长度、面积或 x、y、z 和 m 坐标。 | Feature Layer |
Geometry_Properties [Geometry_Properties,...] | 指定将在新属性字段中进行计算的几何属性或形状属性。
| String |
Length_Unit (可选) | 指定计算长度时将采用的单位。
| String |
Area_Unit (可选) | 指定计算面积时将采用的单位。
| String |
Coordinate_System (可选) | 用于计算坐标、长度和面积的坐标系。 默认使用输入要素的坐标系。 | Coordinate System |
派生输出
名称 | 说明 | 数据类型 |
Modified_Input_Features | 更新后的输入要素。 | Feature Layer |
代码示例
AddGeometryAttributes 示例(Python 窗口)
下面的 Python 窗口脚本演示了如何使用 AddGeometryAttributes 工具。
import arcpy
arcpy.env.workspace = r"C:\data\City.gdb"
arcpy.AddGeometryAttributes_management("roads", "LENGTH;LINE_START_MID_END")
AddGeometryAttributes 示例(独立脚本)
获取各个线要素的范围矩形,并在该范围内构建一个 10 x 10 的栅格。
# Name: GridCreation.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"
properties = "EXTENT"
length_unit = ""
area_unit = ""
coordinate_system = ""
# Generate the extent coordinates using Add Geometry Properties tool
arcpy.AddGeometryAttributes_management(in_features, properties, length_unit,
area_unit, coordinate_system)
# Use Search Cursor to walk through each feature and generate grids
with arcpy.da.SearchCursor(in_features, ["OID@", "EXT_MIN_X", "EXT_MIN_Y",
"EXT_MAX_X", "EXT_MAX_Y"]) as sCur:
for row in sCur:
minX, minY, maxX, maxY = row[1], row[2], row[3], row[4]
arcpy.CreateFishnet_management("fishnet_{0}".format(row[0]),
number_rows = 10,
number_columns = 10,
template = "{} {} {} {}".format(minX, maxX, minY, maxY),
origin_coord = "{} {}".format(minX, minY),
y_axis_coord = "{} {}".format(minX, maxY),
corner_coord = "{} {}".format(maxX, maxY),
geometry_type = "POLYGON",
labels = "NO_LABELS")
环境
许可信息
- Basic: 是
- Standard: 是
- Advanced: 是