ジオメトリック ネットワークの基本用語

以下の各セクションでは、ジオメトリック ネットワークの基本的な用語と概念を説明します。

エッジとジャンクション

ジオメトリック ネットワークは、「エッジ」と「ジャンクション」という 2 つの主要要素で構成されています。

エッジ - 一定の長さを持ち、それを介して何らかの物資が流れるフィーチャ。エッジは、フィーチャ データセットのライン フィーチャクラスから作成されます。

エッジの例:水道管、送電線、ガス輸送パイプライン、電話線

ジャンクション - 複数のエッジを接続し、エネルギーの流れや資源をエッジからエッジへと移送するためのフィーチャ。ジャンクションは、フィーチャ データセットのポイント フィーチャクラスから作成されます。

ジャンクションの例:ヒューズ、スイッチ、テーブルタップ、バルブ

ネットワーク内のエッジとジャンクションは互いにトポロジ的に接続されています。エッジ同士はジャンクションによって接続され、ネットワーク内のエッジから流れ出たフローは、ジャンクションを介して別のエッジに入ります。

シンプル エッジとコンプレックス エッジ

ジオメトリック ネットワークには 2 種類のエッジがあります。

  • シンプル エッジ - シンプル エッジでは、そのエッジの一方の端からリソースが入り、もう一方の端から出ていきます。シンプル エッジの途中でリソースの流れを変えることはできません。出口はもう一方の端点のみです。シンプル エッジの例としては、水道施設の側管などがあります。側管の一方の端はジャンクションを介して本管につながっており、もう一方の端はポイントジャンクション(蛇口やポンプなど)になっています。側管に流れ込んだ水は、必ずサービス ポイントから出ていきます。

    ジオメトリック ネットワークでこの振舞いをサポートするため、シンプル エッジは常に 2 つのジャンクション(両端に1 つずつ)に接続されます。シンプル エッジの中間部分に接続部を設けることはできません。シンプル エッジの中間部分に新しいジャンクションをスナップした場合、接続はされますが、そのシンプルが物理的に分割されて 2 つのフィーチャになります。

    シンプル エッジは、論理ネットワークの単一のエッジ エレメントに相当します。

  • コンプレックス エッジ - シンプル エッジと同様、一方の端からもう一方の端までリソースが流れます。さらに、コンプレックス エッジの場合は、エッジの中間部分でリソースの流れを変えることができます。コンプレックス エッジの例としては、水道施設の水道本管などがあります。水道本管は 1 本のコンプレックス エッジであり、本管に沿っていくつものジャンクションが取り付けられ、そこに側管が接続されています。水道本管はジャンクションで分割されていませんが、ジャンクションに接続されている側管へ水が流れるようになっています。

    この振舞いは、中間部分への接続が可能なコンプレックス エッジによってサポートされます。シンプル エッジと同様、コンプレックス エッジの両端にもそれぞれジャンクションが接続されます。コンプレックス エッジの場合はさらに、エッジの中間部にもジャンクションを接続できます。コンプレックス エッジの中間部分に新しいジャンクションをスナップした場合でも、そのコンプレックス エッジは単一フィーチャのままです。ジャンクションをスナップすると、コンプレックス エッジが論理的に分割されます。たとえば、ジャンクションを接続する前は、論理ネットワークの 1 つのエッジ エレメントに該当しますが、ジャンクションを接続した後は 2 つのエッジ エレメントになります。

    コンプレックス エッジは、論理ネットワークの 1 つの以上のエッジ エレメントに対応します。

ユーザ定義のジャンクションと孤立ジャンクション

