添加几何属性 (Data Management)

许可等级:BasicStandardAdvanced

摘要

向表示各要素空间或几何特性和位置的输入要素添加新的属性字段,如长度或面积或 x、y、z 和 m 坐标。

用法

语法

AddGeometryAttributes_management (Input_Features, Geometry_Properties, Length_Unit, Area_Unit, Coordinate_System)
参数说明数据类型
Input_Features

将向输入要素添加新的属性字段以存储各种属性,如长度、面积或 x、y、z 和 m 坐标。

Feature Layer
Geometry_Properties
[Geometry_Properties,...]

确定将在新属性字段中进行计算的几何属性或形状属性。

  • AREA添加用于存储各个面要素面积的属性。
  • AREA_GEODESIC添加用于存储各个面要素测地线面积的属性。
  • CENTROID添加用于存储各个要素质点坐标的属性。
  • CENTROID_INSIDE添加用于存储各个要素内或要素上中心点坐标的属性。
  • EXTENT添加用于存储各个要素范围坐标的属性。
  • LENGTH添加用于存储各个线要素长度的属性。
  • LENGTH_GEODESIC添加用于存储各个线要素测地线长度的属性。
  • LENGTH_3D添加用于存储各个线要素 3D 长度的属性。
  • LINE_BEARING添加用于存储各个线要素线段起始-结束方位角的属性。值范围介于 0 至 360 之间,其中 0 表示北,90 表示东,180 表示南,270 表示西,以此类推。
  • LINE_START_MID_END添加用于存储各个要素起点、中点和终点坐标的属性。
  • PART_COUNT添加用于存储包含各个要素的部分数量的属性。
  • PERIMETER_LENGTH添加用于存储各个面要素周长或边界长度的属性。
  • PERIMETER_LENGTH_GEODESIC添加用于存储各个面要素周长或边界测地线长度的属性。
  • POINT_COUNT添加用于存储包含各个要素的点数或顶点数的属性。
  • POINT_X_Y_Z_M添加用于存储各个点要素 x、y、z 和 m 坐标的属性。
String
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

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

Coordinate System

代码实例

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 = "{0} {1} {2} {3}".format(minX, maxX, minY, maxY),
                    origin_coord = "{0} {1}".format(minX, minY),
                    y_axis_coord = "{0} {1}".format(minX, maxY),
                    corner_coord = "{0} {1}".format(maxX, maxY),
                    geometry_type = "POLYGON",
                    labels = "NO_LABELS")

环境

相关主题

许可信息

ArcGIS for Desktop Basic: 是
ArcGIS for Desktop Standard: 是
ArcGIS for Desktop Advanced: 是
5/10/2014