シンボル表現の競合を検出(Detect Graphic Conflict) (カートグラフィ)
サマリ
シンボル表示された 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 以上の値を使用してください。許容値がゼロのときはシンボルの重なりを無視しないため、各ラインの結合位置で競合が検出されます。このパラメータが考慮されるのは、入力レイヤと競合レイヤが一致する場合だけです。
このツールは、シンボル表示されたフィーチャのグラフィックス競合を評価することによって処理を行います。シンボル範囲と基準縮尺は、互いの関連について考慮されます。このツールは、シンボル表示を完成させてから実行してください。そうすることにより、目標とする最終的な出力縮尺に対応した基準縮尺が確実に得られます。
- 大きなデータセットを処理する場合は、メモリの制限を超えることがあります。このような場合は、[カートグラフィック パーティション] 環境設定で、関連するポリゴン フィーチャクラスを特定することによって、パーティション単位で入力データを処理することを検討します。パーティションの境界によって定義されたデータの一部が順次処理されます。競合ポリゴンの出力フィーチャクラスは、ポリゴンのエッジでクリップされます。
構文
パラメータ | 説明 | データ タイプ |
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 |
コードのサンプル
次の Python ウィンドウ スクリプトは、イミディエイト モードで DetectGraphicConflict(シンボル表現の競合を検出)ツールを使用する方法を示しています。
import arcpy
from arcpy import env
env.workspace = "C:/data/carto.gdb/buildings"
env.referenceScale = "50000"
arcpy.DetectGraphicConflict("footprints.lyr",
"roads.lyr",
"C:/data/carto.gdb/buildings/dgc_polys",
"25 meters",
"0 meters")
このスタンドアロン スクリプトは、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)