2015-07-11

ラスターの統合 - モザイク

ラスターの統合には2種類あります。ひとつは、異なる領域の複数のラスターを結合してひとつの大きなラスターに変換すること(モザイク)、もうひとつは、同一の領域の複数のラスターのバンドを結合してひとつのラスターに変換すること(バンド結合)です。ここでは、モザイク処理を行うワークスペース例を掲げます。
FME 2015.1.0.3 build 15485
# バンド結合については「ラスターの統合 - バンド結合」を参照してください。

=====
基盤地図情報 数値標高モデル10mメッシュ(標高) 富士山 データセットに属する全データ(JPGIS/GML形式)をラスターとして読み込み、モザイク処理によってひとつのラスターに変換したうえで、Geotiff形式のラスターデータ、および、XYZ形式のポイントクラウド(点群)データを作成する。
作成するデータの測地系および投影法は WGS84 UTM Zone 54、グリッドサイズは10m×10mとする。

ソースデータ
基盤地図情報ダウンロードサービスサイトよりダウンロードした数値標高モデル10mメッシュ「富士山」
2次メッシュ区画単位、全22ファイル
ダウンロードファイル名: FG-GML-xxxx-xx-dem10a-20080331.xml (xxxx-xxは2次メッシュコード)
測地系: JGD2000, グリッドサイズ: 0.4秒×0.4秒
=====

FMEワークスペース例










[JP_FGD_DEM] リーダー: 基盤地図情報(数値標高モデル)データをラスターとして読み込む。
RasterMosaicker: 入力されたラスターをモザイクしてひとつのラスターに変換する。
Reprojector: 座標変換(測地系・投影法の変換)を行う。
RasterResampler: 画素のサイズを10m×10mに変更する。

[GEOTIFF] ライター: ラスターをGeotiff形式のファイルに出力する。

PointCloudCombiner: 入力されたジオメトリ(この例ではラスター)をポイントクラウドに変換する。
[POINTCLOUDXYZ] ライター: ポイントクラウドをXYZ形式のファイルに出力する。

結果: FME Data Inspector による表示例(左: Geotiff ラスター, 右: XYZ ポイントクラウド)
Data Inspector は、1バンドのラスター(パレットなし)については画素値の相対的な大小関係に基づく濃淡(グレースケール)で表示し、カラー値を持たないポイントクラウドについてはZ値(この例では標高)の相対的な大小関係に基づいて自動的にカラー表示します。


















[JP_FGD_DEM] リーダーは FME Store で公開しているカスタムフォーマットで、基盤地図情報(数値標高モデル)データを1ファイルあたりひとつのラスターフィーチャー(1バンド, 画素値 = 標高)として読み込みます。インターネットに接続していれば、標準のリーダーと同じ方法でワークスペースに追加、利用することができます。

RasterMosaicker でモザイク処理の対象とする全てのラスターは、バンド、パレット、セルサイズなどのプロパティが同じである必要があります。
また、この例は該当しませんが、モザイクすべき複数のラスターが重なっている場合、重なっている領域の画素値は一番最後に入力されたものの値となります。ラスターの入力順をコントロールするのには、順位を示す属性を各ラスターフィーチャーに与えたうえで Sorter トランスフォーマーによってソートする方法があります。

[2017-04-27] FME 2017 以降の RasterMosaicker では、重なっている領域の画素値の決定方法として、最後の入力 (デフォルト) だけでなく、最小値、最大値、平均値、合計、アルファ値による合成の中から選択できます。

Reprojector, RasterResampler では、ラスターの座標変換、リサンプリング(画素数や画素サイズの変更後の画素値の決定)を行う際の画素値の補間方法として、"Interpolation Type" パラメーターによって次の5種類のどれかを選択できます。
Nearest Neighbor: 最近接法
Bilinear: バイリニア法
Bicubic: バイキュービック法
Average 4: 4近傍平均
Average 16: 16近傍平均

この例の RasterResampler トランスフォーマーからの出力について行っているように、トランスフォーマーあるいはリーダーフィーチャータイプの出力ポート直後でデータフローを単純に分岐すると、そこでフィーチャーは分岐の数だけ複製され、それぞれの分岐先に送られます。
「データフローの分岐 - 異なる形式の複数のデータセット作成」も参照してください。

0 件のコメント:

コメントを投稿