バリアは、位置をマークしてトレース、エクスポート、または更新を停止するために、それぞれトレース、サブネットワークのエクスポート操作、およびサブネットワークの更新操作で使用されます。
ユーティリティ ネットワークには 2 種類のバリアがあります。
- フィーチャ バリア - [トレース位置] ウィンドウまたは [トレース位置の追加 (Add Trace Locations)] ツールを使用してマップに作成される
- ダイナミック バリア - 通過可能性バリアとフィルターによって定義される条件に一致するネットワーク フィーチャ
フィーチャ バリアは、トレースを構成する際にバリアとして機能するネットワーク フィーチャを指定することで作成されます。ダイナミック バリアでは、ネットワーク フィーチャに関する情報を使用してバリアを作成できます。たとえば、status などのネットワーク属性を使用して、開放スイッチでトレースを停止します。
トレースの実行、サブネットワークの更新またはエクスポート時にバリア フィーチャを含めるように、層内のすべてのサブネットワークを構成できます。このオプションを有効にすると、トレースの結果にはバリア フィーチャが含まれ、エクスポートされた情報にはバリアが含まれ、サブネットワークの更新操作時にバリア フィーチャが更新されます。これは、層に関するサブネットワーク定義の [サブネットワーク トレース構成] セクションの一部として構成されます。[トレース (Trace)] ツールでは、[バリア フィーチャを含める] パラメーターにこれを手動で指定できます。
注意:
[バリア フィーチャを含める] 構成オプションはターミナルを含むフィーチャには適用されません。
フィーチャ バリア
フィーチャ バリアは、トレース イベント中のオプションです。フィーチャ バリアを含めるには、ツールを使用して、ネットワーク内のフィーチャを、トレースのバリアとして設定します。
任意のネットワーク フィーチャをバリアとして使用できます。空間フィーチャを操作すると、トレースのバリアの位置を示す一致ポイントがマップ上に作成されます。非空間エッジ オブジェクト テーブルとジャンクション オブジェクト テーブルからレコードを選択して [トレース位置] ウィンドウに追加することでバリアとして使用できます。
- ポイントの場合、複数のターミナルがあるデバイスで、特定のターミナルを指定してバリアとして設定できます。
- ラインの場合、ライン フィーチャに沿った任意の場所にバリアを配置できます。
- ポリゴンの場合、バリアをマークするため、ポイントが重心に配置されます。
- ジャンクション オブジェクトの場合、複数のターミナルがあるフィーチャで、特定のターミナルを指定してバリアとして設定できます。
- エッジ オブジェクトの場合、バリアをレコードに配置することでバリアの位置を指定します。
トレース操作を実行しているときに、[結果タイプ] オプション [集約されたジオメトリ] を使用して、部分的なフィーチャの結果を返すことができます。バリアがエッジに沿って配置されている場合、トレース結果はバリアで停止し、エッジ フィーチャの部分的なフィーチャ ジオメトリを返します。
バリア フィーチャの作成や削除を行うには、[トレース位置] ウィンドウの [バリア] タブを使用します。このウィンドウでは、一度に 1 つまたは複数のバリアを作成できます。バリアが作成されたら、UN_Temp_Barriers という名前のフィーチャクラスがプロジェクトのホーム ジオデータベースに作成されます。連続するバリアがこのクラスに追加されます。すべてのバリアを削除するには、[トレース位置] ウィンドウの [すべて解除] ボタン をクリックします。
既存のテーブルまたはフィーチャクラスを使用して [トレース (Trace)] ツールのバリアを指定する場合、ソース フィーチャクラスには UN_Temp_Barriers フィーチャクラスにあるものと似た FEATUREGLOBALID フィールドとその値を含む必要があります。この値は、対応するネットワーク フィーチャにバリアとして適用されます。このフィールドに値が入力されない場合、対応する値を持たないフィーチャは、バリアを配置するために使用されなくなります。このオプションは、どのフィーチャがバリアとして役割を果たすのかについて、粒度を維持したい場合に役立ちます。
バリアは、[トレース位置の追加 (Add Trace Locations)] ツールを使用して設定することもできます。このツールを使用すると、選択した空間ネットワーク フィーチャまたはトレース位置を、スクリプトまたはモデル内で使用できるようにフィーチャクラスに出力できます。これは、その後のトレース操作の入力としてモデルを介してトレースの出力を読み込むときに役立ちます。
フィーチャ バリアはサブネットワークベースのトレースでのバリアのフィルタリングと同様に処理可能であり、トレースの始点からサブネットワーク コントローラーへの通過が制限されます。これにより、サブネットワークで始点からサブネットワーク コントローラーを最初に検出してから、ネットワーク フィーチャの 2 回目の通過でバリアを適用できます。これは、始点とサブネットワーク コントローラーの間のネットワーク フィーチャにフィーチャ バリアが追加される、サブネットワークベースのトレースで役立ちます。この動作を有効にするには、[トレース位置] ウィンドウの [バリア] タブにある [バリアのフィルタリング] オプション、または [トレース位置の追加 (Add Trace Locations)] ツールを使用します。
注意:
フィーチャ バリアに対して [バリアのフィルタリング] オプションを使用するには、ArcGIS Enterprise 10.9 以降が必要です。
ダイナミック バリア
フィーチャ バリアに加えて、ユーティリティ ネットワークはネットワーク属性、ネットワーク カテゴリ、および関数の条件に基づいてフィーチャに対して動的にバリアを設定できます。ダイナミック バリアは、サブネットワークの更新またはエクスポート操作時に常に使用されます。トレース操作時に、ダイナミック バリアを修正できます。
ダイナミック バリアには、通過可能性バリアとフィルターの 2 つのタイプがあります。これらは次の操作で使用されます。
- サブネットワークの更新 - サブネットワーク コントローラーを起点に、サブネットワークが更新されます。更新中に、サブネットワーク トレースも行われます。トレースで通過可能性バリア フィーチャが検出されると、トレースが停止されます。そのため、通過可能性バリアの前に配置されたフィーチャのみが更新されます。
- サブネットワークのエクスポート - サブネットワークに関する情報が JSON ファイルにエクスポートされます。その情報には、接続性 (接続元と接続先) が含まれます。サブネットワークの更新と同様に、サブネットワーク トレースは、サブネットワーク コントローラーを起点として、エクスポート操作と同時に実行します。トレースで通過可能性バリア フィーチャが検出されると、トレースが停止され、そのポイントまでのフィーチャに関する情報のみがエクスポートされます。
- トレース - [トレース (Trace)] ツールを使用してトレースするときは、両タイプのバリアが考慮されます。通過可能性バリアとフィルターの両方がトレース時に存在すると、通過可能性バリアが最初に使用され、次にバリアのフィルタリングが使用されます。
追加の構成により、トレースの結果や計算、サブネットワーク情報の更新、またはサブネットワーク情報のエクスポートなど、特定の操作にバリア フィーチャを含めるかどうかを選択できます。たとえば、エクスポート中に、必要に応じて発生したバリア フィーチャに関する情報を JSON ファイルに含めることができます。
通過可能性バリア
通過可能性バリアは、サブネットワークの範囲を定義します。
通過可能性バリアは、管理者が [サブネットワーク定義の設定 (Set Subnetwork Definition)] ツールを使用して層内のすべてのサブネットワークに対して確立できます。このレベルでは、通過可能性バリアは、層内にあるサブネットワークの境界を定義するための標準条件を表します。[サブネットワークの更新 (Update Subnetwork)] ツール、[サブネットワークのエクスポート (Export Subnetwork)] ツール、および [トレース (Trace)] ツールはすべて、確立された通過可能性バリアを使用します。ただし、これらのタイプのバリアを変更できるのは [トレース (Trace)] ツールのみです。通過可能性バリアは、ジャンクション、エッジ、またはその両方に適用できます。
[トレース (Trace)] ツールで通過可能性バリアが事前定義された層を選択すると、[通過可能性] パラメーターがその情報で更新されます。このパラメーターの設定は必要に応じて調整できます。このレベルでは、通過可能性バリアはサブネットワークの代替表現をモデル化します。
通過可能性バリアには、条件バリアと関数バリアの 2 つのタイプがあります。
条件バリア
条件バリアはネットワーク属性またはカテゴリに基づく式です。たとえば、水道ネットワークでは、すべての閉じているデバイスで停止します。フィーチャが式の条件セットを満たすと、トレース、サブネットワークの更新、またはサブネットワークのエクスポート操作は次のフィーチャに進みません。
複数の条件バリアを実装するには、結合方法パラメーター (AND または OR) を使用します。ネットワーク属性に基づく式は、他のネットワーク属性と比較できます。たとえば、[トレースの停止] の [現在の水圧] の属性値は、[通常の水圧] の値と一致しません。
関数バリア
関数バリアでは、関数の条件を満たすかどうかに基づいてサブネットワークの境界を定義します。関数バリアは、圧力閾値 (たとえば 50) に基づいてパイプ ネットワーク内のサブネットワークを区別するなどに使用されます。このシナリオでは、トレース、更新、またはエクスポート操作時に考慮され、Pressure 属性が存在する各フィーチャがサブネットワーク用に計算された圧力合計の値を提供します (たとえば 5 + 10 + 20 + 5 + 10)。その値が 50 に達すると、そのポイントを通過したすべてのフィーチャはトレース、更新、またはエクスポートされません。
ネットワークには複数のパスに分岐していくパスが存在することがよくあります。分岐パスをすべてまとめて考慮する場合 (グローバル) と、別々に分けて考慮する場合 (ローカル) があります。例として、パイプ ネットワークに沿って設定されている距離をトレースする場合について考えてみましょう。このシナリオでは、3 つの経路の分岐点に始点が配置され、グローバル値を使用してパイプを 3 マイル トレースするようにトレースが設定されています。この場合、このトレースは、3 つの分岐経路それぞれを 1 マイル移動します。[ローカル値の使用] オプションを有効にすると、このトレースは、3 つの分岐パスのそれぞれを 3 マイル移動します。
複数のバリア タイプを一度に使用できます。バリアを組み合わせることで、多様で、正確なタイプのバリアのグループを制御できます。トレースを実行し、いずれかの開いているデバイスでトレースを停止させたいとします。ただしこのトレースでは、始点から 500 メートルを超える移動を望みません。これを実行するには、バリア条件を使用して、トレースが停止する開いているデバイスのタイプを制御し、関数バリアを使用して、移動ラインの長さを計算して制限を 500 に設定します。
関数バリアは割り当て可能な状況をサポートするため、バリアが中間部分に置かれたラインに対して算出された関数値の一部を返します。たとえば、パイプ ネットワークで、トレースが 500 メートルに達したときに停止するようにします。500 メートルの位置はパイプの終端ではない可能性があり、パイプに沿った中間部分である可能性もあります。この場合、トレースは中間部分で停止しますが、パイプ全体がバリアと見なされます。そのため、トレースの結果で返されるフィーチャは、500 メートル未満になります。[トレース (Trace)] ツールと [サブネットワーク定義の設定 (Set Subnetwork Definition)] ツールのパラメーターを使用すると、バリアを結果に含めるかどうか制御できます。前の例では、バリア パイプを含めた場合、トレース結果内のアセットの全長が 500 メートルを超えます。このようなシナリオでは、[トレース (Trace)] ツールの [結果タイプ] オプション、[集約されたジオメトリ] を使用して、部分的なフィーチャを返してさらに正確な結果を得ることができます。詳細については、「トレースの構成」をご参照ください。
注意:
[ローカル値の使用] オプションを選択した状態で関数バリアを使用してトレースを実行する場合、使用できる始点は 1 つのみです。
フィルター
フィルターは [トレース (Trace)] ツールを使用して定義されます。フィルターによって、トレース操作用にダイナミック バリアを確立できます。フィルターは、ネットワーク属性、ネットワーク カテゴリ、または両方の組み合わせを使用して、バリアと見なすフィーチャを決定します (保護デバイスでの停止など)。トレースはフィルターの条件を満たすフィーチャに達すると、そこで停止し、それ以上移動しません。
注意:
通過可能性バリアが存在する場合、フィルターよりも先に使用されます。[トレース (Trace)] ツールの [フィルターの適用] パラメーターを使用して、バリアとなるフィーチャのタイプを制御できます。これは、特定タイプのフィーチャのみに属性値を考慮する状況で適用できます。たとえば、パイプの圧力のみを考慮したり、圧力の閾値に達したときにトレースを停止したりすることができます。[最近隣カテゴリ] および [再近隣アセット グループ/タイプ] パラメーターを使用して、バリアとして機能する (関数の計算時に考慮される) 特定のタイプのアセットをさらに絞り込むことができます。たとえば、10 PSI を超えるパイプの圧力のみを考慮します。
フィルターには、バリアのフィルタリングと関数バリアのフィルタリングの 2 つのタイプがあります。両方のタイプのバリアを同じトレースで使用できます。
バリアのフィルタリング
バリアのフィルタリングはユーザーが定義した式を使用して、サブネットワークでバリアとなるフィーチャを決定します。バリアのフィルタリングは条件バリアに似ており、両方が存在する場合、最初に条件バリアが考慮されます。
分離トレースでは、トレース構成でバリアのフィルタリングを定義しておく必要があります。これによって、始点 (複数の場合あり) を分離しているフィーチャを特定できるようになります。トレースを停止するには、特定のネットワーク属性またはネットワーク カテゴリが使用されます。たとえば、バリアのフィルタリングは Category = Isolating で使用できます。この場合、Isolating は、分離として見なされる特定のアセット グループおよびアセット タイプに対して割り当てられた、ユーザー定義のネットワーク カテゴリです。バリアのフィルタリングを追加して、特定のプロパティを持つバルブを返すこともできます。たとえば、アクセスおよび操作が可能なバルブ (舗装されていない、またはさび付いていない) のみを返すことができます。
複数のバリアのフィルタリングを実装するには、結合方法パラメーター (AND または OR) を使用します。ネットワーク属性に基づく式によるフィルターは、他のネットワーク属性と比較できます。たとえば、Phase Current 属性値が Phases Built 属性値を含まない場合にトレースを停止します。別の例として、設置日が 1990 年より後の自治体所有の構造物で停止する場合があります。
関数バリアのフィルタリング
関数バリアのフィルタリングは条件を使用して、トレースが停止する時期を決定します。トレースがこの条件を満たしている場合、トレースが停止します。関数バリアのフィルタリングは、[トレース (Trace)] ツールの [通過可能性] セクションにおける関数バリアに似ています。なお、両方が存在する場合、フィルターの前に関数バリアが考慮されます。
関数バリアのフィルタリングは割り当て可能な状況をサポートします。たとえば、パイプ ネットワークで、トレースが 500 メートルに達したときに停止するようにします。500 メートルの位置はパイプの終端ではない可能性があり、パイプに沿った中間部分である可能性もあります。この場合、トレースは中間部分で停止しますが、パイプ全体がバリアと見なされます。そのため、トレースの結果で返されるフィーチャは、500 メートル未満になります。[トレース (Trace)] ツールと [サブネットワーク定義の設定 (Set Subnetwork Definition)] ツールのパラメーターを使用すると、バリアを結果に含めるかどうか制御できます。前の例では、バリア パイプを含めた場合、トレース結果内のアセットの全長が 500 メートルを超えます。
注意:
[ローカル値の使用] オプションを選択した状態でフィルター関数バリアを使用してトレースを実行する場合、使用できる始点は 1 つのみです。