ネットワーク属性は、ネットワーク内のフィーチャクラスおよびオブジェクト テーブルの属性に関連付けられています。 ネットワーク属性はネットワーク フィーチャ属性から生成され、ネットワーク トポロジ内部にキャッシュされ、トレース時またはサブネットワークの管理タスクの実行中に属性が評価されるときのパフォーマンス向上に役立ちます。 フィーチャおよびオブジェクトの属性として格納された値は、ユーザーがネットワーク トポロジを検証するたびに、関連するネットワーク属性内に反映 (更新) されます。
ユーティリティ ネットワーク内の既存のネットワーク属性は、ユーティリティ ネットワークの [レイヤー プロパティ] ダイアログ ボックスで表示できます。 [ネットワーク プロパティ] タブの [属性と割り当て] セクションには、既存のネットワーク属性の詳細のプロパティと、その割り当て (フィーチャクラスまたはテーブルと、ネットワーク属性が割り当てられたフィールド) が含まれます。 これには、トレースおよびサブネットワーク管理タスクに使用できる、ユーティリティ ネットワークのシステムが提供するネットワーク属性とユーザー定義のネットワーク属性が含まれます。
次のユーティリティ ネットワーク内のシステムが提供するネットワーク属性は、ネットワーク プロパティの [属性と割り当て] セクションに表示されます。
- Source ID - ユーティリティ ネットワーク内のネットワーク ソースの一意の識別子。
- Terminal ID - ユーティリティ ネットワークのターミナル構成に定義されたターミナル名の一意の識別子。
- Asset group - ネットワーク フィーチャクラスおよびテーブルの Asset group フィールドと関連付けられ、構造物ネットワークとドメイン ネットワーク内のすべてのクラスの主要な分類を提供します。
- Asset type - ネットワーク フィーチャクラスおよびテーブルの Asset type フィールドと関連付けられ、構造物ネットワークとドメイン ネットワーク内のすべてのクラスの補助的な分類を提供します。
- Is subnetwork controller - デバイス フィーチャクラスおよび JunctionObject テーブルの Is Subnetwork Controller フィールドと関連付けられます。 これはシステムで維持されるフィールドに割り当てられ、ネットワーク フィーチャがサブネットワーク コントローラーとして設定されるときに変更されます。
- Tier name - デバイス フィーチャクラスおよび JunctionObject テーブルの Tier name フィールドと関連付けられます。 これはシステムで維持されるフィールドに割り当てられ、[層の追加 (Add Tier)] ツールを使用手層が作成されるときに変更されます。
- Position from - 中間部分の接続性のエッジに沿った位置を決定するために使用されます。
- Position to - 中間部分の接続性のエッジに沿った位置を決定するために使用されます。
- Flow direction - 実装されていません。 将来使用するために予約されています。
- Shape length - ネットワークのライン フィーチャクラスの Shape_Length フィールドに関連付けられています。 これは割り当て可能なネットワーク属性で、トレースの全長を計算するために使用できます (複数のパイプのグループや 1 本のパイプの一部分など)。
ネットワーク属性の作成と割り当て
ユーザー定義のネットワーク属性は、ネットワーク属性の追加ツールを使用して作成され、ネットワーク属性の設定ツールを使用して属性フィールドに割り当てられます。
ネットワーク属性を構成する際には、次の注意事項を考慮します。
- [ネットワーク属性の設定 (Set Network Attribute)] ツールを使用してネットワーク属性を属性フィールドに割り当てるには、上記と互換性のあるデータ タイプである必要があります。 ネットワーク属性を設定するための正しいデータ タイプの属性フィールドが存在しない場合は、[フィールドの追加 (Add Field)] ツールを使用して追加します。
- NULL 値を許可しないネットワーク属性は、NULL 値が許可されていないフィールドにのみ割り当てることができます。
- ネットワーク属性は、ユーティリティ ネットワーク内の複数のフィーチャクラスまたはオブジェクト テーブルに割り当てることができます。
- ユーティリティ ネットワーク内の 1 つのフィーチャクラスまたはオブジェクト テーブルは複数の一意のネットワーク属性の割り当てを持つことができます。ただし、ユーザー定義のネットワーク属性は、クラスごとに 1 つのフィールドのみに割り当てることができます。 つまり、特定のフィールドに対して、あるクラスでユーザー定義のネットワーク属性が割り当てられると、そのネットワーク属性は同じクラスに再度割り当てることはできません。
注意:
新しいネットワーク属性を追加した場合は、リコンサイル処理を使用して、既存の名前付きバージョンで変更内容を継承することができます。
ネットワーク属性の追加ツールを使用してネットワーク属性を作成するときには、[属性タイプ] パラメーター用に選択されたデータ タイプによって、ネットワーク属性の定義に使用できるオプションが決まります。 また、ネットワーク属性の作成後にネットワーク属性の設定ツールを使用して割り当てることができる属性フィールドも、データ タイプが一致する必要があるので決定されます。
ネットワーク属性の作成に使用される [属性タイプ] パラメーターは、使用可能なプロパティを決定します。
- Short
- イン ライン - 属性ドメインに必要な [ドメイン名]
- Null 値を許可 - Null 値が許可されます。
- Long
- イン ライン - 属性ドメインに必要な [ドメイン名]
- 代替 - [イン ライン] が false の場合に使用可能です
- Null 値を許可 - Null 値が許可されます。
- Double
- 割り当て可能
- Null 値を許可 - Null 値が許可されます。
- Date
- Null 値を許可 - Null 値が許可されます。
ネットワーク属性のプロパティには、次のものがあります。
[イン ライン] - ネットワーク属性がインラインで保持されるかどうかを指定します。 特に使用頻度の高いネットワーク属性は、[イン ライン] プロパティを True に設定して格納します。 このプロパティは、[属性タイプ] オプションが Short または Long の整数データ タイプである場合のみ設定できます。 [イン ライン] オプションを使用してネットワーク属性を作成するには、ネットワーク トポロジを格納するビット数の計算に使用される入力属性ドメインが必要です。 [イン ライン] ネットワーク属性の作成に使用された同じ属性ドメインを、ネットワークが設定されたフィールドにも割り当てる必要があります。 また、フィールドの値は正の値でなくてはなりません。 複数のクラスおよび属性に同じネットワーク属性が割り当てられている場合、そのネットワーク属性には複数のクラスにまたがって同じ表現が存在すると想定されます。
イン ライン ネットワーク属性のビット サイズの計算方法の詳細
[割り当て可能] - 同じネットワーク フィーチャに属している複数のエッジにネットワーク属性を割り当てるかどうかを指定します。 値の配分は、元のネットワーク フィーチャの始点に対して各エッジ エレメント沿いのパーセンテージによって異なります。 このプロパティを True に設定できるのは、[属性タイプ] プロパティが Double の場合に限ります。
[代替] - ネットワーク属性で属性代替を構成できるかどうかを指定します。 [属性タイプ] プロパティが Long のネットワーク属性に対して [代替] プロパティを True に設定できるのは、[イン ライン] プロパティが False の場合に限ります。
[イン ライン] ネットワーク属性のビット サイズの計算
[イン ライン] ネットワーク属性 (システム提供のネットワーク属性とユーザー定義のネットワーク属性の両方) を格納するために、ネットワーク トポロジ内で最大 64 ビットを使用できます。 [イン ライン] オプションを使用して作成されたユーザー定義のネットワーク属性に使用可能なビット数は、ユーティリティ ネットワーク データセットの作成に使用された ArcGIS Pro のリリースによって異なります。 ユーティリティ ネットワーク データセットの作成に使用された ArcGIS Pro のリリースは、[ユーティリティ ネットワーク プロパティ] ダイアログ ボックスの [ネットワーク プロパティ] タブの [一般] セクションで確認することができます。
ユーティリティ ネットワーク データセットの作成に使用された ArcGIS Pro のリリースおよびユーザー定義の [イン ライン] ネットワーク属性に使用可能なビット数を次の表に示します。
ArcGIS Pro のリリース | ユーザー定義の [イン ライン] ネットワーク属性に使用可能なビット数 |
---|---|
ArcGIS Pro 3.0 以降 | 25 |
ArcGIS Pro 2.9 | 21 |
ArcGIS Pro 2.8 以前 | 20 |
[イン ライン] ネットワーク属性を作成する場合には、格納に必要なビット サイズの計算方法を把握しておくことが重要です。 ネットワーク プロパティの [属性と割り当て] セクションの [イン ライン (ビット サイズ)] 列に、既存のネットワーク属性に使用されているビット数が表示されます。 これ以外にも内部で使用されるシステム提供のネットワーク属性があり、この属性はネットワーク プロパティに表示されません。
[イン ライン] プロパティが True に設定されたネットワーク属性を作成する場合には、属性ドメインを指定して、格納に必要なビット サイズを算出する必要があります。 属性の格納に必要なビット サイズを算出するには、最大コード値ドメイン値を使用します。 ドメインの最大コード値を次の 2 進対数に値 n として指定すると、ビット サイズを算出することができます。
ceiling(log2(n + 1))
たとえば、LifeCycleStatus コード値ドメインに 4 つのコード/説明のペアがあるとします (0: 不明、1: 運用中、2: 提案済み、3: 破棄)。 この例の最大コード値 3 は、ネットワーク属性の格納に 2 ビットを必要とします。
log2(3+1)=2
注意:
[イン ライン] ネットワーク属性で NULL 値が許可されている場合は、合計ビット サイズに追加ビットを加算する必要があります。以下のテーブルも参照します。ネットワーク属性に使用するビット サイズを決定するには、コード値ドメインの最大値が maxDomainValue 以下である必要があります。
ビット サイズ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
maxDomainValue | 1 | 3 | 7 | 15 | 31 | 63 | 127 | 255 | 511 | 1023 | 2047 |
ネットワーク属性の仕組み
トレースおよびネットワーク ダイアグラムは、ネットワーク トポロジに保存されたネットワーク属性情報に依存します。 ネットワーク属性に関連付けられているフィーチャの属性が変更された場合、検証が必要なフィーチャをマークするためにダーティ エリアが生成されます。 ジャンクションおよびエッジ オブジェクトを操作する場合、格納または付属物階層内に空間フィーチャのダーティ エリアが作成されます。 ネットワーク トポロジの検証により、解析イベントに必要なネットワーク トポロジの情報の整合性が確保されます。
サブネットワークを更新する場合に、ネットワーク属性を使用して、更新されるフィーチャおよびレコードを定義できます。 これは、層に設定されるサブネットワーク定義で制御されます。 たとえば、「only AB phase (AB フェーズのみ)」のようなフィルターを使用すると、特定の属性値を持つネットワーク フィーチャのみに更新を適用できます。この場合、「phase」はネットワーク属性で、「AB」はフィルター値です。
ネットワーク属性は、通過可能性を制御し、ネットワーク内のトレース パスのコストをモデリングするために、ウェイトとしても使用されます。 たとえば、水道網の場合、水道管内の表面摩擦などによって、送水時には水圧がある程度低下します。 この例のネットワーク属性値は、送水管の長さ属性から取得されます。
割り当て可能なネットワーク属性
割り当て可能なネットワーク属性を構成するには、割り当て可能プロパティを True に設定します。 割り当て可能プロパティを含むネットワーク属性は、ライン、ポリゴン、ジャンクション フィーチャクラス内のフィールドと、ジャンクションおよびエッジ オブジェクト テーブルに割り当てることができますが、割り当て動作を表示するのはライン フィーチャとエッジ オブジェクトのみです。
割り当て可能なネットワーク属性の場合、解析結果はさらに精度が高くなります。ラインの長さ、インピーダンス、その他のフロー特性が、ライン上のタップ フィーチャのより正確な場所に対して計算されるからです。 つまり、関数 (Add、Average、Count、Max、Min、Subtract) を含む割り当て可能なネットワーク属性を使用するトレース解析は、ネットワーク フィーチャのエッジ エレメントに基づいて割り当て可能な結果を返します。
次の画像に、2 つの例を示します。
- 上の画像は、1 つのエッジを持つ接続ライン フィーチャです。 この例には 1 つのライン フィーチャと 2 つのジャンクション フィーチャがあります。 2 つのライン端点のジャンクション フィーチャは、ラインの終点と空間的に一致します。 これは、ユーティリティ ネットワークのシンプルな接続ライン フィーチャです。
- 下の画像は、2 つのエッジを持つ接続ラインです。 この例には 1 つのライン フィーチャと 3 つのジャンクション フィーチャがあります。 タップ ジャンクション フィーチャが追加され、頂点にスナップしています。 これにより、ライン フィーチャが「エッジ」と呼ばれるサブパーツに論理的に分割されます。 エッジとは、2 つのジャンクション フィーチャ間にある 1 つ以上の線分のセットであり、ライン フィーチャに接続されます。 割り当て可能なネットワーク属性の解析を行う際、エッジが収集され、解析の範囲をより正確に定義します。
ネットワーク属性によるトレースについては、「トレースの構成」をご参照ください。
また、「サブネットワーク トレース構成」では、層のサブネットワーク定義におけるネットワーク属性の使用方法について説明します。
高度なネットワーク属性の構成
複数の状態 (フェーズや水圧など) を持つアセットの特長をモデリングする場合にネットワーク属性を使用することをお勧めします。 ネットワーク属性は、属性の伝達および属性の代替中に使用されます。 反映では、トレースまたはサブネットワーク管理イベントの実行時に、ネットワーク属性を使用して計算された値を反映できます。 代替では、伝達された値を他の値と入れ替えできます (たとえば、AC が BC になります)。 属性代替を使用するには、[代替] プロパティを True に設定し、[代替するネットワーク属性] の値を定義して、ネットワーク属性を作成する必要があります。