基本的なコンセプト

アイソクロンを生成するには、出発地、移動手段(自動車、自転車、徒歩など)、時間制限を API に指定します。ルーティング設定や、生成されるポリゴンの外観を調整することもできます。

タイム ホライズン

サービスに指定する主な制約は travel_duration です。これにより、計算のタイム ホライズンが定義されます。

  • 最大所要時間: API は、DRIVE モードで最大 3,600 秒(1 時間)、WALK モードと BICYCLE モードで最大 7,200 秒(2 時間)の移動時間をサポートしています。
  • パフォーマンス: 計算時間は、リクエストされた時間と選択した移動手段によって異なります。自動車で 1 時間のアイソクロンは、徒歩で 1 時間のアイソクロンよりも地理的範囲と道路網が大幅に広いため、自動車のリクエストのレイテンシが高くなります。
  • 形式: API は google.protobuf.Duration を使用するため、 時間は整数ではなく、末尾が「s」の文字列(例: "3600s")としてフォーマットする必要があります。

出発地と道路スナップ

アイソクロンの出発地は、次の 2 つの方法で指定できます。

  • 座標: 緯度と経度のペア(location)。
  • プレイス ID: Google マップ上の特定の場所の一意の識別子(place)。プレイス ID を指定すると、その場所の中心が出発地として使用されます。API は、places/ChIJ... などのリソース名形式を想定しています。プレイス ID について詳しくは、 プレイス ID をご覧ください。

入力方法に関係なく、出発地が道路上ではなく、公園や建物の中にある場合、API は正確な物理的な地点からの移動時間を計算しません。この状況に対処するため、サービスは道路スナップを使用します。道路スナップには次の特徴があります。

  • スマート スナップ: サービスは、出発地を最も近い通行可能な道路セグメントにスナップしようとします。
  • モード認識: スナップ ロジックは travel_mode を考慮します。DRIVE をリクエストすると、API は歩行者専用の経路を無視し、最も近い走行可能な道路を探します。WALK をリクエストすると、API は歩行可能な経路と歩道を優先します。
  • 失敗ケース: 出発地から 約 100 メートル以内に適切な道路セグメントが見つからない場合、API は 404 NOT_FOUND エラーを返します。これは通常、出発地が道路網から離れすぎているか、地図データがリクエストされた移動手段をサポートしていない地域にあることを示します。

移動方向(インバウンドとアウトバウンド)

travelDirection パラメータを使用すると、インバウンドとアウトバウンドの両方の到達可能性を計算できます。

  • FROM(アウトバウンド): 指定された時間制限内で出発地から到達できるエリアを計算します。 配送ゾーンやサービス提供範囲などのユースケースに適しています。
  • TO(インバウンド): 指定された時間制限内に出発地まで移動できるエリアを計算します。 従業員が通勤できる範囲など、集客ゾーンを特定するのに適しています。

交通状況の認識

routing_preference パラメータを使用して、交通データが生成されるポリゴンに与える影響を制御します。

  • TRAFFIC_UNAWARE (デフォルト): 制限速度と道路階層を使用してアイソクロン ポリゴンを生成します。これにより、時間帯によって変動しない決定論的な形状が生成されます。このパラメータは、一般的な分析やベースライン シナリオの計画に最適です。
  • TRAFFIC_AWARE: リクエスト時のリアルタイムまたは予測の交通状況を使用してアイソクロンを計算します。これにより、渋滞時には到達可能なエリアが縮小し、オフピーク時には拡大します。注: 交通状況を考慮したルーティングは、travelModeDRIVE に設定されている場合にのみサポートされます。

平滑化と忠実度

polygon_fidelity パラメータと enable_smoothing パラメータを使用して、出力ポリゴンの外観と精度をカスタマイズできます。これらのオプションは独立していますが、連携して最終的な形状を決定します。

  • polygon_fidelity: 到達可能なエリアの計算に使用される基盤となるグリッド セルのサイズを制御します。

    • LOW: 大きなグリッドセルを使用します。ギャップのない広いエリアをカバーするのに最適で、一般的な形状になります。
    • MEDIUM: バランスの取れた精度。
    • HIGH: 小さなグリッドセルを使用します。道路網にぴったりとフィットしますが、道路網が疎な場合は空のエリアや穴が生じることがあります。
    • POLYGON_FIDELITY_UNSPECIFIED: 指定しない場合、リクエストされた移動時間に基づいて忠実度が動的に選択されます。
      高、中、低のポリゴン忠実度
      ポリゴンの忠実度(高、中、低)
  • enable_smoothing: 忠実度によって定義されたグリッドセルの鋭いエッジを丸めるかどうかを制御します。

    • false(未加工): デフォルト。正確な幾何学的計算を返します。 エッジがギザギザになったり、階段状になったりします。厳密なポイントインポリゴン テストなど、分析の精度を高めるのに最適です。平滑化されたものよりもレイテンシが短くなります。
    • true (平滑化): 後処理アルゴリズムを適用して角を丸めます。地図での視覚的な表示に最適です。
      スムージングありとなしの等時線
      平滑化ありとなしのアイソクロン