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

サマリ

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

[スカイライン(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 ウィンドウ)

The following sample demonstrates the use of this tool in the Python window:

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(スタンドアロン スクリプト)

The following sample demonstrates the use of this tool in a stand-alone Python script:

'''****************************************************************************
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)

環境

関連項目

ライセンス情報

ArcView: 必須 3D Analyst
ArcEditor: 必須 3D Analyst
ArcInfo: 必須 3D Analyst

7/10/2012