スカイライン (Skyline) (3D Analyst)

概要

スカイラインまたはシルエット解析の結果を含むラインまたはマルチパッチ フィーチャクラスを生成します。

[スカイライン (Skyline)] ツールの詳細

スカイライン (Skyline)

使用法

  • [スカイライン (Skyline)] ツールでは、フィーチャのシルエットを作成できます。また、[スカイライン バリア (Skyline Barrier)] ツールを使用すると、これらのシルエットをシャドウ ボリュームに立ち上げることができます。詳細については、「[スカイライン (Skyline)] の詳細」をご参照ください。

  • 次のフィールドが、スカイラインを含む出力フィーチャクラスに追加されます。

    • OBSV_PT_ID - スカイラインの作成に使用した観測ポイントの FID。
    • ORIGFTR_ID - 建物などのフィーチャの FID。
  • 次のフィールドが、シルエットを含む出力フィーチャクラスに追加されます。

    • OBSV_PT_ID - シルエットの作成に使用した観測ポイントの FID。
    • ORIGFTR_ID - このシルエットで表される、建物などの元のフィーチャの FID。
    • DIR_VECT_X - 観測ポイントから見た光線の方向を表す単位ベクトルの X 成分。
    • DIR_VECT_Y - 観測ポイントから見た光線の方向を表す単位ベクトルの Y 成分。
    • DIR_VECT_Z - 観測ポイントから見た光線の方向を表す単位ベクトルの Z 成分。
    • FEAT_CTR_X - 元のフィーチャ (建物など) のエンベロープの中心を表す X 成分。
    • FEAT_CTR_Y - フィーチャのエンベロープの中心を表す Y 成分。
    • FEAT_CTR_Z - フィーチャのエンベロープの中心を表す Z 成分。
    • BHND_CTR_X - フィーチャの背後に移動された、フィーチャのエンベロープの中心を表す X 成分。
    • BHND_CTR_Y - フィーチャの背後に移動された、フィーチャのエンベロープの中心を表す Y 成分。
    • BHND_CTR_Z - フィーチャの背後に移動された、フィーチャのエンベロープの中心を表す Z 成分。
    • USED_PARLL - シルエットの作成に平行な光線を使用したかどうかを表します (平行な光線を使用した場合は 1、そうでない場合は 0)。
    • MADE_VERT - 光線に平行ではなく、光線に垂直にシルエットが作成されたかどうかを表します (作成された場合は 1、そうでない場合は 0)。
    • MOVED_BHND - シルエットがフィーチャの背後に移動されているか、そのままフィーチャの中心にあるかを示します (移動された場合は 1、そうでない場合は 0)。

構文

arcpy.3d.Skyline(in_observer_point_features, out_feature_class, {in_surface}, {virtual_surface_radius}, {virtual_surface_elevation}, {in_features}, {feature_lod}, {from_azimuth_value_or_field}, {to_azimuth_value_or_field}, {azimuth_increment_value_or_field}, {max_horizon_radius}, {segment_skyline}, {scale_to_percent}, {scale_according_to}, {scale_method}, {use_curvature}, {use_refraction}, {refraction_factor}, {pyramid_level_resolution}, {create_silhouettes})
パラメーター説明データ タイプ
in_observer_point_features

観測点を表す 3D ポイント。各フィーチャに出力が存在します。

Feature Layer
out_feature_class

スカイラインを表すラインまたはシルエットを表すマルチパッチのいずれかになる 3D フィーチャ。

Feature Class
in_surface
(オプション)

水平線の定義に使用される地形サーフェス。このサーフェスを指定しない場合、virtual_surface_radius パラメーターと virtual_surface_elevation パラメーターを使用する仮想サーフェスが採用されます。

LAS Dataset Layer; Mosaic Layer; Raster Layer; TIN Layer; Terrain Layer
virtual_surface_radius
(オプション)

地形サーフェスを指定しない場合に水平線の定義に使用される仮想サーフェスの半径。デフォルト値は 1,000 メートルです。

