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

ポイントの更新は、対応するポイント (緯度、経度) に適用される変更です。特定のポイントに対して、ポイントの除外、ポイントの速度の設定、値または割合によるポイントの速度の変更 (増加または減少) を行うことができます。次のいずれかの更新タイプを使用します。

percentage
速度を増加 (正の値) または減少 (負の値) させる割合を指定してポイントの速度の増加を定義する速度更新です。
speed
速度単位と新しい速度を指定してポイントの新しい速度を定義する速度更新です。速度更新の場合、速度単位には kph (キロメートル/時)、mph (マイル/時)、mps (メートル/秒)、mtpm (メートル/分) のいずれかの値を指定できます。
speedAdjustment
速度 (単位と値) の変更を指定してポイントの速度の変化を定義する速度更新です。速度値は増加 (正の値) または減少 (負の値) させることができます。速度更新の場合、速度単位には kph (キロメートル/時)、mph (マイル/時)、mps (メートル/秒)、mtpm (メートル/分) のいずれかの値を指定できます。
exclude
指定されたポイントをルート計算から除外する文字列値です。ポイントを除外するには、ポイントを指定して、Y と定義した exclude パラメータを含める必要があります。有効な値は Y (はい) と N (いいえ) です。

segmentID

セグメントの更新は、対応するセグメント ID に適用される変更です。特定のセグメントに対して、セグメントの除外、セグメントの速度の設定、値または割合によるセグメントの速度の変更 (増加または減少)、セグメントの道路タイプの変更を行うことができます。次のいずれかの更新タイプを使用します。

percentage
速度を増加 (正の値) または減少 (負の値) させる割合を指定して segmentID の速度の増加を定義する速度更新です。
speed
速度単位と新しい速度を指定して segmentID の新しい速度を定義する速度更新です。速度更新の場合、速度単位には kph (キロメートル/時)、mph (マイル/時)、mps (メートル/秒)、mtpm (メートル/分) のいずれかの値を指定できます。
speedAdjustment
速度 (単位と値) の変更を指定して segmentID の速度の変化を定義する速度更新です。速度値は増加 (正の値) または減少 (負の値) させることができます。速度更新の場合、速度単位には kph (キロメートル/時)、mph (マイル/時)、mps (メートル/秒)、mtpm (メートル/分) のいずれかの値を指定できます。
exclude
指定された segmentID をルート計算から除外する文字列値です。segmentID を除外するには、segmentID を指定して、Y と定義した exclude パラメータを含める必要があります。有効な値は Y (はい) と N (いいえ) です。
roadType

ルート計算に使用するセグメントの道路タイプの値を変更する文字列値です。

roadType には、次の種類があります。

  • 進入路
  • 裏道路
  • 接続道路
  • フェリー
  • 小道
  • 侵入制限道路 (密集都市部)
  • 侵入制限道路 (農村部)
  • 侵入制限道路 (郊外)
  • 侵入制限道路 (都市部)
  • 地方道路 (密集都市部)
  • 地方道路 (農村部)
  • 地方道路 (郊外)
  • 地方道路 (都市部)
  • 主要地方道路 (密集都市部)
  • 主要地方道路 (農村部)
  • 主要地方道路 (郊外)
  • 主要地方道路 (都市部)
  • 幹線道路 (密集都市部)
  • 幹線道路 (農村部)
  • 幹線道路 (郊外)
  • 幹線道路 (都市部)
  • 補助地方道路 (密集都市部)
  • 補助地方道路 (農村部)
  • 補助地方道路 (郊外)
  • 補助地方道路 (都市部)
  • 一般道路 (密集都市部)
  • 一般道路 (農村部)
  • 一般道路 (農村部)
  • 一般道路 (都市部)
  • 主要高速道路 (密集都市部)
  • 主要高速道路 (農村部)
  • 主要高速道路 (郊外)
  • 主要高速道路 (都市部)
  • 出入路 (密集都市部)
  • 出入路 (侵入制限道路)
  • 出入路 (幹線道路)
  • 出入路 (主要高速道路)
  • 出入路 (農村部)
  • 出入路 (一般高速道路)
  • 出入路 (都市部)
  • 出入路 (郊外)
  • 一般高速道路 (密集都市部)
  • 一般高速道路 (農村部)
  • 一般高速道路 (郊外)
  • 一般高速道路 (都市部)

道路タイプ

道路タイプの更新は、対応する道路タイプに適用される変更です。特定の道路タイプに対して、道路タイプの速度の設定、値または割合による道路タイプの速度の変更 (増加または減少) を行うことができます。次のいずれかの更新タイプを使用します。

percentage
速度を増加 (正の値) または減少 (負の値) させる割合を指定して道路タイプの速度の増加を定義する速度更新です。
speed
速度単位と新しい速度を指定して道路タイプの新しい速度を定義する速度更新です。速度更新の場合、速度単位には kph (キロメートル/時)、mph (マイル/時)、mps (メートル/秒)、mtpm (メートル/分) のいずれかの値を指定できます。
speedAdjustment
速度 (単位と値) の変更を指定して道路タイプの速度の変化を定義する速度更新です。速度値は増加 (正の値) または減少 (負の値) させることができます。速度更新の場合、速度単位には kph (キロメートル/時)、mph (マイル/時)、mps (メートル/秒)、mtpm (メートル/分) のいずれかの値を指定できます。

例: 一時更新の 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 つの車両タイプを優先すると共に、同じセグメントで別の車両タイプを規制することが完全に可能です。次のタイプの車両情報を使用します。

vehicleType
ALL または次のいずれかのタイプの車両を選択します: STRAIGHTSEMI_TRAILORSTANDARD_DOUBLEINTERMEDIATE_DOUBLELONG_DOUBLETRIPLEOTHER_LONG_COMBINATION_VEHICLE
weight
車両の最大重量を指定します。ルートを決定する際、この値を超えるすべての車両は規制されます。重量の単位は、kglbmtt です。
height
車両の最大高を指定します。ルートを決定する際、この値を超えるすべての車両は規制されます。高さの単位は、ftydmimkm です。
length
車両の最大長を指定します。ルートを決定する際、この値を超えるすべての車両は規制されます。長さの単位は、ftydmimkm です。
width

車両の最大幅を指定します。ルートを決定する際、この値を超えるすべての車両は規制されます。幅の単位は、ftydmimkm です。

注: 重量/高さ、または長さ/幅のいずれかを、対応する単位と共に指定する必要があります。

車両規制なし

リクエスト:

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"
      }
}