ルート検索API - 道路形状データ
テーブル構成
経路探索に必要なテーブルは以下のとおりです。
- 道路ノード (routing.node)
- 道路エッジ (routing.edge)
- リスクマップ (riskmap.*)
- リスクマップメタデータ (riskmap.metadata)
道路ノード
| カラム名 | データ型 | 説明 |
|---|---|---|
| id | integer | 一意な ID (主キー) |
| geom | geometry(Point,4326) | 位置 |
| geog | geography | 位置 (geom::geography であること) |
- geog カラムは geom から導出可能であるが、高速化のためカラムとして持たせる
- 以下のカラムに index を作成することを推奨する
- id (主キー)
- geog
- 上記以外のカラムを定義して付加情報を持たせても構わない
道路エッジ
| カラム名 | データ型 | 説明 |
|---|---|---|
| id | integer | 一意な ID (主キー) |
| is_oneway | boolean | src から dst 方向への一方通行であれば true を設定する |
| src | integer | 始点のノード ID (外部キー) |
| dst | integer | 終点のノード ID (外部キー) |
| speed | real | 規制速度 (km/h) |
| length | real | 経路長 (m) |
| geom | geometry(LineString,4326) | 経路 |
- src と dst は対応する道路ノードテーブルの id を指すものとする。geom の両端は道路ノードの geom と一致させること
- 経路長は
ST_Length(geom::geography)で導出可能であるが、高速化のためカラムとして持たせる - 以下のカラムに index を作成することを推奨する
- id (主キー)
- geom
- 上記以外のカラムを定義して付加情報を持たせても構わない
道路エッジ注記情報
| カラム名 | データ型 | 説明 |
|---|---|---|
| edge_id | integer | エッジ ID (外部キー) |
| ord | integer | 順序 |
| direction | integer | 方向 (1: 順方向, 0: 両方向, -1: 逆方向) |
| note | character varying | 注記情報 |
- ord は同一の edge_id に複数の注記情報が存在するときの順序制御に利用される
- direction は当該エッジの src から dst 方向に対する注記の場合を順方向 (1) とする
- note には
|文字を含めないこと- 複数の注記情報が存在する場合に
|で連結した文字列として返すため
- 複数の注記情報が存在する場合に
- 以下のカラムに index を作成することを推奨する
- edge_id (外部キー)
- UNIQUE ではないことに注意
- edge_id (外部キー)
- 上記以外のカラムを定義して付加情報を持たせても構わない
テーブル名について
経路探索 API リクエストパラメータの map によって、以下のようにテーブル名が解決される。
| map パラメータの値 | 道路ノード | 道路エッジ | 道路エッジ注記情報 |
|---|---|---|---|
| 未指定 | routing.node | routing.edge | routing.edge_note |
my_road |
routing.my_road_node |
routing.my_road_edge |
routing.my_road_edge_note |
複数の道路データを登録して、routing.node, routing.edge, routing.edge_note は既定の道路データへの view としてもよい。
リスクマップ・リスクマップメタデータ
リスクマップの作成を参照