ジオメトリ属性の追加 (Add Geometry Attributes) (データ管理)

概要

空間特性またはジオメトリック特性および各フィーチャの位置 (長さや面積、X、Y、Z、M 座標など) を示す新しい属性フィールドを入力フィーチャに追加します。

使用法

    注意:

    このツールを実行すると、入力データが変更されます。詳しい説明および不適切なデータの変更を防ぐための方法については、「出力データセットを作成しないツール」をご参照ください。

  • [ジオメトリ プロパティ] パラメーターに指定されているオプションに応じて、1 つまたは複数の属性フィールドが入力フィーチャに追加されます。入力フィーチャにそのフィールドがすでに存在している場合、そのフィールドの値が上書きされます。各ジオメトリ プロパティについて、追加されるフィールドを確認するには、次の表をご参照ください。

    ジオメトリ プロパティ追加されるフィールド

    面積

    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 値対応である場合にのみ追加されます。

    EXTENT

    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 値対応である場合にのみ追加されます。

  • 座標系が指定されている場合は、[長さの単位] および [面積単位] パラメーターで違う単位が選択されていない限り、長さと面積の計算はその座標系の単位となります。

  • このツールによって追加される属性フィールドは、フィーチャ レイヤーに追加できるフィールドによく似ています。フィールド値を上書きしたり、フィールドを削除したり、フィールド名を変更したりできます。これらのフィールドの値は、編集後に自動的に再計算されません。フィーチャを編集する場合は、このツールを再度実行して、フィールド値を更新する必要があります。

  • 入力フィーチャに選択セットがある場合、選択されたフィーチャだけが追加フィールド内で計算された値を持ち、他のすべてのフィーチャは NULL 値を持ちます。

  • このツールは、ポイント、マルチポイント、ポリライン、ポリゴン、アノテーション フィーチャクラスに対して機能します。アノテーションは、ポリゴン フィーチャクラスとして扱われます。

構文

AddGeometryAttributes(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

派生した出力

名前説明データ タイプ
Modified_Input_Features

更新された入力フィーチャ。

フィーチャ レイヤー

コードのサンプル

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")

ライセンス情報

  • Basic: はい
  • Standard: はい
  • Advanced: はい

関連トピック