道路マッチング用のリレーショナルテーブルに格納されているトポロジカルネットワークデータに基づいて、マップマッチングワークスペースを作成します。
構文
boolean ST_CreateWorkspace(text wsname, text sql);Parameters
パラメーター | 説明 |
wsname | ワークスペースの名前を設定します。 名前は一意にする必要があります。 |
sql | メモリ内のワークスペースのトポロジネットワークを構築するために使用されるSQL文。 |
戻り値
戻り値 | 説明 |
t | 作成は成功しました。 |
f | 作成に失敗しました。 |
説明
マップマッチングワークスペースは、メモリ内マップトポロジーネットワークデータを含む。 道路マッチングを実行する前に、マップトポロジーネットワークデータを作成またはロードする必要があります。
ワークスペースの名前は一意である必要があります。
mapmatching_workspaceテーブルで既存のワークスペースを表示できます。ワークスペースの構築に使用するSQLクエリ結果には、4つのフィールドが必要です。
id: エッジの一意の識別子。 タイプは、SMALLINT、INTEGER、またはBIGINTです。
source: エッジのソースノードの識別子。 タイプは、SMALLINT、INTEGER、またはBIGINTです。
target: エッジの宛先ノードの識別子。 タイプは、SMALLINT、INTEGER、またはBIGINTです。
geometry: エッジのジオメトリ情報。 タイプはGEOMETRYです。 LineString型とMultiLineString型のみがサポートされています。 ジオメトリタイプがMultiLineStringの場合、最初の子LineStringオブジェクトのみが使用されます。
構築されたトポロジカルネットワークの単位は、マップ単位である。 座標変換が必要な場合は、 ST_Transform関数を使用します。
例
道路ネットワークデータを準備し、道路ネットワークトポロジーを構築します。 詳細については、例1をご参照ください。
ワークスペースを構築します。
すべてのオブジェクトは、ワークスペースの構築に使用されます。
SELECT ST_CreateWorkspace('mm_ws_test1', 'select fid, source, target, geom from network');フィルタリングされたオブジェクトのみがワークスペースの構築に使用されます。
SELECT ST_CreateWorkspace('mm_ws_test2', $$ select fid, source, target, geom from network where fid > 10 $$);作成したワークスペースを表示します。
SELECT * from mapmatching_workspace;サンプル結果:
ws_id | ws_name | ws_sql | ws_options -------+-------------+----------------------------------------------------------------+------------ 1 | mm_ws_test1 | select fid, source, target, geom from network | 2 | mm_ws_test2 | select fid, source, target, geom from network where fid > 10 | (2 rows)