バリアは、トレースを停止する必要がある位置をマークするために、トレースの中で使用されます。
トレース ネットワークには 2 種類のバリアがあります。
- フィーチャ バリア - [トレース位置] ウィンドウを使用してマップ上に作成するか、別のフィーチャクラスをバリアとして機能するように指定します。
- ダイナミック バリア - 条件バリアまたは関数バリアによって定義される条件に一致するネットワーク フィーチャ
フィーチャ バリアは、トレースを構成する際にバリアとして機能するネットワーク フィーチャを指定することで作成されます。 ダイナミック バリアでは、ネットワーク フィーチャに関する情報を使用してバリアを作成できます。
フィーチャ バリア
バリアは、[トレース位置] ウィンドウの [バリア] タブから作成するか、または [トレース (Trace)] ツールの [バリア] パラメーターで既存のフィーチャクラスを指定して作成できます。
フィーチャ (つまり物理的な) バリアは、トレース イベント中のオプションです。 フィーチャ バリアを含めるには、ツールを使用して、ネットワーク内のエリアを、トレースのバリアとして設定します。
[トレース位置] ウィンドウでバリアを配置するために使用できるのはネットワーク フィーチャのみです。 選択セットからネットワーク フィーチャが選択されるか、ウィンドウに追加される場合、以下があてはまります。
- トレースのバリアを示すために、一致するポイントが作成されます。
- ラインを使用する場合、エッジに沿った任意の場所にバリアを配置できます。
[トレース位置] ウィンドウを使用してバリアが作成されたら、TN_Temp_Barriers という名前のフィーチャクラスがプロジェクトのデフォルト ジオデータベースに作成されます。 その後のフィーチャ バリアは、このクラスに追加されます。 マップからすべてのバリアを削除するには、[すべて削除] ボタン をクリックします。
ユーザー定義されたフィーチャクラスを使用して [トレース (Trace)] ツールにバリアを指定する場合、次の点を考慮に入れる必要があります。
- この方法では、TN_Temp_Barriers フィーチャクラスは使用されません。
- 入力フィーチャクラスの選択セットは適用されません。
- ポリゴン フィーチャクラスの場合、バリアはネットワーク フィーチャがポリゴン ジオメトリと交差する境界に沿って配置されます。
- エンタープライズ ジオデータベースを操作する場合、次の要件があります。
- ユーザー定義されたフィーチャクラスのスキーマには、タイプが GUID の FEATUREGLOBALID フィールドが含まれている必要があります。
- FEATUREGLOBALID フィールドには、バリアとして使用する対応ネットワーク フィーチャの Global ID が含まれている必要があります。
- 対応する値を持たないフィーチャは、バリアを配置するために使用されません。 このオプションは、フィーチャがフィーチャクラスでバリアとして役割を果たす際に、粒度を維持するために使用できます。
- ユーザー定義されたフィーチャクラスのスキーマには、タイプが GUID の FEATUREGLOBALID フィールドが含まれている必要があります。
- シングルユーザー ジオデータベースを操作する場合、次の要件があります。
- FEATUREGLOBALID フィールドは必須ではありません。 フィールドが存在しない場合、ネットワーク フィーチャのジオメトリと交差し、バリアを配置するために、入力フィーチャクラスのジオメトリが使用されます。
- FEATUREGLOBALID フィールドが存在する場合、バリアとして使用する対応ネットワーク フィーチャの Global ID が含まれている必要があります。
注意:
デフォルトでは、トレース結果は選択セットとして返され、エッジ フィーチャ全体が含まれています。 バリアがエッジの中間部に配置されると、エッジに沿った位置を示すために PERCENTALONG フィールドが使用されます。 [結果タイプ] の [ジオメトリの集約] オプションを指定すると、出力マルチパート ジオメトリ フィーチャクラスに、部分的なフィーチャの結果が返されます。
ダイナミック バリア
フィーチャ バリアに加えて、ダイナミック (つまり構成可能な) バリアをネットワーク属性または関数条件に設定できます。 トレース操作時に、ダイナミック バリアを修正できます。
トレース時には、[条件バリア] と [関数バリア] という 2 つのタイプのダイナミック バリアが使用されます。 トレース時に両方のタイプが考慮されます。
注意:
エッジに沿って配置されたバリアに対して [バリア フィーチャを含める] 構成オプションを使用する場合、トレース結果にはフィーチャ全体が含まれます。 [結果タイプ] の [ジオメトリの集約] オプションを使用して、部分的なフィーチャの結果を返すことができます。 バリアがエッジ上の中間部に配置されると、トレース結果はバリアで停止し、エッジ フィーチャの部分的なフィーチャ ジオメトリを返します。
条件バリア
条件バリアは、たとえば水文ネットワークで不確定な流れを持つすべての水域で停止するための、ネットワーク属性に基づく式です。 フィーチャが式の条件セットを満たすと、トレース操作は次のフィーチャに進みません。
複数の条件バリアを実装するには、[結合方法]パラメーター ([AND] または [OR]) を使用します。
関数バリア
関数バリアでは、関数の条件を満たすかどうかに基づいてトレースの範囲を定義します。 関数バリアを使用して、始点からトレースが移動できる距離を制限したり、トレースを停止するための最大値を設定したりすることができます。 たとえば、通過した各ラインの長さが、移動した合計距離に追加されます。 [追加] 関数を使用して最大値を設定することが可能で、通過した長さの合計が指定した値に達すると、トレースは停止します。
ネットワークには複数のパスに分岐していくパスが存在することがよくあります。 分岐パスをすべてまとめて考慮する場合 (グローバル) と、別々に分けて考慮する場合 (ローカル) があります。 トレイル ネットワークのパスに沿った距離の例を使用して、始点が 3 つのパスを持つ分岐点に配置され、グローバル値を使用してトレイルに沿った 3 km をトレースするように設定されている場合、トレースは分岐した 3 つのパスのそれぞれに沿って 1 km 移動します。 [ローカル値の使用] オプションを有効にすると、このトレースは、3 つの分岐パスのそれぞれを 3 マイル移動します。
複数のバリア タイプを一度に使用できます。 バリアを組み合わせることで、多様で、正確なタイプのバリアのグループを制御できます。 トレースを実行し、いずれかの無効化されている線分でトレースを停止させたいとします。ただしこのトレースでは、始点から 500 m を超える移動を望みません。 これを実行するには、条件バリアを使用して、トレースが停止する無効なラインを示すネットワーク属性値を制御し、関数バリアを使用して、移動ラインの長さを計算して制限を 500 メートルに設定します。
注意:
[ローカル値の使用] オプションを選択した状態で関数バリアを使用してトレースを実行する場合、使用できる始点は 1 つのみです。
バリアの設定の詳細については、「トレースの構成」をご参照ください。