属性によるジャンクションの削減ルールを追加 (Add Reduce Junction By Attribute Rule) (ネットワーク ダイアグラム)

サマリー

既存のテンプレートに基づいて、ダイアグラム構築中にダイアグラム ジャンクションを自動的に削減するためのダイアグラム ルールを追加します。削減されるジャンクションは、接続される他のジャンクションの数に従って、指定したネットワーク ジャンクション ソース クラスまたはオブジェクト テーブルから検索されます。

ダイアグラム内のジャンクションの削減の詳細

注意:

このツールは構成および管理ツールです。

注意:

このツールは、入力ダイアグラム テンプレートに基づく既存のダイアグラムの一貫性に影響を与えます。 更新されるまで、既存のダイアグラムはすべて一貫性なしになり、一貫性警告アイコン 不整合の可能性 が表示されます。

使用法

  • このツールは、ユーティリティ ネットワーク サービスまたはトレース ネットワーク サービスを使用する場合、サポートされません。 ファイルまたはモバイル ジオデータベース内のユーティリティ ネットワークまたはトレース ネットワークを使用するか、エンタープライズ ジオデータベース内のユーティリティ ネットワークまたはトレース ネットワークへのデータベース コネクションを使用する必要があります。 エンタープライズ ジオデータベースを操作する場合、次の要件があります。

  • ジャンクションの削減ルールは、トポロジを維持しながらダイアグラム グラフを単純化するために使用されます。

    このツールを使用すると、属性に基づいて削減を行うようにジャンクションの削減ルールを構成することができます。接続先となるジャンクションの数と、必要な場合は隣接するエッジ上の特定の属性に従って、属性を基準に削減するジャンクションをフィルタリングすることで、指定したネットワーク ジャンクション クラスまたはオブジェクト テーブル内のジャンクションを削減するように構成できます。

パラメーター

ラベル説明データ タイプ
入力ネットワーク

変更するダイアグラム テンプレートを含むユーティリティ ネットワークまたはトレース ネットワーク。

Utility Network; Trace Network
入力ダイアグラム テンプレート

変更するダイアグラム テンプレートの名前。

String
アクティブ

指定したテンプレートに基づくダイアグラムの生成および更新時にルールを有効にするかどうかを指定します。

  • オン - 追加されたルールが入力テンプレートに基づくダイアグラムの生成および更新時に有効になります。 これがデフォルトです。
  • オフ - 追加されたルールが入力テンプレートに基づくダイアグラムの生成または更新時に有効になりません。

Boolean
削減するジャンクション ソース

処理対象となるネットワーク ジャンクション ソース クラスまたはオブジェクト テーブル。このソース クラスまたはオブジェクト テーブルに属しているネットワーク ジャンクションに関連するすべてのダイアグラム ジャンクションが削減の候補になります。

Table; Feature Class
(オプション)

入力テンプレートに基づくダイアグラム内のジャンクション削減候補からネットワーク ジャンクションのサブセットを選択するために使用する SQL 式。SQL 構文の詳細については、「ArcGIS で使用される条件式の SQL リファレンス」をご参照ください。

SQL Expression
次のジャンクションの場合に削減
(オプション)

削減の対象として考慮されるジャンクション接続の数を指定します。

  • 最大 2 つの接続ジャンクション2 つ以下の接続を持つジャンクションが考慮されます。この場合、削減される候補ジャンクション接続の数に従って、特定のプロセスが実行されます。これがデフォルトです。
  • 最小 3 つの接続ジャンクション3 つ以上の接続を持つジャンクションが考慮されます。この場合、候補ジャンクション接続が削減されるかどうかを判断するために、上流方向のトレースが実行されます。
String
未接続の場合は削減
(オプション)

未接続の各ネットワーク ダイアグラム ジャンクション候補が削減されるかどうかを指定します。このパラメーターは、[次のジャンクションの場合に削減][最大 2 つの接続ジャンクション] に設定された場合にのみ有効になります。

  • オン - 未接続のネットワーク ダイアグラム ジャンクション候補が削減されます。各ジャンクションが削除されます。
  • オフ - 未接続のネットワーク ダイアグラム ジャンクション候補が削減されず、保持されます。これがデフォルトです。

Boolean
単一のジャンクションに接続している場合は削減
(オプション)

単一のジャンクションに接続されている各ネットワーク ダイアグラム ジャンクション削減候補が削減されるかどうかを指定します。このパラメーターは、[次のジャンクションの場合に削減][最大 2 つの接続ジャンクション] に設定された場合にのみ有効になります。

  • オン - 単一のジャンクションに接続されているネットワーク ダイアグラム ジャンクション削減候補が削減されます。各ジャンクションとそれに接続するエッジは、接続された単一ジャンクションに削減されます。
  • オフ - 単一のジャンクションに接続されているネットワーク ダイアグラム ジャンクション削減候補が削減されず、保持されます。これがデフォルトです。

