ルート形状取得(徒歩)
/shape_walk [GET]
基本情報
概要
徒歩を移動手段として2地点間のルートを検索し、その結果を形状で取得します。
URL
https://{HOST}/{CID}/v1/shape_walk
※APIマーケットの場合はURL体系が異なります
出力形式
- GeoJSON
- JSON
対応言語
- ja
パラメータ
- 「ルート検索(徒歩) /route_walk」と同等のパラメータを受け付けます
利用できないパラメータについて
本APIは以下パラメータには対応してません
・lang
- 本API独自のパラメータは以下の通りです
| パラメータ名 | 必須 | 概要 | 型名 | デフォルト値 | 上下限/選択値 | 備考 |
|---|---|---|---|---|---|---|
| no | 経路番号 | 数値 | 1対多検索、多対1検索の場合、結果の複数経路の中から出力する経路を1つ指定する必要があります 未指定の場合は一番最初の経路が選択されます |
|||
| format | 出力形式 | 文字列 | geojson | geojson:GeoJSON 形式 json:JSON 形式 |
フォーマットについて
GeoJSON は地理形状を表現する一般的なフォーマットです。
GeoJSON形式の出力結果は、/map_script で利用できます。
JSON形式の出力結果は、/map_image で利用できます。
パラメータ構成例
・出発地:表参道駅、到着地:調布駅、出発時刻:2019年10月1日15時の徒歩ルート形状をGeoJSONで取得
/shape_walk?start=00007820&goal=00006197&format=geojson&start_time=2019-10-01T15:00:00
JSON 表現は URL エンコードをした上でリクエストしてください
レスポンス(GeoJSON)
- パラメータ「format=geojson」と指定した場合に出力されるGeoJSONオブジェクトを以下に記載します
FeatureCollectionオブジェクト
| 名称 | レスポンス名 | 型名 | 配列 | 説明 |
|---|---|---|---|---|
| 種別 | type | 文字列 | FeatureCollection を表すタイプ名'FeatureCollection'を出力 | |
| 形状に関する情報 | features | Featureオブジェクト | 〇 | |
| 形状全体のバウンディングボックス | bbox | 数値 | 〇 |
Featureオブジェクト
| 名称 | レスポンス名 | 型名 | 配列 | 説明 |
|---|---|---|---|---|
| 種別 | type | 文字列 | Feature を表すタイプ名'Feature'を出力 | |
| 形状全体のバウンディングボックス | bbox | 数値 | 〇 | |
| 形状の緯度経度情報 | geometry | Geometryオブジェクト | ||
| 形状のメタ情報 | properties | Propertyオブジェクト | ガイダンスポイント情報や線の属性などを保存 |
Geometryオブジェクト
| 名称 | レスポンス名 | 型名 | 配列 | 説明 |
|---|---|---|---|---|
| 種別 | type | 文字列 | Geometry を表すタイプ名'LineString'を出力 | |
| 緯度経度 | coordinates | カンマ区切りの緯度経度の配列 | 〇 |
Propertyオブジェクト
| 名称 | レスポンス名 | 型名 | 配列 | 説明 |
|---|---|---|---|---|
| 移動情報 | ways | 文字列 | 常に 'walk'が入る | |
| 区間区分群 | section | 文字列 | 出発地/経由地/目的地のまとまりを示す | |
| 線(内側) | inline | Lineオブジェクト | ||
| 線(外側) | outline | Lineオブジェクト | ||
| 経路番号 | route_no | 文字列 |
Lineオブジェクト
| 名称 | レスポンス名 | 型名 | 配列 | 説明 |
|---|---|---|---|---|
| 線種 | line_style | 文字列 | 次のいずれかの文字列 - solid:実線 - auxiliary:補助線 |
|
| 線の幅(単位:px) | width | 文字列 | ||
| 線の色 | color | 文字列 | 色(RGB形式) | |
| 透過度 | opacity | 数値 | 透過度(0.0~1.0) | |
| 線端の形状 | strokelinecap | 文字列 | 線の両端の形状 常に'round'が入る - round:丸い線端 |
|
| 角の形状 | strokelinejoin | 文字列 | コーナーポイントの形状 常に'round'が入る - round:丸い角 |
bbox(バウンディングボックス)について
GeoJSON形式のレスポンスに含まれるバウンディングボックスとは、形状全体を包み込む四角形の緯度経度を最高値から最低値に向かって記述したものです。
これを利用すると、形状全体が描画される尺度を/map_scriptに与えることができます。
GeoJSON形式の形状で得られる線のスタイルについて
詳細はこちらからご確認いただけます。
パラメータ構成例
・出発地:表参道駅、到着地:調布駅、出発時刻:2019年10月1日15時の徒歩ルート形状をGeoJSONで取得
/shape_walk?start=00007820&goal=00006197&format=json&start_time=2019-10-01T15:00:00
JSON 表現は URL エンコードをした上でリクエストしてください
レスポンス(JSON)
- パラメータ「format=json」と指定した場合に出力されるJSONオブジェクトを以下に記載します
| 名称 | レスポンス名 | 型名 | 配列 | 説明 |
|---|---|---|---|---|
| 検索結果一覧 | items | RouteShapeオブジェクト | 〇 | |
| 単位情報 | unit | Unitオブジェクト |
RouteShapeオブジェクト
| 名称 | レスポンス名 | 型名 | 配列 | 説明 |
|---|---|---|---|---|
| マーカー一覧 | marker | Markerオブジェクト | 〇 | |
| パス一覧 | path | Pathオブジェクト | 〇 |
Markerオブジェクト
| 名称 | レスポンス名 | 型名 | 配列 | 説明 |
|---|---|---|---|---|
| 画像の起点場所 | position | 文字列 | 次のいずれかの文字列 bottom:下 bottom_left:左下 bottom_right:右下 left:左 center:中央 right:右 top:上 top_left:左上 top_right:右上 default:デフォルト |
|
| 中心緯度経度列 | centers | Coordinateオブジェクト | 〇 |
Coordinateオブジェクト
| 名称 | レスポンス名 | 型名 | 配列 | 説明 |
|---|---|---|---|---|
| 緯度 | lat | 数値 | ||
| 経度 | lon | 数値 |
Pathオブジェクト
| 名称 | レスポンス名 | 型名 | 配列 | 説明 |
|---|---|---|---|---|
| 緯度経度列 | coords | カンマ区切りの緯度経度の配列 | 〇 | |
| 線の幅 | width | 数値 | ||
| 線の色 | color | 文字列 | ||
| 透過度 | opacity | 数値 | ||
| 道路種別 | road_type | 文字列 | 次のいずれかの文字列 highway:高速道路 local:一般道路 ferry:フェリー |
Unitオブジェクト
| 名称 | レスポンス名 | 型名 | 配列 | 説明 |
|---|---|---|---|---|
| 測地系 | datum | 文字列 | ||
| 緯度経度の出力形式 | coord_unit | 文字列 |
レスポンス例
・GeoJSON形式
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"bbox": [
139.705691,
35.666067,
139.710957,
35.668499
],
"geometry": {
"type": "LineString",
"coordinates": [
[
139.710957,
35.666069
],
[
139.710954,
35.666067
],
[
139.710923,
35.666083
],
[
・・・
]
]
},
"properties": {
"ways": "walk",
"section": "0001",
"inline": {
"line_style": "solid",
"color": "#00FA46",
"width": 7,
"opacity": 0.76,
"strokelinecap": "round",
"strokelinejoin": "round"
},
"outline": {
"line_style": "solid",
"color": "#0A6400",
"width": 10,
"opacity": 0.5,
"strokelinecap": "round",
"strokelinejoin": "round"
},
"route_no": "1"
}
},
{
・・・
}
],
"bbox": [
139.54531,
35.650149,
139.710957,
35.673294
]
}
・JSON形式
{
"items": [
{
"marker": [ ],
"path": [
{
"coords": [
[
35.666069,
139.710957
],
[
・・・
],
[
35.666083,
139.710923
]
],
"width": 7,
"color": "#00FA46",
"opacity": 0.76
},
{
・・・
}
]
}
]
"unit": {
"datum": "wgs84",
"coord_unit": "degree"
}
}
エラー情報
エラーハンドリングについて
エラーメッセージは追加/変更/削除されることがあります。
エラーハンドリングされる場合はHTTPステータスコードをもとにご対応ください。
共通エラーについてはこちらをご参照ください。
| HTTPステータス | エラーメッセージ | 発生理由 |
|---|---|---|
| 405 | This http method is invalid : POST (等) | 許可されていないHTTPメソッドでアクセスした場合に発生します。 |
| 400 | parameter error: start: ['required field'] | startが未指定の場合に発生します。 |
| 400 | parameter error: goal: ['required field'] | goalが未指定の場合に発生します。 |
| 400 | parameter error: start: ['no definitions validate'] | startの形式がJSON・ノードID・座標のいずれにも該当しない場合に発生します。 |
| 400 | parameter error: goal: ['no definitions validate'] | goalの形式がJSON・ノードID・座標のいずれにも該当しない場合に発生します。 |
| 400 | parameter error: start_time: ['not datetime format : [value] '] | start_timeが日時形式でない場合に発生します。 |
| 400 | parameter error: start_time: ['an invalid datetime: [value] '] | start_timeが不正な日時の場合に発生します。 |
| 400 | parameter error: goal_time: ['not datetime format : [value] '] | goal_timeが日時形式でない場合に発生します。 |
| 400 | parameter error: goal_time: ['an invalid datetime: [value] '] | goal_timeが不正な日時の場合に発生します。 |
| 400 | parameter error: start_time: ["['goal_time'] must not be present with 'start_time'"] | start_timeとgoal_timeを同時に指定した場合に発生します。 |
| 400 | parameter error: goal_time: ["['start_time'] must not be present with 'goal_time'"] | goal_timeとstart_timeを同時に指定した場合に発生します。 |
| 400 | parameter error: via: ['not json format : [value] '] | viaがJSON形式でない場合に発生します。 |
| 400 | parameter error: via_type: ['unallowed value [value] '] | via_typeにspecified・optimal以外の値を指定した場合に発生します。 |
| 400 | parameter error: via_type: ["field 'via' is required"] | via_typeを指定してviaを指定していない場合に発生します。 |
| 400 | parameter error: speed: ['an invalid float: [value] '] | speedが不正な小数形式の場合(小数第2位以上) |
| 400 | parameter error: speed: ['min value is 3.0'] | speedが3.0未満の場合に発生します。 |
| 400 | parameter error: speed: ['max value is 8.0'] | speedが8.0を超える場合に発生します。 |
| 400 | parameter error: condition: ['unallowed value [value] '] | conditionにrecommend・distance・avoid_step・avoid_escalator・avoid_rain・babycar以外の値を指定した場合に発生します。 |
| 400 | parameter error: order: ['unallowed value [value] '] | orderにtotal_distance・time以外の値を指定した場合に発生します。 |
| 400 | parameter error: options: ['unallowed value [value] '] | optionsにturn_by_turn以外の値を指定した場合に発生します。 |
| 400 | parameter error: format: ['unallowed value [value] '] | formatにgeojson・json以外の値を指定した場合に発生します。 |
| 400 | parameter error: datum: ['unallowed value [value] '] | datumに不正な値を指定した場合に発生します。 |
| 400 | parameter error: coord_unit: ['unallowed value [value] '] | coord_unitに不正な値を指定した場合に発生します。 |
| 400 | parameter error: coord_adjustment: ['unallowed value [value] '] | coord_adjustmentに不正な値を指定した場合に発生します。 |
| 400 | parameter error: start and goal are both multiple. | startとgoalの両方をリスト形式で指定した場合に発生します。 |
| 400 | parameter error: coordinate or node is required | start/goalのJSON内にcoordinateまたはnodeが含まれていない場合に発生します。 |
| 400 | parameter error: invalid list size | start/goalのリストが0件または10件を超える場合に発生します。 |
| 400 | parameter error: list item must be coordinate | start/goalのリスト内の要素が座標形式でない場合に発生します。 |
| 400 | parameter error: coordinate is required | start/goalのJSON内に座標情報が不足している場合に発生します。 |
| 400 | parameter error: lat: ['an invalid latitude: [value] '] | start/goalのJSON内のlatが不正な緯度の場合に発生します。 |
| 400 | parameter error: lon: ['an invalid longitude: [value] '] | start/goalのJSON内のlonが不正な経度の場合に発生します。 |
| 400 | parameter error: lat: ["field 'lon' is required"] | start/goalのJSON内でlatを指定してlonを指定していない場合に発生します。 |
| 400 | parameter error: lon: ["field 'lat' is required"] | start/goalのJSON内でlonを指定してlatを指定していない場合に発生します。 |
| 400 | parameter error: node: ['an invalid code: [value] '] | start/goalのJSON内のnodeが不正なコードの場合に発生します。 |
| 400 | parameter error: spot: ['an invalid code: [value] '] | start/goalのJSON内のspotが不正なコードの場合に発生します。 |
| 400 | parameter error: spot: ["depends on these values: {'lon': ..., 'lat': ...}"] | start/goalのJSON内でspot指定時にlat/lonが未指定の場合に発生します。 |
| 400 | parameter error: This route does not observe the distance limit. | 出発地〜到着地の直線距離が200km以上の場合に発生します。 |
| 400 | parameter error: via must be in json format | viaのJSON変換に失敗した場合に発生します。 |
| 400 | parameter error: via must be in array format | viaが配列形式でない場合に発生します。 |
| 400 | parameter error: goal or start is multiple | via使用時にstart/goalが複数指定されている場合に発生します。 |
| 400 | parameter error: coordinate is required | via地点にlat/lonが指定されていない場合に発生します。 |
| 400 | parameter error: lat: ['required field'] | via地点のlatが未指定の場合に発生します。 |
| 400 | parameter error: lon: ['required field'] | via地点のlonが未指定の場合に発生します。 |
| 400 | parameter error: lat: ['an invalid latitude: [value] '] | via地点のlatが不正な緯度の場合に発生します。 |
| 400 | parameter error: lon: ['an invalid longitude: [value] '] | via地点のlonが不正な経度の場合に発生します。 |
| 400 | parameter error: stay-time: ['min value is 0'] | via地点のstay-timeが0未満の場合に発生します。 |
| 400 | parameter error: stay-time: ['max value is 300'] | via地点のstay-timeが300を超える場合に発生します。 |
| 400 | parameter error: list size is too large | via地点数が上限を超える場合に発生します。 |
| 400 | parameter error: outside of the valid range | via地点が有効範囲外の場合に発生します。 |
| 400 | parameter error: invalid order | 1対1検索でorderを指定した場合に発生します。 |
| 400 | parameter error: invalid no | 1対1検索でnoに2以上を指定した場合に発生します。 |