複数のベクター、ラスターレイヤを重ね合わせ、ひとつの地図として視覚的に表現することは、GISが得意とするところです。トランスフォーマーによって、GISにも匹敵する高度な地図画像(ラスター)を作成することも可能です。いうオープンソースの地図レンダリング用ツールキットを内部で使用することにより、非常に多彩な表現をサポートしています。基本的な使い方を示すワークスペース例を掲げます。ライン、標高点の位置をマーカー、標高点の標高値をテキストとしてレンダリングする。等高線は「100m間隔」、「50m間隔」、「その他」に分類し、それぞれ異なる色で表現する。変換結果は、三次メッシュ区画単位でPNG形式のファイルに出力する。データ(GML形式)を読み込む。入力フィーチャーをカバーする範囲の三次メッシュ区画ポリゴンを作成する。各メッシュ区画の東西端、南北端の座標を抽出する。メッシュ区画ポリゴンで等高線、標高点をクリップする。ラインフィーチャー(等高線)とポイントフィーチャー(標高点)に振り分ける。等高線を「100m間隔」、「50m間隔」、「その他」の3区分に振り分ける。メッシュ区画ごとに等高線(ライン)、標高点(マーカー、テキスト)をレンダリングする。データはGML形式で提供されており、FMEは基盤地図情報応用スキーマをバンドルしているので、標準のGMLリーダーで直接読み込むことができます。公開しているカスタムトランスフォーマーで、パラメーターの設定に応じて、入力フィーチャーをカバーする範囲の一次~1/10細分メッシュ区画ポリゴンまたはポイントを作成するとともに、それらにメッシュコードを属性として付加します。この例では、三次メッシュ区画ポリゴンを作成しました。各フィーチャーのバウンディングボックス境界の座標を抽出します。画像の作成範囲を指定しています。よって、等高線と標高点をメッシュ区画ポリゴンでクリップしました。Attributes(属性を結合する)オプションをオンにすることにより、メッシュコードやバウンディングボックス境界座標を格納したメッシュ区画ポリゴンの属性が、区画ごとにその内部となる全ての等高線、標高点に結合されます。よって、各フィーチャーが持っている標高値(alti属性の値)に応じて「100m間隔」、「50m間隔」、「その他」の3区分に振り分けました。必要に応じて任意の数の入力ポートを追加することができ、ポートごとに、そこから入力されるフィーチャーに対するひとつ以上のレンダリングルール(視覚的な表現方法)を設定することができます。レンダリングルールの設定内容は多岐にわたります。主なものだけ挙げると、ラインについては線幅、色、ダッシュスタイル(実線部の長さ、間隔の任意の繰り返しパターン)など、マーカーについてはサイズ、色、あるいは外部画像ファイルなど、テキストについてはフォント、サイズ、色、ポイントに対する相対的な位置などです。パラメーター設定画面ソースデータ(二次メッシュ4区画)のうち、等高線、標高点が存在する三次メッシュ区画数は70でした。そのうち、雄山(おやま)火口周辺の次の9区画(下記)の画像をモザイク(結合)した結果を示します。800ピクセル)です。ファイルサイズを小さくするため、パレット(エントリー数=16)つきの1バンドラスターに変換しました。ピクセル等倍でご覧になるには、ダウンロードして適当なビューアーで開いてください。うまくいっているようですが、上記ワークスペース例には、メッシュ区画境界付近で標高点テキストが描画されないことがあるという欠陥があります。側、つまり、西側の区画の東端付近にある標高点について、標高値テキストが描画されていません。指定した画像作成範囲をはみ出すようなテキストはレンダリングされないためです。これは、ワークスペースに次のような改良を加えることによって解消することができます。・MapnikRasterizerによる画像作成範囲を三次メッシュ区画ぴったりの範囲でなく、隣接区画の標高点テキスト描画範囲を含むのに十分な範囲まで拡大する。・作成するラスターの解像度(縦横のピクセル数)をその範囲にあわせて修正する。・MapnikRasterizerで作成された画像を、対応する三次メッシュ区画の範囲によってクリップする。よって三次メッシュ区画に相当する範囲のラスターに変換する方法もあり、場合によってはその方が効率が良いかも知れません。画像をモザイクした結果は次のとおりです。改良前には描画できなかった中央付近の標高値テキスト「723」も描画されました。以外のフォントがサポートされていないという制約があります。よってフォントを指定してポリゴンに変換したうえでレンダリングするという代替策はありますが、サイズや位置の調整が少し面倒になるかも知れません。以外の非ASCII文字フォントのサポートも追加されることを期待しています。(Atom)このブログを検索このサイトでは、原則としてウェブ上で公開されているデータを素材としてデータ変換を行うFMEワークスペース例を紹介します。データフロー全体が一望できるようにシナリオやワークスペース例はできるだけ簡潔にするとともに、短時間で読み切れるように説明は要点のみとしています。画像が小さくて分かり難い場合は、右クリックして新しいタブで開くなどにより、原寸で表示させてださい。記事は更新したり削除したりすることがあります。記事内で参照している外部のウェブサイト名、URL、ダウンロードファイル名等は、最新の状態が反映されていないことがあります。