サマリー
入力フィーチャの幾何学的ユニオンを求めます。すべてのフィーチャとその属性が出力フィーチャクラスに書き込まれます。
図
使用法
すべての入力フィーチャクラスおよびフィーチャ レイヤーが、ポリゴン ジオメトリである必要があります。
[ギャップを許可] パラメーターは、[結合する属性] パラメーターの [すべての属性] または [フィーチャ ID のみ] 設定と組み合わせて使用できます。これによって、結果として生成されるポリゴンによって完全に囲まれた、生成される領域を特定できるようになります。これらのギャップ フィーチャの FID 属性は、すべて -1 になります。
出力フィーチャクラスには、各入力フィーチャクラスの FID_<name> 属性が含まれています。たとえば、入力フィーチャクラスの 1 つに Soils という名前が付いている場合、出力フィーチャクラスにも FID_Soils 属性ができます。別の入力フィーチャと交差しない入力フィーチャ (または入力フィーチャの一部) の FID_<name> 値は -1 になります。この場合、交差部分が検出されないユニオンの他のフィーチャクラスの属性値は、出力フィーチャに転送されません。
入力フィーチャクラスの属性値が出力フィーチャクラスにコピーされます。ただし、[フィーチャ レイヤーの作成 (Make Feature Layer)] ツールで作成した 1 つ以上のレイヤーを入力として使用し、フィールドの [比率ポリシーの使用] をオンにしている場合は、入力属性値の比率が計算され、出力属性値に適用されます。[比率ポリシーの使用] が有効な場合、オーバーレイ操作でフィーチャが分割されると、入力フィーチャの属性値の比率が出力フィーチャの属性に適用されます。入力フィーチャ ジオメトリが分割された比率に基づいて、出力値が決定されます。たとえば、入力ジオメトリが等分割された場合は、入力フィーチャの属性値の 1/2 が、新しい各フィーチャの属性値として割り当てられます。[比率ポリシーの使用] は数値フィールドにのみ適用されます。
このツールは非常に大きなデータセットをタイル化し、パフォーマンスとスケーラビリティを向上します。詳細については、「大きなデータセットのジオプロセシング」をご参照ください。
このツールは、すべての入力がシングルパートの場合でも、出力としてマルチパート フィーチャを作成します。マルチパート フィーチャが望ましくない場合は、出力フィーチャクラスで [マルチパート → シングルパート (Multipart to Singlepart)] ツールを使用します。
構文
Union_analysis (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 方向に座標を移動できる距離。 | Linear unit |
gaps (オプション) | ギャップは、他のポリゴンで完全に囲まれた出力フィーチャクラスの領域です。この状態は無効ではありませんが、できればギャップを検出して、解析してください。出力内のギャップを検出するには、このオプションを NO_GAPS に設定します。ギャップ領域にフィーチャが作成されます。これらのフィーチャを選択するには、値が -1 であるすべての入力フィーチャ FID を条件とし、出力フィーチャクラスに対してクエリを実行します。
| Boolean |
コードのサンプル
Union (ユニオン) の例 (Python ウィンドウ)
次の 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 (スタンドアロン スクリプト)
次のスタンドアロン スクリプトは、Union (ユニオン) 関数をスクリプティングに適用する 2 つの方法を示しています。
# unions.py
# Purpose: union 3 feature classes
# 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)
環境
ライセンス情報
- ArcGIS Desktop Basic: 制限付き
- ArcGIS Desktop Standard: 制限付き
- ArcGIS Desktop Advanced: はい