• 検索結果がありません。

FME Desktop クィックスタートガイド ( 作成時バージョン : FME ) Takashi Iijima, FME Certified Professional, pragmatica inc. 実習 2 データフォーマットの変換 実習 1 と同じソースデータ "mmm2015

N/A
N/A
Protected

Academic year: 2021

シェア "FME Desktop クィックスタートガイド ( 作成時バージョン : FME ) Takashi Iijima, FME Certified Professional, pragmatica inc. 実習 2 データフォーマットの変換 実習 1 と同じソースデータ "mmm2015"

Copied!
14
0
0

読み込み中.... (全文を見る)

全文

(1)

2-1

FME Desktop クィックスタートガイド(作成時バージョン: FME 2018.1) Takashi Iijima, FME Certified Professional, pragmatica inc.

実習 2 データフォーマットの変換

実習 1 と同じソースデータ"mmm20151001.shp"(Esri Shapefile 形式の市区町村区域ポリゴンデー タ)を読み込み、他の GIS フォーマットに変換してファイルに出力するためのワークスペースを作成 します。変換先のフォーマットは MapInfo TAB (MITAB) 形式とします。

また、フォーマットの変換とあわせて、フィーチャータイプ名、属性名なども変更します。 2-1. リーダーの追加と属性の確認 FME Workbench を起動し、実習 1 と同じ方法でソースデータを読み込むためのリーダーをワークス ペースに追加してください。実習 1 で作成したワークスペースを開き、Inspector を削除した状態から スタートしても構いません。 プロパティボタン(リーダーフィーチャータイプ右側の歯車アイコン)をクリックして Feature Type 画面を開き、User Attributes タブを表示させてください。 実習 1 では属性の名前と意味のみ確認しましたが、ここではデータ型も確認します。

(2)

ソースデータの属性

属性名 Type Width Precision 意味

NO number 11 0 データの番号 DATE char 8 指定した時点 JISCODE number 11 0 市区町村コード PNAME char 12 都道府県名 GNAME char 30 政令市・郡・支庁・振興局名 CNAME char 21 市区町村名

NAME char 42 GNAME と CNAME を連結したもの

データ型の名前や意味はフォーマットによって異なります。ここで表示されているデータ型は Esri Shapefile の仕様に準じたものであり、number は数値(Width は桁数、Precision は小数部の桁数)、 char は文字列(Width はバイト数)を表します。

Annotation (注釈) と Summary Annotation (サマリー注釈)

キャンバス上のオブジェクトを右クリックして表示されるメニューで Attach Annotation コマンドを 選択すると、下図(左)のように Annotation(注釈)が表示されます。注釈表示部分をダブルクリッ クするとテキスト編集モードになり、注釈の内容を編集できます。

また、Show Summary Annotation コマンドを選択すると、下図(右)のように、主要なパラメータ ー等が Summary Annotation(サマリー注釈)として表示されます。サマリー注釈は編集できませんが、 右クリック > Convert to Attached Annotation(一般の注釈に変換)によって、編集可能な一般の注釈 に変換できます(一般の注釈からサマリー注釈への変換はできません)。

Annotation を削除するには右クリック> Delete、Summary Annotation を非表示にするには右クリッ ク> Hide を選択します。 これらの注釈表示機能は、後述するライターフィーチャータイプやトランスフォーマーでも同様で す。また、キャンバス上の任意の場所で右クリックして表示されるメニューで Insert Annotation を選 択すると、オブジェクトから独立した Annotation(注釈)を作成・編集できます。 これらを適宜使用してワークスペース作成者の意図やデータフローの意味などのコメントを付け加 えることにより、保守がし易くなります。以後、このガイドでは注釈を表示した状態の図を掲載する ことがあります。

(3)

2-3

2-2. ライターの追加(Manual モード)と出力先スキーマの編集

次の手順で変換先のフォーマットに対応するライターとライターフィーチャータイプをワークスペ ースに追加します。

(1) Add Writer

Workbench メニューWriters > Add Writer を選択し、Add Writer 画面を開いてください。

(2) フォーマットの選択

Format 入力フィールド右端の▼ボタンをクリックすると、次の図ようにドロップダウンリストが表 示され、最近使ったフォーマット名が表示されます。

リスト内に出力先のフォーマット名(この実習では MapInfo TAB (MITAB))があればそれを選択し てください。

なければリスト最後の More Formats を選択してください。次の図のような Writer Gallery が表示さ れるので、その中からフォーマットを選択することができます。

(4)

Writer Gallery 画面

Search フィールドに"mitab"と入力し、"MapInfo TAB (MITAB)"に絞り込んだ状態

(5)

2-5 (3) データセットの設定 変換後の MapInfo TAB 形式ファイル出力先のフォルダを設定します。 Dataset 入力フィールド右側の[…]ボタンをクリックして既存のフォルダを選択するか、または、入 力フィールドを直接編集してフォルダを指定してください。 存在しないフォルダを指定しても構いません。その場合は、ワークスペースを実行した時にそのフ ォルダが自動的に作成されます。 データセットとフィーチャータイプ データセット、フィーチャータイプ(レイヤ)と物理的なデータの保存形態の関係はフォーマット によって異なります。

