2016-02-18

出力先フォーマットのパラメーター化 - 基盤地図情報DEMの例

多くの場合、FME によるデータ変換結果の出力先フォーマットはワークスペースの作成時に決定されますが、Generic (Any Format) ライターを使うと、ワークスペースを実行するときのパラメーターとして出力先フォーマットを選ぶこともできるようになります。
ここでは、基盤地図情報数値標高モデル (DEM) をラスターに変換した結果を任意のフォーマットで出力するワークスペース例を掲げます。

FME 2016.0.1.0 build 16174

FME ワークスペース例




















[JP_FGD_DEM] リーダー (カスタムフォーマット): 基盤地図情報DEM (XML形式) をラスターに変換する。
[GENERIC] ライター: Output Format パラメーターで指定されたフォーマットで出力する。

JP_FGD_DEM は FME Store で公開しているカスタムフォーマットで、基盤地図情報DEM (XML形式) をファイル単位でラスターデータに変換してから出力します。カスタムフォーマットは、任意のワークスペースにおいてリーダーと同じ方法で追加、使用できます。

リーダーフィーチャータイプでフォーマット属性 "fme_basename" (拡張子を除くファイル名が格納される) を公開し、ライターフィーチャータイプのフィーチャータイプ名としてそれを選択することにより、拡張子を除いて、変換後のラスターデータファイル名は元の XML ファイル名と同じになります。

Generic (Any Format) ライター (GENERIC) をワークスペースに追加する際には、パラメーターとしてデフォルトの出力先フォーマットを選択します。この例では、GeoTIFF をデフォルトとしました。













この設定でライターを追加すると、ユーザーパラメーター GENERIC_OUTPUT_FORMAT_GENERIC が自動的に作成されるとともに、GENERIC ライターの Output Format パラメーターがそれとリンクします。ワークスペースを実行するときには、このパラメーターによって出力先のフォーマットを指定することができます。

結果: 次の3種類のフォーマットについてそれぞれ実行した結果 (Windows エクスプローラーでのファイル表示)
Esri ASCII Grid: *.asc
ERDAS IMAGINE: *.img
GeoTIFF (Georeferenced Tagged Image File Format): *.tif


















結果: FME Data Inspector による変換後データの表示 (どのフォーマットでも同じ)
基盤地図情報 10mメッシュDEM 2次メッシュ4区画: 513903, 513904, 513913, 513914
三宅島をカバーする範囲


















出力先フォーマット選択用のパラメーターの改良

GENERIC ライターの Output Format パラメーターでは、FME が出力をサポートする全てのフォーマットが選択できます。しかし、この例では、ラスターをサポートしないフォーマットを選択して実行することには意味がありませんし、もし、選択したフォーマットがラスターをサポートしない場合は、実行時に予期しないエラーが生じることもあります。

ワークスペースの作成者、または、内容を熟知しているユーザーだけが実行するのであればこのままでも構いませんが、不特定多数のユーザーが利用することを前提とする場合には、これは望ましくありません。このワークスペースがサポートする出力先フォーマットの種類を決めておき、ユーザーがその中から選択できるようにしておくべきでしょう。

そのためには、選択式の公開パラメーター (Published Parameter) を追加し、ライターの Output Format パラメーターのリンク先をそれに変更します。例えば:


Choice with Alias タイプのパラメーターは、ユーザーに対して表示する選択肢 (Display Name) と、それに対応するパラメーターの値 (Value) のペアを複数定義することができます。

出力先フォーマット選択の場合には、選択肢の構成を編集する画面右下の Import > Writer Format(s) で Writer Gallery (チェックボックス付き) を開き、ひとつ以上のフォーマットを選択してそれらの全称と略称 (識別子) のペアを、選択肢とパラメーターの値のペアとしてインポートすることができます。この例では3つのフォーマット - GeoTIFF, ERDAS IMAGINE, Esri ASCII Grid をインポートしました。

インポートした後、選択肢 (Display Name) の表現や順序は変更しても差し支えありませんが、パラメーターの値 (Value) は FME がフォーマットを識別するために使用するものなので、変更しないでください。

そして、GENERIC ライターの Output Format パラメータのリンク先をこのパラメーターに変更します。このとき、ライター追加時に作成された GENERIC_OUTPUT_FORMAT_GENERIC パラメーターは自動的に削除されます。

























このパラメーターの設定画面では、前述の3種類のフォーマットのうちひとつが選択できるようになります。








FME Server によるデータ変換・ダウンロード

FME Desktop のユーザーであれば、このワークスペースによって基盤地図情報DEMデータ (*.xml) を3種類のフォーマットのラスターデータに変換することができます。さらに、このワークスペースを FME Server にアップロードして Data Download サービスとして実行可能な設定をすると、FME のライセンスを持たない人でも、このワークスペースによるデータ変換を行えるようになります。

FME Server のウェブインターフェースにおけるワークスペースの実行画面は次のようになり、実行結果は zip 圧縮形式でダウンロードできます。

FME Server ウェブインターフェース (ワークスペース実行画面): Microsoft Internet Explorer での表示例
ユーザーのディスクシステムから基盤地図情報DEMデータファイル (*.xml, 複数可) をドラッグ&ドロップまたは選択することによってアップロードし、出力データフォーマットを選択して実行すると、変換結果 (選択したフォーマットのラスターデータファイルを圧縮した zip ファイル) がダウンロードできる。









































このウェブインターフェースは FME Server をインストールした後すぐに使えるようになりますが、他のウェブサイトでも JavaScript などによってパラメーターの設定やリクエスト発行等の仕組みを実装すれば、FME Server にアクセスしてワークスペースを実行することができます (FME Server 側で、他のドメインからのアクセスを許可するための設定をする必要はあります)。

上記例では、ユーザーが基盤地図情報DEMデータファイル (*.xml) を用意して FME Server にアップロードしなければなりませんが、ソースデータはデータベースにストックしておき、ユーザーからのリクエストがあったときにデータベースから必要な部分を抽出して指定されたフォーマットに変換し、ユーザーはその結果をダウンロードする、という仕組みも可能です。

Data Download サービスは FME Server の基本機能のひとつであり、かつ、ポピュラーな FME の利用形態でもあります。欧米では、公的機関のウェブサイトで提供されているデータダウンロードサービスのバックエンドとして FME Server を利用している例が見られます。

0 件のコメント:

コメントを投稿