交通モデルは、特定のアルゴリズムと要素を使用して、特定のルートの総移動時間に交通状況がどのように影響するかを予測します。Routes API
では、交通状況での所要時間の計算に使用されるさまざまな要素に優先順位を付けるために、さまざまな交通モデルタイプが用意されています。ルートまたはルートマトリックスの所要時間を計算する際に、ルートで使用する交通モデルタイプを指定できます。交通モデルタイプを設定すると、duration フィールドで返される値は、選択した交通モデルによって異なります。
Routes API の Compute Routes メソッドと Compute Route Matrix メソッドはどちらも、交通モデルタイプをサポートしています。
デフォルトでは、どちらのメソッドも BEST_GUESS 交通モデルタイプを使用します。
交通状況のタイプを指定するには
出発地と目的地を設定します。
出発時刻が未来の場合は、
departure_timeパラメータを使用して時刻を含めます。出発時刻を指定しない場合、デフォルトは現在時刻になります。routingPreferenceパラメータをTRAFFIC_AWARE_OPTIMALに設定します。routingPreferenceをTRAFFIC_UNAWAREまたはTRAFFIC_AWAREに設定すると、trafficModelパラメータと互換性がなくなります。trafficModelパラメータで使用する交通モデルと、次のいずれかのタイプを選択します。BEST_GUESS(デフォルト)は、過去の交通状況とリアルタイム交通情報の両方についてわかっていることを基に見積もった最適な移動時間を、duration_in_trafficで返すよう指定します。departure_timeが現在時刻に近いほど、リアルタイム交通情報が重視されます。デフォルトのタイプBEST_GUESSを使用すると、ほとんどのユースケースで最も有用な予測が得られます。PESSIMISTICは、交通状況が悪い日の過去の交通状況に基づいて時間をモデル化し、duration_in_trafficで返すよう指定します。 このタイプでは、ほとんどの場合、実際の移動時間よりも長い 所要時間が推定されます。交通状況が特に悪い場合は、この推定値を超える可能性があります。OPTIMISTICは、交通状況が良い日の過去の交通状況に基づいて時間をモデル化し、duration_in_trafficで返すよう指定します。 このタイプでは、ほとんどの場合、実際の移動時間よりも短い 所要時間が推定されます。交通状況が特に良い場合は、この推定値よりも短時間で到着する可能性があります。
次に例を示します。
"trafficModel": "OPTIMISTIC"
フィールド マスクで
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"