GetRoute HTTP POST オプション
HTTP POST URL 形式
標準の HTTP GET パラメータのほか、通過点、一時更新、および道路タイプの優先度を指定する HTTP POST ペイロード オプションをリクエストに追加できます。コンテンツ タイプは application/json に設定する必要があります。HTTP POST リクエストには次の形式を使用します。
HTTP POST: /rest/Spatial/erm/databases/dbsource.json?q=route&query_parameters
POST BODY: Content-Type:application/json {Route Data}
通過点
ルートに沿って含める通過点のリスト。一連の通過点を HTTP POST 要求に含めるには、ルートのポイントを示す MultiPoint JSON ペイロードを追加します。通過点が URL と JSON ペイロードの両方で指定されている場合は、JSON ペイロードが優先され、URL の通過点は無視されます。
例: 通過点の HTTP POST ペイロード
{
"intermediatePoints": {"type": "MultiPoint","crs": {"type": "name","properties": {"name": "epsg:4326"}},"coordinates": [[ -73.976266,40.788717],[ -73.973562,40.792193],[ -73.971802,40.794630]]}
}
一時更新
この優先設定セットを使用して、要求ごとに一時更新を設定することができます。例えば、サーバーがすべての幹線道路タイプを回避するよう要求することができます。要求ごとに 1 つ以上の更新を含めることができます。速度更新の場合、正の速度値は速度の増加、負の速度値は速度の減少です。次は、一時更新タイプの説明です。
更新タイプ |
説明 |
---|---|
point |
ポイントの更新は、対応するポイント (緯度、経度) に適用される変更です。特定のポイントに対して、ポイントの除外、ポイントの速度の設定、値または割合によるポイントの速度の変更 (増加または減少) を行うことができます。次のいずれかの更新タイプを使用します。
|
segmentID |
セグメントの更新は、対応するセグメント ID に適用される変更です。特定のセグメントに対して、セグメントの除外、セグメントの速度の設定、値または割合によるセグメントの速度の変更 (増加または減少)、セグメントの道路タイプの変更を行うことができます。次のいずれかの更新タイプを使用します。
|
道路タイプ |
道路タイプの更新は、対応する道路タイプに適用される変更です。特定の道路タイプに対して、道路タイプの速度の設定、値または割合による道路タイプの速度の変更 (増加または減少) を行うことができます。次のいずれかの更新タイプを使用します。
|
例: 一時更新の HTTP POST ペイロード
{
"transientUpdates": [
{
"segmentID": "7e3396fc:151186f",
"updates": [
{"percentage": 26.0}
]
},
{
"point": {"type": "Point",
"crs":
{
"type": "name",
"properties":
{
"name": "epsg:4326"
}
},
"coordinates":
[
-73.972776,
40.795076
]
},
"updates": [
{"speedAdjustment" : { "velocity": 5, "velocityUnit": "kph"}}
]
},
{
"roadType": "major road dense urban",
"updates": [
{"speed": { "velocity": 25, "velocityUnit": "kph"}}
]
}
]
}
車両規制
車両規制は、ルートに沿って移動する特定車両の動作と属性をガイドするルーティング エンジンへの規則で構成されます。指定された車両の属性 (高さ、幅、長さ、重量など)、および道路網に見られる車両規制の属性に応じて、特定の車両に、あるセグメント上を経由させることができるかどうかが決定されます。道路網に車両規制の属性がない場合、入力制限パラメータは、結果的なルートに影響を与えません。
以下に示すのは、車両規制の一連のパラメータです。
オプション | 説明 |
---|---|
looseningBarrierRestrictions |
ルートを決定する際、通行規制を除去するかどうかを指定します。このような規制は、地方の条例によって特定車両がセグメントの通行を禁止されている場合や、必要なときのみ (ラスト マイル アクセスや地方の配達など) 特定車両がそのセグメントで許可されている場合がほとんどです。通行規制が除去されたルートは、通行規制のないルートより短い/速い場合でも、引き続きルート コストが高くなります。 |
vehicleAttributes |
ルートを決定する際、タイプ、高さ、重量、長さ、または幅に基づいて規制される車両の詳細を指定します。特定車両は、ショート トレーラーから長い 3 連結トレーラーまでさまざまなタイプに分かれています。車両規制属性は、車両タイプごとにまとめられます。つまり、あるセグメントに対して 1 つの車両タイプを優先すると共に、同じセグメントで別の車両タイプを規制することが完全に可能です。次のタイプの車両情報を使用します。
|
例
車両規制なし
リクエスト:
HTTP GET /rest/Spatial/erm/databases/US_CVR.json?q=routeCostMatrix&startPoints=-74.7221203,42.9737073,epsg:4326&endPoints=-74.6671887,42.8097083,epsg:4326
レスポンス:
{
"matrix": [{
"distance": 40025,
"distanceUnit": "m",
"endPoint": {
"type": "Point",
"coordinates": [-74.6671887, 42.8097083]
},
"startPoint": {
"type": "Point",
"coordinates": [-74.7221203, 42.9737073]
},
"time": 36.57,
"timeUnit": "min"
}]
}
車両規制あり
リクエスト:
HTTP GET /rest/Spatial/erm/databases/US_CVR.json?q=routeCostMatrix&startPoints=-74.7221203,42.9737073,epsg:4326&endPoints=-74.6671887,42.8097083,epsg:4326
車両規制の HTTP POST ペイロード
{
"cvr":{
"looseningBarrierRestrictions":"n","vehicleAttributes":{
"vehicleType":"ALL","heightUnit":"meter","height":"4","weightUnit":"Kilogram","weight":"40000"
}
}
}
レスポンス:
{
"matrix": [{
"distance": 44933,
"distanceUnit": "m",
"endPoint": {
"type": "Point",
"coordinates": [-74.6671887, 42.8097083]
},
"startPoint": {
"type": "Point",
"coordinates": [-74.7221203, 42.9737073]
},
"time": 37.48,
"timeUnit": "min"
}]
}
CVR ありでは距離と時間の値が変化しています。
道路タイプの優先度
ルート決定時にさまざまな道路に与える優先順位を指定します。次は、道路タイプの優先度オプションの説明です。
オプション |
説明 |
---|---|
高 |
この道路タイプを他の道路タイプよりも優先します。 |
中 |
この道路タイプに他の道路タイプと同じ優先設定を与えます。道路タイプに優先設定を指定しないと、デフォルトとして "中" が使われます。 |
低 |
他の道路タイプをこの道路タイプよりも優先します。 |
除外 |
この道路タイプを可能な限りルートで使用しません。特定の道路タイプを道順から常に除外できるとは限りません。状況によっては、回避対象の道路タイプの代わりになるものが非常に貧弱なために回避対象の道路タイプを使うルートが選ばれることがあります。また、始点または終点がセグメントの横にあって、そのセグメントの道路タイプが回避されている場合も、そのセグメントが使われます。 |
例: 道路タイプの優先度の HTTP POST ペイロード
{
" roadTypesPriority ": {
"RoadType.MajorRoadDenseUrban": "High",
"RoadType.LimitedAccessDenseUrban":"Low",
"RoadType.LimitedAccessRural":"Medium",
"RoadType.PrimaryHighwayUrban":"Avoid"
}
}