以下の単位がサポートされています。

  • UNKNOWN不明
  • INCHESインチ
  • FEETフィート
  • YARDSヤード
  • MILESマイル
  • MILLIMETERSミリメートル
  • CENTIMETERSセンチメートル
  • DECIMETERSデシメートル
  • METERSメートル
  • KILOMETERSキロメートル
Linear Unit
virtual_surface_elevation
(オプション)

実際のサーフェスの代わりに水平線を定義する仮想サーフェスの標高。実際のサーフェスが指定されている場合は無視されます。デフォルトは 0 です。

以下の単位がサポートされています。

  • UNKNOWN不明
  • INCHESインチ
  • FEETフィート
  • YARDSヤード
  • MILESマイル
  • MILLIMETERSミリメートル
  • CENTIMETERSセンチメートル
  • DECIMETERSデシメートル
  • METERSメートル
  • KILOMETERSキロメートル
Linear Unit
in_features
[in_features,...]
(オプション)

スカイラインの決定に使用されるフィーチャ。このフィーチャを指定しない場合、スカイラインは、地形サーフェスまたは仮想サーフェスで定義された水平線のみで構成されます。

Feature Layer
feature_lod
(オプション)

スカイライン解析で各フィーチャを検証する詳細レベル。

  • FULL_DETAILフィーチャ内のすべてのエッジがスカイライン解析で考慮されます (三角形と外部リングのエッジのみが考慮されます)。時間のかかるこの処理は最も正確であり、デフォルトのオプションでもあります。
  • CONVEX_FOOTPRINTスカイライン解析で、フィーチャ内の最も高い頂点まで立ち上げられた各フィーチャのフットプリントの凸包の上側境界が使用されます。
  • ENVELOPE スカイライン解析で、3 次元フィーチャのエンベロープの境界が使用されます。この方法が最も高速です。
String
from_azimuth_value_or_field
(オプション)

スカイライン解析を開始する方位角 (度)。解析は観測ポイントから開始され、[方位角の開始角度] から [方位角の終了角度] に達するまで、右方向に実行されます。-360 より大きく 360 より小さい値を指定する必要があります。デフォルトは 0 です。

Double; Field
to_azimuth_value_or_field
(オプション)

スカイライン解析を終了する方位 (度)。解析は観測ポイントから開始され、[方位角の開始角度] から [方位角の終了角度] に達するまで、右方向に実行されます。[方位角の開始角度] より大きく、360 を超えない値を指定する必要があります。デフォルトは 360 です。

Double; Field
azimuth_increment_value_or_field
(オプション)

スカイライン解析を [方位角の開始角度] から [方位角の終了角度] まで実行するときに、水平線を評価する角度の間隔 (度)。[方位角の終了角度] から [方位角の開始角度] を引いた値以下にする必要があります。デフォルトは 1 です。

Double; Field
max_horizon_radius
(オプション)

水平線を検索する観測位置からの最大距離。0 を指定すると、距離による制限を受けません。デフォルトは 0 です。

以下の単位がサポートされています。

  • UNKNOWN不明
  • INCHESインチ
  • FEETフィート
  • YARDSヤード
  • MILESマイル
  • MILLIMETERSミリメートル
  • CENTIMETERSセンチメートル
  • DECIMETERSデシメートル
  • METERSメートル
  • KILOMETERSキロメートル
Linear Unit
segment_skyline
(オプション)

観測ポイントごとに 1 つのフィーチャを含むスカイラインを生成するのかどうか、つまり、スカイラインに寄与する一意のエレメントで各観測点のスカイラインをセグメントするのかどうかを指定します。

シルエットを生成している場合、このパラメーターは発散光を使用するかどうかを示します。太陽光の陰の場合は、一般的にこのパラメーターを NO_SEGMENT_SKYLINE にします。

  • NO_SEGMENT_SKYLINE各スカイライン フィーチャは 1 つの観測点を表します。これがデフォルトです。
  • SEGMENT_SKYLINE各観測点のスカイラインは、スカイランに寄与する一意のエレメントによってセグメントされます。
Boolean
scale_to_percent
(オプション)

