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