スカイライン (Skyline) の仕組み

[スカイライン (Skyline)] ツールは、天空と、各観測点周辺のサーフェスおよびフィーチャを分離するラインを表す 3D ポリラインを生成します。このツールは、シルエットも作成できます。シルエットは、[スカイライン バリア (Skyline Barrier)] ツールがシャドウ ボリュームを生成するのに使用されます。

観測点だけが指定されている場合、生成されるスカイラインは地平線 (稜線) と呼ばれます。地平線は、方位角オプションで指定された方位角範囲を対象に、観測点から見通しを引くことで生成されます。見通しは、[水平角の増分] ごとにチェックされます。方位角のすべての値は、度で表されます。増分値を小さくするほどサンプリング数が多くなり、より正確な稜線を描くことができます。この稜線は 3D ラインとして生成されます。また、稜線の各頂点は、サンプリングした見通し上の最も遠い可視点に相当します。観測位置から特定の方向を見たとき、サーフェスの端まですべて見通せる場合、見通しがサーフェスの端と交差する位置に頂点が生成されます。[最大水平半径] を指定した場合、頂点は見通し上に配置されますが、観測位置から指定した最大半径までの間に制限されます。

方位角関連の 3 つのパラメーターについては、値を指定する代わりに、[入力観測ポイント フィーチャ] を設定できます。これは、考慮すべき観測点が複数あり、スカイラインを複数作成する場合などに役立ちます。

[入力フィーチャ] は、マルチパッチ、ポリライン、およびポリゴンを組み合わせて指定できます。ポリラインおよびポリゴン フィーチャは、標高情報と立ち上げ情報を持つ 3D レイヤーとしてのみ使用できます。

[入力サーフェス] が指定した場合、[仮想サーフェス] オプションは無視されます。サーフェスを指定せず、[仮想サーフェス半径] を 0 に設定した場合、入力フィーチャで最低の Z 値より少しだけ低い標高の仮想サーフェスが使用され、[仮想サーフェス半径] は観測点から、各フィーチャのエンベロープまでの平均距離に設定されます。

[フィーチャの詳細レベル][FULL_DETAIL] オプションを指定した場合、そのフィーチャ内の (三角形または外部リングを構成する) すべてのエッジが考慮されます。[フィーチャの詳細レベル][CONVEX_FOOTPRINT] の場合、フィーチャのフットプリント (XY 平面上への水平投影) の凸包を表す凸状ポリゴンの上側境界が検出され、そのフィーチャの最も高い頂点まで押し上げられた後で、スカイラインが生成されます。[エンベロープ] を指定した場合、対象フィーチャを囲む矩形ソリッドの上側水平境界によって、スカイライン解析への関与が生成されます。

メモ:

詳細レベルが FULL の場合でも、ツールは建物の張り出しを認識しません。たとえば、フィーチャ内にある非垂直エッジの両端からスカイラインまでの縦線がある場合、それら 2 本の縦線の間にあるすべてのものがフィーチャによって見えなくなります。建物が狭いベース部とタワーのみで構成され、上部が広くなっている場合、スカイラインは布を上部からかぶせたように生成されます。

3D ポリラインには、各頂点の数値 (long 型整数) タグ (ID) が含まれます。シェープファイルに出力する場合は、このタグが保存されません。このタグには、頂点に沿ったポリライン線分に関する情報が格納されます。

[スカイラインをセグメント化] オプションは、スカイラインに影響するフィーチャごとのラインと、それらのフィーチャを繋ぐ移行ラインを作成します。移行ラインは、観測者の視線方向にぴったりと沿っていて、ID フィールドの値は -2 になります。値 -1 は、スカイラインがサーフェスによって定義されていることを示し、0 以上の値は、スカイラインに影響する入力フィーチャを識別します。

[スカイライン (Skyline)] ツールには、スカイラインの頂点の仰角に影響を与える、縮尺に関連した 3 つのパラメーターがあります。

  1. [縮尺設定 (%)] - 元の対頂角に対する割合 (水平線を基準とする角度/仰角)、または頂点を配置する標高を表します。0 または 100 を入力した場合は縮尺が設定されません。どのような数値でも指定できますが、通常は 70 ~ 80 を使用します。
  2. [縮尺の基準] - 縮尺を適用する際に仰角を使用するか、(観測点を基準とする) 角頂点の標高を使用するかを指定します。
  3. [縮尺方法] - 仰角 (または標高) が最大である頂点の仰角 (または標高) を基準にしてすべての頂点を縮尺設定するか、対象となる頂点の元の仰角 (または標高) を基準にするかを指定します。

