ユニオン (Union) (解析)

サマリー

入力フィーチャの幾何学的ユニオンを求めます。 すべてのフィーチャとその属性が出力フィーチャクラスに書き込まれます。

ユニオン ツールの詳細

ユニオン ツールの図

使用法

  • すべての入力フィーチャクラスおよびフィーチャ レイヤーに、ポリゴン ジオメトリが含まれる必要があります。

  • [ギャップを許可] パラメーターは、[結合する属性] パラメーターの [すべての属性] または [フィーチャ ID のみ] 設定と組み合わせて使用できます。 これによって、結果として生成されるポリゴンによって完全に囲まれた、生成される領域を特定できるようになります。 これらのギャップ フィーチャの FID 属性は、すべて -1 になります。

  • 出力フィーチャクラスには、各入力フィーチャクラスの FID_<name> 属性が含まれています。 たとえば、入力フィーチャクラスの 1 つに Soils という名前が付いている場合、出力フィーチャクラスにも FID_Soils 属性ができます。 別の入力フィーチャと交差しない入力フィーチャ (または入力フィーチャの一部) の FID_<name> 値は -1 になります。 この場合、交差部分が検出されないユニオンの他のフィーチャクラスの属性値は、出力フィーチャに転送されません。

  • 入力フィーチャクラスの属性値が出力フィーチャクラスにコピーされます。 ただし、[フィーチャ レイヤーの作成 (Make Feature Layer)] ツールで作成した 1 つ以上のレイヤーを入力として使用し、フィールドの [比率ポリシーの使用] をオンにしている場合は、入力属性値の比率が計算され、出力属性値に適用されます。 [比率ポリシーの使用] が有効な場合、オーバーレイ操作でフィーチャが分割されると、入力フィーチャの属性値の比率が出力フィーチャの属性に適用されます。 入力フィーチャ ジオメトリが分割された比率に基づいて、出力値が決定されます。 たとえば、入力ジオメトリが等分割された場合は、入力フィーチャの属性値の 1/2 が、新しい各フィーチャの属性値として割り当てられます。 [比率ポリシーの使用] は数値フィールドにのみ適用されます。

    注意:

    ジオプロセシング ツールは、ジオデータベース フィーチャクラスまたはテーブル フィールドの「スプリット ポリシー」に従いません。

  • このツールは、すべての入力がシングルパートの場合でも、出力としてマルチパート フィーチャを作成します。 マルチパート フィーチャが望ましくない場合は、出力フィーチャクラスで [マルチパート → シングルパート (Multipart to Singlepart)] ツールを使用します。

  • ライセンス:

    ArcGIS Desktop Basic ライセンスと Desktop Standard ライセンスでは、入力フィーチャクラスまたはレイヤーの数が 2 つに制限されています。

パラメーター

ラベル説明データ タイプ
入力フィーチャ

入力フィーチャクラスまたはレイヤー。 フィーチャ間の距離がクラスター許容値より小さい場合、低ランクのフィーチャが高ランクのフィーチャにスナップします。 最高ランクは 1 です。 入力フィーチャのすべてがポリゴンである必要があります。

Value Table
出力フィーチャクラス

結果を含めるフィーチャクラス

Feature Class
結合する属性
(オプション)

入力フィーチャのどの属性を出力フィーチャクラスへ渡すかを指定します。

  • すべての属性入力フィーチャのすべての属性を出力フィーチャクラスへ渡します。 これがデフォルトです。
  • フィーチャ ID を除くすべての属性入力フィーチャの FID を除いたすべての属性を出力フィーチャクラスへ渡します。
  • フィーチャ ID のみ入力フィーチャの FID フィールドのみを出力フィーチャクラスへ渡します。
String
XY 許容値
(オプション)

すべてのフィーチャ座標 (ノードと頂点) の最短距離、および X 方向、Y 方向、XY 方向に座標を移動できる距離。

注意:

このパラメーターの値を変更すると、失敗または予期しない結果が発生する可能性があります。 このパラメーターは変更しないことをお勧めします。 ツール ダイアログ ボックスのビューからは削除されています。 デフォルトでは、入力フィーチャクラスの空間参照の [XY許容値] プロパティが使用されます。

Linear Unit
ギャップを許可
(オプション)

ポリゴンで完全に囲まれた出力の領域に、フィーチャを作成するかどうかを指定します。

ギャップは、他のポリゴンで完全に囲まれた出力フィーチャクラスの領域です (フィーチャの交差、または入力ポリゴンの既存の穴から作成)。 これらの領域は無効ではありませんが、分析用に特定できます。 出力内のギャップを特定するには、このパラメーターをオフにします。ギャップ領域にフィーチャが作成されます。 これらのフィーチャを選択するには、値が -1 であるすべての入力フィーチャ FID の値を条件とし、出力フィーチャクラスに対してクエリを実行します。

  • オン - ポリゴンで完全に囲まれた出力の領域に、フィーチャが作成されません。 これがデフォルトです。
  • オフ - ポリゴンで完全に囲まれた出力の領域に、フィーチャが作成されます。 このフィーチャには属性値がなく、-1 の FID の値があります。
