ターンに影響するその他の編集
ターンの編集、およびターン フィーチャクラスからのフィールドの削除や追加のほかに、ターンに影響する編集をネットワークに加えることができます。これらの編集により、場合によってはターンの削除、ネットワークの再構築、または別の解決方法が必要になることがあります。編集の例については、以下のセクションをご参照ください。
ターンが参照するライン フィーチャのトポロジの変更
ターンをサポートするネットワーク内のライン フィーチャを変更すると、そのライン フィーチャを参照するターンに影響が生じます。たとえば、国道 1 号線からオーチャード道路への左折規制があった場合に、国道 1 号線へ接続しないようにオーチャード道路の形状を修正すると、オーチャード道路を参照している左折規制のフィーチャが不適切になります。
ライン フィーチャの変更後にターン フィーチャが不適切になる場合は、ターン フィーチャを削除します。
ライン フィーチャ(オーチャード道路)に加えた変更が国道 1 号線との交差に影響しないのであれば、ターン フィーチャは適切であると見なされます。この場合は、ネットワークを再構築し、編集操作を使用してターン フィーチャを修正します。
ライン フィーチャの変更後に何も行わなかった場合、次にネットワークを構築するときにターン フィーチャにエラーを示すフラグが立てられる可能性があります。このエラーは、ターンが参照するライン フィーチャに接続できなくなったために発生します。
ターンが参照するライン フィーチャの削除
ジオデータベースでの操作
ターンが参照するいずれかのライン フィーチャを削除した場合、そのフィーチャを参照するターン フィーチャは不適切になります。このような場合は、ターン フィーチャを削除する必要があります。
ソース内の別のライン フィーチャを削除し、ライン フィーチャの変更後もターン フィーチャが適切であり続ける場合は、ネットワークを再構築し、編集操作を使用してターンを修正します。
ライン フィーチャの削除後に何も行わなかった場合、次にネットワークを構築するときにターン フィーチャにエラーを示すフラグが立てられる可能性があります。
シェープファイル ワークスペースでの操作
シェープファイルには、ジオデータベースの ObjectID(OID)フィールドのような、永続的な一意の識別子がありません。シェープファイルの OID は属性テーブル(*.dbf ファイルに格納されます)内のレコード番号で、これには常に 0 から N-1 の番号が設定されます。ライン シェープファイルからフィーチャを削除すると、シェープファイル内の削除したフィーチャの後のすべてのレコード(より大きなレコード番号を持つすべてのフィーチャ)に、現在のレコード番号より 1 小さい新しいレコード番号が割り当てられます。たとえば、レコード番号 57 のフィーチャを削除した場合、レコード番号 58 のフィーチャのレコード番号が 57 になり、レコード番号 59 のフィーチャのレコード番号は 58 となります。このレコード番号の変更により、ターン フィーチャクラス内のフィーチャは誤ったライン フィーチャを参照するようになります。
*.dbf ファイルにはこのような規制があるため、シェープファイル ネットワーク データセット内のエッジ フィーチャ ソースを編集する場合は、エッジ フィーチャ ソースを編集する前に、データに対して次の処理を行う必要があります。
- エッジ フィーチャ ソースに代替 ID フィールド(たとえば、データ ベンダから供給される一意の識別子など)が存在しない場合は、このようなフィールドを作成し、値を取り込む必要があります。
- ターン フィーチャクラスごとに [代替 ID フィールドを使用(Populate Alternate ID Fields)] ツールを実行します。このツールは、代替 ID によってエッジを参照するターン フィーチャクラスに追加フィールドを作成します。
エッジ フィーチャ ソースにライン フィーチャの削除を含む編集を加えたら、次の操作を行う必要があります。
- ターン フィーチャクラスごとに [代替 ID フィールドによる更新(Update by Alternate ID Fields)] ツールを実行します。このツールは、各ターン フィーチャに格納されている代替 ID に基づいて、ターン フィーチャクラスの Edge#FID フィールドを更新します。
- ネットワークを構築します。
ターンが参照するライン フィーチャの分割
ArcGIS では、[スプリット] ツール や [プロポーション] ツール などのさまざまなオプションを使用してラインを分割できます。
分割対象のライン フィーチャに対するこれらのツールの基本動作は共通しており、ライン フィーチャを削除し、代わりにより短いライン フィーチャを新規作成します。
ライン フィーチャの分割後にターン フィーチャが不適切になる場合は、ターン フィーチャを削除します。
ライン フィーチャの分割後もターン フィーチャが適切であり続ける場合は、ネットワークを再構築し、編集操作を使用してターン フィーチャを修正します。
ライン フィーチャの分割後に何も行わなかった場合、最初に参照されていたフィーチャが存在しなくなっているため、次にネットワークを構築するときにターン フィーチャにエラーを示すフラグが立てられる可能性があります。
ライン フィーチャの分割では、実際にはフィーチャの削除と、その代わりの短いフィーチャの新規作成が行われるため、シェープファイル ワークスペース内のターン フィーチャクラスにも ID 変更の問題が存在します。編集前に [代替 ID フィールドの使用(Populate Alternate ID Fields)] ツールを使用して代替 ID 値を作成し、編集後に [代替 ID フィールドによる更新(Update by Alternate ID Fields)] ツールを実行します。
ターンが参照するライン フィーチャのマージ
ライン フィーチャのマージ後にターン フィーチャが不適切になる場合は、ターン フィーチャを削除します。
ライン フィーチャのマージ後もターン フィーチャが適切であり続ける場合は、ネットワークを再構築し、編集操作を使用してターン フィーチャを修正します。
ライン フィーチャのマージ後に何も行わなかった場合、最初に参照されていた、1 つを除くすべてのフィーチャが存在しなくなっているため、次にネットワークを構築するときにターン フィーチャにエラーを示すフラグが立てられる可能性があります。
ライン フィーチャのマージでは、実際には 1 つのフィーチャの延長と、その他すべてのフィーチャの削除が行われるため、シェープファイル ワークスペース内のフィーチャクラスには、ID 変更の問題が存在します。編集前に [代替 ID フィールドを使用(Populate Alternate ID Fields)] ツールを使用して代替 ID 値を作成し、編集後に [代替 ID フィールドによる更新(Update by Alternate ID Fields)] ツールを実行します。