シンメトリカル ディファレンス(Symmetrical Difference) (解析)
サマリ
入力フィーチャにアップデート フィーチャを重ねたとき、互いに重なり合っていないフィーチャまたはフィーチャ部分が出力フィーチャクラスに書き出されます。
図
使用法
-
入力およびアップデートのフィーチャクラスまたはフィーチャ レイヤは、同じジオメトリ タイプである必要があります。
-
入力フィーチャクラスの属性値が出力フィーチャクラスにコピーされます。ただし、[フィーチャ レイヤの作成(Make Feature Layer)] ツールで作成した 1 つ以上のレイヤを入力として使用し、フィールドの [比率ポリシーの使用] をオンにしている場合は、入力属性値の比率が計算され、出力属性値に適用されます。[比率ポリシーの使用] が有効な場合、オーバーレイ操作でフィーチャが分割されると、入力フィーチャの属性値の比率が出力フィーチャの属性に適用されます。入力フィーチャ ジオメトリが分割された比率に基づいて、出力値が決定されます。たとえば、入力ジオメトリが等分割された場合、入力フィーチャの属性値の 2 分の 1 が新しいフィーチャの属性値となります。[比率ポリシーの使用] は数値フィールドにのみ適用されます。
注意:ジオプロセシング ツールは、ジオデータベース フィーチャクラスまたはテーブル フィールドのスプリット ポリシーに従いません。
-
このツールは非常に大きなデータセットをタイル化し、パフォーマンスとスケーラビリティを向上します。詳細については、「大きなデータセットのジオプロセシング」をご参照ください。
-
このツールは、すべての入力がシングルパートの場合でも、出力としてマルチパート フィーチャを作成します。マルチパート フィーチャが望ましくない場合は、出力フィーチャクラスで [マルチパート → シングルパート(Multipart to Singlepart)] ツールを使用します。
構文
パラメータ | 説明 | データ タイプ |
in_features |
入力フィーチャクラスまたはレイヤ。 | Feature Layer |
update_features |
アップデート フィーチャクラスまたはレイヤ。ジオメトリ タイプは入力フィーチャクラスまたはレイヤと同じものである必要があります。 | Feature Layer |
out_feature_class |
結果が書き込まれるフィーチャクラス。 | Feature Class |
join_attributes (オプション) | どの属性を出力フィーチャクラスへ渡すかを指定します。
| String |
cluster_tolerance (オプション) |
すべてのフィーチャ座標(ノードと頂点)の最短距離、および X 方向、Y 方向、XY 方向に座標を移動できる距離。 | Linear unit |
コードのサンプル
次の Python ウィンドウ スクリプトは、イミディエイト モードで SymDiff(シンメトリカル ディファレンス)関数を使用する方法を示しています。
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.SymDiff_analysis("climate.shp", "elevlt250.shp", "C:/output/symdiff.shp", "ALL", 0.001)
次のスタンドアロン スクリプトは、SymDiff(シンメトリカル ディファレンス)関数を使用する方法を示しています。
# Name: SymDiff_Example2.py
# Description: Create symmetrical difference between input and update features
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Set local variables
inFeatures = "climate.shp"
updateFeatures = "elevlt250.shp"
outFeatureClass = "C:/output/symdiff.shp"
clusterTolerance = 0.001
# Execute SymDiff
arcpy.SymDiff_analysis(inFeatures, updateFeatures, outFeatureClass, "ALL",
clusterTolerance)