2015年6月28日日曜日

FME活用例 - 水系域別河川データセットの作成

2015-06-28発信

一言でいうとFMEは何をするソフトウェアなのか?
この問いには、これまで「データ変換」をするものであると答えてきました。
間違いではないのですが、これに続いて「300以上のフォーマットをサポートしている」と紹介すると、FMEは「フォーマット変換」を目的とするツールであると勘違いされてしまうことが多いように感じています。

FMEが目指しているものを少し丁寧に言うと、「ある用途のために必要なデータセットを作成するうえで、可能な限り既存のデータセットを利用するとともに、データ変換の手順を最大限自動化することにより、そのコストを最小化することである」と言えます。
ここで言う「データセット」とは、ある用途で要求されるスキーマ、フォーマットで作成されたデータの集合のことで、データを格納するファイルの配置やファイル名、あるいはデータベース内のテーブルの構成なども仕様として定められているようなものを指します。
「ある用途」は、データセットが必要とされる場面に応じて、システム、プロジェクト、業務などと言い換えることができます。

FMEが多数のフォーマットをサポートしているのは、フォーマットが異なっていたとしても、既存のデータセットを利用して新たなデータセットを作成する手順を自動化できるようにするためであって、フォーマット変換が最終目的ではありません。
もちろんフォーマット変換のためにFMEは活用できますが、FMEの用途はそれだけではないということをご理解いただきたいと思います。

ここで、フォーマットの変換が伴わなくてもFMEが効果的に利用できる例をひとつ紹介いたします。
あるシステムで、全国の河川について水系域別のデータファイルで構成されたデータセットが必要とされており、国土数値情報の河川データを利用してそのデータセットを構築するというミッションがあったとします。
そのデータセットの要件は次のとおりです。
**********
国土数値情報で提供されている河川データセット: 都道府県別の河川流路(ライン)、流路端点(ポイント)データ(Shape形式)を再編成し、次のようなフォルダ階層で水系域別のデータファイル(Shape形式)を格納したデータセットを作成する。

<水系域別河川データセットルートフォルダ>
  + 端点
    + <サブフォルダ: 水系域コードの先頭2桁>
  + 流路
    + <サブフォルダ: 水系域コードの先頭2桁>

出力先のファイル名は次のように水系域コード(6桁の数字)に流路か端点かを表すサフィクスをつけた名前とし、その先頭2桁が一致するサブフォルダに格納する。
端点ファイル名: "<水系域コード>_N.shp"
流路ファイル名: "<水系域コード>_S.shp"

留意事項
国土数値情報(河川)データは都道府県別ファイルで提供されており、県境付近の流路、端点が複数のファイル間で重複しているところがあるため、水系域別に再編成する際には重複データを削除する。
**********

まず、このミッションをクリアするために、FMEがない場合はどのツールを使い、どんな手順が必要で、どのくらいの時間(コスト)がかかりそうかを想像してみてください。
FMEによるソリューションの概要は次のページに掲げました。
FMEケーススタディ「データセットの再編成 - 水系域別河川データセットの作成」

これは全く架空のミッションですが、ディスクシステム内でのファイルの配置やファイル名の命名法がシステムの仕様として定められているということは、現実にも良くあるのではないでしょうか。
そのようなデータセットを構築する際にも、FMEの利用についてご検討いただければ幸いです。

0 件のコメント:

コメントを投稿