概要
フラグ、バリア、および指定したウェイト プロパティに基づいて、指定したネットワーク解析の問題を解決します。
使用法
このツールは、ネットワーク データセット (ArcGIS Network Analyst エクステンションで使用するネットワーク) では機能しません。
このツールは、入力フラグおよびバリアを使用して空間検索を実行し、一致するフィーチャを特定します。フラグの場合はトレースを開始するフィーチャを、バリアの場合はトレースをブロックするフィーチャを決定するために使用します。したがって、入力フラグおよびバリアは正確に特定する必要があります。ModelBuilder では、フラグおよびバリアを正しく特定できているかどうかわからない場合は、[スナップ (Snap)] ツールを使用して、フラグおよびバリアを一致させるフィーチャを指定できます。
このツールの出力は、入力ジオメトリック ネットワークに含まれるフィーチャクラスごとに 1 つのレイヤーを含む、グループ レイヤーです。トレースから返されるフィーチャは、それぞれのレイヤー内で選択された状態になります。入力レイヤーがマップ内に存在する場合、出力グループ レイヤーには、フィーチャが選択されていないレイヤーが含まれることがあります。これらは、トレースからフィーチャが返されなかった空のレイヤーです。ModelBuilder では、[データの選択 (Select Data)] ツールを使用してグループ レイヤーから特定のレイヤーを抽出したり、[フィーチャ レイヤーの作成 (Make Feature Layer)] ツールを使用して [データの選択 (Select Data)] ツールの出力からフィーチャ レイヤーを作成したりできます。グループ内のレイヤーが空かどうかを確認するには、[行のカウント (Get Count)] ツールを使用します。グループ レイヤーはジオプロセシング タスクからの出力パラメーター タイプとしてサポートされていないため、これは ArcGIS Server にモデルを公開する場合に特に便利です。グループ レイヤーは直接出力としてサポートされていないため、[データの選択 (Select Data)] ツールを使用して、出力に対して 1 つの (グループでない) レイヤーを作成する必要があります。
このツールは、パーソナル ジオデータベース内のジオメトリック ネットワークを編集しているときは実行できません。
トポロジ データセットやネットワーク データセットなど他のデータセットと異なり、ジオメトリック ネットワークには関連付けられているレイヤーがないので、ArcMap でこのツールを使用する場合は、ジオメトリック ネットワークをディスクから選択する必要があります。入力としてレイヤー ドロップダウン リストからジオメトリック ネットワークを選択するオプションはありません。
構文
arcpy.management.TraceGeometricNetwork(in_geometric_network, out_network_layer, in_flags, in_trace_task_type, {in_barriers}, {in_junction_weight}, {in_edge_along_digitized_weight}, {in_edge_against_digitized_weight}, {in_disable_from_trace}, {in_trace_ends}, {in_trace_indeterminate_flow}, {in_junction_weight_filter}, {in_junction_weight_range}, {in_junction_weight_range_not}, {in_edge_along_digitized_weight_filter}, {in_edge_against_digitized_weight_filter}, {in_edge_weight_range}, {in_edge_weight_range_not})
パラメーター | 説明 | データ タイプ |
in_geometric_network | トレースが実行されるジオメトリック ネットワーク。 | Geometric Network |
out_network_layer | トレースの結果を選択セットとして保存するグループ レイヤーの名前。 | Group Layer |
in_flags | トレース操作の始点となる一連のフラグを表すポイント フィーチャ。たとえば、上流解析を実行する場合は、フラグを使用して上流解析を開始する位置を指定します。フラグはエッジまたはジャンクションに沿った任意の位置に配置できますが、同じ位置にジャンクションとフラグの両方がある場合は、ジャンクションが先に考慮されます。 | Feature Layer |
in_trace_task_type | 指定したジオメトリック ネットワークで実行するトレース タスク。
| String |
in_barriers (オプション) | 一連のバリアを表すポイント フィーチャ。バリアは、トレースが通過できないネットワーク内の場所を定義します。ネットワークの特定の部分のみをトレースする場合は、バリアを使用して、ネットワークのその部分を分離できます。バリアはエッジまたはジャンクションに沿った任意の位置に配置できますが、同じ位置にジャンクションとフラグの両方がある場合は、ジャンクションが先に考慮されます。トレースを停止するフィーチャを意図的に検出するために、in_trace_ends パラメーターを TRACE_ENDS に設定しない限り、フィーチャは無効として扱われ、トレース時に考慮されません。 | Feature Layer |
in_junction_weight (オプション) | 任意のジャンクションを移動するコストとして使用されるジャンクションのウェイト。このウェイトは、指定のジオメトリック ネットワークに対して定義済みである必要があります。コストに依存しない、次のトレース タスク タイプのいずれかを指定した場合、このパラメーターは無効、または無視されます。
| String |
in_edge_along_digitized_weight (オプション) | エッジのデジタイズされた方向に沿ってエッジを移動するコストとして使用されるエッジのウェイト。このウェイトは、指定のジオメトリック ネットワークに対して定義済みである必要があります。コストに依存しない、次のトレース タスク タイプのいずれかを指定した場合、このパラメーターは無効、または無視されます。
| String |
in_edge_against_digitized_weight (オプション) | エッジのデジタイズされた方向と反対にエッジを移動するコストとして使用されるエッジのウェイト。このウェイトは、指定のジオメトリック ネットワークに対して定義済みである必要があります。コストに依存しない、次のトレース タスク タイプのいずれかを指定した場合、このパラメーターは無効、または無視されます。
| String |
in_disable_from_trace [in_disable_from_trace,...] (オプション) | トレースへの参加が無効になっているフィーチャクラスのリスト。フィーチャクラスを無効として指定すると、トレース操作はそのフィーチャクラスのすべてのフィーチャを無効、またはバリアが配置されているものとして扱います。トレース時にフィーチャクラス全体を考慮しないようにするには、このオプションを使用します。たとえば、配電ネットワークのスイッチ レイヤーを無効にし、in_trace_ends パラメーターを TRACE_ENDS に設定して、ネットワークの特定のポイントからトレースすることで、ネットワークからこのポイントを分離するために切る必要があるスイッチを見つけることができます。つまり、トレース操作が停止したフィーチャがそれに相当します。 | String |
in_trace_ends (オプション) | トレースにすべてのフィーチャを含めるか、トレースがストップしたフィーチャのみを含めるかを指定します。トレースがストップしたフィーチャを決定する必要がある場合は、このオプションを使用します。このオプションを使用してトレース操作からフィーチャを返すには、フィーチャが次のいずれかに該当する必要があります。
| Boolean |
in_trace_indeterminate_flow (オプション) | トレースにすべてのフィーチャを含めるか、トレースがストップしたフィーチャのみを含めるかを指定します。
フローに依存した、次のいずれかのトレース タスク タイプが設定されている場合のみ有効です。
| Boolean |
in_junction_weight_filter (オプション) | トレース時にジャンクションのフィルタリングに使用するジャンクション ウェイト フィルターを作成するためのウェイトです。 | String |
in_junction_weight_range (オプション) | トレース可能なネットワーク フィーチャのウェイト値の有効範囲または無効範囲を指定します。コストに依存しないトレース タスク タイプが設定されている場合は無効になります。ウェイト フィルターを作成するには、フィーチャに対して有効なウェイト範囲を指定する必要があります。ウェイト フィルターには複数の範囲を指定できます。複数のウェイト範囲を指定するときは、各範囲をカンマで区切ります。範囲内の最小値と最大値はハイフンでつなぎます。範囲値が 1 つだけの場合はハイフンを使用せず、値をカンマで区切ります。例: 0-2,3,6,7-10 | String |
in_junction_weight_range_not (オプション) | 指定したジャンクション ウェイト範囲に論理 NOT 演算子を適用します。デフォルトでは、ここで入力するジャンクション ウェイト範囲はトレース可能なジャンクション フィーチャを指定します。このチェックボックスをオンにした場合、ウェイトが入力範囲内であるジャンクション フィーチャはトレースされません。
| Boolean |
in_edge_along_digitized_weight_filter (オプション) | トレース中にエッジ フィーチャのフィルタリングに使用する順方向エッジ ウェイト フィルターを作成するためのウェイト。 | String |
in_edge_against_digitized_weight_filter (オプション) | トレース時にエッジ フィーチャのフィルタリングに使用する逆方向エッジ ウェイト フィルターを作成するためのウェイト。 | String |
in_edge_weight_range (オプション) | トレース可能なネットワーク フィーチャのウェイト値の有効範囲または無効範囲を指定します。コストに依存しないトレース タスク タイプが設定されている場合は無効になります。ウェイト フィルターを作成するには、フィーチャに対して有効なウェイト範囲を指定する必要があります。ウェイト フィルターには複数の範囲を指定できます。複数のウェイト範囲を指定するときは、各範囲をカンマで区切ってください。範囲内の最小値と最大値はハイフンでつなぎます。範囲値が 1 つだけの場合はハイフンを使用せず、値をカンマで区切ります。例: 0-2,3,6,7-10 | String |
in_edge_weight_range_not (オプション) | 指定したエッジ ウェイト範囲に論理 NOT 演算子を適用します。デフォルトでは、ここで入力するエッジ ウェイト範囲はトレース可能なエッジ フィーチャを指定します。このチェックボックスをオンにした場合、ウェイトが入力範囲内であるエッジ フィーチャはトレースされません。
| Boolean |
コードのサンプル
TraceGeometricNetwork (ジオメトリック ネットワークのトレース) の例 1 (スタンドアロン スクリプト)
次のスタンドアロン Python スクリプトは、Python スクリプトで TraceGeometricNetwork (ジオメトリック ネットワークのトレース) 機能を使用して、フラグを配置し、バリアは配置せずに、ジオメトリック ネットワークで [接続解析] トレースを実行する方法を示しています。
# Import arcpy module
import arcpy
# Local variables:
gnVersionFDS_Net = "C:/GeometricNetworks/GeometricNetwork.gdb/gnVersionFDS_with_GN/gnVersionFDS_1_Net"
Flags = "C:/GeometricNetworks/GeometricNetwork.gdb/gnVersionFDS_with_GN/Flags"
gnVersionFDS_1 = "gnVersionFDS_1_Net"
# Process: Trace Geometric Network
arcpy.TraceGeometricNetwork_management(gnVersionFDS_Net, gnVersionFDS_1, Flags, "FIND_CONNECTED", "", "", "", "", "", "NO_TRACE_ENDS", "", "", "", "AS_IS", "", "", "", "AS_IS")
TraceGeometricNetwork (ジオメトリック ネットワークのトレース) の例 2 (スタンドアロン スクリプト)
次のスタンドアロン Python スクリプトは、Python スクリプトで TraceGeometricNetwork (ジオメトリック ネットワークのトレース) 機能を使用して、フラグを配置し、バリアは配置せず、Friction_Factor というウェイトと 1 ~ 10 のウェイト フィルターを使用して、ジオメトリック ネットワークで [パス解析] トレースを実行する方法を示しています。
# Import arcpy module
import arcpy
# Local variables:
Water_Net = "C:/GeometricNetworks/Montgomery.gdb/Water/Water_Net"
Flags = "C:/GeometricNetworks/Montgomery.gdb/Water/Flags"
Water_Net_2 = "Water_Net"
# Process: Trace Geometric Network
arcpy.TraceGeometricNetwork_management(Water_Net, Water_Net_2, Flags, "FIND_PATH", "", "", "Friction_Factor", "Friction_Factor", "", "NO_TRACE_ENDS", "", "", "", "AS_IS", "Friction_Factor", "Friction_Factor", "1-10", "AS_IS")
環境
このツールは、ジオプロセシング環境を使用しません。
ライセンス情報
- Basic: いいえ
- Standard: はい
- Advanced: はい