ジオメトリック ネットワークには 2 種類のジャンクションがあります。

  • ユーザ定義のジャンクション - ジオメトリック ネットワークの最初の構築時に、ユーザのソース データ(ポイント フィーチャクラス)に基づいて作成されたジャンクション。たとえば、サービス ポイント、ヒューズ、流量計、蛇口などがあります。ジャンクションは、論理ネットワークの単一のジャンクション エレメントに相当します。
  • 孤立ジャンクション - ジオメトリック ネットワークを作成すると、それと共に、孤立ジャンクション フィーチャクラスと呼ばれるシンプル ジャンクション フィーチャクラスが作成されます。孤立ジャンクション フィーチャクラスには、ジオメトリック ネットワーク名に「_Junctions」を付けた名前が割り当てられます。たとえば、ジオメトリック ネットワークの名前が Electric_Net の場合、孤立ジャンクション フィーチャクラスの名前は Electric_Net_Junctions になります。孤立ジャンクション フィーチャクラスは、ジオメトリック ネットワークの整合性を維持するために使用されます。ジオメトリック ネットワークの作成中、エッジの端点と幾何学的に一致するジャンクションがソース データに存在しない場合、その端点には孤立ジャンクションが挿入されます。孤立ジャンクション フィーチャをジオメトリック ネットワークから削除するには、それらを他のジャンクション フィーチャに従属させます。孤立ジャンクションの従属化とは、孤立ジャンクションをユーザ定義ジャンクションに置き換えることによって、ネットワークに組み入れることを指しています。孤立ジャンクションの従属化がどのように機能するかについては、明確なルールがあります。

    ネットワーク ジャンクションの従属化の詳細

    ジオメトリック ネットワークを削除すると、孤立ジャンクション フィーチャクラスも削除されます。そのため、孤立ジャンクション フィーチャクラスのスキーマは変更できません。

  • 中間部の接続性 - エッジの中間部分にジャンクションを接続し、リソースをそのエッジから分岐できるようにすること。ただし、エッジ自体は単一フィーチャのままです。コンプレックス エッジでのみサポートされます。

論理ネットワーク

ジオメトリック ネットワークを作成すると、ジオデータベースによって、それに対応する論理ネットワークも作成されます。論理ネットワークはフィーチャ間の接続関係を表し、その接続性グラフはトレース操作やフロー操作で使用されます。エッジとジャンクションにかかわる接続性はすべて論理ネットワークで管理されます。

論理ネットワークは、ジオデータベースによって作成および管理されるテーブルの集まりです。これらのテーブルには、ジオメトリック ネットワークを構成するフィーチャが互いにどのように接続されているかが記録されます。論理ネットワークを使用すれば、編集時や解析時に、ジオメトリック ネットワークにおけるエッジやジャンクションの接続関係をすばやく発見し、モデリングすることができます。これにより、ネットワーク解析の処理時間が短縮され、編集時にリアルタイムで接続を生成できます。

ジオメトリック ネットワークでエッジやジャンクションを編集したり、更新したりすると、対応する論理ネットワークも自動的に更新されます。フィーチャを接続し直したり、論理ネットワークを直接操作したりする必要はありません。ジオデータベースによってすべて自動的に管理されます。

次の図は、ジオメトリック ネットワークでは 1 本のコンプレックス エッジとして表される水道本管が、論理ネットワークでは複数のエレメントに分かれている様子を示しています。水道本管に対応するテーブルは、ArcGIS によって論理ネットワークに作成され、管理されます。ジオメトリック ネットワークで水道本管を編集すると、それに対応するエレメントが論理ネットワークで自動的に更新されます。さらに、ジオメトリック ネットワークでのフィーチャ間の接続性も維持されます。

論理ネットワーク

ソースとシンク

ネットワークを使用して、フロー方向がはっきりしている現実世界のシステムをモデル化する場合も少なくありません。たとえば、送電システムでは、発電所から各家庭に電気が送られます。水道システムの場合、送電システムほど流れ方向が明確ではありませんが、一般にはポンプ場から各家庭へ、または各家庭から処理施設へ水が流れます。ジオメトリック ネットワークは、水路を下流に流れる河川網など、一定の方向を持つ有向フロー システムの 1 つです。

ネットワークのフロー方向は、一連のソースシンクによって決定されます。上記の例で、電気や水の流れはソースおよびシンクによって発生します。発電所やポンプ場などのソースから、浄水場(水道ネットワークの場合)などのシンクへ向かって流れます。

ジオメトリック ネットワークのジャンクションは、ソースまたはシンクとして機能します。ネットワークに新しいジャンクション フィーチャクラスを作成する際、補助役割がソース、シンク、またはいずれでもないフィーチャがどのジャンクション フィーチャクラスに属するかを指定できます。これらのフィーチャがソースまたはシンクであることを指定する場合、フィーチャの役割(ソース、シンク、どちらでもない)を記録する AncillaryRole ファイルがそのフィーチャクラスに追加されます。AncillaryRoleDomain という名前のドメインが存在しない場合は、このドメインが作成され、ソースまたはシンクとして機能するフィーチャクラスに関連付けられます。

