トランスフォーマーを使うことができます。トランスフォーマーによる検索は、ソースデータに含まれる全てのフィーチャーを読み込んでから条件に該当するものを抽出する仕組みであるため、例えばウェブアプリケーションのインターフェースを通じてユーザーが検索範囲を指定するたびにその範囲に含まれるフィーチャーを抽出する場合など、異なる条件によって繰り返し行われることが想定される検索処理については、あまり効率が良い方法とは言えません。そのような場合には、空間データをサポートするデータベースにソースデータを格納しておき、データベースの空間検索機能を利用することが妥当と考えられます。形式に変換するワークスペース例を掲げます。サービスとして実行し、結果をアプリケーションに返すという使い方を想定します。出力先のデータフォーマットやスキーマはアプリケーション側の仕様に応じて決定すべきものです。データベースに格納するためのワークスペースを作成、実行します。実行しても構いません。属性をキーとして医療機関の属性が関連づけられます。キーとして結合しました。最大で3つのXML要素に分けて記述されています。データのスキーマに準じたものと推測されます。フィールドに格納することとしました。AttributeTrimmerは、カンマ区切りの診療科目文字列を作成するためのものです。データベースの設計としては診療科目は別のテーブルに格納した方が望ましいかも知れませんが、ワークスペースを簡潔にするためにここでは1テーブルに全ての属性を格納しています。よってそのXML要素からポイントを作成することができます。各医療機関を医療法に基づいて次の3種類に分類しており、それらはコード1~3で識別されます。フィールドにコードを格納しました。サービスで実行するための設定をします。PostGISデータベースから検索条件に該当する医療機関フィーチャーを抽出する。フィーチャーを1個作成する。作成したフィーチャーを無条件で医療機関フィーチャーに結合する。オブジェクトを出力する。形式で出力しているだけですが、アプリケーションからのリクエストに応じて結果を返すことを想定する場合には、指定された検索条件に該当する医療機関がひとつもなかったときに何を返すかを定義しておく必要があります。リーダーから読み込まれた医療機関フィーチャーに無条件に結合しています。定義することができます。リーダーにそれらを渡すための設定が必要です。それについては後述します。