ラベル | 説明 | データ タイプ |
入力観測ポイント フィーチャ | 観測ポイントを表す 3D ポイント。 各フィーチャに出力が存在します。 | Feature Layer |
出力フィーチャクラス | スカイラインを表すラインまたはシルエットを表すマルチパッチのいずれかになる 3D フィーチャ。 | Feature Class |
入力サーフェス (オプション) | 水平線の定義に使用される地形サーフェス。 このサーフェスを指定しない場合、[仮想サーフェス半径] パラメーターと [仮想サーフェス標高] パラメーターの値によって定義された仮想サーフェスが使用されます。 | LAS Dataset Layer; Mosaic Layer; Raster Layer; TIN Layer; Terrain Layer |
仮想サーフェス半径 (オプション) | 入力サーフェスを指定しない場合に水平線の定義に使用される仮想サーフェスの半径。 デフォルト値は 1,000 メートルです。 | Linear Unit |
仮想サーフェス標高 (オプション) | 実際のサーフェスの代わりに水平線を定義するのに使用される仮想サーフェスの標高。 このパラメーターは、実際のサーフェスが指定されている場合は無視されます。 デフォルトは 0 です。 | Linear Unit |
入力フィーチャ (オプション) | スカイラインの決定に使用されるフィーチャ。 このフィーチャを指定しない場合、スカイラインは、地形サーフェスまたは仮想サーフェスで定義された水平線のみで構成されます。 | Feature Layer |
フィーチャの詳細レベル (オプション) | 各フィーチャを検証する詳細レベルを指定します。
| String |
方位角の開始角度 (オプション) | スカイライン解析を開始する方向。 この値には -360°~ 360°の範囲のジオメトリ角度を指定します。 デフォルトは 0°で、真北です。 角度値は時計回りに増加するため、90°が真東、180°が真南、270°が真西になります。 同様に、-90°が真西、-180°が真南、-270°が真東になります。 [入力観測ポイント フィーチャ] パラメーター値からの数値フィールドを使用して、観測ポイントごとに開始方向を指定することもできます。 解析は [方位角の終了角度] パラメーター値に達するまで実行されます。 | Double; Field |
方位角の終了角度 (オプション) | スカイライン解析を終了する方位。 この値には -360°~ 360°の範囲のジオメトリ角度を指定します。 解析は観測ポイントから開始され、[方位角の開始角度] パラメーター値から [方位角の終了角度] パラメーター値に達するまで実行されます。 [方位角の開始角度] パラメーター値からの偏差が 360°を超えない値を指定する必要があります。 デフォルトは 360°で、真北です。 たとえば、方位角の開始角度が 0°、方位角の終了角度が 360°の場合、観測ポイントの全周のスカイラインが生成され、方位角の開始角度が 90°、方位角の終了角度が 270°の場合、観測ポイントの南側半周のスカイラインが生成されます。 [入力観測ポイント フィーチャ] パラメーター値からの数値フィールドを使用して、観測ポイントごとに終了方向を指定できます。 | Double; Field |
方位角の増分 (オプション) | スカイライン解析を [方位角の開始角度] パラメーター値から [方位角の終了角度] パラメーター値まで実行するときに、水平線を評価する角度の間隔 (度)。 [方位角の終了角度] の値から [方位角の開始角度] の値を引いた値以下にする必要があります。 デフォルトは 1 です。 | Double; Field |
最大水平半径 (オプション) | 水平線を検索する観測位置からの最大距離。 0 を指定すると、距離による制限を受けません。 デフォルトは 0 です。 | Linear Unit |
スカイラインのセグメント化 (オプション) | 観測ポイントごとに 1 つのフィーチャを含むスカイラインを生成するのかどうか、つまり、スカイラインに寄与する一意のエレメントで各観測ポイントのスカイラインをセグメント化するのかどうかを指定します。 このパラメーターは、1 つ以上のマルチパッチ フィーチャが [入力フィーチャ] パラメーターに指定されている場合のみ使用可能です。 シルエットを生成している場合、このパラメーターは発散光を使用するかどうかを示します。 太陽光の陰の場合は、このパラメーターをオフにします。
| Boolean |
スケール設定 (オプション) | スカイラインの各頂点の、元の対頂角 (水平線からの角度、または仰角) または標高に対する割合。 0 または 100 の値を使用する場合はスケールが設定されません。 デフォルトは 100 です。 | Double |
スケールの基準 (オプション) | スケールの実行方法を指定します。
| String |
スケール方法 (オプション) | スケール計算に使用される頂点を指定します。
| String |
曲率の使用 (オプション) | 尾根線を生成するときに、地球の曲率を使用するかどうかを指定します。 このパラメーターは、[入力サーフェス] パラメーターでラスター サーフェスが指定されている場合にのみ利用可能です。
| Boolean |
屈折率の使用 (オプション) | ファンクション サーフェスから尾根線を生成するときに、大気差を適用するかどうかを指定します。 このオプションは、[入力サーフェス] パラメーターでラスター サーフェスが指定されている場合にのみ利用可能です。
| Boolean |
屈折率 (オプション) | 大気差を適用する場合に使用される屈折係数。 デフォルトは 0.13 です。 | Double |
ピラミッド レベル解像度 (オプション) | 使用されるテレイン ピラミッド レベルの Z 許容値またはウィンドウ サイズの解像度。 デフォルト値は 0 (最大解像度) です。 | Double |
シルエットの作成 (オプション) | 出力フィーチャが、入力データと天空との境界を定義するスカイラインを表すか、観測可能な入力フィーチャの外観を表すシルエットを表すかを指定します。 このオプションは、1 つ以上のマルチパッチ フィーチャが [入力フィーチャ] パラメーターに指定されている場合のみ使用可能です。
| Boolean |
最大半径をフィーチャに適用 (オプション) | [最大水平半径] パラメーター値を入力フィーチャに適用するかどうかを指定します。
| Boolean |
図
使用法
このツールでは、すべての入力データが投影座標系である必要があります。 投影座標系ではない入力フィーチャクラスは、[投影変換 (Project)] ツールを使用して投影変換できます。また、入力ラスター サーフェスは [ラスターの投影変換 (Project Raster)] ツールを使用して投影変換できます。
[スカイラインをセグメント化] パラメーターを使用すると、特定のマルチパッチ フィーチャまたは周囲の標高サーフェスによって定義されるスカイラインの割合を決定できます。 これにより、所定の観測ポイントのスカイラインに対し、特定の場所が寄与するかどうかを理解できるようになります。
このツールでは、フィーチャのシルエットを作成できます。また、[スカイライン バリア (Skyline Barrier)] ツールを使用すると、これらのシルエットをシャドウ ボリュームに立ち上げることができます。 このプロセスで生成されるシャドウは、入力フィーチャのジオメトリからわずかにオフセットした位置に作成されます。 あるいは、[シャドウ ボリューム (Sun Shadow Volume)] ツールを使用して、フィーチャ ジオメトリからフィーチャの高さの下まで伸びるシャドウ ボリュームを生成できます。 [シャドウ頻度 (Sun Shadow Frequency)] ツールを使用して、日差しによってサーフェス上のどの場所に 3D フィーチャの影がさすかを調べることもできます。
次のフィールドが、スカイラインを含む [出力フィーチャクラス] パラメーター値に追加されます。
- 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- 元のフィーチャ (建物など) のエンベロープの中心を表す Z 成分
- 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)
大気差と地球の曲率の修正は、[入力サーフェス] パラメーターの値がラスター データセットの場合のみ適用されます。 サーフェスが TIN、テレイン、または LAS データセットによって定義されている場合、次のツールの 1 つを使用してラスターにデータをエクスポートします。
パラメーター
arcpy.ddd.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}, {apply_max_radius_to_features})
名前 | 説明 | データ タイプ |
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 メートルです。 | Linear Unit |
virtual_surface_elevation (オプション) | 実際のサーフェスの代わりに水平線を定義するのに使用される仮想サーフェスの標高。 このパラメーターは、実際のサーフェスが指定されている場合は無視されます。 デフォルトは 0 です。 | Linear Unit |
in_features [in_features,...] (オプション) | スカイラインの決定に使用されるフィーチャ。 このフィーチャを指定しない場合、スカイラインは、地形サーフェスまたは仮想サーフェスで定義された水平線のみで構成されます。 | Feature Layer |
feature_lod (オプション) | 各フィーチャを検証する詳細レベルを指定します。
| String |
from_azimuth_value_or_field (オプション) | スカイライン解析を開始する方向。 この値には -360°~ 360°の範囲のジオメトリ角度を指定します。 デフォルトは 0°で、真北です。 角度値は時計回りに増加するため、90°が真東、180°が真南、270°が真西になります。 同様に、-90°が真西、-180°が真南、-270°が真東になります。 in_observer_point_features パラメーター値からの数値フィールドを使用して、観測ポイントごとに開始方向を指定することもできます。 解析は to_azimuth_value_or_field パラメーター値に達するまで実行されます。 | Double; Field |
to_azimuth_value_or_field (オプション) | スカイライン解析を終了する方位。 この値には -360°~ 360°の範囲のジオメトリ角度を指定します。 解析は観測ポイントから開始され、from_azimuth_value_or_field パラメーター値から to_azimuth_value_or_field パラメーター値に達するまで実行されます。 from_azimuth_value_or_field パラメーター値からの偏差が 360°を超えない値を指定する必要があります。 デフォルトは 360°で、真北です。 たとえば、方位角の開始角度が 0°、方位角の終了角度が 360°の場合、観測ポイントの全周のスカイラインが生成され、方位角の開始角度が 90°、方位角の終了角度が 270°の場合、観測ポイントの南側半周のスカイラインが生成されます。 in_observer_point_features パラメーター値からの数値フィールドを使用して、観測ポイントごとに終了方向を指定できます。 | Double; Field |
azimuth_increment_value_or_field (オプション) | スカイライン解析を from_azimuth_value_or_field パラメーター値から to_azimuth_value_or_field パラメーター値まで実行するときに、水平線を評価する角度の間隔 (度)。 to_azimuth_value_or_field の値から from_azimuth_value_or_field の値を引いた値以下にする必要があります。 デフォルトは 1 です。 | Double; Field |
max_horizon_radius (オプション) | 水平線を検索する観測位置からの最大距離。 0 を指定すると、距離による制限を受けません。 デフォルトは 0 です。 | Linear Unit |
segment_skyline (オプション) | 観測ポイントごとに 1 つのフィーチャを含むスカイラインを生成するのかどうか、つまり、スカイラインに寄与する一意のエレメントで各観測ポイントのスカイラインをセグメント化するのかどうかを指定します。 このパラメーターは、マルチパッチ フィーチャが in_features パラメーターに指定されている場合のみ使用可能です。 シルエットを生成している場合、このパラメーターは発散光を使用するかどうかを示します。 シャドウの場合は NO_SEGMENT_SKYLINE オプションを使用します。
| Boolean |
scale_to_percent (オプション) | スカイラインの各頂点の、元の対頂角 (水平線からの角度、または仰角) または標高に対する割合。 0 または 100 の値を使用する場合はスケールが設定されません。 デフォルトは 100 です。 | Double |
scale_according_to (オプション) | スケールの実行方法を指定します。
| String |
scale_method (オプション) | スケール計算に使用される頂点を指定します。
| String |
use_curvature (オプション) | ファンクション サーフェスから尾根線を生成するときに、地球の曲率を使用するかどうかを指定します。 このパラメーターは、in_surface パラメーターでラスター サーフェスが指定されている場合にのみ利用可能です。
| Boolean |
use_refraction (オプション) | ファンクション サーフェスから尾根線を生成するときに、大気差を適用するかどうかを指定します。 このオプションは、in_surface パラメーターでラスター サーフェスが指定されている場合にのみ利用可能です。
| Boolean |
refraction_factor (オプション) | 大気差を適用する場合に使用される屈折係数。 デフォルトは 0.13 です。 | Double |
pyramid_level_resolution (オプション) | 使用されるテレイン ピラミッド レベルの Z 許容値またはウィンドウ サイズの解像度。 デフォルト値は 0 (最大解像度) です。 | Double |
create_silhouettes (オプション) | 出力フィーチャが、入力データと天空との境界を定義するスカイラインを表すか、観測可能な入力フィーチャの外観を表すシルエットを表すかを指定します。 このオプションは、1 つ以上のマルチパッチ フィーチャが in_features パラメーターに指定されている場合のみ使用可能です。
| Boolean |
apply_max_radius_to_features (オプション) | max_horizon_radius パラメーター値を入力フィーチャに適用するかどうかを指定します。
| Boolean |
コードのサンプル
次のサンプルは、Python ウィンドウでこのツールを使用する方法を示しています。
arcpy.env.workspace = "C:/data"
arcpy.ddd.Skyline("observers.shp", "skyline_output.shp", "sample.gdb/featuredataset/terrain")
次のサンプルは、スタンドアロン 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.ddd.Skyline(inPts, outFC, inSurface, surfRad, surfElev,
obstructionFCs, LOD, fromAzim, toAzim, incAzim,
maxHorizRad, segSky, scale, scaleAcc, scaleMethod)