代替 ID フィールドの使用(Populate Alternate ID Fields) (Network Analyst)
サマリ
代替 ID によってエッジを参照するターン フィーチャクラスに追加フィールドを作成し、値を設定します。代替 ID は、ソース エッジが編集される場合にターン フィーチャの整合性を維持するためのもう 1 つの ID セットとして使用できます。
使用法
-
このツールは、AltID<n>(「n」はターンごとのエッジの最大数)という名前の新しいフィールドを作成し、設定します。たとえば、エッジが 2 つあるターン フィーチャクラスの場合、このツールは AltID1 および AltID2 という名前のフィールドを作成し、設定します。
-
シェープファイルには、ジオデータベースの ObjectID フィールドのような、永続的な一意の識別子がありません。代替 ID を使用することで、シェープファイル ワークスペースでターン フィーチャクラスを操作しているときに発生することの多い ID 変更の問題を回避できます。
-
エッジ フィーチャ ソースに代替 ID フィールド(たとえば、データ ベンダから供給される一意の識別子など)が存在しない場合は、このようなフィールドを作成し、値を取り込む必要があります。これにより、このツールがターン フィーチャを参照できるようになります。
構文
パラメータ | 説明 | データ タイプ |
in_network_dataset |
ターン フィーチャクラスに代替 ID フィールドが割り当てられるネットワーク データセット。代替 ID フィールドは、ネットワーク データセットにターン ソースとして追加されたすべてのターン フィーチャクラスで作成されます。 | Network Dataset Layer |
alternate_ID_field_name | ネットワーク データセットのエッジ フィーチャ ソースの代替 ID フィールドの名前。ターンによって参照されているすべてのエッジ フィーチャ ソースに代替 ID フィールドと同じ名前が付けられている必要があります。 | String |
コードのサンプル
すべてのパラメータを使用してツールを実行します。
import arcpy
arcpy.env.workspace = "C:/ArcTutor/Network Analyst/Tutorial/SanFrancisco.gdb"
arcpy.na.PopulateAlternateIDFields("Transportation/Streets_ND","ID")
次の Python スクリプトは、スタンドアロン スクリプトで PopulateAlternateID(代替 ID フィールドの使用)ツールを使用する方法を示しています。
# Name: PopulateAlternateIDFields_ex02.py
# Description: Create and populate the alternate ID fields for all turn sources
# in the network dataset.
# Requirements: Network Analyst Extension
#Import system modules
import arcpy
from arcpy import env
#Check out the Network Analyst extension license
arcpy.CheckOutExtension("Network")
#Set environment settings
env.workspace = "C:/data/SanFrancisco.gdb/Transportation"
#Set local variables
inNetworkDataset = "Streets_ND"
altIDFieldName = "ID"
#Populate alternate IDs on all turn sources in the network dataset
arcpy.na.PopulateAlternateIDFields(inNetworkDataset,altIDFieldName)
print "Script completed successfully."