スカイラインの各頂点の、元の対頂角 (水平線からの角度、または仰角) または標高に対する割合を指定します。 0 または 100 を入力した場合はスケールが設定されません。デフォルトは 100 です。

Double
scale_according_to
(オプション)

スケーリングに使用する対象を、次の値で指定します。

  • VERTICAL_ANGLE観測ポイントを基準とした各頂点への対頂角を使用して、スケーリングを行います。これがデフォルトです。
  • ELEVATION観測ポイントを基準とした各頂点の標高を使用して、スケーリングを行います。
String
scale_method
(オプション)

頂点の計算方法。

  • SKYLINE_MAXIMUM対頂角 (または標高) が最も大きい頂点の対頂角 (または標高) を基準にして、各頂点をスケールします。これがデフォルトです。
  • EACH_VERTEX各頂点の元の対頂角 (または標高) を基準にして、各頂点をスケールします。
String
use_curvature
(オプション)

ファンクション サーフェスから尾根線を生成するときに、地球の曲率を考慮するかどうかを指定します。

  • CURVATURE地表の曲率が考慮されます。
  • NO_CURVATURE地表の曲率は考慮されません。これがデフォルトです。
Boolean
use_refraction
(オプション)

ファンクション サーフェスから尾根線を生成するときに、大気差を適用するかどうかを指定します。

  • NO_REFRACTION 大気差は考慮されません。これがデフォルトです。
  • REFRACTION大気差が考慮されます。
Boolean
refraction_factor
(オプション)

大気差を考慮する場合に使用される屈折係数。デフォルトは 0.13 です。

Double
pyramid_level_resolution
(オプション)

このツールが使用するテレイン ピラミッド レベルの Z 許容値またはウィンドウサイズの解像度。デフォルト値は 0 (最大解像度) です。

Double
create_silhouettes
(オプション)

出力フィーチャがスカイラインを表すのか、シルエットを表すのかを指定します。

  • NO_CREATE_SILHOUETTESオフ - 結果のポリライン フィーチャはスカイラインを表します。これがデフォルトです。
  • CREATE_SILHOUETTES結果のポリラインはシルエットを表します。
Boolean

コードのサンプル

Skyline (スカイライン) の例 1 (Python ウィンドウ)

次のサンプルは、Python ウィンドウでこのツールを使用する方法を示しています。

arcpy.env.workspace = "C:/data"
arcpy.Skyline_3d("observers.shp", "skyline_output.shp", "sample.gdb/featuredataset/terrain")
Skyline (スカイライン) の例 2 (スタンドアロン スクリプト)

次のサンプルは、スタンドアロン Python スクリプトでこのツールを使用する方法を示しています。

'''****************************************************************************
Name: Skyline Example
Description: This script demonstrates how to use the 
             Skyline tool.
****************************************************************************'''
# Import system modules
import arcpy

# Set environment settings
arcpy.env.workspace = 'C:/data'

# Set Local Variables
inPts = "observers.shp"

# Make sure output has a unique name
outFC = arcpy.CreateUniqueName("skyline_output.shp")
inSurface = "sample.gdb/featuredataset/terrain"
obstructionFCs = "buildings.shp; billboards.shp"
surfRad = "1000 meters"
surfElev = "100 meters"
LOD = "FULL_DETAIL"
fromAzim = 0
toAzim = 360
incAzim = 1
maxHorizRad = 0
segSky = "SEGMENT_SKYLINE"
scale = 100
scaleAcc = "ELEVATION"
scaleMethod = "SKYLINE_MAXIMUM"

# Execute Skyline
arcpy.Skyline_3d(inPts, outFC, inSurface, surfRad, surfElev, 
                 obstructionFCs, LOD, fromAzim, toAzim, incAzim, 
                 maxHorizRad, segSky, scale, scaleAcc, scaleMethod)

ライセンス情報

  • Basic: 次のものが必要 3D Analyst
  • Standard: 次のものが必要 3D Analyst
  • Advanced: 次のものが必要 3D Analyst

関連トピック