Boolean

arcpy.analysis.Union(in_features, out_feature_class, {join_attributes}, {cluster_tolerance}, {gaps})
名前説明データ タイプ
in_features
[[in_features, {rank}],...]

入力フィーチャクラスまたはレイヤー。 フィーチャ間の距離がクラスター許容値より小さい場合、低ランクのフィーチャが高ランクのフィーチャにスナップします。 最高ランクは 1 です。 入力フィーチャのすべてがポリゴンである必要があります。

Value Table
out_feature_class

結果を含めるフィーチャクラス

Feature Class
join_attributes
(オプション)

入力フィーチャのどの属性を出力フィーチャクラスへ渡すかを指定します。

  • ALL入力フィーチャのすべての属性を出力フィーチャクラスへ渡します。 これがデフォルトです。
  • NO_FID入力フィーチャの FID を除いたすべての属性を出力フィーチャクラスへ渡します。
  • ONLY_FID入力フィーチャの FID フィールドのみを出力フィーチャクラスへ渡します。
String
cluster_tolerance
(オプション)

すべてのフィーチャ座標 (ノードと頂点) の最短距離、および X 方向、Y 方向、XY 方向に座標を移動できる距離。

注意:

このパラメーターの値を変更すると、失敗または予期しない結果が発生する可能性があります。 このパラメーターは変更しないことをお勧めします。 ツール ダイアログ ボックスのビューからは削除されています。 デフォルトでは、入力フィーチャクラスの空間参照の [XY許容値] プロパティが使用されます。

Linear Unit
gaps
(オプション)

ポリゴンで完全に囲まれた出力の領域に、フィーチャを作成するかどうかを指定します。

ギャップは、他のポリゴンで完全に囲まれた出力フィーチャクラスの領域です (フィーチャの交差、または入力ポリゴンの既存の穴から作成)。 これらの領域は無効ではありませんが、分析用に特定できます。 出力内のギャップを特定するには、このパラメーターを NO_GAPS に設定し、ギャップ領域にフィーチャを作成します。 これらのフィーチャを選択するには、値が -1 であるすべての入力フィーチャ FID の値を条件とし、出力フィーチャクラスに対してクエリを実行します。

  • GAPSポリゴンで完全に囲まれた出力の領域に、フィーチャが作成されません。 これがデフォルトです。
  • NO_GAPSポリゴンで完全に囲まれた出力の領域に、フィーチャが作成されます。 このフィーチャには属性値がなく、-1 の FID の値があります。
Boolean

コードのサンプル

Union の例 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、イミディエイト モードで Union 関数を使用する方法を示しています。

import arcpy
arcpy.env.workspace = "C:/data/data/gdb"
arcpy.analysis.Union(["well_buff50", "stream_buff200", "waterbody_buff500"], 
                     "water_buffers", "NO_FID", 0.0003)
arcpy.analysis.Union([["counties", 2], ["parcels", 1], ["state", 2]], 
                     "state_landinfo")
Union の例 2 (スタンドアロン スクリプト)

次のスタンドアロン スクリプトは、Union 関数をスクリプティングに適用する 2 つの方法を示しています。

# unions.py
# Purpose: union 3 feature classes

# Import the system modules
import arcpy

# Set the current workspace (to avoid having to specify the full path to the 
# feature classes each time)
arcpy.env.workspace = "c:/data/data.gdb"
 
# Union 3 feature classes but only carry the FID attributes to the output
inFeatures = ["well_buff50", "stream_buff200", "waterbody_buff500"]
outFeatures = "water_buffers"
arcpy.analysis.Union(inFeatures, outFeatures, "ONLY_FID")

# Union 3 other feature classes, but specify some ranks for each 
# since parcels has better spatial accuracy
inFeatures = [["counties", 2], ["parcels", 1], ["state", 2]]
outFeatures = "state_landinfo" 
arcpy.analysis.Union(inFeatures, outFeatures)

環境

特殊なケース

並列処理ファクター

このツールは、並列処理ファクター環境を優先します。 環境が設定されていない場合 (デフォルト) または 0 に設定されている場合、並列処理は無効になります。並列処理は使用されず、処理は順番に実行されます。 環境を 100 に設定すると並列処理が有効になります。並列処理が使用され、処理は並列で実行されます。 並列処理を有効にすると、最大 10 個のコアが使用されます。

並列処理は現在、ポリゴンに対するポリゴン、ポリゴンに対するライン、およびポリゴンに対するポイントのオーバーレイ操作でサポートされています。