Boolean
2 つの異なるジャンクションに接続している場合は削減
(オプション)

別の 2 つのジャンクションに接続されている各ネットワーク ダイアグラム ジャンクション削減候補が削減されるかどうかを指定します。このパラメーターは、[次のジャンクションの場合に削減][最大 2 つの接続ジャンクション] に設定された場合にのみ有効になります。

  • オン - 別の 2 つのジャンクションに接続されているネットワーク ダイアグラム ジャンクション削減候補が削減されます。各ジャンクションとそれに接続しているエッジはスーパー スパン エッジ (削減エッジ) に削減されます。これがデフォルトです。
  • オフ - 別の 2 つのジャンクションに接続されているネットワーク ダイアグラム ジャンクション削減候補が削減されず、保持されます。

Boolean
エッジ属性名
(オプション)

ジャンクション削減候補に隣接するエッジ属性のエイリアス。

ジャンクションは、指定された属性エイリアスごとに、そのすべての隣接エッジが同じ値を持つ場合にのみ削減されます。

String
説明
(オプション)

ルールの説明。

String

派生した出力

ラベル説明データ タイプ
出力ネットワーク

更新されたユーティリティ ネットワークまたはトレース ネットワーク。

ユーティリティ ネットワーク、トレース ネットワーク
出力ダイアグラム テンプレート

ダイアグラム テンプレートの名前。

String

arcpy.nd.AddReduceJunctionByAttributeRule(in_utility_network, template_name, is_active, junction_source, {where_clause}, {connectivity_options}, {unconnected_junctions}, {one_connected_junction}, {two_connected_junctions}, {edges_attributes}, {description})
名前説明データ タイプ
in_utility_network

変更するダイアグラム テンプレートを含むユーティリティ ネットワークまたはトレース ネットワーク。

Utility Network; Trace Network
template_name

変更するダイアグラム テンプレートの名前。

String
is_active

指定したテンプレートに基づくダイアグラムの生成および更新時にルールを有効にするかどうかを指定します。

  • ACTIVE追加されたルールが入力テンプレートに基づくダイアグラムの生成および更新時に有効になります。 これがデフォルトです。
  • INACTIVE追加されたルールが入力テンプレートに基づくダイアグラムの生成および更新時に有効になりません。
Boolean
junction_source

処理対象となるネットワーク ジャンクション ソース クラスまたはオブジェクト テーブル。このソース クラスまたはオブジェクト テーブルに属しているネットワーク ジャンクションに関連するすべてのダイアグラム ジャンクションが削減の候補になります。

Table; Feature Class
where_clause
(オプション)

入力テンプレートに基づくダイアグラム内のジャンクション削減候補からネットワーク ジャンクションのサブセットを選択するために使用する SQL 式。SQL 構文の詳細については、「ArcGIS で使用される条件式の SQL リファレンス」をご参照ください。

SQL Expression
connectivity_options
(オプション)

削減の対象として考慮されるジャンクション接続の数を指定します。

  • MAX_2_CONNECTED_JUNCTIONS2 つ以下の接続を持つジャンクションが考慮されます。この場合、削減される候補ジャンクション接続の数に従って、特定のプロセスが実行されます。これがデフォルトです。
  • MIN_3_CONNECTED_JUNCTIONS3 つ以上の接続を持つジャンクションが考慮されます。この場合、候補ジャンクション接続が削減されるかどうかを判断するために、上流方向のトレースが実行されます。
String
unconnected_junctions
(オプション)

未接続の各ネットワーク ダイアグラム ジャンクション候補が削減されるかどうかを指定します。 このパラメーターは、connectivity_options = "MAX_2_CONNECTED_JUNCTIONS" である場合にのみ使用できます。

  • REDUCE_UNCONNECTED_JCT未接続のネットワーク ダイアグラム ジャンクション候補が削減されます。各ジャンクションが削除されます。
  • KEEP_UNCONNECTED_JCT未接続のネットワーク ダイアグラム ジャンクション候補が削減されず、保持されます。これがデフォルトです。
Boolean
one_connected_junction
(オプション)

単一のジャンクションに接続されている各ネットワーク ダイアグラム ジャンクション削減候補が削減されるかどうかを指定します。このパラメーターは、connectivity_options = "MAX_2_CONNECTED_JUNCTIONS" である場合にのみ使用できます。

  • REDUCE_JCT_TO_1JCT単一のジャンクションに接続されているネットワーク ダイアグラム ジャンクション削減候補が削減されます。各ジャンクションとそれに接続するエッジは、接続された単一ジャンクションに削減されます。
  • KEEP_JCT_TO_1JCT単一のジャンクションに接続されているネットワーク ダイアグラム ジャンクション削減候補が削減されず、保持されます。これがデフォルトです。
