GetRouteCostMatrix

説明

GetRouteCostMatrix サービスは、始点と終点の間の移動時間と距離を計算し、最短時間または最短距離となるルートを返します。この結果は、個々のルートの合計時間と合計距離 (ルート コスト) を示します。例えば、4 つの始点と 4 つの終点を入力すると、合計 16 個のルートが計算されます。

注: REST サービスからの応答は JSON 形式で、返されるジオメトリは GeoJSON 形式です。要求の GET URL に無効なクエリ パラメータが含まれていたり、POST のペイロードが無効である場合は、累積的なエラー応答が JSON 配列に返されます。応答 JSON の value ノードは非推奨です。エラーの確認には、errors ノードを使用してください。

HTTP GET URL 形式

HTTP GET 要求には次の形式を使用します。HTTP GET は、その他の JSON ペイロードを必要としない単純なコスト計算に使用します。


HTTP GET /rest/Spatial/erm/databases/dbsource.json?q=routeCostMatrix&query_parameters
			

ここで、dbsource は、ルート用のデータを含むデータベースの名前です。Enterprise Routing モジュールのルーティング データベース リソース ツールで指定されたデータベース名を使用してください。

HTTP POST URL 形式

HTTP POST リクエストには次の形式を使用します。


HTTP POST:  /rest/Spatial/erm/databases/dbsource.json?q=routeCostMatrix&query_parameters
POST BODY: Content-Type:application/json {Route Data}
			

Route Data は、入力ポイントのリストが呼び出し元の URL バッファの制限を超える場合の計算や、一時更新、または道路タイプの優先度を含む計算で使用されるその他のルート情報を表す POST Json 本体 (Content-Type: application/json) です。これらのオプションの詳細については、GetRouteCostMatrix HTTP POST オプションを参照してください。

クエリ パラメータ

この演算は、次のクエリ パラメータを取ります。

パラメータ タイプ 必須 説明
startPoints String はい ルートの始点。形式は long,lat,long,lat,...,coordSys です。例えば、-74.2,40.8,-73,42,EPSG:4326 を使用します。
endPoints String はい ルートの終点。形式は long,lat,long,lat,...,coordSys です。例えば、-74.2,40.8,-73,42,EPSG:4326 を使用します。
destinationSrs String いいえ ルートと結果のジオメトリを返す座標系。既定値は使用するデータの座標系です。
optimizeBy String いいえ ルートに使用する最適化のタイプ。有効な値は time または distance です。既定値は time です。
returnDistance Boolean いいえ 道順に移動距離を含めます。既定値は true です。returnDistance および returnTime パラメータの両方を同じ要求で false にはできません。
distanceUnit String いいえ 距離を返すときの単位。既定値は m (メートル) です。使用可能な値: m (メートル)、km (キロメートル)、yd (ヤード)、ft (フィート)、mi (マイル)。
returnTime Boolean いいえ 道順に、その道順に従った場合にかかる時間を含めます。既定値は true です。returnDistance および returnTime パラメータの両方を同じ要求で false にはできません。
timeUnit String いいえ 時間を返すときの単位。既定値は min (分) です。使用可能な値: min (分)、msec (ミリ秒)、s (秒)、h (時間)。
majorRoads Boolean いいえ 計算時に、すべての道路を含めるか、幹線道路のみを含めるかを指定します。幹線道路のみを含めるように指定した場合は、パフォーマンスは向上しますが精度は低くなる場合があります。デフォルトは false です。
returnOptimalRoutesOnly Boolean いいえ 始点/終点の各組み合わせに対し、最適化ルートのみを返すかどうかを指定します。既定値は true です。最適化ルートは、optimizeBy パラメータに応じて、最短時間ルートまたは最短距離のいずれかになります。
historicTrafficTimeBucket String いいえ

ルーティング計算において、トラフィック速度履歴を使用するかどうかを指定します。これらの速度は、1 日のうちの異なるタイム バケットに基づきます。この機能を使用するには、トラフィック速度履歴がデータに含まれている必要があります。各国/地域のデータに対するバケット定義は同じです。バケット値に対する速度は異なる場合があります。次のオプションがあります。

None
デフォルト値です。計算において、トラフィック データ履歴は使用しません。代わりに速度の平均値を使用します。
AMPeak
午前のピーク速度でルートを計算します。午前ピークのタイム バケットは、1 日のうちの 07:00 ~ 10:00 です。
PMPeak
午後のピーク速度でルートを計算します。午後ピークのタイム バケットは、1 日のうちの 16:00 ~ 19:00 です。
OffPeak
オフピーク (日中) 速度でルートを計算します。オフピークのタイム バケットは、1 日のうちの 10:00 ~ 16:00 です。
Night
夜間速度でルートを計算します。夜間のタイム バケットは、1 日のうちの 22:00 ~ 04:00 です。

2 つの始点と 2 つの終点を持つコスト マトリックス ルート。


http://www.pb.com/rest/Spatial/erm/databases/usroutedatabase.json?q=routeCostMatrix&startPoints=-73.56565,40.5545,-73.46565,40.4545,epsg:4326&endPoints=-73.34343,40.667,-73.14343,40.267,epsg:4326&returnOptimalRoutesOnly=true&optimizeBy=distance&distanceUnit=km&timeUnit=min&majorRoads=true&destinationSrs=epsg:4322&returnTime=false			
			

応答


{
    "matrix":
       [
           {
               "startPoint":
               {
                   "type": "Point",
                   "coordinates":
                   [
                       -73.56567672202618,
                       40.554384822358614
                   ],
                   "crs":
                   {
                       "type": "name",
                       "properties":
                       {
                           "name": "epsg:4322"
                       }
                   }
               },
               "endPoint":
               {
                   "type": "Point",
                   "coordinates":
                   [
                       -73.34345711862802,
                       40.66688488742393
                   ],
                   "crs":
                   {
                       "type": "name",
                       "properties":
                       {
                           "name": "epsg:4322"
                       }
                   }
               },
               "distance": 35.268,               
               "distanceUnit": "km
           },
           {
               "startPoint":
               {
                   "type": "Point",
                   "coordinates":
                   [
                       -73.46567684021008,
                       40.454384834155185
                   ],
                   "crs":
                   {
                       "type": "name",
                       "properties":
                       {
                           "name": "epsg:4322"
                       }
                   }
               },
               "endPoint":
               {
                   "type": "Point",
                   "coordinates":
                   [
                       -73.34345711862802,
                       40.66688488742393
                   ],
                   "crs":
                   {
                       "type": "name",
                       "properties":
                       {
                           "name": "epsg:4322"
                       }
                   }
               },
               "distance": 44.444,
               "distanceUnit": "km"
           }
       ]
    }