概要
シンボル表示された 2 つ以上のフィーチャがグラフィカルに競合する、ポリゴンを作成します。
図
使用法
このツールでは、(ジオメトリでなく) シンボル間の競合を評価します。 入力レイヤーと競合レイヤーは、一致している場合があります。
入力レイヤーをシンボル表示するには、標準シンボルまたはリプレゼンテーション シンボルを使用します。 入力レイヤーには、フィーチャクラス アノテーション (たとえば、シンボルの代替) を含めることができます。 シェープファイル、カバレッジ、および CAD レイヤーも入力として指定できます。
このツールでは次の入力は使用できません。
- CAD アノテーション
- カバレッジ アノテーション
- VPF アノテーション
- ディメンション
- ラスター レイヤー
- ネットワーク データセット
- チャート シンボル
- ドット密度シンボル
- 比例シンボル
- 3D シンボルを含むシンボル
出力フィーチャクラスには、ポリゴンが格納されています。各ポリゴンは、シンボル表示された入力フィーチャとシンボル表示された競合フィーチャとの間のグラフィックス競合領域を表します。 2 つの競合フィーチャに関連付けられているフィーチャ ID は、FID_<input_layer_name> フィールドと FID_<conflict_layer_name> フィールド内の競合ポリゴンとともに格納されます。 競合レイヤーが入力レイヤーと同じ場合、2 番目のフィールド名は、FID_<input_layer_name>_1 となります。 シンボル表現の競合が検出されなければ、出力フィーチャクラスは空になります。
入力と競合のシンボルが一定の距離よりも近づく領域を検出するには、[競合距離] パラメーターを使用します。 シンボルの周囲には、競合距離の値の 1/2 サイズの一時バッファーが作成されます。 これらのバッファーが重なり合う場所ならどこにでも、競合ポリゴンが生成されます。 競合距離がゼロのときは、そのシンボルが実際に重なり合った場所で、競合が検出されます。これがデフォルトです。 競合の計算は基準縮尺に基づきます。 [基準縮尺] 環境設定が設定済みの場合を除き、ArcMap から [シンボル表現の競合を検出 (Detect Graphic Conflict)] ツールにアクセスしたときは、入力レイヤーを格納するデータ フレームの基準縮尺が使用されます。 この環境設定は、このツールを ArcCatalog から実行するように指定しておく必要があります。
ライン端部でのシンボルの重なりを無視するには、[接続ライン許容値] パラメーターを使用します。 このパラメーターは、ライン シンボル端点キャップを使用してラインを目で見て確認できるようにする一方、各インスタンスを競合として検出されないようにしたい場合に便利です。 接続ライン許容値はページ単位で、基準縮尺に関連付けられています。 この長さは、ライン同士の結合位置の中央にある円の半径に等しく、この円の内側ではグラフィックスの重なりが検出されません。デフォルト値は 1 ポイントです。 ライン同士の接続を無視するには、ライン シンボルの線幅の 1/2 以上の値を使用してください。 この場合、許容値がゼロのときはシンボルの重なりを無視しないため、各ラインの結合位置で競合が検出されます。 このパラメーターが考慮されるのは、入力レイヤーと競合レイヤーが一致する場合だけです。
このツールは、シンボル表示されたフィーチャのグラフィックス競合を評価します。 シンボル範囲と基準縮尺は、互いの関連で使用されます。 このツールは、シンボル表示を完成させてから実行してください。そうすることにより、目標とする最終的な出力縮尺に対応した基準縮尺が確実に得られます。
- 大きなデータセットを処理する場合は、メモリの制限を超えることがあります。 このような場合、[カートグラフィック パーティション] 環境設定で、関連するポリゴン フィーチャクラスを特定することによって、パーティション単位で入力データを処理することを検討します。 パーティションの境界によって定義されたデータの一部が順次処理されます。 競合ポリゴンの出力フィーチャクラスは、ポリゴンのエッジでクリップされます。
構文
arcpy.cartography.DetectGraphicConflict(in_features, conflict_features, out_feature_class, {conflict_distance}, {line_connection_allowance})
パラメーター | 説明 | データ タイプ |
in_features | シンボル表示されたフィーチャを格納する入力フィーチャ レイヤー。 CAD アノテーション、カバレッジ アノテーション、VPF アノテーション、ディメンション、チャート、ドット密度シンボル、比例シンボル、ラスター レイヤー、ネットワーク データセット、および 3D シンボルは、ツールの入力として指定できません。 | Layer |
conflict_features | (入力レイヤーでシンボル表示されているフィーチャと競合する可能性のある) シンボル表示されたフィーチャを格納する入力フィーチャ レイヤー | Layer |
out_feature_class | 競合ポリゴンを格納するために作成される出力フィーチャクラス。 入力レイヤーに関連付けられているフィーチャクラスのいずれかを指定することはできません。 | Feature Class |
conflict_distance (オプション) | 入力と競合のシンボルが一定の距離よりも近づく領域。 入力レイヤーと競合レイヤーの両方でシンボルの周囲に、競合距離の値の 1/2 サイズの一時バッファーが作成されます。 これらのバッファーが重なり合う場所には、競合ポリゴンが生成されます。 競合距離は、ページ単位 (ポイント、インチ、ミリメートル、センチメートルのいずれか) で計測されます。 マップ単位で入力した競合距離は、基準縮尺を使用してページ単位に変換されます。 デフォルトの競合距離は 0 です。この場合、バッファーは作成されず、物理的に互いに重なり合うシンボルだけが競合として検出されます。 | Linear Unit |
line_connection_allowance (オプション) | ライン同士の結合位置の中央にある円の半径に等しい長さ。この円の内側ではグラフィックスの重なりが検出されません。 このパラメーターが考慮されるのは、入力レイヤーと競合レイヤーが一致する場合だけです。 許容値がゼロのときは、各ラインの結合位置で競合が検出されます (端点キャップが重なり合う場合)。 接続ライン許容値は、ページ単位 (ポイント、インチ、ミリメートル、センチメートルのいずれか) で計算されます。 マップ単位で入力した許容値は、基準縮尺を使用してページ単位に変換されます。 この値は負にはできません。デフォルト値は 1 ポイントです。 | Linear Unit |
コードのサンプル
DetectGraphicConflict (シンボル表現の競合を検出) の例 1 (Python ウィンドウ)
次の Python ウィンドウ スクリプトは、イミディエイト モードで DetectGraphicConflict 関数を使用する方法を示しています。
import arcpy
arcpy.env.workspace = "C:/data/carto.gdb/buildings"
arcpy.env.referenceScale = "50000"
arcpy.DetectGraphicConflict("footprints.lyr",
"roads.lyr",
"C:/data/carto.gdb/buildings/dgc_polys",
"25 meters",
"0 meters")
DetectGraphicConflict (シンボル表現の競合を検出) の例 2 (スタンドアロン スクリプト)
このスタンドアロン スクリプトは、DetectGraphicConflict 関数の使用例を示しています。
# Name: DetectGraphicConflict_standalone_script.py
# Description: Detects graphic conflicts between
# feature representations and stores
# the overlaps as polygons in
# the output feature class.
# Author: ESRI
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data/cartography.gdb/buildings"
env.referenceScale = "50000"
# Set local variables
in_features = "footprints.lyr"
conflict_features = "roads.lyr"
out_feature_class = "C:/data/carto.gdb/buildings/dgc_polys"
conflict_distance = "25 meters"
line_connection_allowance = "0 meters"
# Execute Detect Graphic Conflict
arcpy.DetectGraphicConflict(in_features,
conflict_features,
out_feature_class,
conflict_distance,
line_connection_allowance)
環境
ライセンス情報
- Basic: いいえ
- Standard: いいえ
- Advanced: はい