代替 ID フィールドによる更新 (Update by Alternate ID Fields) (Network Analyst)

サマリー

代替 ID フィールドを使用してターン フィーチャクラス内のすべてのエッジ参照を更新して、各ターンの対応するエッジ フィーチャを識別します。 このツールは、エッジ ソース フィーチャクラスに対して編集を行って ObjectID 値を変更した後で使用します。

ネットワーク データセットのターンの詳細

使用法

  • ターン フィーチャクラスの Edge#FID フィールドは、ネットワーク内のエッジ ソースのライン フィーチャの ObjectID を参照します。 ただし、ObjectID はシステムによって管理されているため、一部の編集操作中に変化する可能性があります。 この種の編集ワークフローの後もターン フィーチャが正しいエッジ フィーチャを参照できるようにするには、次のワークフローに従います。

    1. ネットワークの各エッジ ソース フィーチャクラスに一意の ID フィールドを作成して設定します。 あるいは、データ プロバイダーによってデータに含められている一意の ID フィールド (存在する場合) を使用します。
    2. [代替 ID フィールドの使用 (Populate Alternate ID Fields)] ツールを実行して、ネットワーク データセットのターン フィーチャクラスに一連の代替 ID フィールド (AltID#) を作成して設定します。 このツールは、エッジ ソースの指定された一意の ID フィールドの値を代替 ID フィールドに設定し、Edge#FID フィールドに加えて代替 ID フィールドを介して、各ターン フィーチャを適切なエッジ ソース フィーチャにリンクします。
    3. エッジ ソースの ObjectID を変更する可能性がある編集操作を実行します。
    4. [代替 ID フィールドによる更新 (Update by Alternate ID Fields)] ツールを実行して、代替 ID フィールドの値を使用してターン フィーチャクラスの Edge#FID フィールドを更新し、対応するエッジ ソース フィーチャの ObjectID 値を調べます。

パラメーター

ラベル説明データ タイプ
入力ネットワーク データセット

ターン フィーチャクラスが代替 ID フィールドによって更新されるネットワーク データセット。

Network Dataset Layer
代替 ID フィールド名

ネットワーク データセットのエッジ フィーチャ ソースの代替 ID フィールドの名前。 ターンによって参照されているすべてのエッジ フィーチャ ソースに代替 ID フィールドと同じ名前が付けられている必要があります。

String

派生した出力

ラベル説明データ タイプ
更新された入力ネットワーク データセット

更新されたネットワーク データセット。

Network Dataset Layer

arcpy.na.UpdateByAlternateIDFields(in_network_dataset, alternate_ID_field_name)
名前説明データ タイプ
in_network_dataset

ターン フィーチャクラスが代替 ID フィールドによって更新されるネットワーク データセット。

Network Dataset Layer
alternate_ID_field_name

ネットワーク データセットのエッジ フィーチャ ソースの代替 ID フィールドの名前。 ターンによって参照されているすべてのエッジ フィーチャ ソースに代替 ID フィールドと同じ名前が付けられている必要があります。

String

派生した出力

名前説明データ タイプ
out_network_dataset

更新されたネットワーク データセット。

Network Dataset Layer

コードのサンプル

UpdateByAlternateIDFields の例 1 (Python ウィンドウ)

すべてのパラメーターを使用してツールを実行します。

network = "C:/Data/SanFrancisco.gdb/Transportation/Streets_ND"
arcpy.na.UpdateByAlternateIDFields(network, "ID")
UpdateByAlternateIDFields (代替 ID フィールドによる更新) の例 2 (スタンドアロン スクリプト)

次の Python スクリプトは、スタンドアロン スクリプトで UpdateByAlternateIDFields 関数を使用する方法を示しています。

# Name: UpdateByAlternateIDFields_ex02.py
# Description: Update the edge references in the turn feature classes using
#              alternate IDs and build the network dataset.
# Requirements: Network Analyst Extension

#Import system modules
import arcpy
from arcpy import env

#Set environment settings
env.workspace = "C:/data/SanFrancisco.gdb"

#Set local variables
inNetworkDataset = "Transportation/Streets_ND"
altIDFieldName = "ID"

#Update the edge references in the turn features using alternate ID fields
arcpy.UpdateByAlternateIDFields_na(inNetworkDataset, altIDFieldName)

#Since we have modified the edge references for turn sources, we should rebuild
#the network dataset so that the turn features are correctly interpreted by the
#network dataset
arcpy.BuildNetwork_na(inNetworkDataset)

print("Script completed successfully.")

ライセンス情報

  • Basic: Yes
  • Standard: Yes
  • Advanced: Yes

関連トピック