サマリー
天空の可視領域を計算し、オプションでテーブルと極座標グラフを生成します。
テーブルとグラフは、観測点からスカイラインの各頂点に向かう水平角と対頂角を表します。
図
使用法
各観測ポイントからスカイラインの各頂点への方位角と対頂角が評価されます。[出力角度テーブル] を指定することで、その方位角と対頂角をスタンドアロン テーブルにエクスポートできます。このテーブルには、次のフィールドが存在します。
- HORIZ_ANG - 水平角
- ZENITH_ANG - 天頂角
[追加フィールド] が選択されている場合は、次のフィールドも存在します。
- FEATURE_ID - 観測ポイントの天空の眺望を妨げるスカイライン フィーチャ
- VERTEX_X - 頂点の X 座標
- VERTEX_Y - 頂点の Y 座標
- VERTEX_Z - 頂点の Z 座標
- DIST_2D - 観測ポイントから頂点までの水平距離
- DIST_3D - 観測ポイントから頂点までの傾斜距離
- [結果] ウィンドウでは、すべての観測ポイントにおける天空の可視領域の平均比率が、天空の可視領域の最小および最大の対頂角と共に返されます。この値は 0 ~ 1 で表されます。たとえば、0.8 はスカイラインの 80 % の可視性を表します。
数学座標の水平角は、90 から方位角を引いた値に等しくなります。また、天頂角は 90 から対頂角を引いた値です。数学座標の水平角は、0 で東、90 で北を表します。天頂角は、90 で水平、0 で真上を表します。
- 天空の可視領域の割合は、常に結果に表示されます。この値は、スカイラインより上の面積をベース表示角度より上の面積で割った値に等しく、スカイラインの方位角範囲内のみで計算されます (ベース表示角度はパラメーターの 1 つで、デフォルト値の 0 は観測ポイントと同じ標高を表します)。
構文
SkylineGraph_3d (in_observer_point_features, in_line_features, {base_visibility_angle}, {additional_fields}, {out_angles_table}, {out_graph})
パラメーター | 説明 | データ タイプ |
in_observer_point_features | 1 つ以上の観測点を含む入力フィーチャ。 | Feature Layer |
in_line_features | スカイラインを表すライン フィーチャ。 | Feature Layer |
base_visibility_angle (オプション) | 天空の可視領域の割合を計算する際に使用するベースライン対頂角。0 は水平を表し、90 は真上を表します。また、-90 は真下を表します。デフォルトは 0 です。 | Double |
additional_fields (オプション) | 角度テーブルに他のフィールドを追加するかどうかを示します。
| Boolean |
out_angles_table (オプション) | 角度を出力するために作成するテーブル。 | Table |
out_graph (オプション) | 名前を指定すると、最初の観測ポイントのスカイライン描写に関する極座標グラフが作成されます。このグラフは、観測ポイントの位置から見える潜在的な天空を示し、その原点は観測ポイントによって定義されています。このグラフを作成するには、テーブルを生成する必要があります。ArcMap、ArcGlobe、または ArcScene でこのツールが実行された場合に限り、グラフが表示されます。 | Graph |
派生した出力
名前 | 説明 | データ タイプ |
out_visibility_ratio |
コードのサンプル
SkylineGraph (スカイライン グラフ) の例 1 (Python ウィンドウ)
次のサンプルは、Python ウィンドウでこのツールを使用する方法を示しています。
import arcpy
from arcpy import env
arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.SkylineGraph_3d("observers.shp", "skyline_outline.shp", 0, "ADDITIONAL_FIELDS", "table.dbf")
SkylineGraph (スカイライン グラフ) の例 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"
inLines = "skyline_outline.shp"
baseVisibility = 25
# Ensure output table has unique name
outTable = arcpy.CreateUniqueName("angles_table.dbf")
#Execute SkylineGraph
arcpy.SkylineGraph_3d(inPts, inLines, 0, "ADDITIONAL_FIELDS", outTable)
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 Desktop Basic: 次のものが必要 3D Analyst
- ArcGIS Desktop Standard: 次のものが必要 3D Analyst
- ArcGIS Desktop Advanced: 次のものが必要 3D Analyst