Esri Shapefile 形式や MapInfo TAB 形式の場合はフォルダがデータセット、そのフォルダに保存され るファイルがフィーチャータイプに対応しますが、ファイルがデータセット、そのファイルに格納さ れるレイヤがフィーチャータイプに対応するフォーマットもあります。 詳しくは次のドキュメントを参照してください。 データセットとフィーチャータイプ http://www.pragmatica.jp/fme/references/BasicDatasetAndFeatureType.html (4) 出力先スキーマの編集

Add Writer 画面下部の Add Feature Type(s) / Table Definition フィールド右端の▼をクリックして、 ドロップダウンリストを開いてください。

(6)

いくつかの選択肢がありますが、ここでは Manual(フィーチャータイプを作成し、そのスキーマを 手動で定義する)を使用することにします。

次の図のように Add Feature Types(s)で Manual を選択してください。

この設定で Add Writer 画面を OK で閉じると、次のような Feature Type 画面が開きます。

引き続き、この画面で出力先のフィーチャータイプ(「ライターフィーチャータイプ」とも呼ばれま す)のスキーマ(フィーチャータイプ名や属性など)を編集します。一旦 OK で閉じてライターを追 加した後、この Feature Type 画面を再度開いて編集することもできます。

(7)

2-7

1) フィーチャータイプ名(MapInfo TAB 形式の場合はファイル名と同じ)の設定

Parameters タブ General グループの Table Name フィールドに、出力先のフィーチャータイプ名を 入力します。「20151001 全国市区町村」としましょう。

なお、フィーチャータイプ名を設定するフィールド名(MapInfo TAB では"Table Name")は、フォ ーマットによって異なります。また、MapInfo TAB の場合は不要ですが、フォーマットによっては、 Geometry パラメーターで出力するジオメトリのタイプの指定が必要なものもあります。

2) 属性の定義

(8)

Name(属性名)、Width(桁数)、Precision(十進数型の場合の小数部桁数)はリスト内で直接編集 することができ、Type(データ型)はドロップダウンリストで選択できます。 また、左下の各ボタンによって、このリストへの行の追加、削除、順序の変更ができます。これら のボタンはライターフィーチャータイプだけでなく、ワークスペース作成のさまざまな場面で出てき ますので、ここで記号と意味を覚えてください。 左から:追加, 削除, 上に移動, 下に移動, 先頭に移動, 末尾に移動 Type(データ型)の選択肢は、フォーマットによって異なります。属性の意味と記述形式に適合し ていれば、ソースデータの対応する属性のデータ型と一致している必要はありません。 属性の構成、属性名、データ型は、実務では出力先データセットの用途やデータの内容に応じて慎 重に検討する必要がありますが、ここではあまり深く考えず、次のように設定することにします。 ソース属性名 出力先属性名 Type Width Precision

NO 番号 integer DATE 年月日 date JISCODE 市区町村コード char 5 PNAME 都道府県名 char 12 GNAME 政令市・郡・支庁・振興局名 char 30 CNAME 市区町村名 char 30 NAME (不使用) これらを User Attributes タブで設定した結果は、次の図のとおりです。 (5) ライターの追加

Feature Type 画面を OK ボタンで閉じると、ワークスペースに MITAB 形式のライター、及びライタ ーフィーチャータイプが追加されます。

(9)

2-9

Navigator ウィンドウでライター"output [MITAB]"が追加されたことを確認してください。Navigator ウィンドウのツリーでは、上からリーダー、ライターの順に表示されます。

また、キャンバス上に次のようなオブジェクトがひとつ現れたことも確認してください。これが先 ほどスキーマを定義した出力先のライターフィーチャータイプを表しています。

キャンバス上のオブジェクトは、ドラッグ・アンド・ドロップによって任意の位置に移動すること ができます。リーダーフィーチャータイプとライターフィーチャータイプを並べてみましょう。

(10)

2-3. フィーチャータイプのマッピング データフォーマットの変換は、リーダーフィーチャータイプとライターフィーチャータイプの間、 及び、それらの個々の属性の間の対応づけを定義することで実現できます。 フィーチャータイプや属性同士の対応づけをすることを「マッピング」と言います。すでにリーダ ーフィーチャータイプとライターフィーチャータイプがひとつずつあるので、これらの間のマッピン グをすれば、データフォーマット変換のためのワークスペースは完成します。 キャンバスに表示されているオブジェクトの右端または左端に、右向きの小さな三角形のアイコン が表示されているのを確認してください。 この三角形のアイコンがオブジェクトへの出入り口を表しており、オブジェクトから右に出て行く 方向のものを「出力ポート」、左から入ってくる方向のものを「入力ポート」と呼んでいます。 リーダーフィーチャータイプには出力ポートがひとつ、ライターフィーチャータイプには入力ポー トがひとつあります。 マッピングは、入出力ポート間を接続することによって行います。 まず、リーダーフィーチャータイプの出力ポート(黄色)とライターフィーチャータイプの入力ポ ート(赤色)の間をドラッグ・アンド・ドロップして接続してください。 接続した間を結ぶ黒いラインが表示されました。オブジェクト間を接続するラインを「リンク」と 呼ぶこともあります。 また、接続済みの入出力ポートが緑色に変わるとともに、属性リストの各項目にも入出力ポートが 現れました。ポートの色は、次のようにそのポートの接続の状態を表します。 黄:未接続の出力ポート 赤:未接続の入力ポート 緑:接続済みの入出力ポート 次に、属性のマッピングをします。対応づけをする属性間を接続してください。方法はフィーチャ ータイプ間の接続と同じです。