たとえば、排水システムの排出口で水漏れが報告され、水漏れ箇所の上流にあるすべてのマンホールを検索する必要があるとします。排出口をシンクとして設定することで、排水路網のフローがシステムによって再計算されます。さらに、排水路網のトレースは、排出口の状態に起因するフロー方向の変化に影響されるので、上流のマンホールをすべて見つけることができます。

ネットワーク トレースの詳細

ネットワーク ウェイト

ネットワークには、一連のウェイトを関連付けることができます。ウェイトは、ネットワーク内のフィーチャを通過するコストを表します。たとえば、水道網の場合、水道管内の表面摩擦などによって、送水時には水圧がある程度低下します。

ジオメトリック ネットワークのフィーチャクラスにネットワーク ウェイトが関連付けられ、これらのウェイトは論理ネットワーク内に保存されます。各ネットワーク エレメントのウェイト値は、対応するフィーチャの属性から求められます。上記の水道本管の例では、フィーチャの長さ属性に基づいてウェイト値を決定します。

ネットワークには、ウェイトをいくつでも関連付けることができます。また、属性にこれらすべてのウェイトを関連付けるか、一部のみを関連付けるか、何も関連付けないかは、ネットワーク内のフィーチャクラスごとに異なります。各フィーチャのウェイトは、そのフィーチャの属性によって決定されます。ネットワーク ウェイトは、フィーチャクラスの 1 つの属性にのみ関連付けることができます。同じウェイトを複数のフィーチャクラスに関連付けることもできます。たとえば、Diameter(直径)というウェイトを、水道本管フィーチャクラスの Diameter 属性と水道側管フィーチャクラスの Pipe_dia 属性に関連付けることができます。

ネットワーク ウェイト値 0 は予約されており、すべての孤立ジャンクションに割り当てられます。ネットワーク ウェイト値 -1 は、フィーチャが無効になっており、トレース対象にならないことを示しています。さらに、フィーチャクラスのどの属性にもウェイトを関連付けない場合、そのフィーチャクラスに対応するすべてのネットワーク エレメントのウェイト値はゼロになります。

フィーチャの有効化と無効化

場合によっては、ジオメトリック ネットワーク内の特定のフィーチャ以降をトレースできないようにする必要が生じます。たとえば、送電網で、台風で架空送電線が故障し、停電になった場合などです。これらの送電線は使用できないので、トレース対象から外す必要があります。

該当するフィーチャを削除したり、切断したりする代わりに、そのフィーチャを無効にしてトレースを実行します。無効にしたフィーチャはバリアとして機能します。ネットワーク解析時にバリアが見つかると、その箇所で解析が停止します。このバリアには無効にしたネットワーク フィーチャも含まれます。

ネットワーク フィーチャの有効/無効状態は、Enabled フィールドで制御するプロパティです。Enabled フィールドには、EnabledDomain というドメインが関連付けられています。EnabledDomain、および Enabled フィールドには 2 つの値(true と false)があります。シンプル フィーチャクラスからジオメトリック ネットワークを作成すると、このフィールドが入力フィーチャクラスに自動的に追加されます。さらに、その時点で EnabledDomain が存在しない場合は新しく作成され、Enabled フィールドに関連付けられます。ArdCatalog を使用してネットワーク フィーチャクラスを作成する場合、フィーチャクラスには Enabled フィールドが必要です。

新しいフィーチャをネットワークに追加すると、そのフィーチャはデフォルトで有効になります。

論理ネットワークでのウェイト、有効/無効フィールド、補助役割フィールドの働き

ネットワーク ウェイト、補助役割、および有効/無効の各フィールドに格納される値は、論理ネットワークにおけるフィーチャの状態を表します。ネットワーク フィーチャに対して解析(トレースやフロー方向計算など)を実行すると、フィーチャの有効/無効、補助役割状態、またはウェイトを決定する際に、フィーチャ内のこれらのフィールドは直接参照されません。フィーチャのこれらの状態が論理ネットワークに格納され、該当する操作の実行時に照会されます。このようにする理由はパフォーマンスの向上にあります。

ネットワーク フィーチャを編集し、有効/無効フィールド、補助役割フィールド、またはウェイト フィールドの値を変更すると、そのフィーチャのフィールド値に合わせて内部トポロジ テーブルのフィーチャ状態が変更されます。

5/10/2014