ネットワーク属性は、ネットワーク内のフィーチャの属性に関連付けられています。ネットワーク属性はフィーチャ属性から生成され、ネットワーク トポロジ内部にキャッシュされ、トレース時またはサブネットワークの管理タスクの実行中にフィーチャ属性が評価されるときのパフォーマンス向上に役立ちます。マップにフィーチャの属性として格納された値は、ネットワーク トポロジの整合チェックを実行するごとに、関連するネットワーク属性に反映 (更新) されます。
ユーティリティ ネットワーク内の既存のネットワーク属性は、ユーティリティ ネットワークの [レイヤー プロパティ] ダイアログ ボックスで表示できます。[ネットワーク プロパティ] タブの [属性と割り当て] セクションには、既存のネットワーク属性の詳細のプロパティと、その割り当て (フィーチャクラスと、ネットワーク属性が割り当てられたフィールド) がに含まれます。これには、トレースおよびサブネットワーク管理タスクに使用できる、ユーティリティ ネットワークのシステムが提供するネットワーク属性とユーザー定義のネットワーク属性が含まれます。
以下に、ネットワーク プロパティの [属性と割り当て] セクションに表示される、ユーティリティ ネットワーク内のシステムが提供する 2 つのネットワーク属性を示します。
- Shape length - ライン フィーチャクラスの Shape_Length フィールドと関連付けられます。これは割り当て可能なネットワーク属性で、トレースの全長を計算するために使用できます (複数のパイプのグループや 1 本のパイプの一部分など)。
- Is subnetwork controller - デバイス フィーチャクラスおよび JunctionObject テーブルの Is Subnetwork Controller フィールドと関連付けられます。これはシステムで維持されるフィールドで、フィーチャがサブネットワーク コントローラーとして設定されるときに変更されます。
ネットワーク属性の作成と割り当て
ユーザー定義のネットワーク属性は、[ネットワーク属性の追加 (Add Network Attribute)] ツールを使用して作成され、[ネットワーク属性の設定 (Set Network Attribute)] ツールを使用して属性フィールドに割り当てられます。
ネットワーク属性の構成に関する重要な注意事項:
- [ネットワーク属性の設定 (Set Network Attribute)] ツールを使用してネットワーク属性を属性フィールドに割り当てるには、上記と互換性のあるデータ タイプである必要があります。ネットワーク属性を設定するための正しいデータ タイプの属性フィールドが存在しない場合は、[フィールドの追加 (Add Field)] ツールを使用して追加できます。
- NULL 値が許可されないように定義されたネットワーク属性は、NULL 値が許可されていないフィールドにのみ割り当てることができます。
- ネットワーク属性は、ユーティリティ ネットワーク内の複数のデータセットに割り当てることができます。
- データセットは、複数の一意のネットワーク属性の割り当てを持つことができます。つまり、特定のフィールドに対して、データセットでネットワーク属性が設定されると、そのネットワーク属性は同じクラスに再度割り当てることはできません。
[ネットワーク属性の追加 (Add Network Attribute)] ツールを使用して新しいネットワーク属性を作成するときには、[属性タイプ] パラメーター用に選択されたデータ タイプによって、ネットワーク属性の定義に使用できるオプションが決まります。また、ネットワーク属性の作成後に [ネットワーク属性の設定 (Set Network Attribute)] ツールを使用して割り当てることができる属性フィールドも、データ タイプが一致する必要があるので決定されます。
新しいネットワーク属性の作成に使用される [属性タイプ] パラメーターは、使用可能なプロパティを決定します。
- Short
- イン ライン - 属性ドメインに必要な [ドメイン名]
- Null 値を許可 - Null 値が許可されます。
- Long
- イン ライン - 属性ドメインに必要な [ドメイン名]
- 代替 - [イン ライン] が false の場合に使用可能です
- Null 値を許可 - Null 値が許可されます。
- Double
- 割り当て可能
- Null 値を許可 - Null 値が許可されます。
- Date
- Null 値を許可 - Null 値が許可されます。
ネットワーク属性のプロパティには、次のものがあります。
[イン ライン] - ネットワーク属性がインラインで保持されるかどうかを指定します。特に使用頻度の高いネットワーク属性は、[イン ライン] プロパティを True に設定して格納する必要があります。このプロパティは、[属性タイプ] が Short または Long の整数データ タイプである場合のみ設定できます。[イン ライン] オプションを使用してネットワーク属性を作成するには、ネットワーク トポロジを格納するビット数の計算に使用される入力属性ドメインが必要です。[イン ライン] ネットワーク属性の作成に使用された同じ属性ドメインを、ネットワークが設定されたフィールドにも割り当てる必要があります。また、フィールドの値は正の値でなくてはなりません。複数のクラスおよび属性に同じネットワーク属性が割り当てられている場合、そのネットワーク属性には複数のクラスにまたがって同じ表現が存在すると想定されます。
[イン ライン] ネットワーク属性のビット サイズの計算方法の詳細
[割り当て可能] - 同じフィーチャに属している複数のエッジにネットワーク属性を割り当てるかどうかを指定します。値の配分は、元のフィーチャの始点に対して各エッジ エレメント沿いのパーセンテージによって異なります。このプロパティを True に設定できるのは、[属性タイプ] が Double の場合に限ります。
[代替] - ネットワーク属性で属性代替を構成できるかどうかを指定します。[属性タイプ] が True のネットワーク属性に対して [代替] プロパティを Long に設定できるのは、[イン ライン] プロパティが False の場合に限ります。
[イン ライン] ネットワーク属性のビット サイズの計算
ネットワーク トポロジでは、[イン ライン] ネットワーク属性の格納に合計 64 ビットを使用できます。これには、ユーザー定義およびシステムが提供するネットワーク属性が含まれます。[イン ライン] オプションを使用して作成されるユーザー定義のネットワーク属性に対しては、ネットワーク トポロジに合計 20 ビットが予約されています。[イン ライン] ネットワーク属性を作成する場合には、格納に必要なビット サイズの計算方法を把握しておくことが重要です。ネットワーク プロパティの [属性と割り当て] セクションには、[インライン (ビット サイズ)] 列で既存のネットワーク属性に使用されるビット数が表示されます。これ以外にも内部で使用されるシステム提供のネットワーク属性があり、この属性はネットワーク プロパティに表示されません。
[イン ライン] プロパティが True に設定されたネットワーク属性を作成する場合には、属性ドメインを指定して、格納に必要なビット サイズを算出する必要があります。属性の格納に必要なビット サイズを算出するには、最大コード値ドメイン値を使用します。最大コード値ドメイン値を次の 2 進対数に値 n として入力すると、ビット サイズを算出することができます。
ceiling(log2(n + 1))
メモ:
[イン ライン] ネットワーク属性で NULL 値が許可されている場合は、合計ビット サイズに追加ビットを加算する必要があります。たとえば、LifeCycleStatus コード値ドメインに 4 つのコード/説明のペアがあるとします (0: 不明、1: 運用中、2: 提案済み、3: 破棄)。このドメインは、ネットワーク属性の格納に 2 ビットを使用します。ceiling(log2(3+1))=2
以下のテーブルも参照します。ネットワーク属性に使用するビット サイズを決定するには、コード値ドメインの最大値が maxDomainValue 以下である必要があります。
ビット サイズ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
maxDomainValue | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 |
ネットワーク属性の仕組み
トレースおよびネットワーク ダイアグラムは、ネットワーク トポロジに保存されたネットワーク属性情報に依存します。ネットワーク属性に関連付けられているフィーチャの属性が変更された場合、整合チェックが必要なフィーチャをマークするためにダーティ エリアが生成されます。ネットワーク トポロジの整合チェックにより、解析イベントに必要なネットワーク トポロジの情報の整合性が確保されます。
サブネットワークを更新する場合に、ネットワーク属性を使用して、更新されるフィーチャを定義できます。これは、層に設定されるサブネットワーク定義で制御されます。たとえば、「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 に設定し、[代替するネットワーク属性] を定義して、ネットワーク属性を作成する必要があります。