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

サマリー

ダイアグラム構築プロセス中に、ダイアグラム ジャンクションを自動的に削減するためのダイアグラム ルールを、ダイアグラム テンプレートで指定されたルール シーケンスに追加します。 このツールは、接続されている他のジャンクションの数に従って、複数のネットワーク ジャンクション ソース クラスおよびオブジェクト テーブルに基づいて、ジャンクションを削減します。

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

注意:

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

注意:

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

使用法

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

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

    このツールを使用すると、隣接ジャンクションの数、つまり、接続されているジャンクションの数、および必要な場合は、隣接するエッジ上の特定の属性に従い、さまざまなネットワーク ジャンクション クラスおよびオブジェクト テーブルに基づいて、ジャンクションを削減する、ジャンクションの削減ルールを構成できます。

    指定したネットワーク ジャンクション ソース クラスおよびオブジェクト テーブルに基づくすべてのダイアグラム フィーチャ、または指定したネットワーク ジャンクション ソース クラスおよびオブジェクト テーブルに基づくダイアグラム フィーチャを除くすべてのダイアグラム フィーチャを削減できます。

    このツールの構成で [ルール プロセス] が、[ソース クラスを除外] に設定され、ジャンクション ソース クラスもオブジェクト テーブルも指定されていない場合、このツールは、ジャンクション ソース クラスまたはオブジェクト テーブルに関係なく、処理対象ダイアグラム内の各ジャンクションに対して機能します。 このツールを構成して、たとえば、ダイアグラム内の接続されていないジャンクションをすべて削減できます。

    このツールのデフォルトでは、[ルール プロセス] が、[ソース クラスを含める] に設定され、1 つまたは複数のジャンクション ソース クラスまたはオブジェクト テーブルが処理されます。

    ダイアグラム内の削減の詳細

  • 指定した [ジャンクション ソース] パラメーターの値に SystemJunctions クラスが存在する場合、ルールは、システム ジャンクションおよびシステム ジャンクション オブジェクトの両方に、規則的に適用されます。

  • ArcGIS Pro 3.4 では、パーティション型の層定義を持つ Utility Network バージョン 7 で作業し、3 つ以上の接続を持つジャンクションを削減するようこのツールを構成した場合、このルールによって、デジタイズ方向に基づいたフロー方向を考慮して、ジャンクションが削減される単一上流ジャンクションまたは単一下流ジャンクションを特定できます。 以前のバージョンの上流トレース操作と下流トレース操作では、サブネットワーク コントローラーの場所に基づいたフロー方向のみが考慮されました。

パラメーター

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

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

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

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

String
アクティブ

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

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

Boolean
ルール プロセス
(オプション)

指定したジャンクション ソース クラスおよびオブジェクト テーブルの処理方法を指定します。

  • ソース クラスを除外指定したソース クラスおよびオブジェクト テーブルに基づくジャンクションは処理されず、その他のジャンクションが処理されます。
  • ソース クラスを含める指定したソース クラスおよびオブジェクト テーブルに基づくジャンクションのみが処理されます。 これがデフォルトです。
String
ジャンクション ソース
(オプション)

ルール プロセスに応じて、除外または含めるネットワーク ジャンクション ソース クラスおよびオブジェクト テーブル。

注意:

ネットワーク ジャンクション ソース クラス内の SystemJunctions クラスを指定すると、ルールは、システム ジャンクションおよびシステム ジャンクション オブジェクトの両方を規則的に処理します。

[ルール プロセス] パラメーターが [ソース クラスを含める] に設定されている場合、1 つまたは複数のネットワーク ジャンクション ソース クラスまたはオブジェクト テーブルが処理されます。 これがデフォルトです。 このソース クラスおよびオブジェクト テーブルに属しているネットワーク ジャンクションに関連するすべてのダイアグラム ジャンクションが削減の候補になります。

注意:

ツールは、優先度が最高のジャンクション クラスまたはテーブル (リスト内の最初のクラスまたはテーブル) から、優先度が最低のジャンクション クラスまたはテーブル (リスト内の最後のクラスまたはテーブル) まで、このリストの順に、ジャンクション ソース クラスおよびオブジェクト テーブルを処理します。

[ルール プロセス] パラメーターが [ソース クラスを除外] に設定されている場合、特定のジャンクション ソース クラスまたはオブジェクト テーブルを指定する必要はありません。 この場合、ソース クラスまたはオブジェクト テーブルに関係なく、生成されたダイアグラム内のすべてのジャンクションが削減されます。

Table; Feature Class
次のジャンクションの場合に削減
(オプション)

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

  • 最大 2 つの接続ジャンクション2 つ以下の接続を持つジャンクションが考慮されます。 この場合、削減される候補ジャンクション接続の数に従って、特定のプロセスが実行されます。 これがデフォルトです。
  • 最小 3 つの接続ジャンクション3 つ以上の接続を持つジャンクションが考慮されます。 階層型の層定義を持つネットワークでは、そのようなジャンクションは、単一のジャンクションに接続している場合を除き、接続先の他のジャンクションに削減されます。 パーティション型の層定義を持つネットワークでは、上流トレースと下流トレースが実行されて、削減先の単一の上流または下流ジャンクションが特定されます。
String
未接続の場合は削減
(オプション)

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

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

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

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

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

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

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

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

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

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

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

String
説明
(オプション)

ルールの説明。

String
デジタイズ方向を使用

3 つ以上の接続を持つジャンクションを削減する際にデジタイズ方向を使用するかどうかを指定します。