Boolean
two_connected_junctions
(オプション)

別の 2 つのジャンクションに接続されている各ネットワーク ダイアグラム ジャンクション削減候補が削減されるかどうかを指定します。このパラメーターは、connectivity_options = "MAX_2_CONNECTED_JUNCTIONS" である場合にのみ使用できます。

  • REDUCE_JCT_TO_2JCTS別の 2 つのジャンクションに接続されているネットワーク ダイアグラム ジャンクション削減候補が削減されます。各ジャンクションとそれに接続しているエッジはスーパー スパン エッジ (削減エッジ) に削減されます。これがデフォルトです。
  • KEEP_JCT_TO_2JCTS別の 2 つのジャンクションに接続されているネットワーク ダイアグラム ジャンクション削減候補が削減されず、保持されます。
Boolean
edges_attributes
[edges_attributes,...]
(オプション)

ジャンクション削減候補に隣接するエッジ属性のエイリアス。

ジャンクションは、指定された属性エイリアスごとに、そのすべての隣接エッジが同じ値を持つ場合にのみ削減されます。

String
description
(オプション)

ルールの説明。

String

派生した出力

名前説明データ タイプ
out_utility_network

更新されたユーティリティ ネットワークまたはトレース ネットワーク。

ユーティリティ ネットワーク、トレース ネットワーク
out_template_name

ダイアグラム テンプレートの名前。

String

コードのサンプル

AddReduceJunctionByAttributeRule (属性によるジャンクションの削減ルールを追加) の例 1 (スタンドアロン スクリプト)

このサンプル スクリプトでは、指定したネットワーク用の既存の MyTemplate1 テンプレートに、属性によるジャンクションの削減ルールを追加して、接続されていないか、生成されたダイアグラム内の別の 2 つのジャンクションに接続されている非保護配電デバイス (ネットワーク プロテクターでもスイッチでもないデバイス) を系統的に削減します。

import arcpy
input_Network = "D:/MyProjectLocation/MyDatabaseConnection.sde/MyDatabase.MAP.Electric/MyDatabase.MAP.Electric"
input_DiagramTemplate = "MyTemplate1"
input_JunctionClassToReduce = "D:/MyProjectLocation/MyDatabaseConnection.sde/MyDatabase.MAP.Electric/MyDatabase.MAP.ElectricDistributionDevice"
arcpy.AddReduceJunctionByAttributeRule_un(input_Network, input_DiagramTemplate, 
                                          "ACTIVE", input_JunctionClassToReduce, 
                                          "ASSETTYPE <> 11 And ASSETTYPE <> 8", 
                                          "MAX_2_CONNECTED_JUNCTIONS", 
                                          "REDUCE_UNCONNECTED_JCT",
                                          "KEEP_JCT_TO_1JCT","REDUCE_JCT_TO_2JCTS")
AddReduceJunctionByAttributeRule (属性によるジャンクションの削減ルールを追加) の例 2 (スタンドアロン スクリプト)

このサンプル スクリプトでは、指定したネットワーク用の既存の MyTemplate2 テンプレートに、属性によるジャンクションの削減ルールを追加して、非保護配電デバイスが別の 2 つのジャンクションに接続されており、隣接エッジの Asset type および Phases の属性の値が同じである場合に、非保護配電デバイスを系統的に削減します。

import arcpy
input_Network = "D:/MyProjectLocation/MyDatabaseConnection.sde/MyDatabase.MAP.Electric/MyDatabase.MAP.Electric"
input_DiagramTemplate = "MyTemplate2"
input_JunctionClassToReduce = "D:/MyProjectLocation/MyDatabaseConnection.sde/MyDatabase.MAP.Electric/MyDatabase.MAP.ElectricDistributionDevice"
input_Alias1 = "Asset type"
input_Alias2 = "Phases"
arcpy.AddReduceJunctionByAttributeRule_nd(input_Network, input_DiagramTemplate, 
                                          "ACTIVE", input_JunctionClassToReduce, 
                                          "ASSETTYPE <> 11 And ASSETTYPE <> 8", 
                                          "MAX_2_CONNECTED_JUNCTIONS", 
                                          "KEEP_UNCONNECTED_JCT", "KEEP_JCT_TO_1JCT",
                                          "REDUCE_JCT_TO_2JCTS", 
                                          input_Alias1 + ";" + input_Alias2)

環境

このツールは、ジオプロセシング環境を使用しません。

ライセンス情報

  • Basic: No
  • Standard: Yes
  • Advanced: Yes

関連トピック