ユニオン(Union) (解析)
サマリ
入力フィーチャの幾何学的ユニオンを求めます。すべてのフィーチャが、入力フィーチャの属性とともに、出力フィーチャクラスに書き出されます(このとき、フィーチャは重複します)。
図
使用法
-
すべての入力フィーチャクラスおよびフィーチャ レイヤが、ポリゴン ジオメトリである必要があります。
-
[ギャップを許可] パラメータは、[属性を結合] パラメータで ALL または ONLY_FID に設定する場合に使用できます。これによって、結果として生成されるポリゴンによって完全に囲まれた、生成される領域を特定できるようになります。これらのギャップ フィーチャの FID 属性は、すべて -1 になります。
-
入力フィーチャクラスの属性値が出力フィーチャクラスにコピーされます。ただし、[フィーチャ レイヤの作成(Make Feature Layer)] ツールで作成したレイヤを入力として使用し、フィールドの [比率ポリシーの使用] をチェックしている場合は、入力属性値の比率が計算され、出力属性値に適用されます。[比率ポリシーの使用] が有効な場合、オーバーレイ操作でフィーチャが分割されるときは、入力フィーチャの属性値の比率が出力フィーチャの属性に適用されます。入力フィーチャ ジオメトリが分割された比率に基づいて、出力値が決定されます。たとえば、入力ジオメトリが等分割された場合、入力フィーチャの属性値の 2 分の 1 が新しいフィーチャの属性値となります。[比率ポリシーの使用] は数値フィールドにのみ適用されます。
注意:ジオプロセシング ツールは、ジオデータベース フィーチャクラスまたはテーブル フィールドのスプリット ポリシーに従いません。
-
このツールは非常に大きなデータセットをタイル化し、パフォーマンスとスケーラビリティを向上します。詳細については、「大きなデータセットのジオプロセシング」をご参照ください。
-
このツールは、すべての入力がシングルパートの場合でも、出力としてマルチパート フィーチャを作成します。マルチパート フィーチャが望ましくない場合は、出力フィーチャクラスで [マルチパート → シングルパート(Multipart to Singlepart)] ツールを使用します。
ArcView および ArcEditor ライセンスの場合、入力フィーチャクラスまたはレイヤの数が 2 つに制限されます。
構文
パラメータ | 説明 | データ タイプ |
in_features [[in_features, {Rank}],...] |
入力フィーチャクラスまたはレイヤのリストフィーチャ間の距離がクラスタ許容値より小さい場合、低ランクのフィーチャが高ランクのフィーチャにスナップします。最高ランクは 1 です。入力フィーチャのすべてがポリゴンである必要があります。 | Value Table |
out_feature_class |
結果を含めるフィーチャクラス | Feature Class |
join_attributes (オプション) |
入力フィーチャのどの属性を出力フィーチャクラスへ渡すかを指定します。
| String |
cluster_tolerance (オプション) |
すべてのフィーチャ座標(ノードと頂点)の最短距離、および X方向、Y 方向、XY 方向に座標を移動できる距離。 | Linear unit |
gaps (オプション) |
ギャップは、他のポリゴンで完全に囲まれた出力フィーチャクラスの領域です。この状態は無効ではありませんが、できればギャップを検出して、解析してください。出力内のギャップを検出するには、このオプションを NO_GAPS に設定します。ギャップ領域にフィーチャが作成されます。これらのフィーチャを選択するには、値が -1 であるすべての入力フィーチャ FID を条件とし、出力フィーチャクラスに対してクエリを実行します。
| Boolean |
コードのサンプル
次の Python ウィンドウ スクリプトは、イミディエイト モードで Union(ユニオン)関数を使用する方法を示しています。
import arcpy from arcpy import env env.workspace = "C:/data/data/gdb" arcpy.Union_analysis (["well_buff50", "stream_buff200", "waterbody_buff500"], "water_buffers", "NO_FID", 0.0003) arcpy.Union_analysis ([["counties", 2],["parcels", 1],["state", 2]], "state_landinfo")
次のスタンドアロン スクリプトは、Union(ユニオン)関数をスクリプティングに適用する 2 つの方法を示しています。
# unions.py # Purpose: union 3 feature classes # Author: ESRI # Import the system modules import arcpy from arcpy import env # Set the current workspace # (to avoid having to specify the full path to the feature classes each time) 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" clusterTol = 0.0003 arcpy.Union_analysis (inFeatures, outFeatures, "ONLY_FID", clusterTol) # 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.Union_analysis (inFeatures, outFeatures)