ソース フィーチャクラスのコピー
ジオデータベースの各フィーチャクラスはフィーチャクラス ID を持ちます。この ID は、ジオデータベース内のフィーチャクラスを一意に識別する、自動生成された整数です。あるジオデータベースから別のジオデータベースへフィーチャクラスをコピーすると、元のフィーチャクラスとコピー先のフィーチャクラスは異なるフィーチャクラス ID を持つことになります。
ソース フィーチャクラスを関連テーブルとともにコピーしてからネットワーク データセットを作成すると、関連テーブル内のレコードが古いフィーチャクラス ID を参照することになり、望ましくない結果を招きます。たとえば、交通量データとともに使われる道路 - プロファイル結合テーブルまたは道路 - TMC 結合テーブルが誤った道路フィーチャを参照したために、誤った移動速度が表示されたり、解析に使われたりする場合があります。同様に、道路 - 道路標識結合テーブルが誤った道路を参照し、進路変更指示が混乱する可能性もあります。
ただし、個々のソース フィーチャクラスとテーブルではなく、ネットワーク データセットをコピーして張り付けた場合は、ソース フィーチャと関連テーブルが自動的に新しい場所にコピーされます。さらに、EdgeFCID などのフィーチャクラス ID を参照するテーブル内のフィールドは自動的に更新されます。
ネットワーク データセットのコピーが選択肢に入っていないときは、Python ウィンドウを使用してフィーチャクラス ID を決定し、手動でテーブルを更新できます。下記の手順は、このプロセスを説明したものです。
- フィーチャクラスを ArcMap に追加します。
- [標準] ツールバーの [Python ウィンドウ] ボタン をクリックします。
- 表示される Python ウィンドウで、「arcpy.Describe("<レイヤ名>").DSID」と入力します(<レイヤ名> はフィーチャ レイヤの名前に置き換えます)。
たとえば、Streets という名前のレイヤのフィーチャクラス ID を得るには、「arcpy.Describe("Streets").DSID」と入力します。
- Enter キーを押します。
フィーチャクラス ID は、入力したコマンドの下に表示されます。
- 関連テーブルで、古い ID を新しい ID に置き換えます。