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

ライセンス レベル:BasicStandardAdvanced

サマリ

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

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

Skyline

使用法

構文

Skyline_3d (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

スカイラインを格納するライン フィーチャクラス。または、フィーチャのシルエットを格納するマルチパッチ フィーチャクラス。

Feature Class
in_surface
(オプション)

水平線を決定するファンクション サーフェス。

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

実際のサーフェスの代わりに水平線を定義する仮想サーフェスの半径。正の値を指定する必要があります。実際のサーフェスが指定されている場合は無視されます。デフォルトは 1,000 です。

Linear Unit
virtual_surface_elevation
(オプション)

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

Linear Unit
in_features
(オプション)

地平線解析に使用されるフィーチャクラス。一般的に、フィーチャは都市の建物などの障害物を表します。

Feature Layer
feature_lod
(オプション)

地平線解析で各フィーチャを検証する詳細レベル。

  • FULL_DETAILフィーチャ内のすべてのエッジが地平線解析で考慮されます(三角形と外部リングのエッジのみが考慮されます)。最も低速ですが、精度は最も高くなります。これはデフォルト設定です。
  • CONVEX_FOOTPRINT地平線解析で考慮される部分は、フィーチャのフットプリントの凸包をフィーチャ内で最も高い頂点の標高まで立ち上げた凸ポリゴンの、上側の境界線を使用して生成されます。
  • ENVELOPE 地平線解析で考慮される部分は、フィーチャを囲む長方形ソリッド(X および Y 軸に対して垂直な面)の、上面の水平な長方形の境界線を使用して生成されます。
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 です。

Double
segment_skyline
(オプション)

各観測ポイントからのスカイラインを表すラインを 1 つだけ生成する代わりに、出力を複数のラインに分割します。これらのラインはそれぞれ別のフィーチャを表すか、フィーチャ間の水平線を表します。シルエットを生成している場合、このパラメータは発散光を使用するかどうかを示します。太陽光の陰の場合は、一般的にこのパラメータを「NO」またはオフにします。

  • NO_SEGMENT_SKYLINE出力 3D ポリラインの結果を分割しません。これはデフォルト設定です。
  • 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
(オプション)

ファンクション サーフェスから尾根線を生成するときに、大気の屈折を考慮するかどうかを指定します。実際のサーフェスを指定していない場合、このチェックボックスをオンにすると(または、Python で「REFRACTION」を指定すると)、スカイラインの代わりにシルエットが作成されます。

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

大気の屈折を考慮する場合に適用するスカラー値。デフォルトは 0.13 です。

Double
pyramid_level_resolution
(オプション)

ファンクション サーフェスにテレインが指定されている場合、このパラメータはテレインに存在する解像度から設定されます。水平線を生成する目的で、解像度のいずれかが選択されます。デフォルト値は 0(最大解像度)です。

Double
create_silhouettes
(オプション)

出力フィーチャが、観測点から見えるシルエットを表すかどうかを指定します。

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

コードのサンプル

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

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

import arcpy
from arcpy import env

arcpy.CheckOutExtension("3D")
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
import exceptions, sys, traceback
from arcpy import env

try:
    # Obtain a license for the ArcGIS 3D Analyst extension
    arcpy.CheckOutExtension('3D')
    # Set environment settings
    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)


except arcpy.ExecuteError:
    print arcpy.GetMessages()
except:
    # Get the traceback object
    tb = sys.exc_info()[2]
    tbinfo = traceback.format_tb(tb)[0]
    # Concatenate error information into message string
    pymsg = 'PYTHON ERRORS:\nTraceback info:\n{0}\nError Info:\n{1}'\
          .format(tbinfo, str(sys.exc_info()[1]))
    msgs = 'ArcPy ERRORS:\n {0}\n'.format(arcpy.GetMessages(2))
    # Return python error messages for script tool or Python Window
    arcpy.AddError(pymsg)
    arcpy.AddError(msgs)

環境

関連トピック

ライセンス情報

ArcGIS for Desktop Basic: 次のものが必要 3D Analyst
ArcGIS for Desktop Standard: 次のものが必要 3D Analyst
ArcGIS for Desktop Advanced: 次のものが必要 3D Analyst
7/28/2014