建物の競合を解決(Resolve Building Conflicts) (カートグラフィ)

ライセンス レベル:BasicStandardAdvanced

サマリ

建物を移動したり、非表示にしたりすることにより、建物間および線形バリア フィーチャに関するシンボルの競合を解決します。

[建物の競合を解決(Resolve Building Conflicts)] ツールの仕組みの詳細

注意注意:

このツールは出力レイヤを生成しない代わりに、入力レイヤのソース フィーチャクラスを変更します。入力レイヤがリプレゼンテーションで描画された場合(その入力レイヤの編集時の振舞いが、シェープ オーバーライドを格納するように設定されている場合)、変更されたフィーチャはリプレゼンテーションのシェープ オーバーライドとして格納されます。レイヤがリプレゼンテーションで描画されない場合、入力フィーチャのジオメトリが変更されます。競合解決ツールでの作業中は、リプレゼンテーションを使用することを推奨します。この方法で結果が受け入れられない場合、別のパラメータを指定してツールを再実行する場合は、[オーバーライドの解除(Remove Override)] ツールを使用してオーバーライドを解除してください。編集時の振舞いがシェープ オーバーライドを格納するように設定されているリプレゼンテーションを使用していない場合、入力フィーチャのコピーを作成しておくことを強くお勧めします。

リプレゼンテーションの詳細

注意注意:

投影座標系に入力フィーチャが存在しない場合、警告が出されます。このツールは線形距離単位に依存するため、非投影座標系では予期しない結果になります。有効な結果を得るには、投影座標系のデータに対してこのツールを実行することを強くお勧めします。座標系が見つからないか不明な場合、エラーが発生し、ツールの処理は実行されません。

建物の競合を解決(Resolve Building Conflicts)ツール
[建物の競合を解決(Resolve Building Conflicts)] ツールで処理する前後の建物

使用法

構文

ResolveBuildingConflicts_cartography (in_buildings, invisibility_field, in_barriers, building_gap, minimum_size, {hierarchy_field})
パラメータ説明データ タイプ
in_buildings
[in_buildings,...]

競合しているか、許容サイズよりも小さい可能性がある建物フィーチャが含まれる入力レイヤ。建物はポイントまたはポリゴンになります。建物は、他の建物およびバリア フィーチャとの競合を解決するために変更されます。

Layer
invisibility_field

シンボルの競合を解決する目的で、一部の建物を表示から削除するために使用できる非表示の値を格納するフィールド。値 1 の建物は表示から削除する必要があるもの、値 0 の建物は残す必要があるものです。目に見える建物だけを表示するには、レイヤ上でフィルタ設定を使用します。フィーチャは削除されません。

String
in_barriers
[[Layer, Boolean, Linear Unit],...]

入力建物フィーチャの競合バリアとなるライン フィーチャまたはポリゴン フィーチャが含まれるレイヤ。建物は、建物間およびバリア間の競合を解決するために変更されます。方向の値はブール値で、建物をバリア レイヤの方向に合わせる必要があるかどうかを指定します。

ギャップは、建物をバリア レイヤに近づける、またはバリア レイヤから離す距離を指定します。単位を値とともに入力する必要があります。

  • ギャップの値を 0(ゼロ)にすると、建物はバリア ラインまたはシンボル表示のアウトラインのエッジに直接スナップされます。
  • ギャップの値を NULL(指定なし)にした場合は、競合の解決で移動が必要とされない限り、建物をバリア ラインやアウトラインに近づけたり離したりする移動は行われません。

注意注意:

ギャップの値に単位を付けて入力しなかった場合(たとえば 10 Meters ではなく 10 と入力した場合)は、入力フィーチャの座標系の距離単位が使用されます。

Value Table
building_gap

シンボル表示された建物間の縮尺での許容最小距離。近接する建物は、この距離を強制的に確保するために移動されるか、非表示になります。最小許容距離は、基準縮尺に相対的に設定されます(1:50,000 縮尺であれば 15 メートルなど)。基準縮尺が設定されていない場合の値は 0 です。

Linear unit
minimum_size

基準縮尺で描画され、シンボル表示された建物フィーチャをぴったりと囲む長方形の短辺がとりうる最小の長さの最小許容サイズ。長方形の 1 辺がこの値よりも小さい建物は、要件を満たすために拡大されます。サイズ変更は比率を維持しないで行われる場合があり、その結果、建物の形状が変わることがあります。

Linear unit
hierarchy_field
(オプション)

フィーチャの重要度の階層ランクが格納されるフィールド。1 は非常に重要であり、整数が大きくなるほど重要度は低くなります。0(ゼロ)の値は、建物を強制的に表示に残しますが、競合を解決するために建物を移動することは可能です。このパラメータを使用しない場合は、周長とバリア フィーチャまでの近さに基づいて、フィーチャの重要度が評価されます。

String

コードのサンプル

ResolveBuildingConflicts(建物の競合を解決)ツールの例 1(Python ウィンドウ)

次の Python ウィンドウ スクリプトは、イミディエイト モードで ResolveBuildingConflicts(建物の競合を解決)ツールを使用する方法を示しています。

import arcpy
from arcpy import env
env.workspace = "C:/data"
env.referenceScale = "50000"
arcpy.ResolveBuildingConflicts("C:/data/footprints.lyr; \
                               C:/data/bldg_points.lyr",                                
                                "invisible",
                                "'C:/data/roads.lyr' \
                                'true' \
                                '5 Meters'; \
                                'C:/data/trails.lyr' \
                                'false' \
                                '10 Meters'; \
                                'C:/data/streams.lyr' \
                                'false' \
                                '5 Meters'",
                                "10 meters", 
                                "15 meters", 
                                "bldg_hierarchy")
ResolveBuildingConflicts(建物の競合を解決)ツールの例 2(スタンドアロン Python スクリプト)

このスタンドアロン スクリプトは、ResolveBuildingConflicts(建物の競合を解決)ツールの使用例を示しています。

# Name: ResolveBuildingConflicts_standalone_script.py
# Description: Resolves the symbology conflicts between
#              buildings and nearby barriers,
#              in this case - roads
 
# Import system modules
import arcpy
from arcpy import env

# Set environment settings
env.workspace = "C:/data"
env.referenceScale = "50000"

# Set local variables
in_buildings = "C:/data/footprints.lyr;C:/data/bldg_pts.lyr"
invisibility_field = "invisible"
in_barriers = "'C:/data/roads.lyr' 'true' '5 Meters';\
              'C:/data/trails.lyr' 'false' '10 Meters';\
              'C:/data/streams.lyr' 'false' '5 Meters'"
building_gap = "10 meters"
minimum_size = "15 meters"
hierarchy_field = "bldg_hierarchy"

# Execute Resolve Building Conflicts
arcpy.ResolveBuildingConflicts(in_buildings,
                               invisibility_field,
                               in_barriers,
                               building_gap,
                               minimum_size,
                               hierarchy_field)

環境

関連トピック

ライセンス情報

ArcGIS for Desktop Basic: ×
ArcGIS for Desktop Standard: ×
ArcGIS for Desktop Advanced: ○
5/10/2014