たとえば、[縮尺設定 (%)] オプションで 80% を指定し、[縮尺の基準][VERTICAL_ANGLE][縮尺方法][SKYLINE_MAXIMUM] を選択した場合、結果は次のようになります。

  1. スカイラインの各頂点について仰角がチェックされ、そのうち最も大きい角度が最大仰角として記憶されます。
  2. 仰角の減少分は、元の最大仰角の 20% (100 から 80 を差し引いた値) になります。
  3. スカイラインの各頂点の高さが下げられ、その頂点の仰角が、最大仰角を持つ頂点について計算した値と同じになるように調整されます。

いずれの場合も、変更されるのは各頂点の Z 値のみで、X と Y は変更されません。つまり、頂点はまっすぐ下方向に移動します (縮尺率が 100% より小さい場合)。

建築制限区域 (BFZ)

建築制限区域 (BFZ) は、対象周辺地域の観測者の視界が失われないように、指定された観測点周辺の構造物が突出することを禁止する空間を表します。BFZ ゾーンは通常、特定の場所からの山脈の眺めを確保します。また、これは、[スカイライン (Skyline)] ツールへの唯一の入力として、標高サーフェスを使用して計算できます。方位角範囲は、対象地域を取り囲むために限定され、縮尺に関連した次のパラメーター設定が使用されます。

  • [縮尺設定 (%)] - 80
  • [縮尺の基準] - VERTICAL_ANGLE
  • [縮尺方法] - SKYLINE_MAXIMUM

生成されたスカイラインは、[スカイライン バリア (Skyline Barrier)] ツールが BFZ のモデルを生成するための入力として使用されます。また、[インターセクト 3D (Intersect 3D)] ツールを使用して、提示された建物が BFZ の中に入るかどうかを判定できます。

シルエットとシャドウ ボリュームの解析

シルエットは、観測点から見て垂直面に投影されたフィーチャの境界線で、[シルエットの作成] オプションを有効にすることで作成できます。シルエットは、[スカイライン バリア (Skyline Barrier)] ツールがシャドウ ボリュームを生成するのに使用されます。

それぞれの入力フィーチャには、観測点ごとに対応するシルエットがあります。たとえば、観測点が 5 つ (太陽の位置が 5 箇所の場合など)、フィーチャ (建物など) が 10 個の場合は、50 のシルエットが作成されます。シルエットはマルチパッチであり、通常は、(観測位置から見て) フィーチャの後ろ側に垂直に配置されます。

シルエットの生成時は、サーフェス入力と方位角コントロールは無視されます。

[スカイラインをセグメント化] オプションを有効にすると、観測点からの発散光を使用してシルエットが作成されます。太陽光のモデリングには平行な光線が必要なため、これは通常、日差しを伴うシャドウ解析には適していません。このため、[スカイラインをセグメント化] パラメーターを無効化する必要があります。

この投影では、観測位置がフィーチャから無限遠にあると見なされ、視線 (光源) が互いに平行になります。つまり、発散光の場合と異なり、観測位置をフィーチャのごく近くに配置しても問題がありません。

光線の正確な方向は、観測点からすべてのフィーチャの中心点になります。この想像上の中心点は次のように計算されます。各フィーチャについて、それを取り囲むエンベロープ (各辺が主軸と平行である矩形外接ボックス) の中心点が計算されます。こうして計算した全フィーチャのすべての中心点を囲むエンベロープの中心点が、すべてのフィーチャの中心点になります。つまり、このツールの 1 回の実行で処理される全フィーチャの光線は、互いに平行になります。

検討事項

[スカイライン (Skyline)] ツールでは、建物の上端に沿って、仰角を非線形に変動させることはできません。近隣建物の上辺の左端点および右端点から等しい距離に観測点があり、その上辺がスカイラインに関与している場合、その辺の仮想中間点の仰角は両端点の仰角より大きくなります。建物が観測位置から遠い場合はほとんど問題になりませんが、建物が観測位置に近い場合は、この影響が顕著になる可能性があります。

関連トピック