コンテンツにスキップ

ルート検索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 ではないことに注意
  • 上記以外のカラムを定義して付加情報を持たせても構わない

テーブル名について

経路探索 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 としてもよい。

リスクマップ・リスクマップメタデータ

リスクマップの作成を参照