ワークスペースの作成と実行

FMEリファレンス > ワークスペースの作成と実行
最終更新: 2022-1-6 | FME 2021.2.0.1

概要

ワークスペース (Workspaces) は、FME によって実行するデータ変換のプロセスを FME Workbench で定義、保存したファイル (*.fmw) であり、その内容には主に次のコンポーネントが含まれます。

  • リーダーとライター (Readers and Writers): リーダーは、どのフォーマットのどこにあるデータセットをどのように読み込むか、ライターは、変換後のデータをどのフォーマットでどこにどのように出力するかを規定します。
  • トランスフォーマー (Transformers): トランスフォーマーは、データを読み込んでから出力するまでの間で、その構造や内容を変更する方法を規定します。一部には、データを読み込んだり出力したり、新たなデータを作成したりするためのトランスフォーマーもあります。
    参照: トランスフォーマー (Transformers)

目的とするデータ変換を行うために必要なリーダー、ライター、トランスフォーマーをワークスペースに追加し、キャンバスに表示されるオブジェクト (リーダー/ライターフィーチャータイプ, トランスフォーマー) の間を接続してデータフロー (フィーチャーの流れ) を定義することが、ワークスペース作成の主な内容です。

ワークスペースで定義したデータ変換のプロセスは、Workbench のメニューコマンド等によって FME で実行することができます。
FME は、ワークスペースで定義されたデータフローに従い、オブジェクトの間でフィーチャーをひとつずつ受け渡すことによって処理を進め、最後のフィーチャーをライターが書き出してからワークスペース全体の処理を終了します。

ワークスペースの作成

新規ワークスペースの作成

FME Workbench を起動した後、新たなワークスペースの作成を始める方法には次の3通りがあります。

  1. Blank workspace: 何もないワークスペースを作成し、それに必要なリーダー、ライター、トランスフォーマーを追加、接続する。
  2. Generate workspace: リーダーとライターで構成されるワークスペースの骨子を作成し、それをカスタマイズする。
  3. Create workspace from template: テンプレート (ワークスペースのひな形) に基づいてワークスペースを作成し、それをカスタマイズする。

メニュー: File > New またはツールバーので Create Workspace 画面を開き、どの方法でワークスペースの作成を始めるかを選択します。

Blank workspace または Generate workspace によってワークスペースを作成するときは、左のペインで New を選択し、右上のペインで該当するものをダブルクリック、または選択して Choose ボタンをクリックします。

Blank workspace は Workbench を起動した直後の Main キャンバスから始めることもできます。
Generate workspace はメニュー: File > Generate Workspace から始めることもできます。

Create Workspace 画面の左のペインで Recent Templates (最近使用したテンプレート)以下のセクションのカテゴリを選択すると、右上のペインにそのカテゴリに属するテンプレート名が表示されます。
テンプレートに基づいてワークスペースを作成するときは、右上のペインで使用するテンプレート名をダブルクリック、または選択して Choose ボタンをクリックします。
Create Workspace 画面に表示されないテンプレート (*.fmwt) は、メニュー: File > Open で開くことができます。

Workbench キャンバスに Start タブがある場合は、その Create Workspaceアイコンを選択してワークスペースの作成を始めることができます。

以下、目的とするデータ変換を行うために必要なリーダー、ライター、トランスフォーマーをワークスペースに追加し、キャンバスに表示されるオブジェクト (リーダー/ライターフィーチャータイプ、トランスフォーマー) の間を接続することによってデータフローを定義します。

リーダー、ライター、トランスフォーマーの追加やオブジェクト間の接続の順番は任意です。また、未完成のワークスペースでも実行できるので、デバッグをしながら段階的にデータフローを作り上げていくこともできます。

キャンバスではオブジェクトを移動したり位置を揃えたりすることにより、データフローを分かり易く表現することができます。

リーダー/ライターの追加

ワークスペースには必要に応じて任意の数のリーダー、ライターを追加することができます。

キャンバスにはソース/出力先データセットに属するフィーチャータイプがリーダー/ライターフィーチャータイプとして表示されます。
出力先フィーチャータイプのスキーマは、ライターフィーチャータイプのプロパティを編集することによって構成することができます。

トランスフォーマーの追加・データフローの定義

トランスフォーマーをワークスペースに追加し、キャンバス画面上でリーダー/ライターフィーチャータイプ、トランスフォーマーの間を接続することによって、データの構造や内容を変更するためのデータフローを定義することができます。

パラメーターの追加・設定

必要に応じてユーザーパラメーター (User Parameters) を追加して値を設定したり、ワークスペースの基本的な動作を規定するためのワークスペースパラメーター (Workspace Parameters) の既定値を変更したりすることができます。
参照: ユーザーパラメーター (User Parameters)

注釈・ブックマークの追加

ワークスペースには、注釈 (Annotations) やブックマーク (Bookmarks) を追加することができます。
注釈やブックマークの有無、あるいはその内容がワークスペースの実行に影響を及ぼすことはありませんが、特に大規模なワークスペースや再利用することが想定されるワークスペースでは、それらを保守し易くするために有用です。
参照: ブックマーク (Bookmarks)

ワークスペースパラメーターの設定

ワークスペースには、目的や処理内容についての説明、使用方法についての説明、更新履歴などの情報をワークスペースパラメーターに含めることができます。
ワークスペースパラメーターの設定は任意ですが、適切に設定することによってワークスペースの使用性、保守性が高くなります。特に、他のユーザーと共有したり長期間使用したりすることが想定される場合、あるいは、テンプレートとして保存する場合には、使用目的に合わせて、Name(名前)、Password(パスワード)、Description(説明)の項目などを設定することが望まれます。

ワークスペースの保存

Workbench で編集中のワークスペースは、次の3種類のファイルに保存することができます。

