ラベル | 説明 | データ タイプ |
入力フィーチャ | 入力フィーチャクラスまたはレイヤー。 フィーチャ間の距離がクラスター許容値より小さい場合、低ランクのフィーチャが高ランクのフィーチャにスナップします。 最高ランクは 1 です。 入力フィーチャのすべてがポリゴンである必要があります。 | Value Table |
出力フィーチャクラス | 結果を含めるフィーチャクラス | Feature Class |
結合する属性 (オプション) | 入力フィーチャのどの属性を出力フィーチャクラスへ渡すかを指定します。
| String |
XY 許容値 (オプション) | すべてのフィーチャ座標 (ノードと頂点) の最短距離、および X 方向、Y 方向、XY 方向に座標を移動できる距離。 注意:このパラメーターの値を変更すると、失敗または予期しない結果が発生する可能性があります。 このパラメーターは変更しないことをお勧めします。 ツール ダイアログ ボックスのビューからは削除されています。 デフォルトでは、入力フィーチャクラスの空間参照の [XY許容値] プロパティが使用されます。 | Linear Unit |
ギャップを許可 (オプション) | ポリゴンで完全に囲まれた出力の領域に、フィーチャを作成するかどうかを指定します。 ギャップは、他のポリゴンで完全に囲まれた出力フィーチャクラスの領域です (フィーチャの交差、または入力ポリゴンの既存の穴から作成)。 これらの領域は無効ではありませんが、分析用に特定できます。 出力内のギャップを特定するには、このパラメーターをオフにします。ギャップ領域にフィーチャが作成されます。 これらのフィーチャを選択するには、値が -1 であるすべての入力フィーチャ FID の値を条件とし、出力フィーチャクラスに対してクエリを実行します。
| Boolean |
図
使用法
すべての入力フィーチャクラスおよびフィーチャ レイヤーに、ポリゴン ジオメトリが含まれる必要があります。
[ギャップを許可] パラメーターは、[結合する属性] パラメーターの [すべての属性] または [フィーチャ 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 つに制限されています。
パラメーター
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 (オプション) | 入力フィーチャのどの属性を出力フィーチャクラスへ渡すかを指定します。
| String |
cluster_tolerance (オプション) | すべてのフィーチャ座標 (ノードと頂点) の最短距離、および X 方向、Y 方向、XY 方向に座標を移動できる距離。 注意:このパラメーターの値を変更すると、失敗または予期しない結果が発生する可能性があります。 このパラメーターは変更しないことをお勧めします。 ツール ダイアログ ボックスのビューからは削除されています。 デフォルトでは、入力フィーチャクラスの空間参照の [XY許容値] プロパティが使用されます。 | Linear Unit |
gaps (オプション) | ポリゴンで完全に囲まれた出力の領域に、フィーチャを作成するかどうかを指定します。 ギャップは、他のポリゴンで完全に囲まれた出力フィーチャクラスの領域です (フィーチャの交差、または入力ポリゴンの既存の穴から作成)。 これらの領域は無効ではありませんが、分析用に特定できます。 出力内のギャップを特定するには、このパラメーターを NO_GAPS に設定し、ギャップ領域にフィーチャを作成します。 これらのフィーチャを選択するには、値が -1 であるすべての入力フィーチャ FID の値を条件とし、出力フィーチャクラスに対してクエリを実行します。
| Boolean |
コードのサンプル
次の 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 つの方法を示しています。
# 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 個のコアが使用されます。
並列処理は現在、ポリゴンに対するポリゴン、ポリゴンに対するライン、およびポリゴンに対するポイントのオーバーレイ操作でサポートされています。