2016-02-25

地理院タイルデータの取得 - 西之島付近噴火活動 正射画像の例

国土地理院が公開している地理院地図 (電子国土Web) の地図画像は、「地理院タイル」と呼ばれるウェブマップタイルデータセットの一部です。地理院タイルはウェブアプリケーションユーザーインターフェースの背景画像として容易に利用できますが、地図画像以外にもさまざまな種類のデータが公開されており、それらをディスプレイ画面上に表示するだけでなく、データとして取得することもできれば、地理院タイルの活用の幅がさらに広がると思われます。

FMEでは、ウェブ上で公開されている画像データのURLが既知であれば ImageFetcher などのトランスフォーマーによって簡単に取得できますが、ウェブマップタイルとして提供されている画像を取得するには、まず、必要な地点や区域を含むタイルのURLを求めるためのプロセスが必要になります。また、タイルの画像データ本体には、地理座標系における位置やサイズに関する情報は含まれていないので、地理情報システム用のデータとして利用するには、それらを求めるためのプロセスも必要です。

それらのプロセスを含め、地理院タイルのデータを取得する処理を任意のワークスペースに簡単に組み込めるよう、カスタムトランスフォーマー JpGsiTileFetcher を作成しました。このトランスフォーマーは、入力フィーチャーのジオメトリをカバーする範囲のタイル (パラメーターで指定したデータID、ズームレベルのもの) をラスターとして取得するとともに、EPSG:3857 (Spherical Mercator) における原点座標やセルサイズをそれらに設定します。

FMEサポートサイトでこのトランスフォーマーを公開しましたので、詳細はダウンロードファイルに含まれる readme.txt およびトランスフォーマー定義ファイル (*.fmx) を参照してください。fmx ファイルは Workbench で開き、内容を調べたり編集したりすることができます。
FMEサポート > 国内データ変換のサポート (カスタムトランスフォーマー)
2016-03-08: JpGsiTileFetcher に国土地理院「ベクトルタイル提供実験」で提供されているベクターデータ (道路中心線、鉄道中心線、基盤地図情報など) を取得する機能を追加して更新しました。

ここでは、JpGsiTileFetcher の使用方法を示すため、地理院タイル「西之島付近噴火活動 正射画像」データを取得するワークスペース例を掲げます。

ウィキペディア「西之島」より引用: 西之島(にしのしま)は、小笠原諸島の島(無人島)。海底火山の活動により生じた火山島であり、付近では2015年3月現在も活発な噴火活動が見られる。

FME 2016.0.1.0 build 16174


FME ワークスペース例












[CSV] リーダー: 地理院タイル「西之島付近噴火活動 正射画像」のデータIDを記述したCSVファイルを読み込む。
2DBoxReplacer: 西之島をおおむね取り囲む矩形ポリゴンを作成する。
CoordinateSystemSetter: 矩形ポリゴンに座標系 (LL-WGS84) を設定する。
JpGsiTileFetcher: 矩形ポリゴンをカバーする範囲についてズームレベル15のタイル (画像データ) を取得する。
RasterMosaicker: データIDごとにラスターをモザイク (結合) する。

地理院タイルとして提供されているデータには、その種類を識別するためのデータIDが与えられており、データ取得先URLの構成要素のひとつとして使用されます。詳細については、国土地理院ウェブサイトの「地理院タイル仕様」および「地理院タイル一覧」を参照してください。

現在 (2016-02-25)、2013年12月以降10回の撮影日について地理院タイル「西之島付近噴火活動 正射画像」が公開されており、撮影日ごとのデータIDが割り当てられています。この例では次の6回分について、ズームレベル15の画像データを取得することにしました。データIDの先頭8桁数字は、撮影年月日 (yyyymmdd) と一致しています。
----------
20131217doh
20140216doh
20140704dol
20141204doh
20150301doh
20151209dol
----------

このワークスペースは、テキストファイルに記述したこれらのデータIDを CSV リーダーによって読み込み、西之島を含む範囲 (2DBoxReplacer で矩形ポリゴンとして作成) について、データIDごとに地理院タイル「西之島付近噴火活動 正射画像」データの取得 (JpGsiTileFetcher) とモザイク処理 (RasterMosaicker) を行うことによって、撮影日ごとの画像データを作成します。

ワークスペース例で示した範囲にはライターを含めていませんが、RGBカラー画像の格納をサポートするラスターデータフォーマット用のライターを追加すれば、作成した画像データをファイルに出力することができます。


結果: 地理院タイル「西之島付近噴火活動 正射画像」 6撮影日分 (データID=20131217doh, 20140216doh, 20140704dol, 20141204doh, 20150301doh, 20151209dol) に基づいて作成
撮影日 (データID) ごとに4または9タイルをモザイクした画像を左上から右下に向けて日付順で並べました。縮尺はすべて同じです。時間の経過とともに陸地が拡大している様子がよく分かります。

























西之島の噴火活動に関して、地理院タイルでは画像データだけでなく、「西之島付近噴火活動 標高タイル」 (ズームレベル15) も提供されています。標高タイルは、タイル1区画を 256 x 256 に分割した各セルの標高値をカンマ区切りで列挙したテキストデータですが、JpGsiTileFetcher は、それを1バンド64ビット浮動小数点数のDEM (Digital Elevation Model: 数値標高モデル) ラスターに変換してから出力します。

下図左は「西之島付近噴火活動 標高タイル(2015年12月9日)」を取得した結果 (DEMラスター)、同右はそれをさらに点群 (ポイントクラウド) に変換した結果を FME Data Inspector で表示したものです。右の点群データは、標高差を強調するために標高値を2倍にしています。

地理院タイル「西之島付近噴火活動 標高タイル(2015年12月9日)」 (データID=20151209dd5) に基づいて作成
















次の図は、JpGsiTileFetcher によって取得した「西之島付近噴火活動 標高タイル(2015年12月9日)」DEMラスターを TIN (不規則三角網) サーフィスに変換し、同じワークスペース内でもうひとつの JpGsiTileFetcher によって取得した「西之島付近噴火活動 正射画像(2015年12月9日撮影)」をテクスチャとしてマッピングした結果です。変換結果は FME Data Inspector でも確認できますが、この図は VRML 2.0 (VRML97) ファイルに出力してから Cortona3D Viewer で表示したものです。

地理院タイル「西之島付近噴火活動 標高タイル(2015年12月9日)」 (データID=20151209dd5) および「西之島付近噴火活動 正射画像(2015年12月9日撮影)」 (データID=20151209dol) に基づいて作成

















0 件のコメント:

コメントを投稿