日本語

操作手順: Python を使用してフィーチャをフィーチャクラスに追加する

概要

フィーチャクラスへのフィーチャの追加は、Python スクリプトを使用して自動化することができます。 ArcPy 関数 InsertCursor() を使用して、新しい行を属性テーブルに挿入します。 この関数をオブジェクトとして使用して、新規作成された行の値を挿入できます。

注意:
InsertCursor() 関数を SearchCursor() 関数とともに使用して、特定のフィールドを複製することもできます。

手順

次の手順は、Python を使用してフィーチャをフィーチャクラスに追加する方法を示しています。

  1. ArcPy モジュールをインポートします。
import arcpy
  1. 目的の値を新しい行に含めるために、新しい配列パラメーターを定義します。
row_values = [('Anderson', (1409934.4442000017, 1076766.8192000017)), ('Andrews', (752000.2489000037, 1128929.8114))]
  1. InsertCursor() 関数を利用するために、オブジェクト アイテムを作成します。 この関数は、目的のフィーチャの場所および行のフィールド名の入力を必要とします。
cursor = arcpy.da.InsertCursor("C://sample.gdb/test",("[row 1]", "[row 2]"))
  1. ループを開始し、新しい行を作成して挿入し、ステップ 2 で事前に定義した配列値を属性テーブルに入力します。
for row in row_values:
    cursor.insertRow(row)
  1. カーソル オブジェクトを削除して関数を終了します。
del cursor

次のサンプル コードは、動作する完全なコードを示しています。

import arcpy

# 新しい行の構築に使用される値のリスト

row_values = [('Atascosa', (1409934.4442000017, 1076766.8192000017)),
              ('Bosque', (752000.2489000037, 1128929.8114))]

# InsertCursor を開く。
# 目的のフィーチャの場所を指定する。 このサンプルは、値をフィールド NAME および SHAPE に挿入する。

cursor = arcpy.da.InsertCursor("C:/data/texas.gdb/counties",
                               ("NAME", "SHAPE@XY"))

# 郡名および X 座標と Y 座標を含んでいる新しい行を挿入する
# 郡の中心を表すペア

for row in row_values:
    cursor.insertRow(row)

# カーソル オブジェクトを削除する

del cursor

データを別のフィーチャクラスから複製するには、SearchCursor() 関数を InsertCursor() 関数とともに使用する必要があります。 次のサンプル コードは、SearchCursor() 関数および InsertCursor() 関数を使用する方法を示しています。

sourceCursor = arcpy.da.SearchCursor([Feature_Name], [Field_Name])
inputCursor = arcpy.da.InsertCursor([New_Feature_Name], [Field_Name])

for row in sourceCursor:
    inputCursor.insertRow(row)

関連情報