GetRoute
説明
GetRoute サービスは、2 つのポイントまたは複数のポイントに対するルーティング情報を返します。始点および終点とオプションで通過点を入力として取り、最短時間または最短距離となるルートを返します。
HTTP GET URL 形式
HTTP GET 要求には次の形式を使用します。HTTP GET は、その他の JSON ペイロードを必要としない単純なルートに使用します。HTTP GET 要求に通過点を追加することもできます。
HTTP GET /rest/Spatial/erm/databases/dbsource.json?q=route&query_parameters
ここで、dbsource は、ルート用のデータを含むデータベースの名前です。Enterprise Routing モジュールのルーティング データベース リソース ツールで指定されたデータベース名を使用してください。
HTTP POST URL 形式
HTTP POST リクエストには次の形式を使用します。
HTTP POST: /rest/Spatial/erm/databases/dbsource.json?q=route&query_parameters
POST BODY: Content-Type:application/json {Route Data}
Route Data は、通過点、一時更新、または道路タイプの優先度を含む計算で使用されるその他のルート情報を表す POST Json 本体 (Content-Type: application/json) です。これらのオプションの詳細については、GetRoute HTTP POST オプション を参照してください。
クエリ パラメータ
この演算は、次のクエリ パラメータを取ります。
パラメータ | Type | 必須 | 説明 |
---|---|---|---|
startPoint | 文字列 | はい | ルートの始点。形式は x,y,coordSys です。例: -74.2,40.8,EPSG:4326 |
endPoint | 文字列 | はい | ルートの終点。形式は x,y,coordSys です。例: -74.2,40.8,EPSG:4326 |
intermediatePoints | 文字列 | いいえ | ルートに沿って含める通過点のリスト。これを HTTP GET 要求に含めるには、形式 Long,Lat,Long,Lat,…,coordsys を使用します。例えば、-74.2,40.8,-73,42,EPSG:4326 を使用します。一連の通過点を HTTP POST 要求に含めるには、ルートのポイントを示す MultiPoint JSON ペイロードを追加します。通過点が URL と JSON ペイロードの両方で指定されている場合は、JSON ペイロードが優先され、URL の通過点は無視されます。 |
oip | Boolean | いいえ | 通過点を最適化する必要があるかどうかを示す処理パラメータ。デフォルトは false です。デフォルトでは、通過点は計算で指定された順序で使用されます。true に設定すると、指定されたポイントはルートの計算時に最適な順序に変更されます。 |
returnIntermediatePoints | Boolean | いいえ |
ルートの応答で通過点を返すかどうか。デフォルトは false です。 true または false 以外の値を指定した場合は、デフォルトの false に設定されます。このオプションは、POST 本体で指定された順序で通過点を返します。オプション oip の値が true に設定されている場合、このオプションは最適化された順序で通過点を返します。 |
destinationSrs | 文字列 | いいえ | ルートと結果のジオメトリを返す座標系。既定値は使用するデータの座標系です。 |
optimizeBy | 文字列 | いいえ | ルートに使用する最適化のタイプ。有効な値は time または distance です。既定値は time です。 |
returnDistance | Boolean | いいえ | 道順に移動距離を含めます。既定値は true です。 |
distanceUnit | 文字列 | いいえ | 距離を返すときの単位。既定値は m (メートル) です。使用可能な値: m (メートル)、km (キロメートル)、yd (ヤード)、ft (フィート)、mi (マイル)。 |
returnTime | Boolean | いいえ | 道順に、その道順に従った場合にかかる時間を含めます。既定値は true です。 |
timeUnit | 文字列 | いいえ | 時間を返すときの単位。既定値は min (分) です。使用可能な値: min (分)、msec (ミリ秒)、s (秒)、h (時間)。 |
language | 文字列 | いいえ |
道順を返すときの言語。道順を返す場合 (directionsStyle が Normal または Terse に定義されている場合) にのみ使用します。既定値は英語 (en) です。 道順は次の言語で返すことができます。
|
returnDirectionGeometry | Boolean | いいえ | ルートの応答で、ルート指示に関連付けられたジオメトリを返します。デフォルトは false です。 |
directionsStyle | 文字列 | いいえ |
返す道順のタイプ。デフォルトは None です。道順を返す必要がある場合は、このパラメータを指定します。道順を指定するときのオプションは次のとおりです。
|
segmentGeometryStyle | 文字列 | いいえ |
ルートのセグメントを表すジオメトリの形式。デフォルトは None です。セグメント ジオメトリを返す必要がある場合は、このパラメータを指定します。道順を指定するときのオプションは次のとおりです。
|
primaryNameOnly | Boolean | いいえ | 道順の中の任意の通りのすべての名前を返すか、通りの主要名のみを返すかを指定します。道順を返す場合にのみ使用します。既定値は false です。 |
majorRoads | Boolean | いいえ | 計算時に、すべての道路を含めるか、幹線道路のみを含めるかを指定します。幹線道路のみを含めるように指定した場合は、パフォーマンスは向上しますが精度は低くなる場合があります。デフォルトは false です。 |
historicTrafficTimeBucket | 文字列 | いいえ |
ルーティング計算において、トラフィック速度履歴を使用するかどうかを指定します。これらの速度は、1 日のうちの異なるタイム バケットに基づきます。この機能を使用するには、トラフィック速度履歴がデータに含まれている必要があります。各国/地域のデータに対するバケット定義は同じです。バケット値に対する速度は異なる場合があります。次のオプションがあります。
|
例
始点と終点を持つ単純なルート。
http://www.pb.com/rest/Spatial/erm/databases/usroutedatabase.json?q=route&startPoint=-73.97,40.79,epsg:4326&endPoint=-73.98,40.74,epsg:4326
応答
{
"time": 7.67,
"timeUnit": "min",
"distance": 8865,
"distanceUnit": "m"
}
通過点を持つルート。
http://www.pb.com/rest/Spatial/erm/databases/usroutedatabase.json?
q=route&startPoint=-73.970257, 40.794045,epsg:4326&endPoint=-73.972103,40.786605,
epsg:4326&intermediatePoints=-73.976266, 40.788717,-73.973562,40.792193,-73.971802,40.794630,
epsg:4326&oip=true&returnIntermediatePoints=true
応答
"intermediatePoints": {
"type": "MultiPoint",
"coordinates": [
[-73.971802,
40.79463
],
[-73.973562,
40.792193
],
[-73.976266,
40.788717
]
]
}
道順が有効になっているルート。
http://www.pb.com/rest/Spatial/erm/databases/usroutedatabase.json? q=route&startPoint=-73.97,40.79,epsg:4326&endPoint=-73.98,40.74,
epsg:4326&language=en&directionsStyle=Normal&returnDirectionGeometry=true
応答
{
"time": 10.58,
"timeUnit": "min",
"distance": 9035,
"distanceUnit": "m",
"language": "en",
"directionsStyle": "Normal",
"routeDirections": [
{
"time": 0.03,
"timeUnit": "min",
"distance": 25,
"distanceUnit": "m",
"instruction": "",
"directionGeometry":
{
"type": "LineString",
"coordinates":
[
[
-76.421169,
42.69302
],
[
-76.421353,
42.692645
],
...
]
}
},
{
"time": 0.7,
"timeUnit": "min",
"distance": 394,
"distanceUnit": "m",
"instruction": "Turn right on W 91st St and travel West 394.0 m
(0.7 min).",
"directionGeometry":
{
"type": "LineString",
"coordinates":
[
[
-76.429896,
42.67153
],
...
]
}
}
]
}