(11)

2-11

これでマッピングは完了しました。すなわち、データフォーマット変換のためのワークスペースは 完成です。名前をつけてファイルに保存しておきましょう。

Workbench メニュー File > Save As

なお、リンクを削除するには、リンクを右クリックして表示されるメニューで Delete を選択するか、 または、リンクの一端をキャンバス上の何もないところにドラッグ・アンド・ドロップします。 属性のマッピング方法 本文では、リーダーフィーチャータイプとライターフィーチャータイプの間で属性をマッピングす るのに、それらの入出力ポートをひとつひとつ接続しましたが、次のような方法もあります。 1. AttributeManager を挿入する ライターフィーチャータイプの入力ポートに接続しているライン(リンク)の右クリックメニュー で Replace Link with AttributeManager (AttributeManager を挿入) を選択すると、そのリンクに AttributeManager トランスフォーマーが挿入されるので、そのパラメーター設定画面を開き、属性名 を出力側の属性名に変更します(入力側の属性名が出力側の属性名と同じにすれば、自動的にマッピ ングされます)。

2. ライターフィーチャータイプのユーザー属性に値を直接設定する

ライターフィーチャータイプの Feature Type 画面 User Attributes タブで、各属性の Value(値)列 で入力側の属性を選択することにより、対応づけることもできます。Value 列には属性だけでなく、式 や定数を設定することもできます。

(12)

2-4. ワークスペースの実行

ワークスペースを実行してください。

キャンバス上では、リーダーフィーチャータイプからライターフィーチャータイプに送られたフィ ーチャーの数がリンク上に表示されました。

ログでは、書き込まれたフィーチャー数、読み込んだフィーチャー数などが確認できます。 Feature output statistics for `MITAB' writer using keyword `MITAB_1':

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Features Written

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 20151001 全国市区町村 (20151001 全国市区町村) 1899

============================================================================== Total Features Written 1899

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Features Read Summary

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- mmm20151001 1899

============================================================================== Total Features Read 1899

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Features Written Summary

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 20151001 全国市区町村 1899

============================================================================== Total Features Written 1899

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Translation was SUCCESSFUL with 1 warning(s) (1899 feature(s) output)

FME Session Duration: 2.6 seconds. (CPU: 2.3s user, 0.3s system)

END - ProcessID: 10048, peak process memory usage: 87044 kB, current process memory usage: 87044 kB

Translation was SUCCESSFUL

ログの最後の行に"Translation was SUCCESSFUL"と表示されていれば、変換は成功です。 Windows エクスプローラーでも、出力先ファイルが作成されたことを確認しましょう。

(13)

2-13

Workbench でワークスペースを実行した後、キャンバス上のライターフィーチャータイプを選択し、 その上に表示されるツールボタン"Inspect"(検査)を選択すると、FME Data Inspector が起動して出 力したデータが表示されます。

(14)

また、Workbench ツールバーの ボタンのクリックによって FME Data Inspector を起動するこ ともできます。もちろん、Windows「すべてのプログラム」メニューから起動しても構いません。

それらによって FME Data Inspector を起動した場合は、メニュー File > Open Dataset を選択して Select Dataset To View 画面を表示し、リーダーの追加と同じ要領で、Format に MapInfo TAB を設定、 Dataset に MapInfo データファイル(*.tab)を選択してから OK で閉じてください。

MapInfo TAB 形式のデータを閲覧できる他のソフトウェアがある場合は、それでも変換結果を確認 してください。 実習 2 はここまでです。主に次の事項を学びました。 ・ライターの追加(Manual モード) ・出力先スキーマ(フィーチャータイプ名、属性)の編集 ・リーダーフィーチャータイプとライターフィーチャータイプのマッピング

参照

関連したドキュメント

■実 施 日: 2014年5月~2017年3月.. ■実施場所: 福島県

※1 13市町村とは、飯舘村,いわき市,大熊町,葛尾村, 川内村,川俣町,田村市,富岡町,浪江町,楢葉町, 広野町, 双葉町, 南相馬市.

番号 団体名称 (市町名) 目標 取組内容 計画期間

[r]

八王子市の一部 (中央自動車道以北で国道16号線以西の区域) 、青梅市、あきる野市、日の出町、檜原村及び奥多摩町 3 管理の目標.

(1) 学識経験を有する者 9名 (2) 都民及び非営利活動法人等 3名 (3) 関係団体の代表 5名 (4) 区市町村の長の代表

■実 施 日: 2014年5月~2017年3月.. ■実施場所: 福島県

■実 施 日: 2014年5月~2017年3月.. ■実施場所: 福島県