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