ジオメトリック ネットワークの作成について
このトピックは、ArcGIS for Desktop Standard および ArcGIS for Desktop Advanced にのみ該当します。
ジオメトリック ネットワークは、ArcGIS for Desktop Advanced および Standard では作成と編集が可能ですが、Basic では読み取り専用になります。
ジオメトリック ネットワークは、フィーチャ データセットに属するフィーチャクラス同士の接続関係を表します。ジオメトリック ネットワーク内では、それぞれのフィーチャにエッジまたはジャンクションとしての役割(ロール)が割り当てられています。1 つのジオメトリック ネットワーク内の複数のフィーチャクラスに同じ役割を指定できます。
ジオメトリック ネットワークを作成する場合、基本的には、そのネットワークを構成するフィーチャクラスを選択し、それらのフィーチャクラスが果たす役割を指定します。オプションで、一連のネットワーク ウェイトや、その他の高度なパラメータも指定できます。
既存のデータからジオメトリック ネットワークを作成
既存のデータからジオメトリック ネットワークを作成するための基本手順は次のとおりです。いずれもカタログ ツリーで実行します。
- 新しいフィーチャクラスまたは既存のフィーチャクラスにデータをインポートします。
- そのフィーチャクラスからジオメトリック ネットワークを作成します。
- 作成したジオメトリック ネットワークの接続性ルールを設定します。
ジオメトリック ネットワークのスナップ モデル
できれば、ネットワークを構築する前に、データをクリーンな状態にしてください。クリーンなデータとは、ネットワーク内で接続されるすべてのフィーチャが幾何学的に一致していること、つまり位置がずれていないことを意味します。ただし、データがクリーンでない場合は、ネットワーク構築時にスナップさせることができます。
ネットワーク構築時に行うスナップ処理では、クラスタ処理時にトポロジが使用するエンジンと同じエンジンを利用します。クラスタ処理の仕組みとデータへの影響については、「ArcGIS のトポロジ」の「クラスタ処理」をご参照ください。
フィーチャのジオメトリを調整して互いに接続するには、スナップ処理の仕組みを理解しておく必要があります。スナップ処理時には、このあと説明する規則が例外なく適用されます。そのため、このオプションを使用してデータをスナップした場合、問題を修正できる一方で、望ましくない結果が生じる可能性もあります。それを防ぐため、次の推奨事項に従ってください。
- 最初は、できるだけ小さいスナップ許容値を指定し、必要に応じて大きくしていきます。
- データをスナップしてプロトタイプ ネットワークを作成し、その結果を確認します。
- データをバックアップしてからジオメトリック ネットワークを作成します。ネットワーク作成時に実行したスナップ処理は元に戻せません。
- データを一致させるために多数の変更が必要な場合は、最初にデータのトポロジを作成し、エラーを明らかにして修正します。トポロジには、データの不整合を検出するための完全な規則セット、およびエラーを修正するためのすべてのツールとコマンドが含まれています。空間エラーや属性エラーを修正しないままジオメトリック ネットワークを作成すると、作成後のエラー修正作業が大変になります。ネットワーク フィーチャは振舞いが特殊であり、フィーチャ同士の接続関係も重要なので、ジオメトリック ネットワークを作成した後では、位置ずれなどの問題を修正するのに手間と時間がかかります。ジオメトリック ネットワークを作成する前に、空間エラーを修正しておくことをお勧めします。
スナップの規則
ネットワーク構築時にフィーチャをスナップするとき、フィーチャのジオメトリがどのように調整されるかを理解しておくことが重要です。フィーチャクラス内のすべてのフィーチャまたは一部のフィーチャが移動する可能性があります。スナップ時の調整では、すべてのフィーチャクラスのすべてのフィーチャに同じウェイトが割り当てられます。つまり、2 本のエッジの端点をスナップした場合、互いに同じ距離だけ移動します。
ネットワークを構築する前に複数のフィーチャの位置が一致していた場合、ネットワーク構築後も、それらは一致したままとなります。フィーチャの位置が変更された場合も同様です。つまり、ライン上にポイント フィーチャがある場合、ポイントとライン頂点の両方を別のフィーチャにスナップしたとしても、そのポイント フィーチャは同じライン上に配置されます。
適切なジオメトリック ネットワークを構築するには、データがクリーンであり、接続関係が正しく設定されている必要があります。ジオメトリック ネットワーク ウィザードでスナップ処理を実行すれば、データを一致させることができますが、方法はそれだけではありません。たとえば、トポロジ機能は、ジオメトリック ネットワークで使用するデータのクリーンアップに役立ちます。
次に、いくつかの状況を例示し、接続性がどのように決定されるかを説明します。これらの図では、以下のマークを使用して、各シナリオで図示されているフィーチャの種類を示しています。
シンプル エッジの接続性モデル
ネットワーク構築処理時にシンプル エッジをスナップする場合、次の規則が適用されます。
シンプル エッジの場合、エッジ フィーチャの端点にのみ接続性が確立されます。
シンプル エッジ フィーチャ上に頂点があっても、エッジの中間部分には接続されません。
ただし、接続性は確立されませんが、スナップ処理時にシンプル エッジ フィーチャがクラスタリングされます。
コンプレックス エッジの接続性モデル
ネットワーク構築時にコンプレックス エッジをスナップする場合、次の規則が適用されます。
コンプレックス エッジの場合、エッジ フィーチャの端点と中間部の両方に接続性が確立されます。
接続対象となるコンプレックス エッジ上に頂点がない場合は、新しい頂点が作成されます。
コンプレックス エッジの中間部分をスナップする場合、接続性が確立されるためには、エッジ端点が 1 つ以上存在する必要があります。あるエッジの中間部と別のエッジの中間部をスナップすると、頂点同士は互いにスナップしますが、それらの間に接続性は確立されません。
ジャンクションの接続性モデル
エッジ頂点と同じ位置にあるジャンクションは、その頂点との一致状態が維持されます。スナップ処理に伴ってエッジとジャンクションを移動する場合でも、そのジャンクションとエッジの一致状態は変わりません。
一致するフィーチャの接続性モデル
ネットワークを構築する過程で、同じ位置にある複数のジャンクションが検出された場合、またはスナップ処理によって同じ位置を占める複数のジャンクションが生成された場合、接続性は不確定となります。つまり、同じ位置を占めるジャンクションのうち、いずれか 1 つのジャンクションに対してのみ接続性が確立されます。
ネットワーク作成時にスナップ許容値を指定し、その結果、複数のエッジが互いにスナップした場合、それらのエッジは同じ位置を占めるようになります。接続性は幾何学的な一致によって制御されるので、それらのエッジは接続されます。ただし、上記のケースと同様、一致するジャンクションの接続性は確定されません。
交差するエッジのスナップ モデル
ネットワーク構築処理中にスナップを指定し、交差するエッジが発生した場合、以下のシナリオに示すように、接続性がなくてもそれらの交点に頂点が発生します。交差するエッジが、シンプル エッジ、コンプレックス エッジ、またはそれらの組み合わせである場合に、この挙動が発生します。
ネットワーク構築エラー
既存のシンプル フィーチャクラスからジオメトリック ネットワークを構築するとき、一部の入力フィーチャクラスで、ジオメトリック ネットワークにふさわしくないジオメトリや不適切な状況が検出されることがあります。その場合でも処理は中止されず、該当するフィーチャがネットワーク フィーチャとしてジオメトリック ネットワークに追加されます。ただし、一致するフィーチャには接続されません。さらに、ネットワーク構築処理が終了した時点で警告メッセージが表示され、これらのエラーを記録したテーブルがデータベースに作成されます。これを構築エラー テーブルといいます。
このエラー テーブルには、<ジオメトリック ネットワーク名>_BUILDERR という名前が付けられます。ネットワーク構築エラー テーブルのスキーマについては、「ネットワーク構築エラー テーブルのスキーマ」をご参照ください。
ArcMap には、ネットワーク構築エラー テーブルを使用して、原因となるフィーチャを特定するためのツールが用意されています(「ジオメトリック ネットワーク構築エラーの特定」を参照)。問題を修正するか、該当するフィーチャを削除するかを選択できます(「ジオメトリック ネットワークフィーチャの編集について」を参照)。
ジオメトリック ネットワークを編集しても、ネットワーク構築エラー テーブルは更新されません。検出された問題を修正し、ジオメトリック ネットワークの他のエリアを編集したとき、ネットワーク構築エラー テーブルは更新されません。エラー テーブルに記録されたすべての問題を修正したら、そのエラー テーブルは不要になるので、ArcCatalog で削除してかまいません。
ArcMap には、ジオメトリが不適切であったり、ネットワーク接続性に問題があるネットワーク フィーチャを特定し、それを修正するためのツールとコマンドが用意されています。
これらのツールとコマンドについては、次のリンクの説明をご参照ください。
スキーマ ロック
ジオメトリ ネットワークを構築するときは、すべての入力フィーチャクラスで排他ロックが必要です。いずれかの入力フィーチャクラスが共有ロックがある場合、ネットワークは構築されません。
ネットワーク内のいずれかのフィーチャクラスが共有ロックまたは排他ロックがある場合、ネットワーク内の他のすべてのフィーチャクラスにそのロックが伝達されます。