2015年7月26日日曜日

複数のデータファイルを一括して読み込む方法

2015-07-26発信

変換の対象とするデータは常にひとつのファイルに格納されているとは限らず、むしろ、複数のファイルの集合で与えられる場合の方が多いと思います。
その場合、ディスク内のフォルダの階層構造はデータを作成したシステムやプロジェクトごとに固有のものであり、一般的なルールはありません。

FMEワークベンチでは、Windows標準のファイル選択画面に加えて、Advanced Browser と呼ばれるファイル選択画面が用意されています。
Advanced Browser では複数のフォルダに分散して格納されているファイルも同時に選択できるので、オリジナルのフォルダ階層構造に手を加えることなく、それらを一括して読み込むための設定が可能になります。

Advanced Browser はFMEワークベンチ独自のものなので、これを活用していただくための参考として、基本的な使い方に関する記事を「FMEケーススタディ」に掲載しました。
複数のデータファイルの一括読込
http://fme-casestudy.blogspot.com/2015/07/blog-post_23.html

この記事では、国土数値情報「行政区域」データ(都道府県別Shapeファイル)を例として、次の4ケースについて全国のデータをひとつのソースデータセットとして読み込む方法を説明しています。
ケース1: ひとつのフォルダ内に全てのファイルが保存されている(サブフォルダなし)
ケース2: ひとつのフォルダ内の地方別のサブフォルダに分けて保存されている
ケース3: ひとつの zip ファイルに全てのファイルがアーカイブされている
ケース4: ひとつのフォルダ内に解凍前の都道府県別 zip ファイルが保存されている

フォルダの階層構造を変更するのは面倒なだけでなく、ミスも起こり易い作業です。
細かいところですが、これを避けることができるということもFMEの利点のひとつであると思います。
ワークスペース作成の際の参考としていただければ幸いです。

なお、多数のデータファイルについて、内容は変更せずに、それらが格納されているフォルダの階層構造やファイル名を変更することだけが求められる場合もあります。
広い意味でのデータ変換であると思いますが、ほとんどの場合、これは[PATH]リーダー、[FILECOPY]ライター、及びいくつかのトランスフォーマーを使って解決できます。
[PATH]リーダー、[FILECOPY]ライターについては、別の機会に改めて取り上げたいと思います。

2015年7月21日火曜日

データベースの利用について

2015-07-21発信

データセットの規模が大きい場合や部分的な更新が頻繁に必要な場合など、データベースによってデータを管理することが効果的なことがあります。
FMEではファイルベースのデータセットと同じ感覚でデータベースを取り扱うことができますが、FMEの使用方法とは別に、DBMS(データベース管理システム)によって少しずつ異なるところがあるデータベースの利用方法に関する基礎的な知識は必要になります。
初めてデータベースを扱おうとする場合には、その点で少し難しさを感じるかも知れません。

FMEがサポートするDBMSのうちPostgreSQL/PostGISは、誰でも無償で利用できるとともに、非空間データベース、空間データベースのどちらにも対応しているので、FMEによるデータベースの利用方法を学ぶうえで最適であると思います。
これからPostgreSQL/PostGISを利用しようとする方の導入時の参考としていただけるよう、次の文書を作成・公開しましたので、ご案内します。
・PostgreSQL/PostGIS のインストールとデータベースの作成
http://www.pragmatica.jp/fme/support/documentation/common/postgresinstallation.pdf
※この文書にアクセスするには、このメール本文の後に記載しているユーザー名、パスワードによる認証が必要です。

また、「FMEケーススタディ」にはPostGISデータベースを利用するFMEワークスペースの例も掲載しましたので、あわせて参考にしていただければ幸いです。
・データベースとの連携 - データベースへのデータ移行
http://fme-casestudy.blogspot.com/2015/07/blog-post_19.html
・データベースとの連携 - データベースからのデータ抽出
http://fme-casestudy.blogspot.com/2015/07/blog-post_20.html

FMEとデータベースを連携して利用できるようになると、FME、データベース双方の活用の幅が格段に広がります。
まだデータベースユーザーでない方は、チャレンジなさることをお勧めいたします。

2015年7月12日日曜日

新企画「FMEケーススタディ」サイト開設

2015-07-12発信

1.「FMEケーススタディ」サイトの開設について

前々回、前回と2回続けて具体的なワークスペース例をご紹介しましたが、それらも含めて、さまざまなワークスペース例をご紹介するための専用サイト「FMEケーススタディ」を設けましたのでご案内します。
FMEケーススタディURL:
http://fme-casestudy.blogspot.com/

このサイトでは、原則としてウェブ上で公開されているデータを素材として具体的なデータ変換・統合のシナリオを想定し、それを実現するためのワークスペース例を掲載していくこととします。
良く使われるトランスフォーマーやそれらの組み合わせの基本的なパターンを取り上げることにより、現実の課題を解決するためのワークスペース作成の参考例になるようにしたいと考えています。

