同一の地物が同じ属性項目について不特定数の値を持ちうる場合、属性データの格納方法としてテーブル形式しかサポートしていないフォーマットではカンマなどで区切って連結したひとつの文字列として記録せざるを得ないことがありますが、そのままでは、個々の値での検索を行いたい場合など不便なこともあります。FMEには同じ名前で複数の値が格納できる「リスト属性」の仕組みがあり、ひとつの文字列を特定の文字で分割してリスト属性に変換することや、フィーチャーをリスト属性の要素数分コピーして各要素の値をコピー後のフィーチャーに配分すること(「リスト属性の展開」と呼ぶことにします)ができます。形式データにおいて全角空白区切りで複数の診療科目が列挙されている文字列属性を個々の診療科目を要素とするリスト属性に変換した後、それを展開することによって、診療科目による医療機関の検索が容易なテーブルを作成するワークスペース例を掲げます。基づき、各医療機関の診療科目ごとのレコードで構成されるCSVテーブルに変換する。空白の場合もある)が記録されている。(必須ではないが作業し易くするため)。連結後の文字列を分割して個々の診療科目を要素とするリスト属性に格納する。不要な属性を削除する。診療科目を格納したリスト属性を展開する。CSVファイルにテーブルを出力する。つのフィールドに記録されており、それぞれ全角空白区切りで複数の診療科目が記述されています。2番目、3番目のフィールドは空の場合もあります。文字列を分割するために非常によく使われるトランスフォーマーです。格納されている属性文字列が全角空白文字で分割され、分割後の文字列、すなわち個々の診療科目名が「診療科目{}」というリスト属性に格納されます。指定することによってアクセスできます。診療科目{0}診療科目{1}診療科目{2}...リスト属性を展開すると、そのリスト属性以外の属性やジオメトリはリストの要素数分コピーされて展開後のフィーチャーに引き継がれます。よってそれらを削除しました。よって削除しておいた方がベターです。リーダーによって最初から属性テーブルのみを読み込むこともできます。リスト属性の展開を行います。(展開するリスト属性)他のパラメーターはデフォルトのまま。この設定で実行すると、「診療科目{}」の要素数だけ各フィーチャーがコピーされ、それらにリスト属性の個々の要素が配分されてリスト属性名と同じ名前の属性(この場合は「診療科目」)に格納されます。あるときは、フィーチャーがリスト名と同じ名前の属性をすでに持っていた場合に元の属性値の方が維持され、リストの要素は失われます。方がデフォルトになっています。文字列の分割、リスト属性の展開だけでなく、リスト属性を利用することによって実現できる処理はたくさんあります。カテゴリーに格納されています。ついてリスト属性には、次のようにドットをはさんで連結された「メンバー名」を伴うものもあります。list)」と呼ぶことがあります。区別される複数の値を格納することができます。パラメーターでリスト名を指定することにより、元のフィーチャーが持っていた全ての属性を構造化リストに格納して集約後のフィーチャーに与えることができ、そのメンバー名は元の属性名と等しくなります。いう属性を持っていたならば、集約後のフィーチャーに与えられる構造化リストは次のようになります。-----_list{}.ID_list{}.Name-----要素数はそのフィーチャーに集約されたフィーチャーの数に等しく、インデクスが同じ要素グループが集約前のひとつのフィーチャーが持っていた属性の集合と対応します。よって展開したときは、各要素の値はメンバー名と同じ名前の属性としてコピーされたフィーチャーに配分されます。メンバー名を持たないリストとの違いに留意してください。(Atom)このブログを検索このサイトでは、原則としてウェブ上で公開されているデータを素材としてデータ変換を行うFMEワークスペース例を紹介します。データフロー全体が一望できるようにシナリオやワークスペース例はできるだけ簡潔にするとともに、短時間で読み切れるように説明は要点のみとしています。画像が小さくて分かり難い場合は、右クリックして新しいタブで開くなどにより、原寸で表示させてださい。記事は更新したり削除したりすることがあります。記事内で参照している外部のウェブサイト名、URL、ダウンロードファイル名等は、最新の状態が反映されていないことがあります。