구글 지도 Routes API 교통 모델(Traffic Model) 설정

실시간 교통 정보와 과거 교통 데이터를 어떻게 반영할지에 따라 예측된 소요 시간(Duration)이 달라집니다. Google 지도 Routes API의 Traffic Model 기능을 통해, 평균적인 것부터 낙관적인/비관적인 교통 상황까지 다양한 예측 모델을 선택해 사용할 수 있습니다. 이 가이드에서는 각 모델의 차이점과 설정 방법, 예시 코드를 함께 살펴보겠습니다.

 

1. Traffic Model 개요

  • 교통 모델은 역사적·실시간 교통 상황을 고려해 경로 소요 시간을 예측하는 방식입니다.
  • Routes API의 Compute Routes 및 Compute Route Matrix 메서드에서 지원합니다.
  • 기본값은 BEST_GUESS이며, 교통 상황 예측이 필요하지 않은 경우엔 지정하지 않아도 됩니다.

2. 지원되는 모델 종류

모델 설명
BEST_GUESS 과거 교통 데이터와 실시간 교통 정보를 결합해 가장 유용한 예측치를 제공합니다.
PESSIMISTIC 과거 교통 데이터 중 교통이 가장 좋지 않았던 날을 기준으로 예측하여, 일반적으로 실제 소요시간보다 길게 계산됩니다.
OPTIMISTIC 과거 교통 데이터 중 교통이 가장 좋았던 날을 기준으로 예측하여, 일반적으로 실제 소요시간보다 짧게 계산됩니다.

 

3. 파라미터 설정 방법

  1. 출발지(origin)와 도착지(destination)를 설정합니다.
  2. 미래의 출발 시각을 예측에 반영하려면 departureTime을 ISO 8601 형식으로 지정합니다. 지정하지 않으면 요청 시점이 사용됩니다.
  3. trafficModel 파라미터에 사용할 모델을 지정합니다.
  4. 필요한 응답 필드를 제한하려면 X-Goog-FieldMask 헤더에 routes.duration를 포함합니다.

4. curl 요청 예시

curl -X POST 'https://routes.googleapis.com/directions/v2:computeRoutes' \
  -H 'Content-Type: application/json' \
  -H 'X-Goog-Api-Key: YOUR_API_KEY' \
  -H 'X-Goog-FieldMask: routes.duration' \
  --data-raw '{
    "origin": { "address": "Kyoto, Japan" },
    "destination": { "placeId": "ChIJrYtcv-urAWAR3XzWvXv8n_s" },
    "travelMode": "DRIVE",
    "departureTime": "2025-05-30T08:00:00Z",
    "routingPreference": "TRAFFIC_AWARE",
    "trafficModel": "OPTIMISTIC"
  }'

5. 응답 예시

{
  "routes": [
    {
      "duration": "1238s"
    }
  ]
}

위 예시에서는 OPTIMISTIC 모델을 사용해 예측된 소요 시간이 반환됩니다. 만약 PESSIMISTIC 모델을 사용하면, 더 긴 소요 시간이 반환될 수 있습니다.

6. 활용 팁

  • 정확한 출발 계획이 필요 없는 서비스라면, BEST_GUESS 모델을 사용해 응답 지연을 최소화하세요.
  • 예상보다 넉넉한 ETA를 제공해야 하는 경우에는 PESSIMISTIC 모델을, 빠른 이동을 장담할 수 있는 상황에는 OPTIMISTIC 모델을 선택하세요.
  • 미래 출발 시간을 고려해 복잡한 일정 예약 기능을 구현할 때 유용합니다.

Traffic Model을 적절히 설정하면, 사용자에게 상황에 맞는 경로 소요 시간을 제공할 수 있습니다. 기본인 BEST_GUESS 외에도, PESSIMISTICOPTIMISTIC 모델을 활용해 다양한 시나리오에 대응해 보시길 바랍니다.