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

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

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 には、次の種類があります。

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

roadType

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

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

例: 一時更新の 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]
			   }
			

道路タイプの優先度

ルート決定時にさまざまな道路に与える優先順位を指定します。次は、道路タイプの優先度オプションの説明です。

オプション

説明

high

この道路タイプを他の道路タイプよりも優先します。

medium

この道路タイプに他の道路タイプと同じ優先設定を与えます。道路タイプに優先設定を指定しないと、デフォルトとして "中" が使われます。

low

他の道路タイプをこの道路タイプよりも優先します。

avoid

この道路タイプを可能な限りルートで使用しません。特定の道路タイプを道順から常に除外できるとは限りません。状況によっては、回避対象の道路タイプの代わりになるものが非常に貧弱なために回避対象の道路タイプを使うルートが選ばれることがあります。また、始点または終点がセグメントの横にあって、そのセグメントの道路タイプが回避されている場合も、そのセグメントが使われます。

例: 道路タイプの優先度の HTTP POST ペイロード


{
" roadTypesPriority ": {
        "RoadType.MajorRoadDenseUrban": "High",
        "RoadType.LimitedAccessDenseUrban":"Low",
        "RoadType.LimitedAccessRural":"Medium",
        "RoadType.PrimaryHighwayUrban":"Avoid"
      }
}