ワークスペースファイル *.fmw

メニュー: File > Save (保存する) または File > Save As (名前を付けて保存する) によって、ワークスペースファイル (*.fmw) に保存できます。
保存したワークスペースは メニュー: File > Open (開く) で開くことができ、編集を再開したり、改良・拡張したりすることができます。
最近保存したワークスペースは、メニュー: File > Open Recent から開くこともできます。
なお、*.fmw ファイルはワークベンチファイル (Workbench Files) と呼ばれることもあります。

テンプレートファイル *.fmwt

メニュー: File > Save As Template (テンプレートとして保存する) によって、テンプレートファイル (*.fmwt) として保存できます。

マッピングファイル *.fme

メニュー: File > Save As で開いた Save As (名前をつけて保存) ダイアログボックスでファイルの種類として “FME Mapping Files (*.fme)” を選択することによって、マッピングファイル (*.fme) として保存できます。
マッピングファイルはコマンドベースで変換を実行するのに必要な内容を定義した FME のオリジナルのファイル形式です。ワークスペースファイル (*.fmw) は、マッピングファイルに Workbench のユーザーインターフェースに表示する内容の定義を追加したものに他なりません。
FME Quick Translator やコマンドラインからは fmw, fme どちらの形式でも実行できます。

ワークスペースの実行

ワークスペースを FME で実行する方法はいくつかあります。
どの方法による場合でも、FME はワークスペース (マッピングファイルの部分) で定義されたデータ変換を次の手順で実行します。

  1. マッピングファイル解析 (データ変換プロセスの構成及びユーザーパラメーターの定義)
  2. ログファイルオープン
  3. スタートアップスクリプトが定義されている場合はその実行
  4. データ変換の実行、変換過程及び終了時の各種メッセージのログ出力
  5. ログファイルクローズ
  6. シャットダウンスクリプトが定義されている場合はその実行

FME Workbench による実行

Workbench で開かれているワークスペースは、メニュー: Run 以下のコマンドまたはツールバーのボタンによって実行することができます。
Run Selected 以下のメニュー項目は、Enable Feature Cachingにチェックを入れることにより、カラー表示になり選択可能となるものがあります。また、ワークスペースの処理内容によってはグレーアウトされたままのこともあります。

  Run Workspace     F5設定済みのパラメーターによって実行する。
Rerun Entire WorkspaceShift+F5ワークスペース全体を実行する。
機能キャッシュが有効な場合、最新のものを含め、すべてのキャッシュが再生成される。
Run From SelectedF6選択した部分から実行。
Run Just SelectedShift+F6選択した部分のみ実行。
Run To SelectedShift+F6 選択した部分まで実行。
Run Between SelectedCtrl+Shift+F6選択した部分の間を実行。


ワークスペースを実行すると、変換過程及び結果に関する情報が Translation Log ウィンドウ及びログファイルに出力されます。

メニュー: Run 以下の Enable Feature Counting にチェックを入れることで、実行時の流れをワークスペース上で確認することができます。
実行中のキャンバスでは、オブジェクト間を接続するライン (リンク) 上にそこを通過したフィーチャー数が表示され、進行状況を見ることができます。
変換が終了したときには各リンクを通過したフィーチャー数が確認でき、変換が予期したとおりに行われたかどうかの判断材料のひとつとなります。
また、エラーで中止されたときにはどこに問題があったかを推測するための情報源ともなります。

ワークスペースの実行はツールバーのボタンで中止できます。また、ボタンで一時停止、 ボタンで再開することもできます。
これらの中止ボタン、一時停止ボタンは、ワークスペースの実行中のみ有効です。

注: 中止ボタンで変換を中止した場合、FME が作業用に作成した一時ファイルが削除されずにディスクに残ることがあります。それらの一時ファイルは変換を中止した後、メニュー: Tools > Purge Temporary Files によって削除することができます。

FME Quick Translator による実行

FME Quick Translator のメニュー: File > Runを選択、またはツールバーのボタンをクリックしてファイル選択画面を開き、ワークスペースファイル (*.fmw) またはマッピングファイル (*.fme) を選択することによって、そのファイルで定義されたデータ変換を実行することができます。

ワークスペースに公開 (Published) パラメーターがある場合は実行する前にパラメーター設定画面が開き、パラメーターを確認・設定できます。

FME Quick Translator は FME Desktop に含まれるツールのひとつで、既存のワークスペース/マッピングファイルに基づくデータ変換、または、ソースデータセット (リーダー) と出力先データセット (ライター) を設定してフォーマット変換のみのデータ変換を実行することができます。

コマンドラインからの実行

コマンドラインから次の書式で fme.exe にワークスペースファイル (*.fmw) またはマッピングファイル (*.fme) のパスを渡すことによって、そのファイルで定義されたデータ変換を実行することができます。オプション引数として — (ハイフン2個) をつけたパラメーター名と値のペア (複数可) を渡すことにより、ユーザーパラメーターの値を指定することもできます。
参照: ユーザーパラメーター (User Parameters)

<fme.exe のパス> <ワークスペースまたはマッピングファイルのパス> [--<ユーザーパラメーター名> <値>]*

fme.exe は FME 本体 (データ統合エンジン) の実行ファイルで、FME Desktop インストール先フォルダの直下に格納されています。
パラメーター名と値の間は半角スペースで区切ります。
ファイルパスやパラメーターの値に空白が含まれる場合は、二重引用符 ” ” で括る必要があります。

コマンドラインを記述したバッチファイルによって FME によるデータ変換をバッチ処理で実行することができます。

Workbench でワークスペースを実行したときには次の図のように Translation Log ウィンドウの先頭部分にコマンドラインが表示されるので、バッチファイル作成の参考にすることができます。