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