使用するトラフィック モデル タイプを指定する

交通モデルは、特定のアルゴリズムと要素を使用して、特定のルートの総所要時間に交通状況がどのように影響するかを予測します。Routes API には、交通時間の計算に使用されるさまざまな要素に優先順位を付けることができる、さまざまな交通モデルのタイプが用意されています。ルートまたはルート マトリックスの所要時間の計算に使用するトラフィック モデルのタイプを指定できます。トラフィック モデルのタイプを設定すると、duration フィールドで返される値は、選択したトラフィック モデルによって異なります。

Routes API の Compute Routes メソッドと Compute Route Matrix メソッドはどちらも、トラフィック モデルのタイプをサポートしています。

デフォルトでは、どちらの方法でも BEST_GUESS トラフィック モデルタイプが使用されます。

トラフィック タイプを指定する

  1. 出発地と目的地を設定します。

  2. 出発時間が将来の場合、departure_time パラメータを使用して時刻を含めます。出発時刻を指定しない場合、デフォルトは現在時刻になります。

  3. trafficModel パラメータで使用するトラフィック モデルと、次のいずれかのタイプを選択します。

    • BEST_GUESS(デフォルト): 過去と現在の交通状況のデータを基に見積もった最適な移動時間を、duration_in_traffic で返すようリクエストします。departure_time が現在時刻に近いほど、現在の交通状況が重視されます。デフォルトの型 BEST_GUESS を使用すると、ほとんどのユースケースで最も有用な予測が得られます。

    • PESSIMISTIC: 返される duration_in_traffic で、交通量の多い日の過去の交通状況に基づいて時間をモデル化するようリクエストします。このタイプでは、ほとんどの日の実際の移動時間よりも長い推定所要時間が示されます。交通状況が極端に悪い場合は、この推定よりも所要時間が長くなることがあります。

    • OPTIMISTIC: 返される duration_in_traffic で、交通状況が良好な日の過去の交通状況に基づいて時間をモデル化するようリクエストします。このタイプでは、ほとんどの日の実際の移動時間よりも短い推定所要時間が示されます。交通状況が特に良い日は、この推定よりも短時間で到着することもあります。

    次に例を示します。

    "trafficModel": "OPTIMISTIC"

  4. フィールドマスクに routes.duration フィールドを指定します。

    REST

    -H X-Goog-FieldMask: routes.duration

    RPC

    const (fieldMask = "routes.duration")

Routes API が所要時間を推定する場合、リクエストされたトラフィック モデル タイプが使用されます。

例: トラフィック モデルのリクエスト

たとえば、このリクエストでは、特定の出発時間に OPTIMISTIC 交通モデルタイプを使用して所要時間を推定するように指定しています。

curl -X POST -H 'content-type: application/json' -d ' {
"origin": {
  "address": "Kyoto, Japan"
  },
"destination": {
  "placeId": "ChIJrYtcv-urAWAR3XzWvXv8n_s"
  },
"travelMode": "DRIVE",
"routingPreference": "TRAFFIC_AWARE_OPTIMAL",
"trafficModel": "OPTIMISTIC"
}' \
-H 'Content-Type: application/json' \
-H 'X-Goog-Api-Key: YOUR_API_KEY' \
-H 'X-Goog-FieldMask: routes.duration' \
'https://routes.googleapis.com/directions/v2:computeRoutes'

このリクエストは、ルートの OPTIMISTIC トラフィック モデルタイプを使用して、所要時間を返します。

"duration": "1238s"

トラフィック モデルのタイプを PESSIMISTIC に変更すると、返される時間は長くなります。

"duration": "2436s"