各記事で取り上げるシナリオ・ワークスペース例は、データフロー全体が一目で見渡せるようにはできるだけ簡潔なものとするとともに、短時間で読み切れるように説明は要点のみにしています。
詳細についてご不明な点がありましたらお問い合わせいただくか、「FMEユーザーフォーラム」でご質問ください。
FMEユーザーフォーラムURL:
https://groups.google.com/forum/?hl=ja#!forum/fmers

また、ケーススタディのテーマについてのご要望がありましたらお知らせください。
ご要望に沿った記事も追加していきたいと思います。

-----
2. FMEのバージョン表記方法について

FMEは年1回(通常は1月中旬)メジャーバージョンアップが行われるとともに、年4~5回、小規模な改良や累積的なバグ修正を行ったアップグレードバージョンがリリースされます。
FME 2014までは、年内のアップグレードバージョンはSP(サービスパック)番号で表されていましたが(例: FME 2014 SP5)、FME 2015からは、ドットで区切った番号で表されるようになりました(例: FME 2015.1.0.3)。
この"YYYY.A.B.C"形式での表記のうち、"A"は従来のSP番号に相当し、年4回程度更新されます。
"B"は"A"の更新サイクル以外の時期にアップグレード版をリリースしたとき、"C"は主にホットフィクス(迅速なバグ修正)をリリースしたときに更新されます。

インターネットに接続している状態で FME Workbench を開き、メニュー: Help > Check for Updates を選択すると、使用中のFMEがその年の最新版であるかどうかが確認できます。
最新版は次のページからダウンロードでき、FME年間保守(または評価版ライセンス)の有効期間内であればいつでもアップグレードできます。
FMEダウンロードページURL:
http://www.safe.com/support/support-resources/fme-downloads/

"B"と"C"の更新は不定期なので時々チェックし、できるだけ最新版をご利用になることをお勧めします。

2015年7月5日日曜日

テーブル結合を伴うワークスペース例

2015-07-05発信


データ統合 - 既存の複数のデータセットからデータを抽出・統合して新たなデータセットを作成することは、FMEの典型的な用途のひとつです。
多くの場合、データ統合の過程ではデータベースの世界で言うところのテーブル結合に相当する処理が必要になり、それがデータ統合の要(かなめ)であるケースも多いと思われます。
今回は次の例によって、FMEでテーブル結合に相当する処理を行うための基本的な方法を紹介いたします。
=====
平成22年国勢調査の人口、世帯数の市区町村別集計表(CSV形式)と調査時点の市区町村の区域を表すGISポリゴンデータ(Shape形式)に基づき、人口、世帯数を属性として持つ市区町村ポリゴンデータ(KML形式, 都道府県別レイヤ)を作成する。

ソースデータセット
(1) 平成22年国勢調査による市区町村別人口、世帯数集計結果
e-Stat 政府統計の総合窓口からダウンロードした「男女別人口及び世帯の種類(2区分)別世帯数」テーブル(CSV 形式, 全国1ファイル)
e-Stat 政府統計の総合窓口
平成22年国勢調査 > 人口等基本集計(男女・年齢・配偶関係,世帯の構成,住居の状態など)> 全国結果
総人口・総世帯数 表番号2「男女別人口及び世帯の種類(2区分)別世帯数」

(2) 平成22年国勢調査時点(2010年10月1日現在)の市区町村ポリゴンデータ
次のツールによって作成した2010年10月1日現在の市区町村ポリゴン(Esri Shape 形式, 全国1ファイル)
Municipality Map Maker ウェブ版 市区町村区域のGISデータ生成ツール
=====

これらのソースデータセットから読み込まれるCSVレコード、ポリゴンはどちらも市区町村コードを属性として持っているので、それが一致することを条件としてCSVの各レコードを対応する市区町村ポリゴンに結合することができます。
これがテーブル結合に相当するもので、FMEでは、FeatureMerger などのトランスフォーマーによってそれが実現されます。

具体的なワークスペースの例は次のページに掲載しましたので、ご参照ください。
FMEケーススタディ「属性結合の基本的な方法」
-----
FMEが多数のフォーマットをサポートし、多種多様なデータ変換機能を備えているということは、統合前の複数のデータセットの間、あるいは、統合前後のデータセットの間でフォーマットが異なっていたとしても、データ抽出、加工、スキーマ変更といったデータ統合に必要な一連のプロセスをひとつのワークスペースで定義・実行できる可能性が高いということを意味します。
データ統合のための全プロセスがひとつのワークスペースで完結できるならば、いくつかの工程に分割して作業分担するよりもはるかに効率的であり、工程ごとに生じる中間データや全体の進捗を管理するためのコストも不要になります。
データセットの多様性、データ変換の複雑さが増せば当然、ワークスペースも複雑で大規模なものになりますが、それによってもたらされる効果もそれだけ大きくなると考えられます。