2015年6月1日月曜日

XMLデータ処理事例 - 国土数値情報

2015-05-30発信

XMLはプラットフォームに依存しないデータ交換用のフォーマットとして広く利用されています。
FMEはXMLおよびGMLなどのXMLベースの標準的なフォーマットをサポートしていますが、あらゆる応用スキーマや仕様をカバーしているわけではありません。
XML文書から読み込んだデータをシステムで利用可能な形態にする、あるいは、他のフォーマットのデータをXML形式に変換するには、応用スキーマ等に従って必要な変換を行うためのデータフローを組み立てる必要があります。

それを行うために多くのトランスフォーマーが用意されていますが、個々の応用スキーマごとにゼロからワークスペースを作成するのは効率的ではありません。
しかし、FMEには、複数のワークスペースで共通するデータフローを部品化する仕組み(カスタムフォーマット、カスタムトランスフォーマー)があります。
その仕組みを利用して、ある分野、用途でのXMLデータ処理における共通のデータフローをあらかじめ部品として用意しておけば、個々の応用スキーマに対応するワークスペースの作成は容易になると考えられます。
その事例として、国土数値情報(JPGIS2.1/GML3.2)に対応する次のような「部品」を作成し、FME Storeで公開しました。

1. カスタムフォーマット

カスタムフォーマットとは、リーダーとして使用できる部品です。
FME Storeで公開されているカスタムフォーマットは、リーダーと全く同じ方法でワークスペースに追加できます(初回の追加時はインターネットに接続している必要があります)。

(1) JPS2_KSJ_VECTOR: Japanese National Land Numerical Information (JPGIS2.1/GML3.2) Vector
国土数値情報ベクターデータ(点、線、面)を読み込み、ジオメトリを作成します。
データの種類ごとに異なる主題属性は標準のXMLリーダーで読み込み、このカスタムフォーマットで読み込んだジオメトリをFeatureMergerなどで結合することにより、ジオメトリと属性を備えた完全なフィーチャーが作成できます。

(2) JPS2_KSJ_MESH: Japanese National Land Numerical Information (JPGIS2.1/GML3.2) Mesh
国土数値情報メッシュデータを読み込み、各メッシュ領域を表す矩形ポリゴン(またはメッシュ中心のポイント)を作成するとともに、メッシュの属性もあわせて抽出します。
属性の数や内容はデータの種類や作成年によって異なりますが、このカスタムフォーマットは、データに記述されている全ての属性を"_data{}"という名前のリスト属性に格納します。
必要に応じて、AttributeRenamerなどでリストの各要素を適切な属性名に変更することができます。

これらのカスタムフォーマットを使用して国土数値情報データを変換するためのワークスペース例(テンプレート)も FME Store で公開しました。
ワークベンチメニュー: File > New で"Create Workspace"画面を開き、左側のペインで FME Store > Pragmatica を選択してください。
画面右上にテンプレートのリスト、右下にリスト内で選択されているテンプレートの説明(英文・和文)が表示されます。
[Choose]ボタンをクリックすると、リスト内で選択されているテンプレートに基づくワークスペースが自動的に作成されます。

2. カスタムトランスフォーマー

カスタムトランスフォーマーとは、標準のトランスフォーマーと同じ方法で使用できる部品です。
FME Storeで公開されているカスタムトランスフォーマーは、標準のトランスフォーマーと全く同じ方法でワークスペースに追加できます(初回の追加時はインターネットに接続している必要があります)。
以下のトランスフォーマーは、Transformer Gallery 内の FME Store / Pragmatica カテゴリに格納されています。

(1) JpKsjPointExtractor
ポイントジオメトリに基づいて、国土数値情報の仕様に準じたXML要素 <gml:Point> を作成します。

(2) JpKsjCurveExtractor
ラインジオメトリに基づいて、国土数値情報の仕様に準じたXML要素 <gml:Curve> を作成します。

(3) JpKsjSurfaceExtractor
ポリゴンジオメトリに基づいて、国土数値情報の仕様に準じたXML要素 <gml:Curve>, <gml:OrientableCurve>, <gml:Surface> を作成します。

これらのトランスフォーマーが作成したジオメトリ部分のXML要素と、応用スキーマに基づいて作成した主題属性のXML要素をひとつのXML文書に書き出せば、国土数値情報データファイルができあがります。
主題属性のXML要素を作成するためのデータフローは応用スキーマごとに定義する必要があります。

-----
国土数値情報は一事例に過ぎません。上記のような手法は、どのような分野、用途においても、XMLデータ処理を効率化するために応用できるものであると考えています。
XMLデータ処理が課題になっている場合は、FMEもひとつの選択肢としてご検討ください。


なお、基盤地図情報に関しては、
- 基本項目は標準のGMLリーダーで読み込めます。
- 数値標高モデル(DEM)はカスタムフォーマット"Japanese Fundamental Geospatial Data (FGD) DEM" (JP_FGD_DEM) でラスターとして読み込めます。

0 件のコメント:

コメントを投稿