このパラメーターは、[次のジャンクションの場合に削減] パラメーターが [最小 3 つの接続ジャンクション] に設定されている場合にのみ有効になります。

  • オン - 削減プロセスで、デジタイズ方向に基づいたフロー方向が考慮され、ジャンクションが削減される単一上流ジャンクションまたは単一下流ジャンクションが特定されます。
  • オフ - 削減プロセスで、サブネットワーク コントローラーの場所に基づいたフロー方向が考慮され、ジャンクションが削減される単一上流ジャンクションまたは単一下流ジャンクションが特定されます。 これがデフォルトです。

Boolean

派生した出力

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

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

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

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

String

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

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

Utility Network; Trace Network
template_name

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

String
is_active

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

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

指定したジャンクション ソース クラスおよびオブジェクト テーブルの処理方法を指定します。

  • EXCLUDE_SOURCE_CLASSES指定したソース クラスおよびオブジェクト テーブルに基づくジャンクションは処理されず、その他のジャンクションが処理されます。
  • INCLUDE_SOURCE_CLASSES指定したソース クラスおよびオブジェクト テーブルに基づくジャンクションのみが処理されます。 これがデフォルトです。
String
junction_source
[junction_source,...]
(オプション)

ルール プロセスに応じて、除外または含めるネットワーク ジャンクション ソース クラスおよびオブジェクト テーブル。

注意:

ネットワーク ジャンクション ソース クラス内の SystemJunctions クラスを指定すると、ルールは、システム ジャンクションおよびシステム ジャンクション オブジェクトの両方を規則的に処理します。

inverse_source_selection パラメーターが INCLUDE_SOURCE_CLASSES に設定されている場合、1 つまたは複数のネットワーク ジャンクション ソース クラスまたはオブジェクト テーブルが処理されます。 これがデフォルトです。 このソース クラスおよびオブジェクト テーブルに属しているネットワーク ジャンクションに関連するすべてのダイアグラム ジャンクションが削減の候補になります。

注意:

ツールは、優先度が最高のジャンクション クラスまたはテーブル (リスト内の最初のクラスまたはテーブル) から、優先度が最低のジャンクション クラスまたはテーブル (リスト内の最後のクラスまたはテーブル) まで、このリストの順に、ジャンクション ソース クラスおよびオブジェクト テーブルを処理します。

inverse_source_selection パラメーターが EXCLUDE_SOURCE_CLASSES に設定されている場合、特定のジャンクション ソース クラスまたはオブジェクト テーブルを指定する必要はありません。 この場合、ソース クラスまたはオブジェクト テーブルに関係なく、生成されたダイアグラム内のすべてのジャンクションが削減されます。

Table; Feature Class
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
use_digitized_direction

3 つ以上の接続を持つジャンクションを削減する際にデジタイズ方向を使用するかどうかを指定します。

このパラメーターは、connectivity_options パラメーターが MIN_3_CONNECTED_JUNCTIONS に設定されている場合のみ有効です。

  • USE_DIGITIZED_DIRECTION削減プロセスで、デジタイズ方向に基づいたフロー方向が考慮され、ジャンクションが削減される単一上流ジャンクションまたは単一下流ジャンクションが特定されます。
  • IGNORE_DIGITIZED_DIRECTION削減プロセスで、サブネットワーク コントローラーの場所に基づいたフロー方向が考慮され、ジャンクションが削減される単一上流ジャンクションまたは単一下流ジャンクションが特定されます。 これがデフォルトです。
Boolean

派生した出力

名前説明データ タイプ
out_utility_network

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

Utility Network; Trace Network
out_template_name

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

String

コードのサンプル

AddReduceJunctionRule の例 (Python ウィンドウ)

指定したネットワーク用の既存の MyTemplate1 テンプレートにジャンクションの削減ルールを追加して、接続されていないか、別の 2 つのジャンクションに接続されている電力システム ジャンクションとその他のジャンクションを系統的に削減します。

import arcpy

input_Network = "D:/MyProjectLocation/MyDatabaseConnection.sde/MyDatabase.MAP.Electric/MyDatabase.MAP.Electric"
input_DiagramTemplate = "MyTemplate1"
input_JunctionClassToReduce1 = "D:/MyProjectLocation/MyDatabaseConnection.sde/MyDatabase.MAP.Electric/MyDatabase.MAP.UN_112_SystemJunctions"
input_JunctionClassToReduce2 = "D:/MyProjectLocation/MyDatabaseConnection.sde/MyDatabase.MAP.Electric/MyDatabase.MAP.ElectricDistributionJunction"

arcpy.nd.AddReduceJunctionRule(
    input_Network, input_DiagramTemplate, "ACTIVE", 
    'INCLUDE_SOURCE_CLASSES', 
    input_JunctionClassToReduce1 + ";" + input_JunctionClassToReduce2, 
    "MAX_2_CONNECTED_JUNCTIONS", "REDUCE_UNCONNECTED_JCT", "KEEP_JCT_TO_1JCT", 
    "REDUCE_JCT_TO_2JCTS")
AddReduceJunctionRule の例 2 (Python ウィンドウ)

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

import arcpy

input_Network = "D:/MyProjectLocation/MyDatabaseConnection.sde/MyDatabase.MAP.Electric/MyDatabase.MAP.Electric"
input_DiagramTemplate = "MyTemplate2"
input_JunctionClassToReduce1 = "D:/MyProjectLocation/MyDatabaseConnection.sde/MyDatabase.MAP.Electric/MyDatabase.MAP.ElectricDistributionJunction"
input_Alias1 = "Asset type"
input_Alias2 = "Phases"

arcpy.nd.AddReduceJunctionRule(
    input_Network, input_DiagramTemplate, "ACTIVE", 
    'INCLUDE_SOURCE_CLASSES', input_JunctionClassToReduce1, 
    "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

関連トピック