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