建物のフットプリントの高さ情報の取得
概要
建物のフットプリントは、多くのユーザがすぐに入手できる一般的なデータセットです。フットプリントの立ち上げは、ArcGlobe または ArcScene での 3 次元建物を作成する簡単な方法の 1 つです。多くの場合、高さ情報がこれらのポリゴンにすでに関連付けられています。この情報は、建物ごとのフロア数やフットプリントが立ち上げられる絶対高度、または地表面からの相対的な高さとして表されます。その一方で、3 次元建物を構築するために高さ情報を収集しなければならない場合もあります。最初のリターン LIDAR にアクセスできる場合は、各建物の屋上の標高か、または地表面からの各建物の高さを設定できます。
このガイドブックでは、LIDAR の最初のリターンから建物のフットプリントの屋上の標高値と建物の高さを取得する方法について説明します。
LIDAR 情報からのラスタ標高サーフェスの作成
最初に、LIDAR 情報をラスタ標高サーフェスに変換します。ガイドブック「大規模 LIDAR ポイント コレクションからのラスタ DEM および DSM の作成」では、ラスタ標高サーフェスの作成手順を段階的に説明しています。標高サーフェスを作成するときは、建物の標高を求めるのに有効なセル サイズを選択するようにしてください。セルのサイズは、フットプリントのエッジ上の高さの値によって、建物の一部である部分と一部ではない部分が明確に示されるぐらい小さい値でなければなりません。通常、1 メートルが、情報の取得に効果的な大きさのセル サイズになります。
ランダムなポイントから建物のフットプリントの標高を設定
標高レイヤを作成したら、次に、ランダムな位置でサンプリングして建物の標高を求める必要があります。最初に、建物のフットプリントごとにランダムなサンプル ポイントのセットを生成します。ランダムなサンプル ポイントのセットを生成するには、[ランダム ポイントの作成(Create Random Points)] ジオプロセシング ツールを使用できます。これらのポイントは建物のフットプリントによる制限を受け、一意のオブジェクト ID への参照が設定されます。建物のフットプリントごとに作成するポイントの数は任意です。作成するサンプル ポイントの数が多いほど、より正確な平均の高さが得られますが、処理時間は長くなります。サンプル ポイント間の最小距離を設定するときは、サンプリングしているラスタ内のセルのサイズよりも小さい値を設定してはならないことに留意してください。最小距離がサンプリングしているラスタ内のセルのサイズよりも小さい場合は、一部のセルを再サンプリングする結果になりかねません。
結果として、ポイントのグループ(建物ごとに 1 つのグループ)を含む新しいフィーチャクラスが生成されます。それぞれの建物に、このジオプロセシング ツールに指定したサンプル ポイントの総数が含まれているわけではないことに注意してください。このツールは、指定した最小距離を無視しないと新しいポイントを配置できなくなるとポイントの作成を停止します。
[サーフェス情報の追加(Add Surface Information)] ジオプロセシング ツールを使用すると、LIDAR から出力された最初のリターン ラスタ標高サーフェスからの標高情報を属性として各ポイントに追加できます。
これで、[要約統計量(Summary Statistics)] ジオプロセシング ツールを使用して、標高情報を集計し、建物ごとに 1 つの値を生成できます。標高値の集計に使用する統計手法は必要とされる結果のタイプによって異なります。以下のようなものがあります。
- MEAN 統計手法では、建物の屋上の平均的高さが提供され、ビジュアライゼーションに最適な結果になります。
- MAXIMUM 統計手法では、屋上の高さが最高サンプル値に設定され、見通し線解析に使用するのに最適な結果になります。
- MINIMUM 統計手法では、屋上の高さが最低サンプル値に設定され、スカイライン解析に使用するのに最適な結果になります。
- 建物ごとに生成した標高値は、標高値の収集元である標高サーフェス レイヤと同じ単位になります。これらの単位は、建物フットプリント フィーチャクラスに設定されている投影法や鉛直測地基準系の単位に一致しないことがあります。サマリ標高フィールドの単位変換を実施する場合は、[フィールド演算] を使用して、標高値を、使用している鉛直測地基準系や投影法と同じ単位に変換できます。
フットプリントを建物として表示することは、ArcGlobe または ArcScene で 3D シンボルを使用して立ち上げを行うことと同じぐらい簡単です。[レイヤ プロパティ] ダイアログ ボックスを開いて、最初に [レイヤのフィーチャを立ち上げます。ポイントを垂直線に、ラインを壁に、ポリゴンをブロックに立ち上げます。] オプションをオンにします。[式の設定] を使用して、立ち上げに使用する属性を選択します。次に、立ち上げ値の設定時に、必ず立ち上げ方法を [指定した標高値から立ち上げ] に設定します。立ち上げ処理を正常に完了するには、フットプリント レイヤの標高サーフェスを追加して指定する必要があります([レイヤ プロパティ] → [標高] タブ)。これを行わないと、フットプリントが標高 0、すなわち海面から各建物の屋上の標高まで立ち上げられることになります。
- ArcGlobe では、立ち上げの計算に使用されるすべてのフィールドはメートル単位であることを前提としています。[式の設定] を使用して、フィールドに格納されている単位をすべてメートルに変換する必要があることもあります。
建物のフットプリントの高さの決定
建物のフットプリントの屋上を表す標高値を取得したところで、次に、各建物の高さを計算します。これを行うには、地表面上の各建物の標高を求める必要があります。地表面上の建物のフットプリントの標高を求めるには数種類の方法があります。後処理とした、LIDAR の地面データ、または高解像度のデジタル標高モデルにアクセスできる場合は、簡単に各建物のフットプリントの標高情報を収集できます。前述と同じ方法を使用して、各建物のサンプル ポイントを作成し、地表のラスタ サーフェス標高レイヤから標高情報を収集します。それらのサンプルを建物ごとに 1 つの値に集計してから、値を再びソース データに結合します。フィールドを元のデータに追加して、建物の屋上の標高から地表の標高を減算します。この結果、各建物の高さの値が得られます。
- 建物の高さを計算する前に、地表のラスタ標高レイヤと最初のリターン ラスタ標高レイヤの単位が同じであることを必ず確認してください。それらの単位が同じではない場合は、[フィールド演算] による単位変換が必要になる場合があります。
その一方で、最初の建物の屋上の高さを生成するために使用したのと同じ LIDAR の最初のリターン データからサーフェスの標高値を取り出すこともできます。整合性のあるデータ ソースを使用することで、データセット間の不一致によるエラーの発生を防ぐことができます。このため、建物周囲のリングとして第二のサンプル ポイントのセットを生成する必要があります。これらのポイントで、地表面の標高を決めるサンプリングが行われます。
建物のフットプリント周囲にサンプル ポイントのリングを生成する前に考慮すべき 2、3 の事項があります。最初に、生成するサンプル ポイントは、収集される値が建物の高さの影響を受けないように建物から十分に離れている必要があります。このオフセット距離は LIDAR から出力されたラスタ標高サーフェスのセル サイズよりも小さい値であってはなりません。さらに、1 つの建物のサンプル ポイントが隣接する建物にオーバーラップしないよう気を付ける必要があります。これらのサンプル ポイント作成するには、以下の手順を実行します。
- 建物のフットプリントをサーフェスの標高レイヤのラスタ セル サイズをバッファ距離としてバッファ処理します。
- 建物のフットプリントをサーフェスの標高レイヤのラスタ セル サイズの 2 倍の距離だけバッファ処理します。フットプリントごとに一意のポリゴンを必要とするため、[バッファ(Buffer)] ジオプロセシング ツールで [ディゾルブ オプション] を使用しないでください。
- [イレース(Erase)] ジオプロセシング ツールを使用して、ステップ 2 のバッファ処理結果からステップ 1 のバッファ処理結果を消去します。出力は、各建物をリングのセットが取り巻いているような外観になります。
- 前述と同じ方法を使用して、ランダムなポイントのセットを作成します。
最終的に、建物の周囲にあるリングごとにサンプル ポイントのセットが生成されます。この方法では、リングは、互いにオーバーラップすることはあっても建物にはオーバーラップすることはありません。最初のバッファ処理により、すべてのリングが、リングから取得されたサンプル ポイントが建物の屋上の標高の影響を受けないように建物から十分に離れています。
前述の方法により、これらのサンプル ポイントを使用して各建物の地表面の標高値を集計できます。ただし、この場合は MINIMUM 統計手法のみを使用する必要があります。この理由は、植生や道路の設備、または自動車などの追加で収集されたフィーチャが含まれている可能性があるためです。最小限の収集された値を使用すれば、建物のサーフェスの標高を識別する精度が最高に高まります。地表面の標高値を集計したら、前に収集した屋上の標高値からそれらの値を減算して、各建物の高さを求めることができます。
建物の高さをベースにフットプリントを立ち上げるときは、必ず立ち上げ方法を [各フィーチャの最小標高値から立ち上げ] に設定してください。
LIDAR の最初のリターンから出力されたラスタ標高情報のサンプリングを行って、建物の屋上の標高および地表面からの相対的な高さを設定する方法を説明しました。