2016-06-26

点群からDEMラスターへの変換

点群 (Point Cloud: ポイントクラウド) は複数の点の集合体を表すデータ構造であり、レーザー測量によって計測された地物の立体的な形状のデータを格納、処理する場合などでよく利用されます。

点群に含まれる個々の点はコンポーネント (components) と呼ばれる特性値を持っています。コンポーネントの種類はアプリケーションや目的に応じて異なりますが、点の座標を示す x, y, z コンポーネントはほとんどの点群データに存在し、レーザー測量の点群データならば多くの場合、x, y, z に加えてレーザーパルスのリターン強度を示す intensity、地物等の種類を示す classification などのコンポーネントが存在しています。また、色 (光の三原色) を示す color_red, color_green, color_blue コンポーネントを持つ点群データもあります。

FMEは ASPRS Lidar Data Exchange Format (LAS), Point Cloud XYZ などのメジャーな点群フォーマットをサポートするとともに、点群を加工、変換するための多数のトランスフォーマーを備えています。

点群とラスターの間の変換も容易であり、これまでラスターを点群に変換する処理を含むワークスペース例を紹介したことがありますが、ここでは逆方向の変換の例として、地表の標高を z コンポーネントに記録している点群データをDEMラスターに変換するワークスペース例を掲げます。

FME Knowledge Base > Creating a Raster from a Point Cloud の後半で説明されている内容とほぼ同じであり、ソースデータセットもこの記事で使用されているものと同じ LAS データを使用しました。

ソースデータセット: LAS 形式, FME Data Inspector による 3D 表示
この点群は地表 (classification = 2) の点のみを含んでおり、点間の間隔は密度が高いところで2m前後です。












FME 2016.1.0.1 build 16494


NumericRasterizer による変換

FMEワークスペース例 1
























[LAS] リーダー: LAS形式の点群データを読み込む。
NumericRasterizer: 点群をラスターに変換する。
Inspector: 変換結果を FME Data Inspector に出力する。

NumericRasterizer では、X Cell Spacing, Y Cell Spacing パラメーターによって作成するラスターのセルサイズを指定できます。2m x 2m, 5m x 5m, 10m x 10m の3通りの設定で試した結果は次の図のとおりです。

変換結果: 左からセルサイズ 2m x 2m, 5m x 5m, 10m x 10m












x, y, z コンポーネントを持つ点群データを NumericRasterizer に入力した場合、XY平面に投影したときにセル内に存在する点の z コンポーネントの値をセル値とする数値ラスターが作成されます。

通常、点群データにおける点の配置は不規則でなので、セル内には 0 以上の任意の数の点が存在することになります。NumericRasterizer は、同一のセルに複数の点が存在する場合、データ内に格納されている順番で最後の点の値をそのセルの値として採用し、ひとつも点が存在しないセルには Background Value (背景の値) パラメーターに設定した値を与えます。

ここで、Fill Background with Nodata パラメーターを Yes に設定した場合は背景の値が「データがない」ことを示す Nodata として取り扱われ、FME Data Inspector では透過表示となります。

セルサイズ 2m x 2m の変換結果では、ごま塩のように透過表示 (Nodata) のセルが散在しています。セルサイズを大きくすればセル内に点が存在する確率が高くなり、10m x 10m ではほぼ全域のセルに値が設定されましたが、それでも右下に透過表示の部分が見られます。これは、比較的広い範囲で地表 (classification = 2) の点が存在しない水面であると思われます。


RasterDEMGenerator による変換

FMEワークスペース例 2





















[LAS] リーダー: LAS形式の点群データを読み込む。
RasterDEMGenerator: 点群をラスターに変換する。
Inspector: 変換結果を FME Data Inspector に出力する。

RasterDEMGenerator では、Output DEM X Cell Spacing, Output DEM Y Cell Spacing パラメーターによってセルサイズを指定できます。NumericRasterizer と同様、2m x 2m, 5m x 5m, 10m x 10m の3通りの設定で試しました。

変換結果: 左からセルサイズ 2m x 2m, 5m x 5m, 10m x 10m













RasterDEMGeneretor は、指定されたサイズのセルの中心点について、その周辺の点 (セル内にあるとは限らない) の z 値に基づいて値を求めるので、点が存在しないセルにも値が与えられます。

セル値の求め方には AUTO, PLANAR, CONSTANT の3通りがあり、Interpretation Method (補間方法) パラメーターによって選択できます。これらのオプションは、「基盤地図情報DEMによるラインのドレープ (3Dラインへの変換)」で取り上げた SurfaceModeller や SurfaceDraper トランスフォーマーによるドレープと共通です。
----------
AUTO: PLANAR による補間方法で値が求められるセルではその値、PLANAR では Nodata となるセルでは CONSTANT の方法で求められる値。
PLANAR: 点群の点を頂点とする TIN (不規則三角網) を仮定し、XY平面に投影したときにセル中心点を含む3D三角形の3頂点の座標に基づく補間値をそのセルの値とする。ただし、中心点が TIN の外側に位置するセルの値は Nodata とする。
CONSTANT: XY平面に投影したときにセル中心点に最も近い点の z 値をそのセルの値とする。
----------

PLANAR による補間方法は barycentric interpolation と呼ばれ、セル中心点を通り z 軸に平行な直線と TIN を構成する3D三角形が交わる点の z 値が求められます。

上記の変換結果は AUTO によって実行したものです。ラスター外縁部で濃淡の変化が少なく内側のセルの値と不連続な「枠」のように見える部分は、PALANAR による補間方法では値が求められなかったところですが、CONSTANT の適用結果としても少々疑問です。補間方法としては PLANAR を選択し、この「枠」のような部分は Nodata とした方が良いかも知れません。

0 件のコメント:

コメントを投稿