

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon Location Service Routes
<a name="routes"></a>

![\[Amazon Location Service Routes の概要。\]](http://docs.aws.amazon.com/ja_jp/location/latest/developerguide/images/routesV2/route-banner.png)


Amazon Location Service Routes を使用すると、複数の開始点と終了点の間の移動時間と距離を計算し、道路に沿った車両 GPS トレースを視覚化して、サービス可能なエリアをよりよく理解できます。これにより、運用コストを削減し、カスタマーエクスペリエンスを向上させることができます。

## 機能
<a name="routes-features"></a>

**ルートパスを計画する**  
距離、時間、道路状況などのさまざまな要因を考慮して、2 つ以上の場所間のルートを計算します。同じロケーションセットの代替ルートを表示することもできます。

**ルートの最適化**  
最速ルートまたは最短ルートを選択して、時間または距離に合わせてルートを最適化します。また、ウェイポイントをシーケンスして、巡回セールスマン問題に合わせて最適化することもできます。

**ルート分析**  
移動時間、距離、停止回数などのパフォーマンスメトリクスを分析して、ルートが目的の目標を満たしていることを確認します。

**サービスエリア**  
距離または時間制限に基づいて、特定の場所からサービスを提供できる地理的エリアを定義します。

**通行料金**  
ルートの通行料金インフラストラクチャに関連するコストを計算します。

**回避**  
高速道路、トンネル、フェリー、有料道路を回避して、ルート計算を制限します。

**速度制限**  
ルートの各セグメントの速度制限を見つけて、ドライバーがローカル規制に準拠できるようにします。

![\[Amazon Location Service のルート機能を使用するアプリケーション。\]](http://docs.aws.amazon.com/ja_jp/location/latest/developerguide/images/routesV2/route-demo.png)


## ユースケース
<a name="routes-usecases"></a>

**効率的なルートとターンバイターンの方向を指示する**  
任意の開始場所 (住所、POI、または GPS 座標) からのルートを計画し、車両の寸法と制限を考慮して、複数の目的地への最適なパスを計算します。  
詳細については、「[ルートを計算する](calculate-routes.md)」を参照してください。

**配送ルートの最適化**  
ウェイポイントシーケンスを使用して、巡回セールスマン問題を解決し、複数の宛先への最適なルートを計算して、時間と距離を最小限に抑えます。  
詳細については、「[Optimize waypoints](actions-optimize-waypoints.md)」を参照してください。

**最寄りの倉庫から配送されていることを確認します。**  
Matrix Routing と Waypoint Sequencing を使用して、倉庫から各顧客への最速ルートを特定し、効率を最大化してコストを最小限に抑えます。  
詳細については、「[ルートを計算する](calculate-routes.md)」および「[ルートマトリックスを計算する](calculate-route-matrix.md)」を参照してください。

**タクシーとライドシェアのディスパッチを改善**  
Matrix Routing を使用して、利用可能な最も近い車両を特定し、リアルタイムのトラフィックに基づいて最適なルートを計算します。これにより、最も近い車両が効率的に顧客に到達し、顧客満足度とビジネスの生産性の両方が向上します。より多くのトリップを行い、燃料コストを節約し、優れたサービスエクスペリエンスを提供します。  
詳細については[ルートを計算する](calculate-routes.md)、[ルートマトリックスを計算する](calculate-route-matrix.md)、および[Calculate Isolines](calculate-isolines.md)を参照してください。

**サービスエリアの検索**  
等値線ルートを使用して、時間または距離の制約に基づいて、ビジネスの地理的到達範囲を決定します。これにより、企業は潜在的な顧客を特定し、ディスパッチ計画を立てることができます。在宅医療提供者は、15 分以内にすべての患者に到達できる十分なスタッフとリソースを確保できます。等値線は、サービスエリアの最適化、タイムリーな配信の確保、新しい施設の検索に役立ちます。  
詳細については、「[Calculate Isolines](calculate-isolines.md)」を参照してください。

**GPS トレースを道路にスナップする**  
GPS トレースを道路に合わせ、車両の動きを視覚化して、ルートの準拠と規制コンプライアンスを確保します。フリートマネージャーは、車両が計画されたルートにとどまっているかどうかを確認し、逸脱を特定できます。ドライバーがガイドラインに従っていることを確認し、非効率性を特定して、規制に準拠していることを確認します。GPS の不正確さとバリエーションを修正し、車両のアクティビティをリアルに把握します。ルートの最適化、ドライバーの動作、フリート管理に関するより良い意思決定を可能にします。  
詳細については、「[Snap to Road](snap-to-roads.md)」を参照してください。

## API
<a name="routes-apis"></a>

この表は、ルート計画とロケーションベースのデータ処理のための主要な Amazon Location Service API の概要を示しています。各 API は、ルートの計算、ウェイポイントの最適化、正確な追跡のための道路への GPS トレースのスナップなど、独自の機能を提供します。


**API**  

| API 名 | 説明 | もっと読む | 
| --- | --- | --- | 
| Calculate Routes | 車両の制限とリアルタイムのトラフィックを考慮して、開始点と複数の目的地の間の移動距離、移動時間、ターンバイターンの方向を計算します。 | [ルートを計算する](calculate-routes.md) | 
| Calculate Route Matrix | リアルタイムのトラフィックを考慮して、一連の出発地と一連の目的地の間のルート距離と時間を計算します。 | [ルートマトリックスを計算する](calculate-route-matrix.md) | 
| Calculate Isolines | 交通手段に基づいて、指定した時間または距離内に到達できる地理的領域を特定します。 | [Calculate Isolines](calculate-isolines.md) | 
| Optimize Waypoints | 複数の目的地への効率的な移動順序を見つけ、交通量や車両の制約などの要因を考慮しながら、移動時間と距離を短縮します。 | [ルートのウェイポイントを最適化する方法](optimize-waypoints.md) | 
| Snap to Road | GPS トレースを最も近い道路セグメントに一致させて、車両追跡とルート可視化の精度を向上させます。 | [Snap to Road](snap-to-roads.md) | 

# ルートの概念
<a name="routes-concepts"></a>

Amazon Location Service のルートの概念は、シンプルなナビゲーションでも複雑な物流でも、ジャーニーを計画および最適化するための堅牢なフレームワークを提供します。ルートには、ウェイポイント、レッグ、ステップ、スパンなどのさまざまなコンポーネントが含まれ、それぞれがルート計算の詳細度と柔軟性に寄与します。Routes API を使用すると、移動距離の計算、移動時間の見積もり、マルチストップジャーニーの最適化を行うことができます。さらに、ルートジオメトリ、トラフィック認識、速度制限、通行料金、柔軟なポリラインエンコーディングなどの機能により、視覚化、分析、運用効率の機能が向上します。このセクションでは、用語、ベストプラクティス、詳細な使用パターンについて説明し、ナビゲーション、配信、フィールドサービスなどの効果的なルートソリューションを実装する方法について説明します。

**Topics**
+ [ルート用語](routes-terminology.md)
+ [地点 (出発地、目的地、ウェイポイント、およびトレース)](concepts-where.md)
+ [出発時刻と到着時刻](concepts-when.md)
+ [方法 (移動モード、回避、除外)](concepts-how.md)
+ [交通量の認識](concepts-traffic-awareness.md)
+ [ルートとウェイポイントシーケンスを最適化する](optimize-route-waypoint.md)
+ [ドライバーのスケジュールと通知](driver-schedule-notices.md)

# ルート用語
<a name="routes-terminology"></a>

**ルート**  
ルートは、出発地からウェイポイント位置を通り、目的地までの移動の詳細を提供します。これには、移動距離、移動時間、ルートジオメトリ、速度制限、スパン、その他の属性が含まれます。

**ルートマトリックス**  
一連の送信元から一連の送信先までの移動距離と移動時間を表すマトリックス。これは、ルート計画または最適化アプリケーションの入力として役立ちます。

**Waypoint**  
ウェイポイントは、出発地から目的地へのルートに沿った中間のストップです。ルートは、リクエストで指定されたストップオーバー順序に従います。

**レッグ**  
レッグは、ルート上の 2 つの連続した位置間のジャーニーを表します。ポジションが道路上にない場合は、一番近い道路に移動します。ウェイポイントのないルートは 1 つのレッグで構成されます。1 つ以上のウェイポイントがあるルートには複数のレッグがあり、各レッグは 1 つのウェイポイントから次のウェイポイントへの移動を表します。フェリーを含むものなど、特定のレッグには、そのレッグタイプに関連する特定の情報が含まれます。

**Step**  
ステップはレッグ内のセグメントであり、ジャーニーのその部分の概要の詳細を提供します。ステップのタイプは次のとおりです。  
+ **デフォルトステップ** – ルートの概要を表示するウェブアプリケーションに適した、人間が読める指示を含む基本的なステップ。
+ **ターンバイターンステップ** – ターンバイターンアプリケーションに適した詳細なステップで、詳細な手順を提供します。
+ **Before Travel Steps** – ジャーニーを開始する前に完了するステップ。例: フェリーの乗船。
+ **After Travel Steps** – ジャーニーの終わりに到達した後に完了するステップ。例: フェリーの下船。

**Span**  
スパンは、一貫した属性セットを共有する、継続した道路の区間を表します。リクエストされた属性のいずれかが変更されるたびに、新しいスパンがルートに沿って作成されます。

**Segment**  
セグメントは道路のナビゲーション可能な部分であり、通常は直線的な区間として表されます。

**ルートジオメトリ**  
ルートジオメトリは、視覚化、分析、またはその他の用途のためのルートのパスを示します。各ルートレッグのジオメトリは、圧縮されエンコードされたポリラインまたは単純な行文字列として表すことができます。

**柔軟なポリライン**  
ジオメトリを表すためのコンパクトでエンコードされたポリライン形式。レスポンスサイズの制限に推奨され、クライアント側のデコードに最適化されます。

**シンプルな行の文字列**  
ジオメトリを表す GeoJSON LineString 形式。この形式は、より大きなレスポンスペイロードを生成し、マップにルートをプロットするために使用できる座標の順序付けられた配列です。

# 地点 (出発地、目的地、ウェイポイント、およびトレース)
<a name="concepts-where"></a>

ルート計算の対象となる場所を指定します。これには、ルートの開始地点、終了地点、および中間地点 (または通過する場所) が含まれます。


**ルート計算の地点を指定します**  

| パラメータ | 説明 | ルート | ルートマトリックス | 等値線 | ウェイポイントの最適化 | 道路にスナップ | 
| --- | --- | --- | --- | --- | --- | --- | 
| 出発地 (複数可) | ルートの開始位置。 | はい、オプションあり | はい、オプションあり | はい、オプションあり | はい、オプションあり | なし | 
| Waypoint | ルート上に含める中間地点。 | はい、オプションあり | はい、オプションあり | はい、オプションあり | はい、オプションあり | なし | 
| 目的地 (複数可) | ルートの終了位置。 | はい、オプションあり | はい、オプションあり | はい、オプションあり | はい、オプションあり | なし | 
| トレースポイント | 移動モードによって送信された履歴位置情報を含む GPS トレース。これらの位置情報には、デバイスがこの情報を出力または記録できなかった場合の一般的な GPS の不正確さやギャップが含まれます。 | なし | なし | なし | なし | はい、オプションあり | 

## 設定可能なオプション
<a name="configurable-options"></a>

ウェイポイント、出発地、目的地に対する経ルート設定のカスタマイズオプションを提供します。

**ウェイポイントオプション**


| パラメータ | 説明 | ルート | ルートマトリックス | 等値線 | ウェイポイントの最適化 | 道路にスナップ | 
| --- | --- | --- | --- | --- | --- | --- | 
| AvoidActionsForDistance | 指定距離内でのアクションを回避します。ウェイポイント付近でドライバーが判断を下す十分な時間を確保するために使用されます。 | あり | なし | なし | なし | なし | 
| AvoidUTurns | ウェイポイントでの U ターンを許可するかどうかを指定します。 | あり | なし | なし | なし | なし | 
| 進行方向 | ウェイポイント位置における GPS 方位。 | あり | なし | なし | あり | なし | 
| 一致 | 指定された位置を道路ネットワークに合わせて設定するオプション。 | はい、オプションあり | なし | なし | なし | なし | 
| SideOfStreet | ウェイポイントの位置に一致する道路側を指定します。 | はい、オプションあり | なし | なし | はい、オプションあり | なし | 
| StopDuration | ウェイポイント位置で停止する時間。 | あり | なし | なし | なし | なし | 
| Position | ウェイポイントの経度と緯度。 | あり | なし | なし | あり | なし | 
| PassThrough | ウェイポイントを停止地点として扱うか、通過するかを決定します。 | あり | なし | なし | なし | なし | 
| ID | ウェイポイントの識別子文字列。 | なし | なし | なし | あり | なし | 
| AccessHours | 目的地への訪問可能な時間帯を指定します。 | なし | なし | なし | あり | なし | 
| AppointmentTime | ウェイポイントでの予約予定時刻。 | なし | なし | なし | あり | なし | 
| ServiceDuration | 予約期間など、ウェイポイントのサービス時間。 | なし | なし | なし | あり | なし | 
| 前 | このウェイポイントの後に訪問しなければならないウェイポイントを定義します。 | なし | なし | なし | あり | なし | 

**出発地オプション**


| パラメータ | 説明 | ルート | ルートマトリックス | 等値線 | ウェイポイントの最適化 | 道路にスナップ | 
| --- | --- | --- | --- | --- | --- | --- | 
| AvoidActionsForDistance | 指定距離内でのアクションを回避します。 | あり | あり | あり | なし | なし | 
| AvoidUTurns | 出発地で U ターンを許可するかどうかを指定します。 | あり | なし | なし | なし | なし | 
| 進行方向 | 出発地の位置における GPS 方位。 | あり | あり | あり | なし | なし | 
| 一致 | 出発地の位置を道路ネットワークに合わるオプション。 | はい、オプションあり | はい、オプションあり | はい、オプションあり | なし | なし | 
| SideOfStreet | 出発地の位置に一致する道路側を指定します。 | はい、オプションあり | はい、オプションあり | はい、オプションあり | なし | なし | 
| ID | 出発地の識別子文字列。 | なし | なし | あり | なし | なし | 

**送信先オプション**


| パラメータ | 説明 | ルート | ルートマトリックス | 等値線 | ウェイポイントの最適化 | 道路にスナップ | 
| --- | --- | --- | --- | --- | --- | --- | 
| AvoidActionsForDistance | 目的地の指定距離内におけるアクションを回避します。 | あり | あり | あり | なし | なし | 
| AvoidUTurns | 目的地で U ターンを許可するかどうかを指定します。 | あり | なし | なし | なし | なし | 
| 進行方向 | 目的地の位置における GPS 方位。 | あり | あり | あり | あり | なし | 
| 一致 | 目的地の位置を道路ネットワークに合わるオプション。 | はい、オプションあり | はい、オプションあり | はい、オプションあり | なし | なし | 
| SideOfStreet | 目的地の位置に一致する道路側を指定します。 | はい、オプションあり | はい、オプションあり | はい、オプションあり | はい、オプションあり | なし | 
| StopDuration | 目的地での滞在時間。 | あり | なし | なし | なし | なし | 
| ID | 目的地の識別子文字列。 | なし | なし | あり | なし | なし | 
| AccessHours | 目的地への訪問可能な時間帯を指定します。 | なし | なし | あり | なし | なし | 
| AppointmentTime | 目的地での予約予定時間。 | なし | なし | あり | なし | なし | 
| ServiceDuration | 予約期間など、目的地のサービス時間。 | なし | なし | あり | なし | なし | 

# 出発時刻と到着時刻
<a name="concepts-when"></a>

ルート計算の時刻を指定します。この時刻は、出発時刻と到着時刻のタイムスタンプを決定するだけでなく、使用する交通データにも影響します。


| パラメータ | 説明 | ルート | ルートマトリックス | 等値線 | ウェイポイントの最適化 | 道路にスナップ | 
| --- | --- | --- | --- | --- | --- | --- | 
| 出発時刻 | 出発地からの出発時刻。到着時刻も出発時刻も指定されていない場合、動的交通情報は使用されず、過去の交通状況に基づく流動的な速度のみが適用されます。 | あり | あり | あり | あり | なし | 
| 今すぐ出発 | 現在の時刻を出発地からの出発時刻として使用します。 | あり | あり | あり | なし | なし | 
| 到着時刻 | 目的地に到着する時刻。到着時刻も出発時刻も指定されていない場合、動的交通情報は使用されず、過去の交通状況に基づく流動的な速度のみが適用されます。 | あり | なし | あり | なし | なし | 

# 方法 (移動モード、回避、除外)
<a name="concepts-how"></a>

以下のオプションを使用して、ルート計算に使用する移動モードと関連する機能を指定します。

**移動モードのオプション**

ルートを計算するとき、交通手段を指定します。この設定は、推定移動速度、道路の適合性、および必要に応じてフェリーを使用する可能性に影響します。


| パラメータ | 説明 | ルート | ルートマトリックス | 等値線 | ウェイポイントの最適化 | 道路にスナップ | 
| --- | --- | --- | --- | --- | --- | --- | 
| Car | 車モード。 | はい、オプションあり | はい、オプションあり | はい、オプションあり | あり | あり | 
| スクーター | スクーターモード。 | はい、オプションあり | あり | はい、オプションあり | あり | あり | 
| 歩行 | 歩行モード。 | はい、オプションあり | あり | あり | はい、オプションあり | あり | 
| トラック | トラックモード。 | はい、オプションあり | はい、オプションあり | はい、オプションあり | はい、オプションあり | はい、オプションあり | 

**回避、除外、および許可オプション**

ルート計算中に特定の機能セットを含めるか、除外するか、回避するかを決定します。


| パラメータ | 説明 | ルート | ルートマトリックス | 等値線 | ウェイポイントの最適化 | 道路にスナップ | 
| --- | --- | --- | --- | --- | --- | --- | 
| 回避 | 最善策として回避される機能。ルーターが有効なルートを見つけられない場合、回避は無視され、回避が受け入れられなかったことを示す通知が表示されます。 | はい、オプションあり | はい、オプションあり | はい、オプションあり | はい、オプションあり | なし | 
| Exclusion | 厳密に除外される機能。ルーターが除外オプションで有効なルートを見つけられない場合、ルートは返されません。 | はい、オプションあり | はい、オプションあり | なし | なし | なし | 
| 許可 | 明示的に有効にする必要がある機能。 | はい、オプションあり | はい、オプションあり | はい、オプションあり | はい、オプションあり | なし | 

**回避のリスト**

最善策として回避される機能を一覧表示します。ルーターが有効なルートを見つけられない場合、回避は無視され、回避が受け入れられなかったことを示す通知が表示されます。


| パラメータ | 説明 | ルート | ルートマトリックス | 等値線 | ウェイポイントの最適化 | 道路にスナップ | 
| --- | --- | --- | --- | --- | --- | --- | 
| エリア | 例外を除いて回避すべきエリア。 | はい、オプションあり | はい、オプションあり | はい、オプションあり | はい、オプションあり | なし | 
| 制御されているアクセスのハイウェイ | エントリポイントが制限された高速道路。 | あり | あり | あり | あり | なし | 
| 車両シャトル列車 | トンネルを通って車両を輸送する列車。 | あり | あり | あり | なし | なし | 
| 未舗装道路 | 表面が自然のままの舗装されていない道路。 | あり | あり | あり | あり | なし | 
| フェリー | 水域を横断して車両を輸送する船 | あり | あり | あり | なし | なし | 
| ボートフェリー | 鉄道車両を輸送するフェリー。 | なし | なし | あり | あり | なし | 
| 鉄道車両フェリー | 鉄道車両を輸送するフェリー。 | なし | なし | あり | あり | なし | 
| 季節閉鎖 | 特定の季節に閉鎖される道路。 | あり | なし | あり | なし | なし | 
| トンネル | 車両通行用の地下通路。 | あり | あり | あり | あり | なし | 
| 有料道路 | 通行料が必要な道路。 | あり | あり | あり | あり | なし | 
| 料金トランスポンダー | 料金トランスポンダーが唯一の支払い手段となる道路を回避します。 | あり | なし | あり | なし | なし | 
| U ターン | 車両が逆方向に折り返せるポイント。 | あり | あり | あり | あり | なし | 
| ゾーンカテゴリ | 回避するゾーンカテゴリ。 | あり | あり | あり | なし | なし | 

**除外のリスト**

厳密に除外される機能を一覧表示します。ルーターが除外オプションで有効なルートを見つけられない場合、ルートは返されません。


| パラメータ | 説明 | ルート | ルートマトリックス | 等値線 | ウェイポイントの最適化 | 道路にスナップ | 
| --- | --- | --- | --- | --- | --- | --- | 
| Countries (国) | ルート計算から厳密に除外する必要がある国の国コード 2 または国コード 3。 | あり | あり | なし | あり | なし | 

**許可のリスト**

ルート計算で明示的に有効にする必要がある機能を一覧表示します。


| パラメータ | 説明 | ルート | ルートマトリックス | 等値線 | ウェイポイントの最適化 | 道路にスナップ | 
| --- | --- | --- | --- | --- | --- | --- | 
| HOV | ルート計算で HOV レーンの使用を有効にします。 | あり | あり | あり | なし | なし | 
| HOT | ルート計算で HOT レーンの使用を有効にします。 | あり | あり | あり | なし | なし | 

# 交通量の認識
<a name="concepts-traffic-awareness"></a>

ルート計算中に使用される交通量関連情報のタイプを決定します。フロー交通は、長期的な事故関連の渋滞を除いた渋滞状況を表します。フロー交通データの精度は時間の経過と共に低下するため、過去の事象については履歴交通データの方が信頼性が高くなります。


| パラメータ | 説明 | ルート | ルートマトリックス | 等値線 | ウェイポイントの最適化 | 道路にスナップ | 
| --- | --- | --- | --- | --- | --- | --- | 
| 使用 | ルート計算時の交通データの利用を有効または無効にします。有効にした場合、`DepartureTime`、`ArrivalTime`、または `DepartNow` が指定されていないときは、長期閉鎖のみを考慮します。それ以外の場合、時刻が指定されているときは、すべての交通データを考慮します。 | あり | あり | あり | あり | なし | 
| FlowEventThresholdOverride | フロー交通イベントが有効とみなされる秒単位の期間。有効の間、履歴交通データよりもフロー交通データが優先的に使用されます。 | あり | あり | あり | なし | なし | 

# ルートとウェイポイントシーケンスを最適化する
<a name="optimize-route-waypoint"></a>

## ルーティングを最適化する
<a name="optimize-routing"></a>

ルートを計算するときの最適化基準。これは、時間で測定される最速ルートでも、距離で測定される最短ルートでもかまいません。


| オプション | 説明 | 測定 | 
| --- | --- | --- | 
| 最速ルート | 移動時間の最小化に焦点を当てて、最速ルートを計算します。これには、交通状況、道路速度制限、その他の要因が考慮されます。 | 時間 | 
| 最短ルート | 最短ルートを計算し、移動距離を最小限に抑えます。これは、燃料コストや排出量の削減など、距離が重要な要素である場合によく使用されます。 | 距離 | 

## ウェイポイントの最適化
<a name="optimize-waypoint"></a>

ルート内のウェイポイントシーケンスの最適化基準。

# ドライバーのスケジュールと通知
<a name="driver-schedule-notices"></a>

## ドライバーのスケジュール
<a name="driver-schedule"></a>

作業と休憩のスケジュールを定義するドライバー設定です。これは多くの管轄区域で必須です。


| パラメータ | 説明 | ルート | ルートマトリックス | 等値線 | ウェイポイントの最適化 | 道路にスナップ | 
| --- | --- | --- | --- | --- | --- | --- | 
| カスタム休止サイクル | 休止期間が続くドライブ期間により定義される休止サイクルです。これらのサイクルはいくつでも提供できます。 | はい、オプションあり | いいえ | なし | なし | いいえ | 
| 長い休止サイクルと短い休止サイクル | 短いサイクルと長いサイクルで定義される休止サイクルです。短いドライブ期間の後に短い休止ドライブ期間が続きます。短いドライブは長いドライブ期間に達するまで繰り返すことができ、その時点で長い休止期間が適用されます。 | いいえ | なし | いいえ | はい、オプションあり | いいえ | 

## 通知、警告、制約
<a name="notices-warnings-constraints"></a>

ルート計算中に行われた決定に関するインサイトを提供する補足情報です。


| パラメータ | 説明 | ルート | ルートマトリックス | 等値線 | ウェイポイントの最適化 | 道路にスナップ | 
| --- | --- | --- | --- | --- | --- | --- | 
| 注意 | ルート計算に関する注意事項です。さらに、ルート計算の結果をそのまま使用できるか、使用前に手動で検査する必要があるかを示す、通知の効果を含む場合があります。 | あり。詳細付き | いいえ | なし | なし | はい | 
| FailedConstraints | リクエストで提供されても満たされない制約があると、最適化の問題が失敗します。 | いいえ | なし | いいえ | あり。詳細付き | いいえ | 

# ルート API
<a name="choose-routes-apis"></a>

ルートは、ロケーション間の最適化されたパスを計算する機能を提供します。これらの機能は、物流計画、距離計算、ルート最適化を必要とするアプリケーションをサポートします。ユーザーは位置ポイントを道路にスナップして精度を向上させることもできます。詳細については、「[Amazon Location Service Routes](routes.md)」を参照してください。
+ **CalculateIsolines**: 移動時間または距離に基づいて等値線を生成します。サービスエリアまたは到達可能性ゾーンの定義に役立ちます。詳細については、「[Calculate Isolines](calculate-isolines.md)」を参照してください。
+ **CalculateRouteMatrix**: 複数の出発地と目的地の間の距離と移動時間のマトリックスを提供し、物流と旅行計画をサポートします。詳細については、「[ルートマトリックスを計算する](calculate-route-matrix.md)」を参照してください。
+ **CalculateRoutes**: カスタマイズ可能なルーティング設定など、ポイントツーポイントまたはマルチストップナビゲーション用に最適化されたルートを計算します。詳細については、「[ルートを計算する](calculate-routes.md)」を参照してください。
+ **OptimizeWaypoints**: 最も効率的な移動ルートのウェイポイントの順序を最適化し、距離や時間を最小限に抑えます。詳細については、「[Optimize waypoints](actions-optimize-waypoints.md)」を参照してください。
+ **SnapToRoads**: 座標を最も近い経路に合わせ、既知の道路にポイントをスナップして GPS の精度を向上させます。詳細については、「[Snap to Road](snap-to-roads.md)」を参照してください。

以下の表は、ルート API で最適に解決できるビジネスユースケースをいくつか示しています。


| **ビジネスニーズ** | **便利な API** | **例** | 
| --- | --- | --- | 
| **出発地と目的地の移動距離と時間を計算する**以下をサポートしています。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/location/latest/developerguide/choose-routes-apis.html) | `CalculateRoutes` |  | 
| **出発地と目的地のルートポリラインを検索する**以下をサポートしています。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/location/latest/developerguide/choose-routes-apis.html) | `CalculateRoutes` |  | 
| **出発地と目的地間でターンバイターン方式でルートを検索する**以下をサポートしています。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/location/latest/developerguide/choose-routes-apis.html) | `CalculateRoutes` |  | 
| **今すぐ出発してルートを検索する**以下をサポートしています。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/location/latest/developerguide/choose-routes-apis.html) | `CalculateRoutes` |  | 
| **特定の時間に出発する場合のルートを検索する**以下をサポートしています。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/location/latest/developerguide/choose-routes-apis.html) | `CalculateRoutes` |  | 
| **特定の時間に到着する必要がある場合のルートを検索する**以下をサポートしています。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/location/latest/developerguide/choose-routes-apis.html) | `CalculateRoutes` |  | 
| **最短ルートを検索する**以下をサポートしています。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/location/latest/developerguide/choose-routes-apis.html) | `CalculateRoutes` |  | 
| **最速ルートを検索する**以下をサポートしています。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/location/latest/developerguide/choose-routes-apis.html) | `CalculateRoutes` |  | 
| **代替ルートを検索する**以下をサポートしています。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/location/latest/developerguide/choose-routes-apis.html) | `CalculateRoutes` |  | 
| **交通状況に応じたルートを検索する**以下をサポートしています。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/location/latest/developerguide/choose-routes-apis.html) | `CalculateRoutes` |  | 
| **料金所、U ターン、フェリー、高速道路、トンネルなどを回避するルートを検索する**以下をサポートしています。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/location/latest/developerguide/choose-routes-apis.html) | `CalculateRoutes` |  | 
| **ポリラインまたはポリゴンを渡してカスタム回避でルートを検索する**以下をサポートしています。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/location/latest/developerguide/choose-routes-apis.html) | `CalculateRoutes` |  | 
| **通行料金を計算する**以下をサポートしています。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/location/latest/developerguide/choose-routes-apis.html) | `CalculateRoutes` | [通行料金を計算する](calculate-toll-cost.md) | 
| **ルート上の道路スパンの速度制限を検索する**以下をサポートしています。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/location/latest/developerguide/choose-routes-apis.html) | `CalculateRoutes` |  | 
| **マップにルートを描画する**ウェイポイントマーキングをサポートしています。 | レンダリングエンジン (MapLibre) とルートの計算機能を備えた `GetTile` および `GetStyleDescriptor`  |  | 
| **複数の出発地と目的地の距離と時間のルートマトリックスを計算する**以下をサポートしています。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/location/latest/developerguide/choose-routes-apis.html) | `CalculateRouteMatrix` | [複数の出発地と目的地の距離と時間のルートマトリックスを計算する方法](calculate-route-matrix-distance.md) | 
| **回避ルートマトリックスを計算する**以下をサポートしています。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/location/latest/developerguide/choose-routes-apis.html) | `CalculateRouteMatrix` | [回避を使用してルートマトリックスを計算する方法](calculate-route-matrix-with-avoidance.md) | 
| **時間 (アイソクロン) に基づいてサービスエリアを計算する**トラック、歩行、車、スクーターなどの移動モードをサポートしています。 | `CalculateIsolines` | [時間の範囲に基づいてサービスエリアを計算する方法](calculate-service-area-based-on-time.md) | 
| **距離 (等距離) に基づいてサービスエリアを計算する**トラック、歩行、車、スクーターなどの移動モードをサポートしています。 | `CalculateIsolines` |  | 
| **回避を使用してサービスエリアを計算する**トラック、歩行、車、スクーターなどの移動モードをサポートしています。 | `CalculateIsolines` |  | 
|  **サービスエリアを逆方向から計算する** トラック、歩行、車、スクーターなどの移動モードをサポートしています。  | `CalculateIsolines` |  | 
|  **複数範囲の時間または距離のサービスエリアを計算する** トラック、歩行、車、スクーターなどの移動モードをサポートしています。  | `CalculateIsolines` |  | 
| **ルートのウェイポイントを最適化する (巡回セールスマン問題)** トラック、歩行、車、スクーターなどの移動モードをサポートしています。  | `OptimizeWaypoint` | [ルートのウェイポイントを最適化する方法](optimize-waypoints.md) | 
| **交通状況を考慮してルートのウェイポイントを最適化する** トラック、歩行、車、スクーターなどの移動モードをサポートしています。  | `OptimizeWaypoint` |  | 
| **アクセス時間を考慮してルートのウェイポイントを最適化する** トラック、歩行、車、スクーターなどの移動モードをサポートしています。 | `OptimizeWaypoint` |  | 
| **GPS トレースを道路ネットワークに一致させる**トラック、歩行、車、スクーターなどの移動モードをサポートしています。 | 道路にスナップ  | [GPS トレースを道路ネットワークと一致させる方法](how-to-match-gps-traces.md) | 
| **マップで一致した GPS トレースを視覚化する**トラック、歩行、車、スクーターなどの移動モードをサポートしています。 | レンダリングエンジン (MapLibre) と Snap to Road を使用した `GetStyleDescriptor`  |  | 

# ルートを計算する
<a name="calculate-routes"></a>

Routes API は、自動車、トラック、スクーター、歩行など、異なる移動モードに対応し、回避の条件の有無を指定して、2 つ以上の場所間のルートを計算します。この API を使用すると、ルーティングオプションをカスタマイズして、特定のニーズに合わせて追加のルート関連情報をリクエストできます。この API は、ターンバイターンナビゲーションをサポートしており、有料道路、高速道路、フェリーの回避などのパラメータを適用してルート計算をカスタマイズします。この API によって、速度制限と通話料金も返されます。

詳細については、*Amazon Location Service API リファレンス*の「[CalculateRoutes](https://docs.aws.amazon.com/location/latest/APIReference/API_CalculateRoutes.html)」を参照してください。

この API のリクエスト、レスポンス、cURL、CLI コマンドの例については、「[ルートの計算を使用する方法](https://docs.aws.amazon.com/location/latest/developerguide/calculate-routes-how-to.html)」を参照してください。

![\[Amazon Location Service Routes の概要。\]](http://docs.aws.amazon.com/ja_jp/location/latest/developerguide/images/routesV2/P2P-Turn-by-turn-navigation.gif)


## ユースケース
<a name="use-cases"></a>
+ **ルートマップに地理情報を表示する:** 高度なマッピング機能を使用して、ランドマーク、地形、都市インフラストラクチャなど、豊富な地理的情報と共に詳細なルートを視覚化します。ユーザーが出発地から目的地までの明確なルートを表示できるため、意思決定が強化されます。この機能はナビゲーション、計画、さまざまな物流シナリオに対応しており、自動車、トラック、スクーター、歩行などの移動モードのルートを表示できます。回避や料金計算などの要素を追加して、ルートをカスタマイズできます。
+ **ターンバイターンナビゲーションを表示する:** ウェブおよびモバイルデバイスでシームレスなナビゲーションサポートを提供します。ユーザーは、効率的な移動を確保しながら、ターンバイターンの指示にアクセスできます。どちらのプラットフォームでも、ナビゲーション手順を活用し、速度制限などを指定して、個人での移動または出張のルートを提供できます。
+ **ルートに沿って通行料金を計算する:** 通行料金の計算をルート計画に組み込み、有料の道路、橋、トンネルを含むルートの正確な料金見積もりを提供します。ドライバーやプランナーが費用対効果の高い意思決定を行い、必要に応じて料金を回避できるように、通行料金を事前に表示します。
+ **制限速度の遵守を確保する:** 制限速度データを統合して、罰金のリスクを減らし、より安全で燃料効率の高い運転を促進しながら、ドライバーが法定速度で走行できるよう支援します。速度遵守をリアルタイムでモニタリングすることによって、物流とフリートの管理にも利点があります。
+ **輸送および車両ルーティングソリューションのサポート:** ルート、ナビゲーション、追跡機能を物流ポータルに統合して、輸送および車両ルーティングオペレーションを簡素化します。複数の配送のルートを効率的に計画し、出荷をリアルタイムで追跡して、より適切なルーティングを通じて燃料コストを管理します。

## リクエストを理解する
<a name="understanding-request"></a>

**注記**  
 `ap-southeast-1` と のお客様は`ap-southeast-5`、サポートされているリクエストフィールドとレスポンスフィールドが異なる場合があります。詳細については、[「 CalculateRoutes API リファレンス](https://docs.aws.amazon.com/location/latest/APIReference/API_CalculateRoutes.html)」を参照してください。

リクエストには `Origin` および `Destination` パラメータが必須ですが、`Allow`、`Avoid`、`Traffic` などのオプションパラメータによって、特定のニーズと制約に合わせてルートをカスタマイズできます。

**オリジン**  
経度と緯度によるルートの開始位置。

**送信先**  
ルートの終了位置。

**ウェイポイント**  
開始位置と終了位置の間でルート沿いに指定する中間位置。

**OptimizeRoutingFor**  
最速ルートや最短ルートなど、ルートの最適化基準。

**LegGeometryFormat**  
各ルートレグに対して返されるジオメトリの形式。

**回避**  
ルート計算時に回避する特徴。代替ルートが見つからない場合は無視されます。

**トラフィック**  
ルート計算に影響する交通関連のオプション。

**Tolls**  
ルート計算と通行料金に影響を与える通行料金関連のオプション。

**LegAdditionalFeatures**  
ジャーニーの各レグのレスポンス内で有効にできる特徴。

**SpanAdditionalFeatures**  
ジャーニーの各レグのレスポンス内で有効にできる区間に関連する特徴。

## レスポンスを理解する
<a name="understanding-response"></a>

レスポンスは、ジャーニーのレグ、ルート計算に関する通知、距離と期間を含む概要情報などのルートの詳細を提供します。

**ルート**  
レグと関連するプロパティを含むルートの配列。

**注意**  
ルートに関する警告または情報メッセージ。

**LegGeometryFormat**  
ルートのジオメトリの形式を指定します。

### レグの詳細
<a name="leg-details"></a>

ジャーニーの各レグは、移動モードに応じて、フェリー、歩行、または車両のタイプを指定できます。各レグには移動モードに依存しないプロパティが含まれていますが、以下に示す特定のプロパティを使用できます。

**FerryLegDetails**  
レグのフェリー固有のプロパティ。

**VehicleLegDetails**  
レグの車両固有のプロパティ。

**PedestrianLegDetails**  
レグの歩行固有のプロパティ。

### Steps
<a name="steps"></a>

ジャーニーの各レグは、ルートの一部のアクションの内容を提供するステップに分割されます。ステップは、基本的なアプリケーションに適した Default、またはターンバイターンナビゲーションに適した TurnByTurn のいずれです。各ステップには、期間や距離などのステップタイプに依存しないプロパティと、終了ステップにのみ適用される ExitStepDetails などのその他の特定のプロパティが含まれます。

**BeforeTravelSteps**  
ジャーニーを開始する前に行うステップ。

**TravelSteps**  
ジャーニー中に行うステップ。

**AfterTravelSteps**  
ジャーニーの終了後に行うステップ。

### スパン
<a name="spans"></a>

ジャーニーの各レグはスパンに分割できます。スパンは、リクエストされた `SpanAdditionalFeatures` のセットに対して同じ値を持つレグの一部です。スパンは、`SpeedLimit`、道路名、地域などの道路プロパティで分割されます。返されたスパンを使用すると、道路属性とアクセス関連情報を視覚化できます。

# 通行料金を計算する
<a name="calculate-toll-cost"></a>

このトピックでは、通行料金の計算に関連するフィールドと定義の概要について説明します。これらのフィールドを使用すると、支払い方法、通貨、車両特性などのパラメータを指定して、通行料金の計算をカスタマイズできます。


| フィールド名 | ルート | 
| --- | --- | 
| Transponders | はい、オプションあり | 
| Vignettes | はい、オプションあり | 
| Currency | はい、オプションあり | 
| EmissionType | はい、オプションあり | 
| VehicleCategory | はい、オプションあり | 

## 定義
<a name="definitions"></a>

このセクションでは、通行料金の計算に使用される各フィールドの簡単な定義について説明します。

****Transponders****  
トランスポンダーは通行料金の支払い方法であり、他の支払い方法とは異なる料金が発生する可能性があります。

****Vignettes****  
ビネットは一種のロードプライシングです。ユーザーが必要なビネットを持っている場合、追加の通行料金の支払いは必要ありません。

****Currency****  
通行料金が報告される際の通貨。現地通貨に加えて、換算された通貨が含まれており、レスポンス内の通行料金概要で使用される通貨にも影響を与えます。

****EmissionType****  
車両の排出タイプ。車両の排出に基づいた通行料金を計算するために使用されます。

****VehicleCategory****  
通行料金の計算に使用される車両のサブカテゴリ。

# ルートステップについて
<a name="understanding-route-steps"></a>

このセクションでは、ジャーニーのレッグを完了するために実行する必要があるさまざまなアクションとステップを定義します。ルートステップは移動モードによって異なり、概要アプリケーションと詳細なターンバイターンナビゲーションの両方に関するガイダンスを提供します。

## ルートステップの概要
<a name="route-steps-overview"></a>

以下のタイプのルートステップでは、ルートレッグを完了するために必要なアクションを定義します。アクションは、移動モードとジャーニーのステージによって異なります。


| **ステップタイプ** | **説明** | 
| --- | --- | 
| Default steps | 人間が読める指示を提供する基本的なステップで、ルートの概要を提供するためにウェブベースのアプリケーションでよく使用されます。 | 
| Turn by turn steps | ターンバイターンナビゲーションアプリケーションを作成する詳細な手順。より詳細な指示を提供します。 | 
| Before travel steps | フェリーの乗船など、旅行セクションを開始する前に完了する必要があるステップ。 | 
| After travel steps | フェリーの降機など、旅行セクションの完了後に実行するステップ。 | 

## 旅行モード別のステップ内訳
<a name="route-step-types"></a>


| **セクション** | **Step** | **旅行前** | **旅行** | **旅行後** | 
| --- | --- | --- | --- | --- | 
| 車両 | 到着 | なし | あり | なし | 
| 車両 | 続行 | なし | あり | なし | 
| 車両 | ContinueHighway | なし | あり | なし | 
| 車両 | 出発 | なし | あり | なし | 
| 車両 | Exit | なし | あり | なし | 
| 歩行 | 到着 | なし | あり | なし | 
| 歩行 | 料金 | なし | あり | なし | 
| フェリー | Wait | なし | なし | あり | 
| フェリー | 搭乗 | あり | なし | なし | 
| フェリー | 降機 | なし | なし | あり | 

# ルートマトリックスを計算する
<a name="calculate-route-matrix"></a>

Matrix Routing サービスは、ルーティングマトリックスを計算し、複数の出発地と目的地の間の移動時間または距離を提供します。このサービスには柔軟なカスタマイズオプションが用意されており、移動モード、交通状況、その他のルーティングパラメータを指定できます。マトリックスの計算は、サイズと形状によって異なり、正方形と長方形の両方のマトリックスをサポートし、動的またはフリーフローのトラフィックデータに対応します。

詳細については、*Amazon Location Service API リファレンス*の「[CalculateRouteMatrix](https://docs.aws.amazon.com/location/latest/APIReference/API_CalculateRouteMatrix.html)」を参照してください。

この API のリクエスト、レスポンス、cURL、CLI コマンドの例については、「[ルートマトリックスの計算を使用する方法](https://docs.aws.amazon.com/location/latest/developerguide/calculate-route-matrix-how-to.html)」を参照してください。

## ユースケース
<a name="route-matrix-use-cases"></a>
+ **物流および e コマースの配送ルートを最適化する:** 複数の集荷場所と配送場所間の移動時間と距離を効率的に計算して、ルートを最適化します。物流企業は、この機能を使用して、都市間の効率的な経路を計画し、コストと配信時間を最小限に抑えることができます。同日または翌日のサービス用に最適化された配送期間を設定し、マルチストップ配送ルートを計画するのに最適です。
+ **ライドシェアアプリケーションでドライバーと乗客をマッチングする:** ルート計算を使用して、場所間の最速ルートを見つけて、ドライバーを最も近い乗客とマッチングします。ライドシェアアプリは、迅速な配車と降車を確保しながら、ドライバーの到着をリアルタイムで見積もり、ユーザーエクスペリエンスを向上させることができます。車、自転車、スクーターなど、さまざまな輸送モードをサポートします。
+ **フリート管理のルートを計画および最適化する:** 燃料消費量と移動時間を短縮するためにルートを最適化して、大規模なフリートを管理します。フリートマネージャーは、複数の停留所に対して車両に最も効率的なルートを割り当てることができるため、全体的な運用効率が向上します。ユースケースには、最適なルート計画が現場の訪問に不可欠なサービスフリート、輸送会社、公共事業などがあります。

## リクエストを理解する
<a name="route-matrix-request"></a>

**注記**  
 `ap-southeast-1` と のお客様は`ap-southeast-5`、サポートされているリクエストフィールドとレスポンスフィールドが異なる場合があります。詳細については、[「 CalculateRouteMatrix API リファレンス](https://docs.aws.amazon.com/location/latest/APIReference/API_CalculateRouteMatrix.html)」を参照してください。

リクエストにはルート計算の **Origins** と **Destinations** が含まれ、設定と制約に基づいてマトリックスを調整するためのオプションパラメータを指定できます。詳細については、Calculate Route Matrix API の API リファレンスを参照してください。
+ `Origins`: 出発地の経度と緯度の座標のリスト。
+ `Destinations`: 目的地のリスト。
+ `OptimizeRoutingFor`:「最速」ルートや「最短」ルートなどの最適化基準。
+ `RoutingBoundary`: 計算の境界を「無制限」または特定のジオメトリに制限して定義します。
+ `Avoid`: ルート計算中に回避する特徴。有効なルートが見つからない場合は無視されます。
+ `Traffic`: ルート計算に影響する交通関連のオプション。

## レスポンスを理解する
<a name="route-matrix-response"></a>

レスポンスには、出発地と目的地の間で計算されたルートのマトリックスと、距離や期間などの詳細が含まれます。該当する場合は、ルートのエラーと境界も提供されます。Calculate Route Matrix API の詳細については、 API リファレンスを参照してください。
+ `RouteMatrix`: 出発地と目的地の間の移動距離 (メートル単位) と所要時間 (秒単位) を含むマトリックス。
+ `ErrorCount`: ルート計算中に発生したエラーの数。
+ `RoutingBoundary`: マトリックスが計算される境界。

# Calculate Isolines
<a name="calculate-isolines"></a>

Calculate Isolines API を使用すると、指定した時間または距離の範囲内で到達可能な領域を判断できます。道路制限、交通状況、移動モードなどの要因を考慮して、アクセス可能なエリアの輪郭を描く等値線を生成し、都市計画、物流、サービスアクセシビリティアプリケーションをサポートします。この API は、都市計画、不動産分析、アクセシビリティ調査に使用できます。その際、サービスのリーチ、輸送オプション、またはリソースが、設定された時間枠または距離制限内で視覚化されます。ユーザーは、これらの等値線をマップに表示して、特定の制約内で移動距離を評価し、サイトの選択、サービスカバレッジ、リソース割り当ての意思決定を強化できます。

詳細については、*Amazon Location Service API リファレンス*の「[CalculateIsolines](https://docs.aws.amazon.com/location/latest/APIReference/API_CalculateIsolines.html)」を参照してください。

この API のリクエスト、レスポンス、cURL、CLI コマンドの例については、「[Calculate Isolines を使用する方法](https://docs.aws.amazon.com/location/latest/developerguide/calculate-isolines-how-to.html)」を参照してください。

## ユースケース
<a name="use-cases"></a>
+ **移動時間等値線を使用して医療アクセシビリティを評価する:** 移動時間に基づいて、さまざまな地域から医療施設へのアクセスを評価するための等値線を生成します。医療組織はこの機能を使用して、十分なサービスを受けられない地域を特定し、医療施設やモバイルヘルスサービスについて十分な情報に基づいた意思決定を行うことができ、コミュニティの医療アクセスを改善できます。
+ **移動時間等値線を使用して小売り業の拡大のための市場リーチを分析する:** 移動時間に基づいて、小売り店舗の場所への顧客アクセスを表す等値線を作成します。小売り企業は、これらの視覚化を使用して、新しい店舗の立地を評価し、顧客の人口統計を把握して、販売可能性を戦略的に拡大および最適化できます。
+ **等値線で物流ゾーンと配送ゾーンを最適化する:** 等値線を生成して、時間的制約のある物流要件に基づいて配送ゾーンを定義します。物流企業は、配送センターから特定の時間枠に到達可能な領域を視覚化して、ルート計画、運用効率、タイムリーな配送を改善できます。
+ **等値線による観光旅行と娯楽へのアクセスを計画する:** 観光名所から近隣の宿泊施設までの移動時間を視覚化します。ツーリズムボードは、旅行客が便利な宿泊施設のオプションを見つけ、地元のビジネスを促進し、これらの等値線をマップに表示して旅行体験を向上させるのに役立ちます。
+ **等値線によって救急対応計画を改善する:** 等値線を生成して、救急対応施設からコミュニティ内のさまざまな地域への対応時間を評価します。緊急管理チームは、救急救命対応時間内の地域を特定し、リソースの割り当てを最適化してインシデント発生時の対応を改善できます。
+ **等値線で人員計画の通勤パターンを分析する:** 等値線を生成して通勤時間を視覚化し、移動時間が長いエリアを特定します。企業はこれらのインサイトをリモートワークポリシーやオフィスの移転に活用して、従業員の満足度と生産性を高めることができます。

## リクエストを理解する
<a name="understanding-request"></a>

リクエストは、等値線を定義するために `Origin`、`Destination`、`Thresholds` などのパラメータを受け入れます。`Allow`、`Avoid`、`TravelModeOptions` などのオプションパラメータを使用すると、等値線の制約をカスタマイズできます。詳細については、以下を参照してください。

**Origin**  
経度と緯度における等値線の計算の開始点。

**しきい値**  
等値線の境界を定義するために使用される時間または距離の制限。

**TravelMode**  
自動車、歩行、トラックなどの移動のモード。

**OptimizeIsolineFor**  
Accurate、Balanced、Fast などの計算の最適化基準。

**DepartureTime**  
指定した場合、時間依存の等値線を計算するための出発時刻。

**ArrivalTime**  
指定した場合、時間依存の等値線を計算するための到着時刻。

**IsolineGranularity**  
等値線の境界のポイントと解像度の最大数。

## レスポンスを理解する
<a name="understanding-response"></a>

レスポンスには、リクエストパラメータに基づいて到達可能なエリアの輪郭を描く `IsolineGeometryFormat` などのプロパティを持つ等値線が含まれます。

**Isolines**  
Geometries や Connections など、関連するプロパティを持つ計算済みの等値線。

**ジオメトリ**  
計算済みの等値線の境界の輪郭を示すジオメトリのリスト。

**Connections**  
各接続のジオメトリを含む、等値線ジオメトリ間の接続。

# Optimize waypoints
<a name="actions-optimize-waypoints"></a>

Optimize Waypoints API は、ルートに沿って複数のウェイポイントにアクセスするための最も効率的なシーケンスを計算します。この API は、高度なアルゴリズムを使用して、交通状況、回避、車両の仕様などの要因を考慮しながら、移動時間と距離を最小限に抑えます。Optimize Waypoints API を統合すると、企業では、オペレーションの合理化、燃料消費量の削減、配信効率の向上、顧客満足度の向上に役立ちます。この API によって最適化されたルートが提供されるため、マルチストップ移動シナリオでの意思決定とリソース割り当てが向上します。

詳細については、*Amazon Location Service API リファレンス*の「[OptimizeWaypoints](https://docs.aws.amazon.com/location/latest/APIReference/API_OptimizeWaypoints.html)」を参照してください。

この API のリクエスト、レスポンス、cURL、CLI コマンドの例については、「[ウェイポイントの最適化の使用方法](https://docs.aws.amazon.com/location/latest/developerguide/optimize-waypoints-how-to.html)」を参照してください。

## ユースケース
<a name="use-cases"></a>
+ **マルチストップ配送効率を向上させる:** 配送のマルチストップのシーケンスを効率的に最適化して、移動時間とコストを削減します。配送サービスでは、ドライバーの最も効率的なルートを計算し、燃料コストを最小限に抑え、タイムリーな配送を確保して、運用を合理化できます。これにより、顧客満足度と運用効率が向上します。
+ **現場サービスオペレーションを効率化する:** 1 日に複数の現場を訪問するシーケンスを最適化して、現場サービス技術者の移動時間を短縮します。これにより、企業はより多くの職務を毎日完了できるため、生産性とサービス提供が向上します。
+ **旅行代理店の効率的なツアールートを計画する:** 複数の名所を含む旅行日程を最適化して、移動時間を最小限に抑えながら観光時間を最大化します。旅行代理店は、この機能を使用してガイド付きツアーの最適な計画を作成し、利用可能な時間をより有効に活用して、全体的な旅行体験を向上させることができます。
+ **ライドシェアドライバーの効率の向上:** 複数のお客様の乗車と降車のシーケンスを最適化し、待機時間を短縮して、運転手のエクスペリエンスを向上させます。ライドシェアサービスにより、ウェイポイントが最適化され、ドライバーの収益を最大化して、乗客にタイムリーなサービスを確実に提供できます。
+ **ごみ収集サービスのルートを最適化する:** ガベージコレクションルートを計画して移動距離と時間を最小限に抑えます。これにより、ごみ管理会社は運用を合理化し、タイムリーな収集を確保して、コスト削減を達成し、環境への影響を軽減できます。
+ **イベントや会議の物流を調整する:** 複数の会場に機器や必要な備品を配送するための輸送物流を管理し、荷積みと荷下ろしのルートを最適化します。これにより、イベントプランナーは輸送を合理化し、遅延を減らして、イベントのマテリアルをタイムリーに到着させることができます。
+ **緊急対応ルートを強化する:** 複数の緊急事態への最速ルートを計画し、重大な状況での応答時間を最適化します。緊急サービスは対応効率を向上させ、最適化されたウェイポイントを使用して人命を救うことができる可能性があります。
+ **現場担当者の販売ルート計画を立てやすくする:** 1 日に複数のクライアントを訪問する販売担当者のルートを最適化して、移動時間を最小限に抑え、クライアント訪問数を最大化します。これにより、企業は生産性を高め、より多くの販売機会を活用できます。

## リクエストを理解する
<a name="understanding-request"></a>

リクエストには、最適化されたシーケンスを計算するために `Origin` や `Waypoints` などのパラメータが必要です。`Avoid`、`Traffic`、`Driver` などのオプションのパラメータを使用すると、追加のカスタマイズが可能になります。

**Waypoints**  
順に最適化するウェイポイントのリスト。

**Origin**  
最適化のためのルートの開始位置。

**Destination**  
最適化のためのルートのオプションの終了位置。

**OptimizeSequencingFor**  
最速ルートや最短ルートなど、順序付けの最適化の基準。

**Traffic**  
ルート計算に影響する交通関連のオプション。

**ドライバー**  
ドライバーの労働時間と休憩時間のサイクルにより、地域の運転規制への準拠を確保します。

**クラスタリング**  
Clustering を使用すると、最適化されたシーケンスを改善するために、近くのウェイポイントをクラスタリングする方法を指定できます。

各ウェイポイントでは、`AppointmentTime` や `AccessHours` などの満たす必要がある制約や、`Before` などの別のウェイポイントの順序付け制約などを指定することもできます。

## レスポンスを理解する
<a name="understanding-response"></a>

レスポンスは、ジャーニーの `OptimizedWaypoints` と全体的な `Distance` および `Duration` を含む、最適化されたウェイポイントシーケンスの詳細を提供します。

**OptimizedWaypoints**  
最適化された順序のウェイポイントのリスト。

**ImpedingWaypoints**  
満たされなかったため失敗した制約など、最適化されたシーケンスの障害となるウェイポイント。

**Connections**  
距離や所要時間など、ウェイポイント間の移動に関する詳細。

**TimeBreakdown**  
ルートの `Travel`、`Rest`、`Service`、および `Wait` 時間の合計の内訳。

**ClusterIndex**  
ウェイポイントが関連付けられているクラスターのインデックス。インデックスは、リクエストの処理中にクラスタリングが実行された場合にのみレスポンスに含まれます。

# Snap to Road
<a name="snap-to-roads"></a>

Snap to Road API は、GPS 座標をデジタルマップ上の最も近い道路セグメントに合わせることによって、地理的配置の精度を向上させます。この API は、多くの場合モバイルデバイスや車両から収集された未加工の経度と緯度データを受け取り、これらは対応する道路ネットワークを指し示し、GPS ドリフトや信号損失による不正確さを修正します。Snap to Road API を統合することにより、アプリケーションが信頼性の高い正確なデータを提供し、さまざまなシナリオで意思決定と運用効率を向上させることができます。

詳細については、「*Amazon Location Service API リファレンス*」の「[SnapToRoads](https://docs.aws.amazon.com/location/latest/APIReference/API_SnapToRoads.html)」を参照してください。

この API のリクエスト、レスポンス、cURL、CLI コマンドの例については、「[Snap to Road の使用方法](https://docs.aws.amazon.com/location/latest/developerguide/snap-to-roads-how-to.html)」を参照してください。

## ユースケース
<a name="use-cases"></a>
+ **道路ネットワークにスナップしてナビゲーション精度を高める:** GPS 座標を最も近い道路セグメントに効率的にそろえて、ナビゲーション精度を向上させます。この機能は、マッピングおよびナビゲーションサービスに役立ち、ユーザーに正確な指示とリアルタイムの位置情報の更新を提供するため、ナビゲーションエクスペリエンスが向上します。
+ **フリート管理アプリケーションのデータ精度を向上する:** GPS 座標を最も近い道路にスナップして、報告された車両の位置を修正します。フリート管理システムでは、この機能により正確な車両追跡が可能になり、物流の最適化と運用効率の向上が可能になります。

## リクエストを理解する
<a name="understanding-request"></a>

リクエストは、ジオメトリ形式とスナップ半径を制御するために、`SnappedGeometryFormat` や `SnapRadius` などのオプションパラメータを使用して、`TracePoints` を道路と一致する必要があります。

**TracePoints**  
道路ネットワークにスナップされる座標のリスト。

**SnappedGeometryFormat**  
「FlexiblePolyline」や「Simple」など、返されるジオメトリの形式。

**SnapRadius**  
道路スナップが考慮されるトレースポイントの周りの半径。

## レスポンスを理解する
<a name="understanding-response"></a>

レスポンスには、修正されたジオメトリとスナップされたトレースポイントが含まれ、精度とスナップの信頼性を示す `SnappedGeometry` や `SnappedTracePoints` などのプロパティがあります。

**SnappedGeometry**  
スナップされたルートの修正されたジオメトリ。

**SnappedTracePoints**  
道路にスナップされたトレースポイントの調整された座標。

**注意**  
スナッププロセスに関する警告または情報メッセージ。

# ハウツー
<a name="routes-how-to"></a>

このセクションでは、Routes API を活用してルーティングとナビゲーションの課題を解決するためのガイドを提供します。これらのチュートリアルでは、ルーティング機能をアプリケーションに統合するための重要なタスクについて説明します。各トピックでは、特定のユースケースに焦点を当て、ビジネスニーズに合わせた高度なルーティング機能を効率的に実装できます。

**Topics**
+ [CalculateRoutes を使用する方法について](calculate-routes-how-to.md)
+ [CalculateIsolines を使用する方法について](calculate-isolines-how-to.md)
+ [CalculateRouteMatrix を使用する方法について説明します。](calculate-route-matrix-how-to.md)
+ [OptimizeWaypoints の使用方法](optimize-waypoints-how-to.md)
+ [SnapToRoads を使用する方法について説明します。](snap-to-roads-how-to.md)

# CalculateRoutes を使用する方法について
<a name="calculate-routes-how-to"></a>

このセクションでは、`CalculateRoutes` を使用するための段階的な手順について説明します。このトピックでは、ターンバイターンナビゲーションの組み込み、移動モードの設定、ウェイポイントの追加など、特定の設定でルートを見つけるためのガイダンスについて詳しく説明します。

**Topics**
+ [出発地と目的地のルートを見つける方法](calculate-routes-origin-destination-waypoints.md)
+ [ターンバイターン方式でルートを見つける方法](how-to-find-turn-by-turn-route.md)
+ [道路スパンの速度制限を検索する方法](calculate-routes-speed-limit-road.md)
+ [代替ルートを見つける方法](calculate-routes-alternate.md)
+ [ルートの料金を計算する方法](calculate-routes-tolls.md)
+ [カスタム回避を使用してルートを作成する方法](calculate-routes-custom-avoidance-poly.md)
+ [いくつかの潜在的な項目のカスタム回避を使用してルートを作成する方法](calculate-routes-custom-avoidance-multiple.md)
+ [最速ルートを見つける方法](calculate-routes-custom-avoidance-fast.md)
+ [最短ルートを見つける方法](calculate-routes-custom-avoidance-shortest.md)

# 出発地と目的地のルートを見つける方法
<a name="calculate-routes-origin-destination-waypoints"></a>

CalculateRoutes API は、出発地と目的地間の最適なルートと、ドライバーの休憩に最適なタイミングを見つけるのに役立ちます。トラック、歩行、自動車、スクーターなどの移動モードをサポートしています。また、出発地と目的地を含む最大 25 のウェイポイント (ストップオーバー) にも対応していますが、若干の制約があります。

## 想定されるユースケース
<a name="potential-use-cases"></a>
+ **ポイントツーポイントルートを見つける:** さまざまな移動モードと追加オプションに基づいて、2 つの位置間の最適なルートを決定します。

## 例
<a name="calculate-routes-examples"></a>

### Car TravelMode を使用して出発地から目的地へのルートを計算する
<a name="calculate-routes-car-mode"></a>

------
#### [ Sample request ]

```
{
    "Origin": [
        -123.118105,
        49.282423
    ],
    "Destination": [
        -123.020098,
        49.232872
    ]
}
```

------
#### [ Sample response ]

```
{
    "LegGeometryFormat": "FlexiblePolyline",
    "Notices": [],
    "Routes": [
        {
            "Legs": [
                {
                    "Geometry": {
                        "Polyline": "Redacted"
                    },
                    "TravelMode": "Car",
                    "Type": "Vehicle",
                    "VehicleLegDetails": {
                        "AfterTravelSteps": [],
                        "Arrival": {
                            "Place": {
                                "ChargingStation": false,
                                "OriginalPosition": [
                                    -123.020098,
                                    49.232872
                                ],
                                "Position": [
                                    -123.0203051,
                                    49.2328499
                                ]
                            }
                        },
                        "Departure": {
                            "Place": {
                                "ChargingStation": false,
                                "OriginalPosition": [
                                    -123.1181051,
                                    49.282423
                                ],
                                "Position": [
                                    -123.1180883,
                                    49.2824349
                                ]
                            }
                        },
                        "TravelSteps": [
                            {
                                "Distance": 1288,
                                "Duration": 102,
                                "Type": "Depart"
                            },
                            {
                                "Distance": 262,
                                "Duration": 24,
                                "Type": "Ramp"
                            },
                            {
                                "Distance": 1356,
                                "Duration": 134,
                                "Type": "Turn"
                            },
                            {
                                "Distance": 7092,
                                "Duration": 568,
                                "Type": "Keep"
                            },
                            {
                                "Distance": 65,
                                "Duration": 26,
                                "Type": "Turn"
                            },
                            {
                                "Distance": 50,
                                "Duration": 18,
                                "Type": "Turn"
                            },
                            {
                                "Distance": 0,
                                "Duration": 0,
                                "Type": "Arrive"
                            }
                        ]
                    }
                }
            ]
        }
    ]
}
```

------
#### [ cURL ]

```
curl --request POST \
  --url 'https://routes.geo.eu-central-1.amazonaws.com/v2/routes?key=Your_key' \
  --header 'Content-Type: application/json' \
  --data '{
  "Origin": [
    -123.118105,
    49.282423
  ],
  "Destination": [
    -123.020098,
    49.232872
  ]
}'
```

------
#### [ AWS CLI ]

```
aws geo-routes calculate-routes --key ${YourKey} \
--origin -123.118105 49.282423 \
--destination -123.020098 49.232872
```

------

# ターンバイターン方式でルートを見つける方法
<a name="how-to-find-turn-by-turn-route"></a>

CalculateRoutes API は、出発地と目的地間の最適なルートと、ドライバーの休憩に最適なタイミングを見つけるのに役立ちます。自動車、トラック、歩行、スクーターなどの移動モードをサポートしています。また、出発地と目的地を含む最大 25 のウェイポイント (ストップオーバー) にも対応していますが、若干の制約があります。

## 想定されるユースケース
<a name="potential-use-cases-turn-by-turn"></a>
+ **ナビゲーションモバイルアプリを作成する:** API を使用してターンバイターン方式のナビゲーションを取得します。
+ **ウェブプラットフォームに道順を表示する:** ナビゲーションに役立つウェブアプリケーションの詳細なルートガイダンスを表示します。

## 例
<a name="calculate-routes-examples-turn-by-turn"></a>

### Car TravelMode を使用してルートを計算する
<a name="calculate-routes-car-mode-turn-by-turn"></a>

------
#### [ Sample request ]

```
{
    "Origin": [
        -123.118105,
        49.282423
    ],
    "Destination": [
        -123.020098,
        49.232872
    ],
    "TravelStepType": "TurnByTurn",
    "TravelMode": "Car"
}
```

------
#### [ Sample response ]

```
{
    "LegGeometryFormat": "FlexiblePolyline",
    "Notices": [],
    "Routes": [
        {
            "Legs": [
                {
                    "Geometry": {
                        "Polyline": "Redacted"
                    },
                    "TravelMode": "Car",
                    "Type": "Vehicle",
                    "VehicleLegDetails": {
                        "Arrival": {
                            "Place": {
                                "Position": [-123.0203051, 49.2328499]
                            }
                        },
                        "Departure": {
                            "Place": {
                                "Position": [-123.1180883, 49.2824349]
                            }
                        },
                        "TravelSteps": [
                            {
                                "Distance": 1288,
                                "Duration": 102,
                                "Type": "Depart",
                                "NextRoad": {
                                    "RoadName": "W Georgia St",
                                    "RouteNumber": "HWY-1A"
                                }
                            },
                            {
                                "Distance": 262,
                                "Duration": 24,
                                "Type": "Keep",
                                "NextRoad": {
                                    "RoadName": "Main St",
                                    "RouteNumber": "HWY-1A"
                                }
                            },
                            {
                                "Distance": 1356,
                                "Duration": 134,
                                "Type": "Turn",
                                "NextRoad": {
                                    "RoadName": "Main St",
                                    "RouteNumber": "HWY-1A"
                                }
                            },
                            {
                                "Distance": 7092,
                                "Duration": 568,
                                "Type": "Keep",
                                "NextRoad": {
                                    "RoadName": "Kingsway",
                                    "RouteNumber": "HWY-1A"
                                }
                            },
                            {
                                "Distance": 65,
                                "Duration": 26,
                                "Type": "Turn"
                            },
                            {
                                "Distance": 0,
                                "Duration": 0,
                                "Type": "Arrive"
                            }
                        ]
                    }
                }
            ]
        }
    ]
}
```

------
#### [ cURL ]

```
curl --request POST \
  --url 'https://routes.geo.eu-central-1.amazonaws.com/v2/routes?key=Your_key' \
  --header 'Content-Type: application/json' \
  --data '{
  "Origin": [
    -123.118105,
    49.282423
  ],
  "Destination": [
    -123.020098,
    49.232872
  ],
  "TravelStepType": "TurnByTurn",
  "TravelMode": "Car"
}'
```

------
#### [ AWS CLI ]

```
aws geo-routes calculate-routes --key ${YourKey} \
--origin -123.118105 49.282423 \
--destination -123.020098 49.232872 \
--travel-step-type "TurnByTurn" \
--travel-mode "Car"
```

------

# 道路スパンの速度制限を検索する方法
<a name="calculate-routes-speed-limit-road"></a>

CalculateRoutes API は、出発地と目的地間の最適なルートと、ドライバーの休憩に最適なタイミングを見つけるのに役立ちます。自動車、トラック、歩行、スクーターなどの移動モードをサポートしています。また、出発地と目的地を含む最大 25 のウェイポイント (ストップオーバー) にも対応していますが、若干の制約があります。

## 想定されるユースケース
<a name="potential-use-cases"></a>
+ **速度制限の遵守を監査する:** 速度制限とその遵守を常に把握します。
+ **速度制限をドライバーに通知する:** 明確でない場合、速度制限をドライバーに通知します。

## 例
<a name="calculate-routes-speed-examples"></a>

### Car TravelMode で速度制限を確認する
<a name="calculate-routes-speed"></a>

------
#### [ Sample request ]

```
{
    "Origin": [
        13.055211,
        52.704802
    ],
    "Destination": [
        13.551910,
        52.282705
    ],
    "TravelMode": "Car",
    "SpanAdditionalFeatures": ["SpeedLimit"]
}
```

------
#### [ Sample response ]

```
{
    "LegGeometryFormat": "FlexiblePolyline",
    "Notices": [],
    "Routes": [
        {
            "Legs": [
                {
                    "Geometry": {
                        "Polyline": "Redacted"
                    },
                    "TravelMode": "Car",
                    "Type": "Vehicle",
                    "VehicleLegDetails": {
                        "AfterTravelSteps": [],
                        "Arrival": {
                            "Place": {
                                "ChargingStation": false,
                                "OriginalPosition": [
                                    13.55191,
                                    52.282705
                                ],
                                "Position": [
                                    13.5507836,
                                    52.2859121
                                ]
                            }
                        },
                        "Departure": {
                            "Place": {
                                "ChargingStation": false,
                                "OriginalPosition": [
                                    13.055211,
                                    52.704802
                                ],
                                "Position": [
                                    13.0555036,
                                    52.7056073
                                ]
                            }
                        },
                        "Incidents": [],
                        "Notices": [],
                        "PassThroughWaypoints": [],
                        "Spans": [
                            {
                                "GeometryOffset": 0,
                                "SpeedLimit": {
                                    "Unlimited": true
                                }
                            },
                            {
                                "GeometryOffset": 151,
                                "SpeedLimit": {
                                    "MaxSpeed": 120.00000762939453
                                }
                            },
                            {
                                "GeometryOffset": 167,
                                "SpeedLimit": {
                                    "MaxSpeed": 80
                                }
                            },
                            {
                                "GeometryOffset": 195,
                                "SpeedLimit": {
                                    "MaxSpeed": 120.00000762939453
                                }
                            },
                            {
                                "GeometryOffset": 220,
                                "SpeedLimit": {
                                    "Unlimited": true
                                }
                            },
                            {
                                "GeometryOffset": 356,
                                "SpeedLimit": {
                                    "MaxSpeed": 120.00000762939453
                                }
                            },
                            {
                                "GeometryOffset": 358,
                                "SpeedLimit": {
                                    "MaxSpeed": 100
                                }
                            },
                            {
                                "GeometryOffset": 368,
                                "SpeedLimit": {
                                    "MaxSpeed": 80
                                }
                            },
                            {
                                "GeometryOffset": 384,
                                "SpeedLimit": {
                                    "MaxSpeed": 60.000003814697266
                                }
                            },
                            {
                                "GeometryOffset": 639,
                                "SpeedLimit": {
                                    "MaxSpeed": 80
                                }
                            },
                            {
                                "GeometryOffset": 701,
                                "SpeedLimit": {
                                    "MaxSpeed": 60.000003814697266
                                }
                            },
                            {
                                "GeometryOffset": 726,
                                "SpeedLimit": {
                                    "MaxSpeed": 80
                                }
                            },
                            {
                                "GeometryOffset": 805,
                                "SpeedLimit": {
                                    "MaxSpeed": 60.000003814697266
                                }
                            },
                            {
                                "GeometryOffset": 839,
                                "SpeedLimit": {
                                    "MaxSpeed": 80
                                }
                            },
                            {
                                "GeometryOffset": 1384,
                                "SpeedLimit": {
                                    "MaxSpeed": 60.000003814697266
                                }
                            },
                            {
                                "GeometryOffset": 1393,
                                "SpeedLimit": {
                                    "MaxSpeed": 50
                                }
                            },
                            {
                                "GeometryOffset": 1443,
                                "SpeedLimit": {
                                    "MaxSpeed": 30.000001907348633
                                }
                            },
                            {
                                "GeometryOffset": 1454,
                                "SpeedLimit": {
                                    "MaxSpeed": 50
                                }
                            },
                            {
                                "GeometryOffset": 1504,
                                "SpeedLimit": {
                                    "MaxSpeed": 60.000003814697266
                                }
                            },
                            {
                                "GeometryOffset": 1513,
                                "SpeedLimit": {
                                    "MaxSpeed": 80
                                }
                            },
                            {
                                "GeometryOffset": 1516,
                                "SpeedLimit": {
                                    "MaxSpeed": 60.000003814697266
                                }
                            },
                            {
                                "GeometryOffset": 1555,
                                "SpeedLimit": {
                                    "MaxSpeed": 80
                                }
                            },
                            {
                                "GeometryOffset": 1748,
                                "SpeedLimit": {
                                    "MaxSpeed": 120.00000762939453
                                }
                            },
                            {
                                "GeometryOffset": 1904,
                                "SpeedLimit": {
                                    "MaxSpeed": 100
                                }
                            },
                            {
                                "GeometryOffset": 1945,
                                "SpeedLimit": {
                                    "Unlimited": true
                                }
                            },
                            {
                                "GeometryOffset": 2006,
                                "SpeedLimit": {
                                    "MaxSpeed": 70
                                }
                            },
                            {
                                "GeometryOffset": 2017,
                                "SpeedLimit": {
                                    "MaxSpeed": 50
                                }
                            },
                            {
                                "GeometryOffset": 2033,
                                "SpeedLimit": {
                                    "MaxSpeed": 30.000001907348633
                                }
                            }
                        ],
                        "Tolls": [],
                        "TollSystems": [],
                        "TravelSteps": [
                            {
                                "Distance": 9099,
                                "Duration": 262,
                                "ExitNumber": [],
                                "GeometryOffset": 0,
                                "Type": "Depart"
                            },
                            {
                                "Distance": 18849,
                                "Duration": 800,
                                "ExitNumber": [],
                                "GeometryOffset": 162,
                                "KeepStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right"
                                },
                                "Type": "Keep"
                            },
                            {
                                "Distance": 4290,
                                "Duration": 212,
                                "ExitNumber": [],
                                "ExitStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right"
                                },
                                "GeometryOffset": 701,
                                "Type": "Exit"
                            },
                            {
                                "Distance": 14418,
                                "Duration": 651,
                                "ExitNumber": [],
                                "GeometryOffset": 828,
                                "Type": "Continue"
                            },
                            {
                                "Distance": 1255,
                                "Duration": 62,
                                "ExitNumber": [],
                                "ExitStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right"
                                },
                                "GeometryOffset": 1359,
                                "Type": "Exit"
                            },
                            {
                                "Distance": 1607,
                                "Duration": 139,
                                "ExitNumber": [],
                                "GeometryOffset": 1393,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Left",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 934,
                                "Duration": 92,
                                "ExitNumber": [],
                                "GeometryOffset": 1442,
                                "Type": "Continue"
                            },
                            {
                                "Distance": 320,
                                "Duration": 27,
                                "ExitNumber": [],
                                "GeometryOffset": 1473,
                                "Type": "Continue"
                            },
                            {
                                "Distance": 320,
                                "Duration": 33,
                                "ExitNumber": [],
                                "GeometryOffset": 1491,
                                "Type": "Continue"
                            },
                            {
                                "Distance": 17863,
                                "Duration": 680,
                                "ExitNumber": [],
                                "GeometryOffset": 1504,
                                "RampStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right"
                                },
                                "Type": "Ramp"
                            },
                            {
                                "Distance": 2888,
                                "Duration": 95,
                                "ExitNumber": [],
                                "GeometryOffset": 1917,
                                "Type": "Continue"
                            },
                            {
                                "Distance": 321,
                                "Duration": 28,
                                "ExitNumber": [],
                                "ExitStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right"
                                },
                                "GeometryOffset": 1977,
                                "Type": "Exit"
                            },
                            {
                                "Distance": 549,
                                "Duration": 41,
                                "ExitNumber": [],
                                "GeometryOffset": 2006,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 386,
                                "Duration": 51,
                                "ExitNumber": [],
                                "GeometryOffset": 2023,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Left",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 98,
                                "Duration": 15,
                                "ExitNumber": [],
                                "GeometryOffset": 2033,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 0,
                                "Duration": 0,
                                "ExitNumber": [],
                                "GeometryOffset": 2036,
                                "Type": "Arrive"
                            }
                        ],
                        "TruckRoadTypes": [],
                        "Zones": []
                    }
                }
            ],
            "MajorRoadLabels": [
                {
                    "RouteNumber": {
                        "Language": "de",
                        "Value": "A111"
                    }
                },
                {
                    "RouteNumber": {
                        "Language": "de",
                        "Value": "A113"
                    }
                }
            ]
        }
    ]
}
```

------
#### [ cURL ]

```
curl --request POST \
  --url 'https://routes.geo.eu-central-1.amazonaws.com/v2/routes?key=Your_key' \
  --header 'Content-Type: application/json' \
  --data '{
  "Origin": [
    13.055211,
    52.704802
  ],
  "Destination": [
    13.551910,
    52.282705
  ],
  "TravelMode": "Car",
  "SpanAdditionalFeatures": ["SpeedLimit"]
}'
```

------
#### [ AWS CLI ]

```
aws geo-routes calculate-routes --key ${YourKey} \
--origin 13.055211 52.704802 \
--destination 13.551910 52.282705 \
--travel-mode "Car" \
--span-additional-features "SpeedLimit"
```

------

# 代替ルートを見つける方法
<a name="calculate-routes-alternate"></a>

CalculateRoutes API は、出発地と目的地間の最適なルートと、ドライバーの休憩に最適なタイミングを見つけるのに役立ちます。自動車、トラック、歩行、スクーターなどの移動モードをサポートしています。また、出発地と目的地を含む最大 25 のウェイポイント (ストップオーバー) にも対応していますが、若干の制約があります。

## 想定されるユースケース
<a name="potential-use-cases"></a>
+ **代替ルートを特定する:** ビジネスニーズに最適なルートを選定できます。

## 例
<a name="calculate-routes-alternate-examples"></a>

### Car TravelMode で代替ルートを見つける
<a name="calculate-routes-alternate"></a>

------
#### [ Sample request ]

```
{
    "Origin": [
        13.055211,
        52.704802
    ],
    "Destination": [
        13.551910,
        52.282705
    ],
    "TravelMode": "Car",
    "MaxAlternatives": 2
}
```

------
#### [ Sample response ]

```
{
    "LegGeometryFormat": "FlexiblePolyline",
    "Notices": [],
    "Routes": [
        {
            "Legs": [
                {
                    "Geometry": {
                        "Polyline": "Redacted"
                    },
                    "TravelMode": "Car",
                    "Type": "Vehicle",
                    "VehicleLegDetails": {
                        "AfterTravelSteps": [],
                        "Arrival": {
                            "Place": {
                                "ChargingStation": false,
                                "OriginalPosition": [
                                    13.55191,
                                    52.282705
                                ],
                                "Position": [
                                    13.5507836,
                                    52.2859121
                                ]
                            }
                        },
                        "Departure": {
                            "Place": {
                                "ChargingStation": false,
                                "OriginalPosition": [
                                    13.055211,
                                    52.704802
                                ],
                                "Position": [
                                    13.0555036,
                                    52.7056073
                                ]
                            }
                        },
                        "Incidents": [],
                        "Notices": [],
                        "PassThroughWaypoints": [],
                        "Spans": [],
                        "Tolls": [],
                        "TollSystems": [],
                        "TravelSteps": [
                            {
                                "Distance": 9099,
                                "Duration": 262,
                                "ExitNumber": [],
                                "GeometryOffset": 0,
                                "Type": "Depart"
                            },
                            {
                                "Distance": 18849,
                                "Duration": 800,
                                "ExitNumber": [],
                                "GeometryOffset": 162,
                                "KeepStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right"
                                },
                                "Type": "Keep"
                            },
                            {
                                "Distance": 4290,
                                "Duration": 212,
                                "ExitNumber": [],
                                "ExitStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right"
                                },
                                "GeometryOffset": 701,
                                "Type": "Exit"
                            },
                            {
                                "Distance": 14418,
                                "Duration": 651,
                                "ExitNumber": [],
                                "GeometryOffset": 828,
                                "Type": "Continue"
                            },
                            {
                                "Distance": 1255,
                                "Duration": 62,
                                "ExitNumber": [],
                                "ExitStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right"
                                },
                                "GeometryOffset": 1359,
                                "Type": "Exit"
                            },
                            {
                                "Distance": 1607,
                                "Duration": 139,
                                "ExitNumber": [],
                                "GeometryOffset": 1393,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Left",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 934,
                                "Duration": 92,
                                "ExitNumber": [],
                                "GeometryOffset": 1442,
                                "Type": "Continue"
                            },
                            {
                                "Distance": 320,
                                "Duration": 27,
                                "ExitNumber": [],
                                "GeometryOffset": 1473,
                                "Type": "Continue"
                            },
                            {
                                "Distance": 320,
                                "Duration": 33,
                                "ExitNumber": [],
                                "GeometryOffset": 1491,
                                "Type": "Continue"
                            },
                            {
                                "Distance": 17863,
                                "Duration": 680,
                                "ExitNumber": [],
                                "GeometryOffset": 1504,
                                "RampStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right"
                                },
                                "Type": "Ramp"
                            },
                            {
                                "Distance": 2888,
                                "Duration": 95,
                                "ExitNumber": [],
                                "GeometryOffset": 1917,
                                "Type": "Continue"
                            },
                            {
                                "Distance": 321,
                                "Duration": 28,
                                "ExitNumber": [],
                                "ExitStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right"
                                },
                                "GeometryOffset": 1977,
                                "Type": "Exit"
                            },
                            {
                                "Distance": 549,
                                "Duration": 41,
                                "ExitNumber": [],
                                "GeometryOffset": 2006,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 386,
                                "Duration": 51,
                                "ExitNumber": [],
                                "GeometryOffset": 2023,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Left",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 98,
                                "Duration": 15,
                                "ExitNumber": [],
                                "GeometryOffset": 2033,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 0,
                                "Duration": 0,
                                "ExitNumber": [],
                                "GeometryOffset": 2036,
                                "Type": "Arrive"
                            }
                        ],
                        "TruckRoadTypes": [],
                        "Zones": []
                    }
                }
            ],
            "MajorRoadLabels": [
                {
                    "RouteNumber": {
                        "Language": "de",
                        "Value": "A111"
                    }
                },
                {
                    "RouteNumber": {
                        "Language": "de",
                        "Value": "A113"
                    }
                }
            ]
        },
        {
            "Legs": [
                {
                    "Geometry": {
                        "Polyline": "Redacted"
                    },
                    "TravelMode": "Car",
                    "Type": "Vehicle",
                    "VehicleLegDetails": {
                        "AfterTravelSteps": [],
                        "Arrival": {
                            "Place": {
                                "ChargingStation": false,
                                "OriginalPosition": [
                                    13.55191,
                                    52.282705
                                ],
                                "Position": [
                                    13.5507836,
                                    52.2859121
                                ]
                            }
                        },
                        "Departure": {
                            "Place": {
                                "ChargingStation": false,
                                "OriginalPosition": [
                                    13.055211,
                                    52.704802
                                ],
                                "Position": [
                                    13.0555036,
                                    52.7056073
                                ]
                            }
                        },
                        "Incidents": [],
                        "Notices": [],
                        "PassThroughWaypoints": [],
                        "Spans": [],
                        "Tolls": [],
                        "TollSystems": [],
                        "TravelSteps": [
                            {
                                "Distance": 91047,
                                "Duration": 2880,
                                "ExitNumber": [],
                                "GeometryOffset": 0,
                                "Type": "Depart"
                            },
                            {
                                "Distance": 3496,
                                "Duration": 119,
                                "ExitNumber": [],
                                "ExitStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right"
                                },
                                "GeometryOffset": 1473,
                                "Type": "Exit"
                            },
                            {
                                "Distance": 321,
                                "Duration": 28,
                                "ExitNumber": [],
                                "ExitStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right"
                                },
                                "GeometryOffset": 1565,
                                "Type": "Exit"
                            },
                            {
                                "Distance": 549,
                                "Duration": 41,
                                "ExitNumber": [],
                                "GeometryOffset": 1594,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 386,
                                "Duration": 51,
                                "ExitNumber": [],
                                "GeometryOffset": 1611,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Left",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 98,
                                "Duration": 15,
                                "ExitNumber": [],
                                "GeometryOffset": 1621,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 0,
                                "Duration": 0,
                                "ExitNumber": [],
                                "GeometryOffset": 1624,
                                "Type": "Arrive"
                            }
                        ],
                        "TruckRoadTypes": [],
                        "Zones": []
                    }
                }
            ],
            "MajorRoadLabels": [
                {
                    "RouteNumber": {
                        "Language": "de",
                        "Value": "A10"
                    }
                }
            ]
        },
        {
            "Legs": [
                {
                    "Geometry": {
                        "Polyline": "Redacted"
                    },
                    "TravelMode": "Car",
                    "Type": "Vehicle",
                    "VehicleLegDetails": {
                        "AfterTravelSteps": [],
                        "Arrival": {
                            "Place": {
                                "ChargingStation": false,
                                "OriginalPosition": [
                                    13.55191,
                                    52.282705
                                ],
                                "Position": [
                                    13.5507836,
                                    52.2859121
                                ]
                            }
                        },
                        "Departure": {
                            "Place": {
                                "ChargingStation": false,
                                "OriginalPosition": [
                                    13.055211,
                                    52.704802
                                ],
                                "Position": [
                                    13.0555036,
                                    52.7056073
                                ]
                            }
                        },
                        "Incidents": [],
                        "Notices": [],
                        "PassThroughWaypoints": [],
                        "Spans": [],
                        "Tolls": [],
                        "TollSystems": [],
                        "TravelSteps": [
                            {
                                "Distance": 9099,
                                "Duration": 262,
                                "ExitNumber": [],
                                "GeometryOffset": 0,
                                "Type": "Depart"
                            },
                            {
                                "Distance": 18849,
                                "Duration": 800,
                                "ExitNumber": [],
                                "GeometryOffset": 162,
                                "KeepStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right"
                                },
                                "Type": "Keep"
                            },
                            {
                                "Distance": 4290,
                                "Duration": 212,
                                "ExitNumber": [],
                                "ExitStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right"
                                },
                                "GeometryOffset": 701,
                                "Type": "Exit"
                            },
                            {
                                "Distance": 12258,
                                "Duration": 554,
                                "ExitNumber": [],
                                "GeometryOffset": 828,
                                "Type": "Continue"
                            },
                            {
                                "Distance": 18567,
                                "Duration": 1218,
                                "ExitNumber": [],
                                "ExitStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right"
                                },
                                "GeometryOffset": 1282,
                                "Type": "Exit"
                            },
                            {
                                "Distance": 250,
                                "Duration": 28,
                                "ExitNumber": [],
                                "GeometryOffset": 1760,
                                "RampStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right"
                                },
                                "Type": "Ramp"
                            },
                            {
                                "Distance": 4856,
                                "Duration": 245,
                                "ExitNumber": [],
                                "GeometryOffset": 1793,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 3202,
                                "Duration": 165,
                                "ExitNumber": [],
                                "GeometryOffset": 1970,
                                "RoundaboutExitStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right"
                                },
                                "Type": "RoundaboutExit"
                            },
                            {
                                "Distance": 386,
                                "Duration": 51,
                                "ExitNumber": [],
                                "GeometryOffset": 2072,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 98,
                                "Duration": 15,
                                "ExitNumber": [],
                                "GeometryOffset": 2082,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 0,
                                "Duration": 0,
                                "ExitNumber": [],
                                "GeometryOffset": 2085,
                                "Type": "Arrive"
                            }
                        ],
                        "TruckRoadTypes": [],
                        "Zones": []
                    }
                }
            ],
            "MajorRoadLabels": [
                {
                    "RouteNumber": {
                        "Language": "de",
                        "Value": "A111"
                    }
                },
                {
                    "RouteNumber": {
                        "Language": "de",
                        "Value": "B96"
                    }
                }
            ]
        }
    ]
}
```

------
#### [ cURL ]

```
curl --request POST \
  --url 'https://routes.geo.eu-central-1.amazonaws.com/v2/routes?key=Your_key' \
  --header 'Content-Type: application/json' \
  --data '{
  "Origin": [
    13.055211,
    52.704802
  ],
  "Destination": [
    13.551910,
    52.282705
  ],
  "TravelMode": "Car",
  "MaxAlternatives": 2
}'
```

------
#### [ AWS CLI ]

```
aws geo-routes calculate-routes --key ${YourKey} \
--origin 13.055211 52.704802 \
--destination 13.551910 52.282705 \
--travel-mode "Car" \
--max-alternatives 2
```

------

# ルートの料金を計算する方法
<a name="calculate-routes-tolls"></a>

CalculateRoutes API は、出発地と目的地間の最適なルートと、ドライバーの休憩に最適なタイミングを見つけるのに役立ちます。自動車、トラック、歩行、スクーターなどの移動モードをサポートしています。また、出発地と目的地を含む最大 25 のウェイポイント (ストップオーバー) にも対応していますが、若干の制約があります。

## 想定されるユースケース
<a name="potential-use-cases"></a>
+ **料金を計算する:** ルート計画中に通行料金を計算できます。
+ **料金を監査する:** 移動後に通行料金を監査できます。

## 例
<a name="calculate-routes-tolls-examples"></a>

### Car TravelMode でルートの料金を計算する
<a name="calculate-routes-tolls"></a>

------
#### [ Sample request ]

```
{
    "Origin": [
        2.234491,
        48.815704
    ],
    "Destination": [
        5.11412,
        47.260723
    ],
    "TravelMode": "Car",
    "Tolls": {
        "AllTransponders": true,
        "AllVignettes": true
    }
}
```

------
#### [ Sample response ]

```
{
    "LegGeometryFormat": "FlexiblePolyline",
    "Notices": [],
    "Routes": [
        {
            "Legs": [
                {
                    "Geometry": {
                        "Polyline": "Redacted"
                    },
                    "TravelMode": "Car",
                    "Type": "Vehicle",
                    "VehicleLegDetails": {
                        "AfterTravelSteps": [],
                        "Arrival": {
                            "Place": {
                                "ChargingStation": false,
                                "OriginalPosition": [
                                    5.11412,
                                    47.2607229
                                ],
                                "Position": [
                                    5.1128203,
                                    47.2596356
                                ]
                            }
                        },
                        "Departure": {
                            "Place": {
                                "ChargingStation": false,
                                "OriginalPosition": [
                                    2.234491,
                                    48.8157039
                                ],
                                "Position": [
                                    2.2346482,
                                    48.815674
                                ]
                            }
                        },
                        "Incidents": [],
                        "Notices": [],
                        "PassThroughWaypoints": [],
                        "Spans": [],
                        "Tolls": [
                            {
                                "Country": "FRA",
                                "PaymentSites": [
                                    {
                                        "Name": "FLEURY-EN-BIERE",
                                        "Position": [
                                            2.53988,
                                            48.42578
                                        ]
                                    },
                                    {
                                        "Name": "POUILLY-EN-AUXOIS",
                                        "Position": [
                                            4.56112,
                                            47.25244
                                        ]
                                    }
                                ],
                                "Rates": [
                                    {
                                        "Id": "2d680295-fb0f-45aa-a8ed-79d9f0f9ff9f",
                                        "LocalPrice": {
                                            "Currency": "EUR",
                                            "Estimate": false,
                                            "Range": false,
                                            "Value": 21.700000762939453
                                        },
                                        "Name": "APRR",
                                        "PaymentMethods": [
                                            "Cash",
                                            "BankCard",
                                            "CreditCard",
                                            "Transponder",
                                            "TravelCard"
                                        ],
                                        "Transponders": [
                                            {
                                                "SystemName": "BipandGo"
                                            },
                                            {
                                                "SystemName": "BipandGo"
                                            },
                                            {
                                                "SystemName": "BipandGo IDVROOM carpoorling"
                                            },
                                            {
                                                "SystemName": "Cito30"
                                            },
                                            {
                                                "SystemName": "Easytrip pass"
                                            },
                                            {
                                                "SystemName": "Liane 30"
                                            },
                                            {
                                                "SystemName": "Liber-t"
                                            },
                                            {
                                                "SystemName": "Liber-t mobilitis"
                                            },
                                            {
                                                "SystemName": "Pass Pont-Pont"
                                            },
                                            {
                                                "SystemName": "Progressivi'T Maurienne"
                                            },
                                            {
                                                "SystemName": "TopEurop"
                                            },
                                            {
                                                "SystemName": "Tunnel Pass+"
                                            },
                                            {
                                                "SystemName": "Ulys"
                                            },
                                            {
                                                "SystemName": "Ulys Europe"
                                            },
                                            {
                                                "SystemName": "Viaduc-t 30"
                                            }
                                        ]
                                    }
                                ],
                                "Systems": [
                                    0
                                ]
                            }
                        ],
                        "TollSystems": [
                            {
                                "Name": "APRR"
                            }
                        ],
                        "TravelSteps": [
                            {
                                "Distance": 122,
                                "Duration": 21,
                                "ExitNumber": [],
                                "GeometryOffset": 0,
                                "Type": "Depart"
                            },
                            {
                                "Distance": 32,
                                "Duration": 7,
                                "ExitNumber": [],
                                "GeometryOffset": 7,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 74,
                                "Duration": 14,
                                "ExitNumber": [],
                                "GeometryOffset": 8,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 199,
                                "Duration": 33,
                                "ExitNumber": [],
                                "GeometryOffset": 9,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 21,
                                "Duration": 10,
                                "ExitNumber": [],
                                "GeometryOffset": 17,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 461,
                                "Duration": 63,
                                "ExitNumber": [],
                                "GeometryOffset": 20,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 1557,
                                "Duration": 145,
                                "ExitNumber": [],
                                "GeometryOffset": 41,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Left",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 3471,
                                "Duration": 151,
                                "ExitNumber": [],
                                "GeometryOffset": 135,
                                "RoundaboutExitStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right"
                                },
                                "Type": "RoundaboutExit"
                            },
                            {
                                "Distance": 9796,
                                "Duration": 430,
                                "ExitNumber": [],
                                "GeometryOffset": 242,
                                "RampStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right"
                                },
                                "Type": "Ramp"
                            },
                            {
                                "Distance": 2473,
                                "Duration": 112,
                                "ExitNumber": [],
                                "ExitStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right"
                                },
                                "GeometryOffset": 582,
                                "Type": "Exit"
                            },
                            {
                                "Distance": 674,
                                "Duration": 25,
                                "ExitNumber": [],
                                "GeometryOffset": 669,
                                "Type": "Continue"
                            },
                            {
                                "Distance": 253953,
                                "Duration": 7468,
                                "ExitNumber": [],
                                "GeometryOffset": 679,
                                "Type": "Continue"
                            },
                            {
                                "Distance": 37379,
                                "Duration": 1192,
                                "ExitNumber": [],
                                "ExitStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right"
                                },
                                "GeometryOffset": 5701,
                                "Type": "Exit"
                            },
                            {
                                "Distance": 2021,
                                "Duration": 110,
                                "ExitNumber": [],
                                "GeometryOffset": 6695,
                                "RoundaboutExitStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right"
                                },
                                "Type": "RoundaboutExit"
                            },
                            {
                                "Distance": 7380,
                                "Duration": 316,
                                "ExitNumber": [],
                                "GeometryOffset": 6776,
                                "RoundaboutPassStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right"
                                },
                                "Type": "RoundaboutPass"
                            },
                            {
                                "Distance": 4253,
                                "Duration": 156,
                                "ExitNumber": [],
                                "GeometryOffset": 6987,
                                "KeepStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Left"
                                },
                                "Type": "Keep"
                            },
                            {
                                "Distance": 813,
                                "Duration": 54,
                                "ExitNumber": [],
                                "GeometryOffset": 7081,
                                "RampStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right"
                                },
                                "Type": "Ramp"
                            },
                            {
                                "Distance": 1909,
                                "Duration": 109,
                                "ExitNumber": [],
                                "GeometryOffset": 7133,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Left",
                                    "TurnIntensity": "Sharp"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 827,
                                "Duration": 47,
                                "ExitNumber": [],
                                "GeometryOffset": 7182,
                                "Type": "Continue"
                            },
                            {
                                "Distance": 680,
                                "Duration": 41,
                                "ExitNumber": [],
                                "GeometryOffset": 7216,
                                "RoundaboutExitStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right"
                                },
                                "Type": "RoundaboutExit"
                            },
                            {
                                "Distance": 224,
                                "Duration": 12,
                                "ExitNumber": [],
                                "GeometryOffset": 7258,
                                "Type": "Continue"
                            },
                            {
                                "Distance": 25,
                                "Duration": 2,
                                "ExitNumber": [],
                                "GeometryOffset": 7265,
                                "Type": "Continue"
                            },
                            {
                                "Distance": 748,
                                "Duration": 51,
                                "ExitNumber": [],
                                "GeometryOffset": 7267,
                                "Type": "Continue"
                            },
                            {
                                "Distance": 656,
                                "Duration": 46,
                                "ExitNumber": [],
                                "GeometryOffset": 7299,
                                "RoundaboutExitStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right"
                                },
                                "Type": "RoundaboutExit"
                            },
                            {
                                "Distance": 1119,
                                "Duration": 78,
                                "ExitNumber": [],
                                "GeometryOffset": 7329,
                                "Type": "Continue"
                            },
                            {
                                "Distance": 432,
                                "Duration": 26,
                                "ExitNumber": [],
                                "GeometryOffset": 7383,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 1864,
                                "Duration": 100,
                                "ExitNumber": [],
                                "GeometryOffset": 7402,
                                "RoundaboutExitStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right"
                                },
                                "Type": "RoundaboutExit"
                            },
                            {
                                "Distance": 1110,
                                "Duration": 93,
                                "ExitNumber": [],
                                "GeometryOffset": 7470,
                                "RoundaboutExitStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right"
                                },
                                "Type": "RoundaboutExit"
                            },
                            {
                                "Distance": 232,
                                "Duration": 10,
                                "ExitNumber": [],
                                "GeometryOffset": 7563,
                                "Type": "Continue"
                            },
                            {
                                "Distance": 642,
                                "Duration": 29,
                                "ExitNumber": [],
                                "GeometryOffset": 7572,
                                "Type": "Continue"
                            },
                            {
                                "Distance": 357,
                                "Duration": 25,
                                "ExitNumber": [],
                                "GeometryOffset": 7580,
                                "Type": "Continue"
                            },
                            {
                                "Distance": 63,
                                "Duration": 10,
                                "ExitNumber": [],
                                "GeometryOffset": 7600,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 2626,
                                "Duration": 411,
                                "ExitNumber": [],
                                "GeometryOffset": 7602,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 234,
                                "Duration": 37,
                                "ExitNumber": [],
                                "GeometryOffset": 7627,
                                "Type": "Continue"
                            },
                            {
                                "Distance": 0,
                                "Duration": 0,
                                "ExitNumber": [],
                                "GeometryOffset": 7632,
                                "Type": "Arrive"
                            }
                        ],
                        "TruckRoadTypes": [],
                        "Zones": []
                    }
                }
            ],
            "MajorRoadLabels": [
                {
                    "RouteNumber": {
                        "Language": "fr",
                        "Value": "A6"
                    }
                }
            ]
        }
    ]
}
```

------
#### [ cURL ]

```
curl --request POST \
  --url 'https://routes.geo.eu-central-1.amazonaws.com/v2/routes?key=Your_key' \
  --header 'Content-Type: application/json' \
  --data '{
  "Origin": [
    2.234491,
    48.815704
  ],
  "Destination": [
    5.11412,
    47.260723
  ],
  "TravelMode": "Car",
  "Tolls": {
    "AllTransponders": true,
    "AllVignettes": true
  }
}'
```

------
#### [ AWS CLI ]

```
aws geo-routes calculate-routes --key ${YourKey} \
--origin 13.055211 52.704802 \
--destination 13.551910 52.282705 \
--travel-mode "Car" \
--tolls '{"AllTransponders": true, "AllVignettes": true}'
```

------

# カスタム回避を使用してルートを作成する方法
<a name="calculate-routes-custom-avoidance-poly"></a>

CalculateRoutes API は、出発地と目的地間の最適なルートと、ドライバーの休憩に最適なタイミングを見つけるのに役立ちます。自動車、トラック、歩行、スクーターなどの移動モードをサポートしています。また、出発地と目的地を含む最大 25 のウェイポイント (ストップオーバー) にも対応していますが、若干の制約があります。

## 想定されるユースケース
<a name="potential-use-cases"></a>
+ **カスタム回避を使用してルートを計算する:** 回避を使用してルートをカスタマイズし、ルートと交通計画を改善します。

## 例
<a name="calculate-routes-custom-avoidance-examples"></a>

### CalculateRoutes と avoid BoundingBox を使用してカスタムルートを作成します。
<a name="calculate-routes-custom-avoidance-poly"></a>

------
#### [ Sample request ]

```
{
    "Origin": [
        -123.116655,
        49.281538
    ],
    "Destination": [
        -123.01791785749363,
        49.22782762759908
    ],
    "TravelMode": "Car",
    "Avoid": {
        "Areas": [
            {
                "Geometry": {
                    "BoundingBox": [
                        -123.078693,
                        49.238987,
                        -123.054638,
                        49.251694
                    ]
                }
            }
        ]
    }
}
```

------
#### [ Sample response ]

```
{
    "LegGeometryFormat": "FlexiblePolyline",
    "Notices": [],
    "Routes": [
        {
            "Legs": [
                {
                    "Geometry": {
                        "Polyline": "Redacted"
                    },
                    "TravelMode": "Car",
                    "Type": "Vehicle",
                    "VehicleLegDetails": {
                        "AfterTravelSteps": [],
                        "Arrival": {
                            "Place": {
                                "ChargingStation": false,
                                "OriginalPosition": [
                                    -123.0179179,
                                    49.2278276
                                ],
                                "Position": [
                                    -123.0229001,
                                    49.22883
                                ]
                            }
                        },
                        "Departure": {
                            "Place": {
                                "ChargingStation": false,
                                "OriginalPosition": [
                                    -123.116655,
                                    49.281538
                                ],
                                "Position": [
                                    -123.1166332,
                                    49.2815528
                                ]
                            }
                        },
                        "Incidents": [],
                        "Notices": [],
                        "PassThroughWaypoints": [],
                        "Spans": [],
                        "Tolls": [],
                        "TollSystems": [],
                        "TravelSteps": [
                            {
                                "Distance": 1144,
                                "Duration": 85,
                                "ExitNumber": [],
                                "GeometryOffset": 0,
                                "Type": "Depart"
                            },
                            {
                                "Distance": 262,
                                "Duration": 24,
                                "ExitNumber": [],
                                "GeometryOffset": 35,
                                "RampStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right"
                                },
                                "Type": "Ramp"
                            },
                            {
                                "Distance": 433,
                                "Duration": 47,
                                "ExitNumber": [],
                                "GeometryOffset": 40,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 1131,
                                "Duration": 81,
                                "ExitNumber": [],
                                "GeometryOffset": 54,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Left",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 54,
                                "Duration": 4,
                                "ExitNumber": [],
                                "GeometryOffset": 79,
                                "Type": "Continue"
                            },
                            {
                                "Distance": 520,
                                "Duration": 39,
                                "ExitNumber": [],
                                "GeometryOffset": 83,
                                "Type": "Continue"
                            },
                            {
                                "Distance": 1123,
                                "Duration": 111,
                                "ExitNumber": [],
                                "GeometryOffset": 101,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 1131,
                                "Duration": 81,
                                "ExitNumber": [],
                                "GeometryOffset": 141,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Left",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 2843,
                                "Duration": 209,
                                "ExitNumber": [],
                                "GeometryOffset": 167,
                                "Type": "Continue"
                            },
                            {
                                "Distance": 3219,
                                "Duration": 246,
                                "ExitNumber": [],
                                "GeometryOffset": 255,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 64,
                                "Duration": 23,
                                "ExitNumber": [],
                                "GeometryOffset": 332,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Left",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 0,
                                "Duration": 0,
                                "ExitNumber": [],
                                "GeometryOffset": 334,
                                "Type": "Arrive"
                            }
                        ],
                        "TruckRoadTypes": [],
                        "Zones": []
                    }
                }
            ],
            "MajorRoadLabels": [
                {
                    "RoadName": {
                        "Language": "en",
                        "Value": "Boundary Rd"
                    }
                },
                {
                    "RoadName": {
                        "Language": "en",
                        "Value": "Grandview Hwy"
                    }
                }
            ]
        }
    ]
}
```

------
#### [ cURL ]

```
curl --request POST \
  --url 'https://routes.geo.eu-central-1.amazonaws.com/v2/routes?key=Your_key' \
  --header 'Content-Type: application/json' \
  --data '{
  "Origin": [
    -123.116655,
    49.281538
  ],
  "Destination": [
    -123.01791785749363,
    49.22782762759908
  ],
  "TravelMode": "Car",
  "Avoid": {
    "Areas": [
      {
        "Geometry": {
          "BoundingBox": [
            -123.078693,
            49.238987,
            -123.054638,
            49.251694
          ]
        }
      }
    ]
  }
}'
```

------
#### [ AWS CLI ]

```
aws geo-routes calculate-routes --key ${YourKey} \
--origin -123.13277 49.281538 \
--destination -123.01791785749363 49.22782762759908 \
--travel-mode "Car" \
--avoid '{"Areas":[{"Geometry":{"BoundingBox":[-123.054638,49.238987,-123.054638,49.251694]}}]}'
```

------

### CalculateRoutes と avoid polygon を使用してカスタムルートを作成します。
<a name="calculate-routes-custom-avoidance-poly-polygon"></a>

------
#### [ Sample request ]

```
{
    "Origin": [
        -123.116655,
        49.281538
    ],
    "Destination": [
        -123.01791785749363,
        49.22782762759908
    ],
    "TravelMode": "Car",
    "Avoid": {
        "Areas": [
            {
                "Geometry": {
                    "polygon": [
                        [
                            [
                                -123.06953,
                                49.256419
                            ],
                            [
                                -123.080486,
                                49.242115
                            ],
                            [
                                -123.058573,
                                49.242115
                            ],
                            [
                                -123.06953,
                                49.256419
                            ]
                        ]
                    ]
                }
            }
        ]
    }
}
```

------
#### [ Sample response ]

```
{
    "LegGeometryFormat": "FlexiblePolyline",
    "Notices": [],
    "Routes": [
        {
            "Legs": [
                {
                    "Geometry": {
                        "Polyline": "Redacted"
                    },
                    "TravelMode": "Car",
                    "Type": "Vehicle",
                    "VehicleLegDetails": {
                        "AfterTravelSteps": [],
                        "Arrival": {
                            "Place": {
                                "ChargingStation": false,
                                "OriginalPosition": [
                                    -123.0179179,
                                    49.2278276
                                ],
                                "Position": [
                                    -123.0229001,
                                    49.22883
                                ]
                            }
                        },
                        "Departure": {
                            "Place": {
                                "ChargingStation": false,
                                "OriginalPosition": [
                                    -123.116655,
                                    49.281538
                                ],
                                "Position": [
                                    -123.1166332,
                                    49.2815528
                                ]
                            }
                        },
                        "Incidents": [],
                        "Notices": [],
                        "PassThroughWaypoints": [],
                        "Spans": [],
                        "Tolls": [],
                        "TollSystems": [],
                        "TravelSteps": [
                            {
                                "Distance": 1144,
                                "Duration": 85,
                                "ExitNumber": [],
                                "GeometryOffset": 0,
                                "Type": "Depart"
                            },
                            {
                                "Distance": 262,
                                "Duration": 24,
                                "ExitNumber": [],
                                "GeometryOffset": 35,
                                "RampStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right"
                                },
                                "Type": "Ramp"
                            },
                            {
                                "Distance": 433,
                                "Duration": 47,
                                "ExitNumber": [],
                                "GeometryOffset": 40,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 1131,
                                "Duration": 81,
                                "ExitNumber": [],
                                "GeometryOffset": 54,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Left",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 54,
                                "Duration": 4,
                                "ExitNumber": [],
                                "GeometryOffset": 79,
                                "Type": "Continue"
                            },
                            {
                                "Distance": 520,
                                "Duration": 39,
                                "ExitNumber": [],
                                "GeometryOffset": 83,
                                "Type": "Continue"
                            },
                            {
                                "Distance": 1123,
                                "Duration": 111,
                                "ExitNumber": [],
                                "GeometryOffset": 101,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 1131,
                                "Duration": 81,
                                "ExitNumber": [],
                                "GeometryOffset": 141,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Left",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 448,
                                "Duration": 34,
                                "ExitNumber": [],
                                "GeometryOffset": 167,
                                "Type": "Continue"
                            },
                            {
                                "Distance": 1797,
                                "Duration": 151,
                                "ExitNumber": [],
                                "GeometryOffset": 182,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 2836,
                                "Duration": 224,
                                "ExitNumber": [],
                                "GeometryOffset": 222,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Left",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 339,
                                "Duration": 30,
                                "ExitNumber": [],
                                "GeometryOffset": 326,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 64,
                                "Duration": 23,
                                "ExitNumber": [],
                                "GeometryOffset": 335,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Left",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 0,
                                "Duration": 0,
                                "ExitNumber": [],
                                "GeometryOffset": 337,
                                "Type": "Arrive"
                            }
                        ],
                        "TruckRoadTypes": [],
                        "Zones": []
                    }
                }
            ],
            "MajorRoadLabels": [
                {
                    "RouteNumber": {
                        "Language": "en",
                        "Value": "HWY-1A"
                    }
                },
                {
                    "RoadName": {
                        "Language": "en",
                        "Value": "Nanaimo St"
                    }
                }
            ]
        }
    ]
}
```

------
#### [ cURL ]

```
curl --request POST \
  --url 'https://routes.geo.eu-central-1.amazonaws.com/v2/routes?key=Your_key' \
  --header 'Content-Type: application/json' \
  --data '{
  "Origin": [
    -123.116655,
    49.281538
  ],
  "Destination": [
    -123.01791785749363,
    49.22782762759908
  ],
  "TravelMode": "Car",
  "Avoid": {
    "Areas": [
      {
        "Geometry": {
          "polygon": [
            [
              [
                -123.06953,
                49.256419
              ],
              [
                -123.080486,
                49.242115
              ],
              [
                -123.058573,
                49.242115
              ],
              [
                -123.06953,
                49.256419
              ]
            ]
          ]
        }
      }
    ]
  }
}'
```

------
#### [ AWS CLI ]

```
aws geo-routes calculate-routes --key ${YourKey} \
--origin -123.13277 49.281538 \
--destination -123.01791785749363 49.22782762759908 \
--travel-mode "Car" \
--avoid '{"Areas":[{"Geometry":{"Polygon":[[[-123.06953,49.256419],[-123.05167,49.242115],[-123.02381,49.242115],[-123.06953,49.256419]]]}}]}'
```

------

### CalculateRoutes と PolylinePolygon を使用してカスタムルートを作成します。
<a name="calculate-routes-custom-avoidance-poly-polyline"></a>

------
#### [ Sample request ]

```
{
    "Origin": [
        -123.116655,
        49.281538
    ],
    "Destination": [
        -123.01791785749363,
        49.22782762759908
    ],
    "TravelMode": "Car",
    "Avoid": {
        "Areas": [
            {
                "Geometry": {
                    "PolylinePolygon": [
                        "BF0s0sJxglvXr5CvkCAgpEs5CvkC"
                    ]
                }
            }
        ]
    }
}
```

------
#### [ Sample response ]

```
{
    "LegGeometryFormat": "FlexiblePolyline",
    "Notices": [],
    "Routes": [
        {
            "Legs": [
                {
                    "Geometry": {
                        "Polyline": "Redacted"
                    },
                    "TravelMode": "Car",
                    "Type": "Vehicle",
                    "VehicleLegDetails": {
                        "AfterTravelSteps": [],
                        "Arrival": {
                            "Place": {
                                "ChargingStation": false,
                                "OriginalPosition": [
                                    -123.0179179,
                                    49.2278276
                                ],
                                "Position": [
                                    -123.0229001,
                                    49.22883
                                ]
                            }
                        },
                        "Departure": {
                            "Place": {
                                "ChargingStation": false,
                                "OriginalPosition": [
                                    -123.116655,
                                    49.281538
                                ],
                                "Position": [
                                    -123.1166332,
                                    49.2815528
                                ]
                            }
                        },
                        "Incidents": [],
                        "Notices": [],
                        "PassThroughWaypoints": [],
                        "Spans": [],
                        "Tolls": [],
                        "TollSystems": [],
                        "TravelSteps": [
                            {
                                "Distance": 1144,
                                "Duration": 85,
                                "ExitNumber": [],
                                "GeometryOffset": 0,
                                "Type": "Depart"
                            },
                            {
                                "Distance": 262,
                                "Duration": 24,
                                "ExitNumber": [],
                                "GeometryOffset": 35,
                                "RampStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right"
                                },
                                "Type": "Ramp"
                            },
                            {
                                "Distance": 433,
                                "Duration": 47,
                                "ExitNumber": [],
                                "GeometryOffset": 40,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 1131,
                                "Duration": 81,
                                "ExitNumber": [],
                                "GeometryOffset": 54,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Left",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 54,
                                "Duration": 4,
                                "ExitNumber": [],
                                "GeometryOffset": 79,
                                "Type": "Continue"
                            },
                            {
                                "Distance": 520,
                                "Duration": 39,
                                "ExitNumber": [],
                                "GeometryOffset": 83,
                                "Type": "Continue"
                            },
                            {
                                "Distance": 1123,
                                "Duration": 111,
                                "ExitNumber": [],
                                "GeometryOffset": 101,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 1131,
                                "Duration": 81,
                                "ExitNumber": [],
                                "GeometryOffset": 141,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Left",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 448,
                                "Duration": 34,
                                "ExitNumber": [],
                                "GeometryOffset": 167,
                                "Type": "Continue"
                            },
                            {
                                "Distance": 1797,
                                "Duration": 151,
                                "ExitNumber": [],
                                "GeometryOffset": 182,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 2836,
                                "Duration": 224,
                                "ExitNumber": [],
                                "GeometryOffset": 222,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Left",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 339,
                                "Duration": 30,
                                "ExitNumber": [],
                                "GeometryOffset": 326,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 64,
                                "Duration": 23,
                                "ExitNumber": [],
                                "GeometryOffset": 335,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Left",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 0,
                                "Duration": 0,
                                "ExitNumber": [],
                                "GeometryOffset": 337,
                                "Type": "Arrive"
                            }
                        ],
                        "TruckRoadTypes": [],
                        "Zones": []
                    }
                }
            ],
            "MajorRoadLabels": [
                {
                    "RouteNumber": {
                        "Language": "en",
                        "Value": "HWY-1A"
                    }
                },
                {
                    "RoadName": {
                        "Language": "en",
                        "Value": "Nanaimo St"
                    }
                }
            ]
        }
    ]
}
```

------
#### [ cURL ]

```
curl --request POST \
  --url 'https://routes.geo.eu-central-1.amazonaws.com/v2/routes?key=Your_key' \
  --header 'Content-Type: application/json' \
  --data '{
  "Origin": [
    -123.116655,
    49.281538
  ],
  "Destination": [
    -123.01791785749363,
    49.22782762759908
  ],
  "TravelMode": "Car",
  "Avoid": {
    "Areas": [
      {
        "Geometry": {
          "PolylinePolygon": [
            "BF0s0sJxglvXr5CvkCAgpEs5CvkC"
          ]
        }
      }
    ]
  }
}'
```

------
#### [ AWS CLI ]

```
aws geo-routes calculate-routes --key ${YourKey} \
--origin -123.13277 49.281538 \
--destination -123.01791785749363 49.22782762759908 \
--travel-mode "Car" \
--avoid '{"Areas":[{"Geometry":{"PolylinePolygon":["BF0s0sJxglvXr5CvkCAgpEs5CvkC"]}}]}'
```

------

### CalculateRoutes と avoid Corridor を使用してカスタムルートを作成します。
<a name="calculate-routes-custom-avoidance-corridor"></a>

------
#### [ Sample request ]

```
{
    "Origin": [
        -123.116655,
        49.281538
    ],
    "Destination": [
        -123.01791785749363,
        49.22782762759908
    ],
    "TravelMode": "Car",
    "Avoid": {
        "Areas": [
            {
                "Geometry": {
                    "PolylineCorridor": {
                        "Polyline": "Redacted",
                        "Radius": 10
                    }
                }
            }
        ]
    }
}
```

------
#### [ Sample response ]

```
{
    "LegGeometryFormat": "FlexiblePolyline",
    "Notices": [],
    "Routes": [
        {
            "Legs": [
                {
                    "Geometry": {
                        "Polyline": "Redacted"
                    },
                    "TravelMode": "Car",
                    "Type": "Vehicle",
                    "VehicleLegDetails": {
                        "AfterTravelSteps": [],
                        "Arrival": {
                            "Place": {
                                "ChargingStation": false,
                                "OriginalPosition": [
                                    -123.0179179,
                                    49.2278276
                                ],
                                "Position": [
                                    -123.0229001,
                                    49.22883
                                ]
                            }
                        },
                        "Departure": {
                            "Place": {
                                "ChargingStation": false,
                                "OriginalPosition": [
                                    -123.116655,
                                    49.281538
                                ],
                                "Position": [
                                    -123.1166332,
                                    49.2815528
                                ]
                            }
                        },
                        "Incidents": [],
                        "Notices": [],
                        "PassThroughWaypoints": [],
                        "Spans": [],
                        "Tolls": [],
                        "TollSystems": [],
                        "TravelSteps": [
                            {
                                "Distance": 1144,
                                "Duration": 85,
                                "ExitNumber": [],
                                "GeometryOffset": 0,
                                "Type": "Depart"
                            },
                            {
                                "Distance": 262,
                                "Duration": 24,
                                "ExitNumber": [],
                                "GeometryOffset": 35,
                                "RampStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right"
                                },
                                "Type": "Ramp"
                            },
                            {
                                "Distance": 1356,
                                "Duration": 134,
                                "ExitNumber": [],
                                "GeometryOffset": 40,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 2468,
                                "Duration": 204,
                                "ExitNumber": [],
                                "GeometryOffset": 90,
                                "KeepStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Left"
                                },
                                "Type": "Keep"
                            },
                            {
                                "Distance": 1100,
                                "Duration": 88,
                                "ExitNumber": [],
                                "GeometryOffset": 170,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 1588,
                                "Duration": 133,
                                "ExitNumber": [],
                                "GeometryOffset": 214,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Left",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 47,
                                "Duration": 14,
                                "ExitNumber": [],
                                "GeometryOffset": 260,
                                "Type": "Continue"
                            },
                            {
                                "Distance": 2478,
                                "Duration": 196,
                                "ExitNumber": [],
                                "GeometryOffset": 265,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 339,
                                "Duration": 30,
                                "ExitNumber": [],
                                "GeometryOffset": 357,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 64,
                                "Duration": 23,
                                "ExitNumber": [],
                                "GeometryOffset": 366,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Left",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 0,
                                "Duration": 0,
                                "ExitNumber": [],
                                "GeometryOffset": 368,
                                "Type": "Arrive"
                            }
                        ],
                        "TruckRoadTypes": [],
                        "Zones": []
                    }
                }
            ],
            "MajorRoadLabels": [
                {
                    "RouteNumber": {
                        "Language": "en",
                        "Value": "HWY-1A"
                    }
                }
            ]
        }
    ]
}
```

------
#### [ cURL ]

```
curl --request POST \
  --url 'https://routes.geo.eu-central-1.amazonaws.com/v2/routes?key=Your_key' \
  --header 'Content-Type: application/json' \
  --data '{
  "Origin": [
    -123.116655,
    49.281538
  ],
  "Destination": [
    -123.01791785749363,
    49.22782762759908
  ],
  "TravelMode": "Car",
  "Avoid": {
    "Areas": [
      {
        "Geometry": {
          "PolylineCorridor": {
            "Polyline": "Redacted",
            "Radius": 10
          }
        }
      }
    ]
  }
}'
```

------
#### [ AWS CLI ]

```
aws geo-routes calculate-routes --key ${YourKey} \
--origin -123.116655 49.281538 \
--destination -123.01791785749363 49.22782762759908 \
--travel-mode "Car" \
--avoid '{"Areas": [{"Geometry": {"PolylineCorridor": {"Polyline": "BF2mysJnmkvX5ekiC", "Radius": 10}}}]}'
```

------

### CalculateRoutes と avoid PolylineCorridor を使用してカスタムルートを作成します。
<a name="calculate-routes-custom-avoidance-polyline-corridor"></a>

------
#### [ Sample request ]

```
{
    "Origin": [
        -123.116655,
        49.281538
    ],
    "Destination": [
        -123.01791785749363,
        49.22782762759908
    ],
    "TravelMode": "Car",
    "Avoid": {
        "Areas": [
            {
                "Geometry": {
                    "Corridor": {
                        "LineString": [
                            [
                                -123.06532243038754,
                                49.245226301868776
                            ],
                            [
                                -123.0547357660333,
                                49.24030469850804
                            ]
                        ],
                        "Radius": 10
                    }
                }
            }
        ]
    }
}
```

------
#### [ Sample response ]

```
{
    "LegGeometryFormat": "FlexiblePolyline",
    "Notices": [],
    "Routes": [
        {
            "Legs": [
                {
                    "Geometry": {
                        "Polyline": "Redacted"
                    },
                    "TravelMode": "Car",
                    "Type": "Vehicle",
                    "VehicleLegDetails": {
                        "AfterTravelSteps": [],
                        "Arrival": {
                            "Place": {
                                "ChargingStation": false,
                                "OriginalPosition": [
                                    -123.0179179,
                                    49.2278276
                                ],
                                "Position": [
                                    -123.0229001,
                                    49.22883
                                ]
                            }
                        },
                        "Departure": {
                            "Place": {
                                "ChargingStation": false,
                                "OriginalPosition": [
                                    -123.116655,
                                    49.281538
                                ],
                                "Position": [
                                    -123.1166332,
                                    49.2815528
                                ]
                            }
                        },
                        "Incidents": [],
                        "Notices": [],
                        "PassThroughWaypoints": [],
                        "Spans": [],
                        "Tolls": [],
                        "TollSystems": [],
                        "TravelSteps": [
                            {
                                "Distance": 1144,
                                "Duration": 85,
                                "ExitNumber": [],
                                "GeometryOffset": 0,
                                "Type": "Depart"
                            },
                            {
                                "Distance": 262,
                                "Duration": 24,
                                "ExitNumber": [],
                                "GeometryOffset": 35,
                                "RampStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right"
                                },
                                "Type": "Ramp"
                            },
                            {
                                "Distance": 1356,
                                "Duration": 134,
                                "ExitNumber": [],
                                "GeometryOffset": 40,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 2468,
                                "Duration": 204,
                                "ExitNumber": [],
                                "GeometryOffset": 90,
                                "KeepStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Left"
                                },
                                "Type": "Keep"
                            },
                            {
                                "Distance": 1100,
                                "Duration": 88,
                                "ExitNumber": [],
                                "GeometryOffset": 170,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 1588,
                                "Duration": 133,
                                "ExitNumber": [],
                                "GeometryOffset": 214,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Left",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 47,
                                "Duration": 14,
                                "ExitNumber": [],
                                "GeometryOffset": 260,
                                "Type": "Continue"
                            },
                            {
                                "Distance": 2478,
                                "Duration": 196,
                                "ExitNumber": [],
                                "GeometryOffset": 265,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 339,
                                "Duration": 30,
                                "ExitNumber": [],
                                "GeometryOffset": 357,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 64,
                                "Duration": 23,
                                "ExitNumber": [],
                                "GeometryOffset": 366,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Left",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 0,
                                "Duration": 0,
                                "ExitNumber": [],
                                "GeometryOffset": 368,
                                "Type": "Arrive"
                            }
                        ],
                        "TruckRoadTypes": [],
                        "Zones": []
                    }
                }
            ],
            "MajorRoadLabels": [
                {
                    "RouteNumber": {
                        "Language": "en",
                        "Value": "HWY-1A"
                    }
                }
            ]
        }
    ]
}
```

------
#### [ cURL ]

```
curl --request POST \
  --url 'https://routes.geo.eu-central-1.amazonaws.com/v2/routes?key=Your_key' \
  --header 'Content-Type: application/json' \
  --data '{
  "Origin": [
    -123.116655,
    49.281538
  ],
  "Destination": [
    -123.01791785749363,
    49.22782762759908
  ],
  "TravelMode": "Car",
  "Avoid": {
    "Areas": [
      {
        "Geometry": {
          "Corridor": {
            "LineString": [
              [
                -123.06532243038754,
                49.245226301868776
              ],
              [
                -123.0547357660333,
                49.24030469850804
              ]
            ],
            "Radius": 10
          }
        }
      }
    ]
  }
}'
```

------
#### [ AWS CLI ]

```
aws geo-routes calculate-routes --key ${YourKey} \
--origin -123.13277 49.281538 \
--destination -123.01791785749363 49.22782762759908 \
--travel-mode "Car" \
--avoid '{"Areas":[{"Geometry":{"Corridor":{"LineString":[[-123.06532243038754,49.245226301868776],[-123.0547357660333,49.24030469850804]],"Radius":10}}}]}'
```

------

# いくつかの潜在的な項目のカスタム回避を使用してルートを作成する方法
<a name="calculate-routes-custom-avoidance-multiple"></a>

CalculateRoutes API は、出発地と目的地間の最適なルートと、ドライバーの休憩に最適なタイミングを見つけるのに役立ちます。自動車、トラック、歩行、スクーターなどの移動モードをサポートしています。また、出発地と目的地を含む最大 25 のウェイポイント (ストップオーバー) にも対応していますが、若干の制約があります。

## 想定されるユースケース
<a name="potential-use-cases"></a>
+ **カスタム回避を使用してルートを計算する:** 回避を使用してルートをカスタマイズし、ルートと交通計画を改善します。

## 例
<a name="calculate-routes-examples"></a>

### 料金、U ターン、フェリー、高速道路、トンネルなどを回避して CalculateRoutes を使用します。
<a name="calculate-routes-custom-avoidance-tolls-ferries"></a>

------
#### [ Sample request ]

```
{
    "Origin": [
        -123.118105,
        49.282423
    ],
    "Destination": [
        -123.020098,
        49.232872
    ],
    "TravelMode": "Car",
    "Avoid": {
        "TollRoads": true,
        "UTurns": true,
        "Ferries": true,
        "ControlledAccessHighways": true,
        "Tunnels": true
    }
}
```

------
#### [ Sample response ]

```
{
    "LegGeometryFormat": "FlexiblePolyline",
    "Notices": [],
    "Routes": [
        {
            "Legs": [
                {
                    "Geometry": {
                        "Polyline": "Redacted"
                    },
                    "TravelMode": "Car",
                    "Type": "Vehicle",
                    "VehicleLegDetails": {
                        "AfterTravelSteps": [],
                        "Arrival": {
                            "Place": {
                                "ChargingStation": false,
                                "OriginalPosition": [
                                    -123.020098,
                                    49.232872
                                ],
                                "Position": [
                                    -123.0203051,
                                    49.2328499
                                ]
                            }
                        },
                        "Departure": {
                            "Place": {
                                "ChargingStation": false,
                                "OriginalPosition": [
                                    -123.1181051,
                                    49.282423
                                ],
                                "Position": [
                                    -123.1180883,
                                    49.2824349
                                ]
                            }
                        },
                        "Incidents": [],
                        "Notices": [],
                        "PassThroughWaypoints": [],
                        "Spans": [],
                        "Tolls": [],
                        "TollSystems": [],
                        "TravelSteps": [
                            {
                                "Distance": 1288,
                                "Duration": 102,
                                "ExitNumber": [],
                                "GeometryOffset": 0,
                                "Type": "Depart"
                            },
                            {
                                "Distance": 262,
                                "Duration": 24,
                                "ExitNumber": [],
                                "GeometryOffset": 37,
                                "RampStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right"
                                },
                                "Type": "Ramp"
                            },
                            {
                                "Distance": 1356,
                                "Duration": 134,
                                "ExitNumber": [],
                                "GeometryOffset": 42,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 7092,
                                "Duration": 568,
                                "ExitNumber": [],
                                "GeometryOffset": 92,
                                "KeepStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Left"
                                },
                                "Type": "Keep"
                            },
                            {
                                "Distance": 65,
                                "Duration": 26,
                                "ExitNumber": [],
                                "GeometryOffset": 337,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Left",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 50,
                                "Duration": 18,
                                "ExitNumber": [],
                                "GeometryOffset": 339,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 0,
                                "Duration": 0,
                                "ExitNumber": [],
                                "GeometryOffset": 343,
                                "Type": "Arrive"
                            }
                        ],
                        "TruckRoadTypes": [],
                        "Zones": []
                    }
                }
            ],
            "MajorRoadLabels": [
                {
                    "RouteNumber": {
                        "Language": "en",
                        "Value": "HWY-1A"
                    }
                }
            ]
        }
    ]
}
```

------
#### [ cURL ]

```
curl --request POST \
  --url 'https://routes.geo.eu-central-1.amazonaws.com/v2/routes?key=Your_key' \
  --header 'Content-Type: application/json' \
  --data '{
  "Origin": [
    -123.118105,
    49.282423
  ],
  "Destination": [
    -123.020098,
    49.232872
  ],
  "TravelMode": "Car",
  "Avoid": {
    "TollRoads": true,
    "UTurns": true,
    "Ferries": true,
    "ControlledAccessHighways": true,
    "Tunnels": true
  }
}'
```

------
#### [ AWS CLI ]

```
aws geo-routes calculate-routes --key ${YourKey} \
--origin -123.118105 49.282423 \
--destination -123.020098 49.232872 \
--travel-mode "Car" \
--avoid '{"TollRoads": true, "UTurns": true, "Ferries": true, "ControlledAccessHighways": true, "Tunnels": true}'
```

------

# 最速ルートを見つける方法
<a name="calculate-routes-custom-avoidance-fast"></a>

CalculateRoutes API は、出発地と目的地間の最速ルートを見つけるのに役立ちます。

## 想定されるユースケース
<a name="calculate-routes-fast-potential-use"></a>
+ **時間効率向上のためにルートを最適化する:** 最速ルートを計算して配送オペレーションを改善します。この API は、物流および配送サービスの移動時間を短縮するのに役立ちます。

## 例
<a name="calculate-routes-fast-examples"></a>

### 最速ルートを計算する
<a name="calculate-routes-fast-car"></a>

------
#### [ Sample request ]

```
{
    "Origin": [
        -123.118105,
        49.282423
    ],
    "Destination": [
        -123.020098,
        49.232872
    ],
    "TravelMode": "Car",
    "OptimizeRoutingFor": "FastestRoute"
}
```

------
#### [ Sample response ]

```
{
    "LegGeometryFormat": "FlexiblePolyline",
    "Notices": [],
    "Routes": [
        {
            "Legs": [
                {
                    "Geometry": {
                        "Polyline": "Redacted"
                    },
                    "TravelMode": "Car",
                    "Type": "Vehicle",
                    "VehicleLegDetails": {
                        "AfterTravelSteps": [],
                        "Arrival": {
                            "Place": {
                                "ChargingStation": false,
                                "OriginalPosition": [
                                    -123.020098,
                                    49.232872
                                ],
                                "Position": [
                                    -123.0203051,
                                    49.2328499
                                ]
                            }
                        },
                        "Departure": {
                            "Place": {
                                "ChargingStation": false,
                                "OriginalPosition": [
                                    -123.1181051,
                                    49.282423
                                ],
                                "Position": [
                                    -123.1180883,
                                    49.2824349
                                ]
                            }
                        },
                        "Incidents": [],
                        "Notices": [],
                        "PassThroughWaypoints": [],
                        "Spans": [],
                        "Tolls": [],
                        "TollSystems": [],
                        "TravelSteps": [
                            {
                                "Distance": 1288,
                                "Duration": 102,
                                "ExitNumber": [],
                                "GeometryOffset": 0,
                                "Type": "Depart"
                            },
                            {
                                "Distance": 262,
                                "Duration": 24,
                                "ExitNumber": [],
                                "GeometryOffset": 37,
                                "RampStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right"
                                },
                                "Type": "Ramp"
                            },
                            {
                                "Distance": 1356,
                                "Duration": 134,
                                "ExitNumber": [],
                                "GeometryOffset": 42,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 7092,
                                "Duration": 568,
                                "ExitNumber": [],
                                "GeometryOffset": 92,
                                "KeepStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Left"
                                },
                                "Type": "Keep"
                            },
                            {
                                "Distance": 65,
                                "Duration": 26,
                                "ExitNumber": [],
                                "GeometryOffset": 337,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Left",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 50,
                                "Duration": 18,
                                "ExitNumber": [],
                                "GeometryOffset": 339,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 0,
                                "Duration": 0,
                                "ExitNumber": [],
                                "GeometryOffset": 343,
                                "Type": "Arrive"
                            }
                        ],
                        "TruckRoadTypes": [],
                        "Zones": []
                    }
                }
            ],
            "MajorRoadLabels": [
                {
                    "RouteNumber": {
                        "Language": "en",
                        "Value": "HWY-1A"
                    }
                }
            ]
        }
    ]
}
```

------
#### [ cURL ]

```
curl --request POST \
  --url 'https://routes.geo.eu-central-1.amazonaws.com/v2/routes?key=Your_key' \
  --header 'Content-Type: application/json' \
  --data '{
  "Origin": [
    -123.118105,
    49.282423
  ],
  "Destination": [
    -123.020098,
    49.232872
  ],
  "TravelMode": "Car",
  "OptimizeRoutingFor": "FastestRoute"
}'
```

------
#### [ AWS CLI ]

```
aws geo-routes calculate-routes --key ${YourKey} \
--origin -123.118105 49.282423 \
--destination -123.020098 49.232872 \
--travel-mode "Car" \
--optimize-routing-for "FastestRoute"
```

------

# 最短ルートを見つける方法
<a name="calculate-routes-custom-avoidance-shortest"></a>

CalculateRoutes API は、出発地と目的地間の最短ルートを見つけるのに役立ちます。

## 想定されるユースケース
<a name="calculate-routes-short-potential-use"></a>
+ **時間効率向上のためにルートを最適化する:** 最短ルートを計算して配送オペレーションを改善します。この API は、物流および配送サービスの移動距離を短縮するのに役立ちます。

## 例
<a name="calculate-routes-short-examples"></a>

### CalculateRoutes を使用して最短ルートを見つけ、移動距離を短縮します。
<a name="calculate-routes-shortest"></a>

------
#### [ Sample request ]

```
{
    "Origin": [
        -123.118105,
        49.282423
    ],
    "Destination": [
        -123.020098,
        49.232872
    ],
    "TravelMode": "Car",
    "OptimizeRoutingFor": "ShortestRoute"
}
```

------
#### [ Sample response ]

```
{
    "LegGeometryFormat": "FlexiblePolyline",
    "Notices": [],
    "Routes": [
        {
            "Legs": [
                {
                    "Geometry": {
                        "Polyline": "Redacted"
                    },
                    "TravelMode": "Car",
                    "Type": "Vehicle",
                    "VehicleLegDetails": {
                        "AfterTravelSteps": [],
                        "Arrival": {
                            "Place": {
                                "ChargingStation": false,
                                "OriginalPosition": [
                                    -123.020098,
                                    49.232872
                                ],
                                "Position": [
                                    -123.0203051,
                                    49.2328499
                                ]
                            }
                        },
                        "Departure": {
                            "Place": {
                                "ChargingStation": false,
                                "OriginalPosition": [
                                    -123.1181051,
                                    49.282423
                                ],
                                "Position": [
                                    -123.1180883,
                                    49.2824349
                                ]
                            }
                        },
                        "Incidents": [],
                        "Notices": [],
                        "PassThroughWaypoints": [],
                        "Spans": [],
                        "Tolls": [],
                        "TollSystems": [],
                        "TravelSteps": [
                            {
                                "Distance": 1288,
                                "Duration": 102,
                                "ExitNumber": [],
                                "GeometryOffset": 0,
                                "Type": "Depart"
                            },
                            {
                                "Distance": 262,
                                "Duration": 24,
                                "ExitNumber": [],
                                "GeometryOffset": 37,
                                "RampStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right"
                                },
                                "Type": "Ramp"
                            },
                            {
                                "Distance": 1356,
                                "Duration": 134,
                                "ExitNumber": [],
                                "GeometryOffset": 42,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 7092,
                                "Duration": 568,
                                "ExitNumber": [],
                                "GeometryOffset": 92,
                                "KeepStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Left"
                                },
                                "Type": "Keep"
                            },
                            {
                                "Distance": 65,
                                "Duration": 26,
                                "ExitNumber": [],
                                "GeometryOffset": 337,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Left",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 50,
                                "Duration": 18,
                                "ExitNumber": [],
                                "GeometryOffset": 339,
                                "TurnStepDetails": {
                                    "Intersection": [],
                                    "SteeringDirection": "Right",
                                    "TurnIntensity": "Typical"
                                },
                                "Type": "Turn"
                            },
                            {
                                "Distance": 0,
                                "Duration": 0,
                                "ExitNumber": [],
                                "GeometryOffset": 343,
                                "Type": "Arrive"
                            }
                        ],
                        "TruckRoadTypes": [],
                        "Zones": []
                    }
                }
            ],
            "MajorRoadLabels": [
                {
                    "RouteNumber": {
                        "Language": "en",
                        "Value": "HWY-1A"
                    }
                }
            ]
        }
    ]
}
```

------
#### [ cURL ]

```
curl --request POST \
  --url 'https://routes.geo.eu-central-1.amazonaws.com/v2/routes?key=Your_key' \
  --header 'Content-Type: application/json' \
  --data '{
    "Origin": [
        -123.118105,
        49.282423
    ],
    "Destination": [
        -123.020098,
        49.232872
    ],
    "TravelMode": "Car",
    "OptimizeRoutingFor": "ShortestRoute"
}'
```

------
#### [ AWS CLI ]

```
aws geo-routes calculate-routes --key ${YourKey} \
--origin -123.118105 49.282423 \
--destination -123.020098 49.232872 \
--travel-mode "Scooter" \
--optimize-routing-for "ShortestRoute"
```

------

# CalculateIsolines を使用する方法について
<a name="calculate-isolines-how-to"></a>

このセクションでは、時間または距離の範囲を指定して `CalculateIsolines` を使用する方法と、回避する領域を設定する方法について説明します。

**Topics**
+ [時間の範囲に基づいてサービスエリアを計算する方法](calculate-service-area-based-on-time.md)
+ [距離の範囲に基づいてサービスエリアを計算する方法](calculate-service-area-based-on-distance.md)
+ [回避に基づいてサービスエリアを計算する方法](calculate-service-area-based-on-avoidance.md)

# 時間の範囲に基づいてサービスエリアを計算する方法
<a name="calculate-service-area-based-on-time"></a>

CalculateIsolines API を使用すると、道路網と交通状況を考慮して、指定した時間または距離の範囲内で到達可能なサービスエリアを特定できます。この機能は、レストラン、食料品店、またはその他のサービスプロバイダーのサービスエリアの定義時に、アプリケーションをサポートします。これは、燃料効率の計画や、サービスカバレッジを利用できるエリアの定義に役立ちます。

## 想定されるユースケース
<a name="calculate-service-area-time-potential-use"></a>
+ **サービスエリアを計画する:** この API を使用して、移動時間または距離に基づいてレストランや食料品配送などのサービスを利用できるエリアを計画します。

## 例
<a name="calculate-service-area-time-examples"></a>

### Car TravelMode で時間の範囲に基づいてサービスエリアを計算する
<a name="calculate-service-area-time"></a>

------
#### [ Sample request ]

```
{
    "Origin": [
        -123.11679620827039,
        49.28147612192166
    ],
    "DepartureTime": "2024-10-28T21:27:56Z",
    "Thresholds": {
        "Time": [
            500,
            1000,
            1500
        ]
    },
    "TravelMode": "Car"
}
```

------
#### [ Sample response ]

```
{
    "DepartureTime": "2024-10-28T14:27:56-07:00",
    "IsolineGeometryFormat": "FlexiblePolyline",
    "Isolines": [
        {
            "Connections": [],
            "Geometries": [
                {
                    "PolylinePolygon": [
                        "Redacted"
                    ]
                }
            ],
            "TimeThreshold": 500
        },
        {
            "Connections": [],
            "Geometries": [
                {
                    "PolylinePolygon": [
                        "Redacted"
                    ]
                }
            ],
            "TimeThreshold": 1000
        },
        {
            "Connections": [],
            "Geometries": [
                {
                    "PolylinePolygon": [
                        "Redacted"
                    ]
                }
            ],
            "TimeThreshold": 1500
        }
    ],
    "SnappedOrigin": [
        -123.11687,
        49.2813999
    ]
}
```

------
#### [ cURL ]

```
curl --request POST \
  --url 'https://routes.geo.eu-central-1.amazonaws.com/v2/isolines?key=Your_key' \
  --header 'Content-Type: application/json' \
  --data '{
    "Origin": [
        -123.11679620827039,
        49.28147612192166
    ],
    "DepartureTime": "2024-10-28T21:27:56Z",
    "Thresholds": {
        "Time": [
            500,
            1000,
            1500
        ]
    },
    "TravelMode": "Car"
}'
```

------
#### [ AWS CLI ]

```
aws geo-routes calculate-isolines --key ${YourKey} \
--origin -123.11679620827039 49.28147612192166 \
--departure-time "2024-10-28T21:27:56Z" \
--thresholds '{"Time": [500, 1000, 1500]}' \
--travel-mode "Car"
```

------

# 距離の範囲に基づいてサービスエリアを計算する方法
<a name="calculate-service-area-based-on-distance"></a>

CalculateIsolines API を使用すると、道路網と交通状況を考慮して、指定した時間または距離の範囲内で到達可能なサービスエリアを特定できます。この機能は、レストラン、食料品店、またはその他のサービスプロバイダーのサービスエリアの定義時に、アプリケーションをサポートします。これは、燃料効率の計画や、サービスカバレッジを利用できるエリアの定義に役立ちます。

## 想定されるユースケース
<a name="calculate-service-area-distance-potential-use"></a>
+ **サービスエリアを計画する:** この API を使用して、移動時間または距離に基づいてレストランや食料品配送などのサービスを利用できるエリアを計画します。

## 例
<a name="calculate-service-area-distance-examples"></a>

### Car TravelMode で距離の範囲に基づいてサービスエリアを計算する
<a name="calculate-service-area-distance"></a>

------
#### [ Sample request ]

```
{
    "Origin": [
        -123.11679620827039,
        49.28147612192166
    ],
    "DepartureTime": "2024-10-28T21:27:56Z",
    "Thresholds": {
        "Distance": [
            1000,
            2000,
            3000
        ]
    },
    "TravelMode": "Car"
}
```

------
#### [ Sample response ]

```
{
    "DepartureTime": "2024-10-28T14:27:56-07:00",
    "IsolineGeometryFormat": "FlexiblePolyline",
    "Isolines": [
        {
            "Connections": [],
            "DistanceThreshold": 1000,
            "Geometries": [
                {
                    "PolylinePolygon": [
                        "Redacted"
                    ]
                }
            ]
        },
        {
            "Connections": [],
            "DistanceThreshold": 2000,
            "Geometries": [
                {
                    "PolylinePolygon": [
                        "Redacted"
                    ]
                }
            ]
        },
        {
            "Connections": [],
            "DistanceThreshold": 3000,
            "Geometries": [
                {
                    "PolylinePolygon": [
                        "Redacted"
                    ]
                }
            ]
        }
    ],
    "SnappedOrigin": [
        -123.11687,
        49.2813999
    ]
}
```

------
#### [ cURL ]

```
curl --request POST \
  --url 'https://routes.geo.eu-central-1.amazonaws.com/v2/isolines?key=Your_key' \
  --header 'Content-Type: application/json' \
  --data '{
    "Origin": [
        -123.11679620827039,
        49.28147612192166
    ],
    "DepartureTime": "2024-10-28T21:27:56Z",
    "Thresholds": {
        "Distance": [
            1000,
            2000,
            3000
        ]
    },
    "TravelMode": "Car"
}'
```

------
#### [ AWS CLI ]

```
aws geo-routes calculate-isolines --key ${YourKey} \
--origin -123.11679620827039 49.28147612192166 \
--departure-time "2024-10-28T21:27:56Z" \
--thresholds '{"Distance": [1000, 2000, 3000]}' \
--travel-mode "Car"
```

------

# 回避に基づいてサービスエリアを計算する方法
<a name="calculate-service-area-based-on-avoidance"></a>

CalculateIsolines API を使用すると、回避する道路網と交通状況を考慮して、指定した時間または距離の範囲内で到達可能なサービスエリアを特定できます。この機能は、レストラン、食料品店、またはその他のサービスプロバイダーのサービスエリアの定義時に、アプリケーションをサポートします。これは、燃料効率の計画や、サービスカバレッジを利用できるエリアの定義に役立ちます。

## 想定されるユースケース
<a name="calculate-service-area-avoidance-potential-use"></a>
+ **サービスエリアを計画する:** この API を使用して、回避に基づいてレストランや食料品配送などのサービスを利用できるエリアを計画します。

## 例
<a name="calculate-service-area-avoidance-examples"></a>

### Car TravelMode を使用して回避に基づいてサービスエリアを計算する
<a name="calculate-service-area-avoidance-car"></a>

------
#### [ Sample request ]

```
{
    "Origin": [
        -123.11679620827039,
        49.28147612192166
    ],
    "DepartureTime": "2024-10-28T21:27:56Z",
    "Thresholds": {
        "Distance": [
            4000
        ]
    },
    "Avoid": {
        "TollRoads": true,
        "UTurns": true,
        "ControlledAccessHighways": true,
        "Ferries": true,
        "DirtRoads": true,
        "SeasonalClosure": true,
        "CarShuttleTrains": true,
        "TollTransponders": true,
        "ZoneCategories": [
            {
                "Category": "Environmental"
            }
        ]
    },
    "TravelMode": "Car"
}
```

------
#### [ Sample response ]

```
{
    "DepartureTime": "2024-10-28T14:27:56-07:00",
    "IsolineGeometryFormat": "FlexiblePolyline",
    "Isolines": [
        {
            "Connections": [],
            "DistanceThreshold": 4000,
            "Geometries": [
                {
                    "PolylinePolygon": [
                        "Redacted"
                    ]
                }
            ]
        }
    ],
    "SnappedOrigin": [
        -123.11687,
        49.2813999
    ]
}
```

------
#### [ cURL ]

```
curl --request POST \
  --url 'https://routes.geo.eu-central-1.amazonaws.com/v2/isolines?key=Your_key' \
  --header 'Content-Type: application/json' \
  --data '{
    "Origin": [
        -123.11679620827039,
        49.28147612192166
    ],
    "DepartureTime": "2024-10-28T21:27:56Z",
    "Thresholds": {
        "Distance": [
            4000
        ]
    },
    "Avoid": {
        "TollRoads": true,
        "UTurns": true,
        "ControlledAccessHighways": true,
        "Ferries": true,
        "DirtRoads": true,
        "SeasonalClosure": true,
        "CarShuttleTrains": true,
        "TollTransponders": true,
        "ZoneCategories": [
            {
                "Category": "Environmental"
            }
        ]
    },
    "TravelMode": "Car"
}'
```

------
#### [ AWS CLI ]

```
aws geo-routes calculate-isolines --key ${YourKey} \
--origin -123.11679620827039 49.28147612192166 \
--departure-time "2024-10-28T21:27:56Z" \
--thresholds '{"Distance": [4000]}' \
--avoid '{"TollRoads": true, "UTurns": true, "ControlledAccessHighways": true, "Ferries": true, "DirtRoads": true, "SeasonalClosure": true, "CarShuttleTrains": true, "TollTransponders": true, "ZoneCategories": [{"Category": "Environmental"}]}' \
--travel-mode "Car"
```

------

### Truck TravelMode を使用して回避に基づいてサービスエリアを計算する
<a name="calculate-service-area-avoidance-truck"></a>

------
#### [ Sample request ]

```
{
    "Origin": [
        -123.11679620827039,
        49.28147612192166
    ],
    "DepartureTime": "2024-10-28T21:27:56Z",
    "Thresholds": {
        "Distance": [
            4000
        ]
    },
    "Avoid": {
        "TollRoads": true,
        "UTurns": true,
        "ControlledAccessHighways": true,
        "Ferries": true,
        "DirtRoads": true,
        "SeasonalClosure": true,
        "CarShuttleTrains": true,
        "TollTransponders": true,
        "ZoneCategories": [
            {
                "Category": "Environmental"
            }
        ]
    },
    "TravelMode": "Truck"
}
```

------
#### [ Sample response ]

```
{
    "DepartureTime": "2024-10-28T14:27:56-07:00",
    "IsolineGeometryFormat": "FlexiblePolyline",
    "Isolines": [
        {
            "Connections": [],
            "DistanceThreshold": 4000,
            "Geometries": [
                {
                    "PolylinePolygon": [
                        "Redacted"
                    ]
                }
            ]
        }
    ],
    "SnappedOrigin": [
        -123.11687,
        49.2813999
    ]
}
```

------
#### [ cURL ]

```
curl --request POST \
  --url 'https://routes.geo.eu-central-1.amazonaws.com/v2/isolines?key=Your_key' \
  --header 'Content-Type: application/json' \
  --data '{
    "Origin": [
        -123.11679620827039,
        49.28147612192166
    ],
    "DepartureTime": "2024-10-28T21:27:56Z",
    "Thresholds": {
        "Distance": [
            4000
        ]
    },
    "Avoid": {
        "TollRoads": true,
        "UTurns": true,
        "ControlledAccessHighways": true,
        "Ferries": true,
        "DirtRoads": true,
        "SeasonalClosure": true,
        "CarShuttleTrains": true,
        "TollTransponders": true,
        "ZoneCategories": [
            {
                "Category": "Environmental"
            }
        ]
    },
    "TravelMode": "Truck"
}'
```

------
#### [ AWS CLI ]

```
aws geo-routes calculate-isolines --key ${YourKey} \
--origin -123.11679620827039 49.28147612192166 \
--departure-time "2024-10-28T21:27:56Z" \
--thresholds '{"Distance": [4000]}' \
--avoid '{"TollRoads": true, "UTurns": true, "ControlledAccessHighways": true, "Ferries": true, "DirtRoads": true, "SeasonalClosure": true, "CarShuttleTrains": true, "TollTransponders": true, "ZoneCategories": [{"Category": "Environmental"}]}' \
--travel-mode "Truck"
```

------

### 歩行向けに回避に基づいてサービスエリアを計算する
<a name="calculate-service-area-avoidance-truck"></a>

------
#### [ Sample request ]

```
{
    "Origin": [
        -123.11679620827039,
        49.28147612192166
    ],
    "DepartureTime": "2024-10-28T21:27:56Z",
    "Thresholds": {
        "Distance": [
            4000
        ]
    },
    "Avoid": {
        "TollRoads": true,
        "ControlledAccessHighways": true,
        "Ferries": true,
        "DirtRoads": true,
        "SeasonalClosure": true,
        "CarShuttleTrains": true,
        "TollTransponders": true,
        "ZoneCategories": [
            {
                "Category": "Environmental"
            }
        ]
    },
    "TravelMode": "Pedestrian"
}
```

------
#### [ Sample response ]

```
{
    "DepartureTime": "2024-10-28T14:27:56-07:00",
    "IsolineGeometryFormat": "FlexiblePolyline",
    "Isolines": [
        {
            "Connections": [],
            "DistanceThreshold": 4000,
            "Geometries": [
                {
                    "PolylinePolygon": [
                        "Redacted"
                    ]
                }
            ]
        }
    ],
    "SnappedOrigin": [
        -123.11687,
        49.2813999
    ]
}
```

------
#### [ cURL ]

```
curl --request POST \
  --url 'https://routes.geo.eu-central-1.amazonaws.com/v2/isolines?key=Your_key' \
  --header 'Content-Type: application/json' \
  --data '{
    "Origin": [
        -123.11679620827039,
        49.28147612192166
    ],
    "DepartureTime": "2024-10-28T21:27:56Z",
    "Thresholds": {
        "Distance": [
            4000
        ]
    },
    "Avoid": {
        "TollRoads": true,
        "ControlledAccessHighways": true,
        "Ferries": true,
        "DirtRoads": true,
        "SeasonalClosure": true,
        "CarShuttleTrains": true,
        "TollTransponders": true,
        "ZoneCategories": [
            {
                "Category": "Environmental"
            }
        ]
    },
    "TravelMode": "Pedestrian"
}'
```

------
#### [ AWS CLI ]

```
aws geo-routes calculate-isolines --key ${YourKey} \
--origin -123.11679620827039 49.28147612192166 \
--departure-time "2024-10-28T21:27:56Z" \
--thresholds '{"Distance": [4000]}' \
--avoid '{"TollRoads": true, "ControlledAccessHighways": true, "Ferries": true, "DirtRoads": true, "SeasonalClosure": true, "CarShuttleTrains": true, "TollTransponders": true, "ZoneCategories": [{"Category": "Environmental"}]}' \
--travel-mode "Pedestrian"
```

------

### Scooter TravelMode を使用して回避に基づいてサービスエリアを計算する
<a name="calculate-service-area-avoidance-scooter"></a>

------
#### [ Sample request ]

```
{
    "Origin": [
        -123.11679620827039,
        49.28147612192166
    ],
    "DepartureTime": "2024-10-28T21:27:56Z",
    "Thresholds": {
        "Distance": [
            4000
        ]
    },
    "Avoid": {
        "TollRoads": true,
        "ControlledAccessHighways": true,
        "DifficultTurns": false,
        "Ferries": true,
        "DirtRoads": true,
        "SeasonalClosure": true,
        "CarShuttleTrains": true,
        "TollTransponders": true,
        "ZoneCategories": [
            {
                "Category": "Environmental"
            }
        ]
    },
    "TravelMode": "Scooter"
}
```

------
#### [ Sample response ]

```
{
    "DepartureTime": "2024-10-28T14:27:56-07:00",
    "IsolineGeometryFormat": "FlexiblePolyline",
    "Isolines": [
        {
            "Connections": [],
            "DistanceThreshold": 4000,
            "Geometries": [
                {
                    "PolylinePolygon": [
                        "Redacted"
                    ]
                }
            ]
        }
    ],
    "SnappedOrigin": [
        -123.11687,
        49.2813999
    ]
}
```

------
#### [ cURL ]

```
curl --request POST \
  --url 'https://routes.geo.eu-central-1.amazonaws.com/v2/isolines?key=Your_key' \
  --header 'Content-Type: application/json' \
  --data '{
    "Origin": [
        -123.11679620827039,
        49.28147612192166
    ],
    "DepartureTime": "2024-10-28T21:27:56Z",
    "Thresholds": {
        "Distance": [
            4000
        ]
    },
    "Avoid": {
        "TollRoads": true,
        "ControlledAccessHighways": true,
        "Ferries": true,
        "DirtRoads": true,
        "SeasonalClosure": true,
        "CarShuttleTrains": true,
        "TollTransponders": true,
        "ZoneCategories": [
            {
                "Category": "Environmental"
            }
        ]
    },
    "TravelMode": "Scooter"
}'
```

------
#### [ AWS CLI ]

```
aws geo-routes calculate-isolines --key ${YourKey} \
--origin -123.11679620827039 49.28147612192166 \
--departure-time "2024-10-28T21:27:56Z" \
--thresholds '{"Distance": [4000]}' \
--avoid '{"TollRoads": true, "ControlledAccessHighways": true, "Ferries": true, "DirtRoads": true, "SeasonalClosure": true, "CarShuttleTrains": true, "TollTransponders": true, "ZoneCategories": [{"Category": "Environmental"}]}' \
--travel-mode "Scooter"
```

------

# CalculateRouteMatrix を使用する方法について説明します。
<a name="calculate-route-matrix-how-to"></a>

このセクションでは、`CalculateRouteMatrix` を使用して複数の出発地と目的地の効率的なルートを見つける方法について説明します。

**Topics**
+ [複数の出発地と目的地の距離と時間のルートマトリックスを計算する方法](calculate-route-matrix-distance.md)
+ [回避を使用してルートマトリックスを計算する方法](calculate-route-matrix-with-avoidance.md)

# 複数の出発地と目的地の距離と時間のルートマトリックスを計算する方法
<a name="calculate-route-matrix-distance"></a>

CalculateRouteMatrix API は、ルートを計算し、出発地と目的地の組み合わせごとに移動時間と移動距離を提供します。この機能は、複数の位置でのルートの計画と最適化を必要とするアプリケーションに役立ちます。

レスポンスには、各送信元と送信先のペアの`Distance`メートル単位と秒`Duration`単位が含まれます。

## 想定されるユースケース
<a name="calculate-route-matrix-potential-use"></a>
+ **ルート計画を最適化する:** ルートマトリックスをルート最適化ソフトウェアの入力として使用して、サービス効率を高め、移動時間を短縮します。

## 例
<a name="calculate-route-matrix-examples"></a>

### CalculateRouteMatrix で無制限のルーティング境界を使用する
<a name="calculate-route-matrix-unbounded"></a>

------
#### [ Sample request ]

```
{
    "Origins": [
        {
            "Position": [-123.11679620827039, 49.28147612192166]
        },
        {
            "Position": [-123.11179620827039, 49.3014761219]
        }
    ],
    "Destinations": [
        {
            "Position": [-123.112317039, 49.28897192166]
        }
    ],
    "DepartureTime": "2024-05-28T21:27:56Z",
    "RoutingBoundary": {
        "Unbounded": true
    }
}
```

------
#### [ Sample response ]

```
{
    "ErrorCount": 0,
    "RouteMatrix": [
        [
            {
                "Distance": 1907,
                "Duration": 343
            }
        ],
        [
            {
                "Distance": 5629,
                "Duration": 954
            }
        ]
    ],
    "RoutingBoundary": {
        "Unbounded": true
    }
}
```

------
#### [ cURL ]

```
curl --request POST \
  --url 'https://routes.geo.eu-central-1.amazonaws.com/v2/route-matrix?key=Your_key' \
  --header 'Content-Type: application/json' \
  --data '{
    "Origins": [
        {
            "Position": [-123.11679620827039, 49.28147612192166]
        },
        {
            "Position": [-123.11179620827039, 49.3014761219]
        }
    ],
    "Destinations": [
        {
            "Position": [-123.112317039, 49.28897192166]
        }
    ],
    "DepartureTime": "2024-05-28T21:27:56Z",
    "RoutingBoundary": {
        "Unbounded": true
    }
}'
```

------
#### [ AWS CLI ]

```
aws geo-routes calculate-route-matrix --key ${YourKey} \
--origins '[{"Position": [-123.11679620827039, 49.28147612192166]}, {"Position": [-123.11179620827039, 49.3014761219]}]' \
--destinations '[{"Position": [-123.11179620827039, 49.28897192166]}]' \
--departure-time "2024-05-28T21:27:56Z" \
--routing-boundary '{"Unbounded": true}'
```

------

### CalculateRouteMatrix でジオメトリベースのルーティング境界を使用する
<a name="calculate-route-matrix-geometry"></a>

------
#### [ Sample request ]

```
{
    "Origins": [
        {
            "Position": [-123.11679620827039, 49.28147612192166]
        },
        {
            "Position": [-123.11179620827039, 49.3014761219]
        }
    ],
    "Destinations": [
        {
            "Position": [-123.112317039, 49.28897192166]
        }
    ],
    "DepartureTime": "2024-05-28T21:27:56Z",
    "RoutingBoundary": {
        "Geometry": {
            "AutoCircle": {
                "Margin": 10000,
                "MaxRadius": 30000
            }
        }
    }
}
```

------
#### [ Sample response ]

```
{
    "ErrorCount": 0,
    "RouteMatrix": [
        [
            {
                "Distance": 1907,
                "Duration": 344
            }
        ],
        [
            {
                "Distance": 5629,
                "Duration": 950
            }
        ]
    ],
    "RoutingBoundary": {
        "Geometry": {
            "Circle": {
                "Center": [
                    -123.1142962082704,
                    49.29147612191083
                ],
                "Radius": 11127
            }
        },
        "Unbounded": false
    }
}
```

------
#### [ cURL ]

```
curl --request POST \
  --url 'https://routes.geo.eu-central-1.amazonaws.com/v2/route-matrix?key=Your_key' \
  --header 'Content-Type: application/json' \
  --data '{
    "Origins": [
        {
            "Position": [-123.11679620827039, 49.28147612192166]
        },
        {
            "Position": [-123.11179620827039, 49.3014761219]
        }
    ],
    "Destinations": [
        {
            "Position": [-123.112317039, 49.28897192166]
        }
    ],
    "DepartureTime": "2024-05-28T21:27:56Z",
    "RoutingBoundary": {
        "Geometry": {
            "AutoCircle": {
                "Margin": 10000,
                "MaxRadius": 30000
            }
        }
    }
}'
```

------
#### [ AWS CLI ]

```
aws geo-routes calculate-route-matrix --key ${YourKey} \
--origins '[{"Position": [-123.11679620827039, 49.28147612192166]}, {"Position": [-123.11179620827039, 49.3014761219]}]' \
--destinations '[{"Position": [-123.11179620827039, 49.28897192166]}]' \
--departure-time "2024-05-28T21:27:56Z" \
--routing-boundary '{"Geometry": {"AutoCircle": {"Margin": 10000, "MaxRadius": 30000}}}'
```

------

# 回避を使用してルートマトリックスを計算する方法
<a name="calculate-route-matrix-with-avoidance"></a>

CalculateRouteMatrix API は、ルートを計算し、指定したリスト内の各出発地から各目的地までの移動時間と距離を返します。レスポンスには、メートル`Distance`単位と秒`Duration`単位が含まれます。この API を使用すると、指定したゾーンまたは条件をルートが回避するように、特定のエリアまたは道路の特徴の回避オプションを設定できます。代替ルートが不可能な場合は、回避設定をバイパスできます。

## 想定されるユースケース
<a name="calculate-route-matrix-potential-use"></a>
+ **ルートの計画と最適化:** 特定のエリアや道路の特徴を回避しながら、最適化された移動ルートを必要とするソフトウェアの入力としてルートマトリックスを使用します。

## 例
<a name="calculate-route-matrix-examples"></a>

### CalculateRouteMatrix で回避エリアを使用する
<a name="calculate-route-matrix-avoidance-area"></a>

------
#### [ Sample request ]

```
{
    "Origins": [
        {
            "Position": [-123.11679620827039, 49.28147612192166]
        }
    ],
    "Destinations": [
        {
            "Position": [-123.112317039, 49.28897192166]
        }
    ],
    "Avoid": {
        "Areas": [
            {
                "Geometry": {
                    "BoundingBox": [
                         -123.116561,
                         49.281517,
                         -123.110165,
                         49.285689
                    ]
                }
            }
        ]
    },
    "RoutingBoundary": {
        "Unbounded": true
    }
}
```

------
#### [ Sample response ]

```
{
    "ErrorCount": 0,
    "RouteMatrix": [
        [
            {
                "Distance": 1855,
                "Duration": 295
            }
        ]
    ],
    "RoutingBoundary": {
        "Unbounded": true
    }
}
```

------
#### [ cURL ]

```
curl --request POST \
  --url 'https://routes.geo.eu-central-1.amazonaws.com/v2/route-matrix?key=Your_key' \
  --header 'Content-Type: application/json' \
  --data '{
    "Origins": [
        {
            "Position": [-123.11679620827039, 49.28147612192166]
        }
    ],
    "Destinations": [
        {
            "Position": [-123.112317039, 49.28897192166]
        }
    ],
    "Avoid": {
        "Areas": [
            {
                "Geometry": {
                    "BoundingBox": [
                         -123.116561,
                         49.281517,
                         -123.110165,
                         49.285689
                    ]
                }
            }
        ]
    },
    "RoutingBoundary": {
        "Unbounded": true
    }
}'
```

------
#### [ AWS CLI ]

```
aws geo-routes calculate-route-matrix --key ${YourKey} \
--origins '[{"Position": [-123.11679620827039, 49.28147612192166]}]' \
--destinations '[{"Position": [-123.112317039, 49.28897192166]}]' \
--avoid '{"Areas": [{"Geometry": {"BoundingBox": [-123.116561, 49.281517, -123.110165, 49.285689]}}]}' \
--routing-boundary '{"Unbounded": true}'
```

------

### CalculateRouteMatrix で有料道路、高速道路、フェリーを回避する
<a name="calculate-route-matrix-avoidance-features"></a>

------
#### [ Sample request ]

```
{
    "Origins": [
        {
            "Position": [-123.11679620827039, 49.28147612192166]
        }
    ],
    "Destinations": [
        {
            "Position": [-123.112317039, 49.28897192166]
        }
    ],
    "Avoid": {
        "TollRoads": true,
        "ControlledAccessHighways": true,
        "Ferries": true    
    },
    "RoutingBoundary": {
        "Unbounded": true
    }
}
```

------
#### [ Sample response ]

```
{
    "ErrorCount": 0,
    "RouteMatrix": [
        [
            {
                "Distance": 1855,
                "Duration": 295
            }
        ]
    ],
    "RoutingBoundary": {
        "Unbounded": true
    }
}
```

------
#### [ cURL ]

```
curl --request POST \
  --url 'https://routes.geo.eu-central-1.amazonaws.com/v2/route-matrix?key=Your_key' \
  --header 'Content-Type: application/json' \
  --data '{
    "Origins": [
        {
            "Position": [-123.11679620827039, 49.28147612192166]
        }
    ],
    "Destinations": [
        {
            "Position": [-123.112317039, 49.28897192166]
        }
    ],
    "Avoid": {
        "TollRoads": true,
        "ControlledAccessHighways": true,
        "Ferries": true    
    },
    "RoutingBoundary": {
        "Unbounded": true
    }
}'
```

------
#### [ AWS CLI ]

```
aws geo-routes calculate-route-matrix --key ${YourKey} \
--origins '[{"Position": [-123.11679620827039, 49.28147612192166]}]' \
--destinations '[{"Position": [-123.112317039, 49.28897192166]}]' \
--avoid '{"TollRoads": true, "ControlledAccessHighways": true, "Ferries": true}' \
--routing-boundary '{"Unbounded": true}'
```

------

# OptimizeWaypoints の使用方法
<a name="optimize-waypoints-how-to"></a>

`OptimizeWaypoints` を使用して、移動の時間や距離を最小限に抑えるための最適ルートを見つける方法を説明します。

**Topics**
+ [ルートのウェイポイントを最適化する方法](optimize-waypoints.md)
+ [交通状況を考慮してルートのウェイポイントを最適化する方法](optimize-waypoints-traffic-awareness.md)
+ [アクセス時間を考慮してルートのウェイポイントを最適化する方法](optimize-waypoints-access-hours.md)

# ルートのウェイポイントを最適化する方法
<a name="optimize-waypoints"></a>

OptimizeWaypoints API は、一連のウェイポイント間の最も効率的なルートを計算し、移動時間または合計距離を最小限に抑えます。この API は、道路ネットワークと交通状況を考慮して最適な経路を決定することにより、巡回セールスマン問題を解決します。

## 想定されるユースケース
<a name="optimize-waypoints-potential-use"></a>
+ **サービスエリアのパターンを分析する:** ウェイポイント最適化を使用して、ビジネスサービスエリアについて情報に基づいた意思決定を行い、物流効率を向上させます。

## 例
<a name="optimize-waypoints-examples"></a>

### Car TravelMode を使用してウェイポイントを最適化する
<a name="optimize-waypoints-car"></a>

------
#### [ Sample Request ]

```
{
    "Origin": [
        -123.095740,
        49.274426
    ],
    "Waypoints": [
        {
            "Position": [
                -123.115193,
                49.280596
            ]
        },
        {
            "Position": [
                -123.089557,
                49.271774
            ]
        }
    ],
    "DepartureTime": "2024-10-25T18:13:42Z",
    "Destination": [
        -123.095185,
        49.263728
    ],
    "TravelMode": "Car"
}
```

------
#### [ Sample Response ]

```
{
    "Connections": [
        {
            "Distance": 1989,
            "From": "Origin",
            "RestDuration": 0,
            "To": "Waypoint0",
            "TravelDuration": 258,
            "WaitDuration": 0
        },
        {
            "Distance": 3010,
            "From": "Waypoint0",
            "RestDuration": 0,
            "To": "Waypoint1",
            "TravelDuration": 298,
            "WaitDuration": 0
        },
        {
            "Distance": 2371,
            "From": "Waypoint1",
            "RestDuration": 0,
            "To": "Destination",
            "TravelDuration": 311,
            "WaitDuration": 0
        }
    ],
    "Distance": 7370,
    "Duration": 867,
    "ImpedingWaypoints": [],
    "OptimizedWaypoints": [
        {
            "DepartureTime": "2024-10-25T18:13:42Z",
            "Id": "Origin",
            "Position": [
                -123.09574,
                49.274426
            ]
        },
        {
            "DepartureTime": "2024-10-25T18:18:00Z",
            "Id": "Waypoint0",
            "Position": [
                -123.115193,
                49.280596
            ]
        },
        {
            "DepartureTime": "2024-10-25T18:22:58Z",
            "Id": "Waypoint1",
            "Position": [
                -123.089557,
                49.271774
            ]
        },
        {
            "ArrivalTime": "2024-10-25T18:28:09Z",
            "Id": "Destination",
            "Position": [
                -123.095185,
                49.263728
            ]
        }
    ],
    "TimeBreakdown": {
        "RestDuration": 0,
        "ServiceDuration": 0,
        "TravelDuration": 867,
        "WaitDuration": 0
    }
}
```

------
#### [ cURL ]

```
curl --request POST \
  --url 'https://routes.geo.eu-central-1.amazonaws.com/v2/optimize-waypoints?key=Your_key' \
  --header 'Content-Type: application/json' \
  --data '{
    "Origin": [
        -123.095740,
        49.274426
    ],
    "Waypoints": [
        {
            "Position": [
                -123.115193,
                49.280596
            ]
        },
        {
            "Position": [
                -123.089557,
                49.271774
            ]
        }
    ],
    "DepartureTime": "2024-10-25T18:13:42Z",
    "Destination": [
        -123.095185,
        49.263728
    ],
    "TravelMode": "Car"
}'
```

------
#### [ AWS CLI ]

```
aws geo-routes optimize-waypoints --key ${YourKey} \
--origin -123.095740 49.274426 \
--waypoints '[{"Position": [-123.115193 , 49.280596]}, {"Position": [-123.089557 , 49.271774]}]' \
--destination -123.095185 49.263728 \
--departure-time "2024-10-25T18:13:42Z" \
--travel-mode "Car"
```

------

# 交通状況を考慮してルートのウェイポイントを最適化する方法
<a name="optimize-waypoints-traffic-awareness"></a>

OptimizeWaypoints API は、複数のウェイポイント間の最適なルートを計算して、移動時間や合計距離を最小限に抑えます。高度なアルゴリズムを使用して巡回セールスマン問題を解決し、道路ネットワークやリアルタイムの交通状況などの要因を考慮しながら、最も効率的な経路を決定します。

## 想定されるユースケース
<a name="optimize-waypoints-potential-use"></a>
+ **マルチストップルートを最適化して配送効率を高める:** 複数のストップ間の最短ルートまたは最速ルートを計算することによって、配送オペレーションを改善します。これは、物流および配送サービスのオペレーションコスト、燃料消費量の削減、移動時間の短縮に役立ちます。

## 例
<a name="optimize-waypoints-examples"></a>

### Car TravelMode を使用して交通状況を考慮してウェイポイントを最適化する
<a name="optimize-waypoints-traffic-car"></a>

------
#### [ Sample request ]

```
{
    "Origin": [
        -123.095740,
        49.274426
    ],
    "Waypoints": [
        {
            "Position": [
                -123.115193,
                49.280596
            ]
        },
        {
            "Position": [
                -123.089557,
                49.271774
            ]
        }
    ],
    "DepartureTime": "2024-10-25T18:13:42Z",
    "Destination": [
        -123.095185,
        49.263728
    ],
    "TravelMode": "Car",
    "Traffic": {
        "Usage": "UseTrafficData"
    }
}
```

------
#### [ Sample response ]

```
{
    "Connections": [
        {
            "Distance": 1989,
            "From": "Origin",
            "RestDuration": 0,
            "To": "Waypoint0",
            "TravelDuration": 324,
            "WaitDuration": 0
        },
        {
            "Distance": 2692,
            "From": "Waypoint0",
            "RestDuration": 0,
            "To": "Waypoint1",
            "TravelDuration": 338,
            "WaitDuration": 0
        },
        {
            "Distance": 2371,
            "From": "Waypoint1",
            "RestDuration": 0,
            "To": "Destination",
            "TravelDuration": 395,
            "WaitDuration": 0
        }
    ],
    "Distance": 7052,
    "Duration": 1057,
    "ImpedingWaypoints": [],
    "OptimizedWaypoints": [
        {
            "DepartureTime": "2024-10-25T18:13:42Z",
            "Id": "Origin",
            "Position": [
                -123.09574,
                49.274426
            ]
        },
        {
            "ArrivalTime": "2024-10-25T18:19:06Z",
            "DepartureTime": "2024-10-25T18:19:06Z",
            "Id": "Waypoint0",
            "Position": [
                -123.115193,
                49.280596
            ]
        },
        {
            "ArrivalTime": "2024-10-25T18:24:44Z",
            "DepartureTime": "2024-10-25T18:24:44Z",
            "Id": "Waypoint1",
            "Position": [
                -123.089557,
                49.271774
            ]
        },
        {
            "ArrivalTime": "2024-10-25T18:31:19Z",
            "Id": "Destination",
            "Position": [
                -123.095185,
                49.263728
            ]
        }
    ],
    "TimeBreakdown": {
        "RestDuration": 0,
        "ServiceDuration": 0,
        "TravelDuration": 1057,
        "WaitDuration": 0
    }
}
```

------
#### [ cURL ]

```
curl --request POST \
  --url 'https://routes.geo.eu-central-1.amazonaws.com/v2/optimize-waypoints?key=Your_key' \
  --header 'Content-Type: application/json' \
  --data '{
    "Origin": [
        -123.095740,
        49.274426
    ],
    "Waypoints": [
        {
            "Position": [
                -123.115193,
                49.280596
            ]
        },
        {
            "Position": [
                -123.089557,
                49.271774
            ]
        }
    ],
    "DepartureTime": "2024-10-25T18:13:42Z",
    "Destination": [
        -123.095185,
        49.263728
    ],
    "TravelMode": "Car",
    "Traffic": {
        "Usage": "UseTrafficData"
    }
}'
```

------
#### [ AWS CLI ]

```
aws geo-routes optimize-waypoints --key ${YourKey} \
--origin -123.095740 49.274426 \
--waypoints '[{"Position": [-123.115193 , 49.280596]}, {"Position": [-123.089557 , 49.271774]}]' \
--destination -123.095185 49.263728 \
--departure-time "2024-10-25T18:13:42Z" \
--travel-mode "Car" \
--traffic '{"Usage": "UseTrafficData"}'
```

------

# アクセス時間を考慮してルートのウェイポイントを最適化する方法
<a name="optimize-waypoints-access-hours"></a>

OptimizeWaypoints API は、一連のウェイポイント間の最適なルートも計算し、移動時間または対象となる合計距離を最小限に抑えることを目的としています。これは、道路ネットワークや交通状況などの要因を考慮して最も効率的な経路を決定する、巡回セールスマン問題を解決します。

## 想定されるユースケース
<a name="optimize-waypoints-access-hours-potential-use"></a>
+ **顧客のアクセス時間を分析する:** 顧客のアクセス時間に関する効率を計画します。

## 例
<a name="optimize-waypoints-examples"></a>

### Car TravelMode を使用してアクセス時間を考慮してウェイポイントを最適化する
<a name="optimize-waypoints-car"></a>

------
#### [ Sample Request ]

```
{
    "Origin": [
        -123.095740,
        49.274426
    ],
    "Waypoints": [
        {
            "Position": [
                -123.115193,
                49.280596
            ],
            "SideOfStreet": {
                "Position": [
                    -123.089557,
                    49.271774
                ],
                "UseWith": "AnyStreet"
            },
            "AccessHours": {
                "From": {
                    "DayOfWeek": "Saturday",
                    "TimeOfDay": "00:02:42Z"
                },
                "To": {
                    "DayOfWeek": "Friday",
                    "TimeOfDay": "1:33:36+02:50"
                }
            },
            "Heading": "250",
            "ServiceDuration": "200"
        },
        {
            "Position": [
                -123.089557,
                49.271774
            ],
            "AccessHours": {
                "From": {
                    "DayOfWeek": "Monday",
                    "TimeOfDay": "00:02:42Z"
                },
                "To": {
                    "DayOfWeek": "Tuesday",
                    "TimeOfDay": "1:33:36+02:50"
                }
            },
            "ServiceDuration": "200"
        }
    ],
    "DepartureTime": "2024-10-25T18:13:42Z",
    "Destination": [
        -123.095185,
        49.263728
    ],
    "TravelMode": "Car"
}
```

------
#### [ Sample Response ]

```
{
    "Connections": [
        {
            "Distance": 1989,
            "From": "Origin",
            "RestDuration": 0,
            "To": "Waypoint0",
            "TravelDuration": 258,
            "WaitDuration": 20682
        },
        {
            "Distance": 3360,
            "From": "Waypoint0",
            "RestDuration": 0,
            "To": "Waypoint1",
            "TravelDuration": 378,
            "WaitDuration": 172222
        },
        {
            "Distance": 2371,
            "From": "Waypoint1",
            "RestDuration": 0,
            "To": "Destination",
            "TravelDuration": 311,
            "WaitDuration": 0
        }
    ],
    "Distance": 7720,
    "Duration": 194251,
    "ImpedingWaypoints": [],
    "OptimizedWaypoints": [
        {
            "DepartureTime": "2024-10-25T18:13:42Z",
            "Id": "Origin",
            "Position": [
                -123.09574,
                49.274426
            ]
        },
        {
            "ArrivalTime": "2024-10-25T18:18:00Z",
            "DepartureTime": "2024-10-26T00:06:02Z",
            "Id": "Waypoint0",
            "Position": [
                -123.115193,
                49.280596
            ]
        },
        {
            "ArrivalTime": "2024-10-26T00:12:20Z",
            "DepartureTime": "2024-10-28T00:06:02Z",
            "Id": "Waypoint1",
            "Position": [
                -123.089557,
                49.271774
            ]
        },
        {
            "ArrivalTime": "2024-10-28T00:11:13Z",
            "Id": "Destination",
            "Position": [
                -123.095185,
                49.263728
            ]
        }
    ],
    "TimeBreakdown": {
        "RestDuration": 0,
        "ServiceDuration": 400,
        "TravelDuration": 947,
        "WaitDuration": 192904
    }
}
```

------
#### [ cURL ]

```
curl --request POST \
  --url 'https://routes.geo.eu-central-1.amazonaws.com/v2/optimize-waypoints?key=Your_key' \
  --header 'Content-Type: application/json' \
  --data '{
    "Origin": [
        -123.095740,
        49.274426
    ],
    "Waypoints": [
        {
            "Position": [
                -123.115193,
                49.280596
            ],
            "SideOfStreet": {
                "Position": [
                    -123.089557,
                    49.271774
                ],
                "UseWith": "AnyStreet"
            },
            "AccessHours": {
                "From": {
                    "DayOfWeek": "Saturday",
                    "TimeOfDay": "00:02:42Z"
                },
                "To": {
                    "DayOfWeek": "Friday",
                    "TimeOfDay": "1:33:36+02:50"
                }
            },
            "Heading": "250",
            "ServiceDuration": "200"
        },
        {
            "Position": [
                -123.089557,
                49.271774
            ],
            "AccessHours": {
                "From": {
                    "DayOfWeek": "Monday",
                    "TimeOfDay": "00:02:42Z"
                },
                "To": {
                    "DayOfWeek": "Tuesday",
                    "TimeOfDay": "1:33:36+02:50"
                }
            },
            "ServiceDuration": "200"
        }
    ],
    "DepartureTime": "2024-10-25T18:13:42Z",
    "Destination": [
        -123.095185,
        49.263728
    ],
    "TravelMode": "Car"
}'
```

------
#### [ AWS CLI ]

```
aws geo-routes optimize-waypoints --key ${YourKey} \
--origin -123.095740 49.274426 \
--waypoints '[{"Position": [-123.115193 , 49.280596], "SideOfStreet": {"Position": [-123.089557, 49.271774], "UseWith": "AnyStreet"}, "AccessHours": {"From": {"DayOfWeek": "Saturday", "TimeOfDay": "00:02:42Z"}, "To": {"DayOfWeek": "Friday", "TimeOfDay": "1:33:36+02:50"}}, "Heading": 250, "ServiceDuration": 200}, {"Position": [-123.089557, 49.271774], "AccessHours": {"From": {"DayOfWeek": "Monday", "TimeOfDay": "00:02:42Z"}, "To": {"DayOfWeek": "Tuesday", "TimeOfDay": "1:33:36+02:50"}}, "ServiceDuration": 200}]' \
--destination -123.095185 49.263728 \
--departure-time "2024-10-25T18:13:42Z" \
--travel-mode "Car"
```

------

# SnapToRoads を使用する方法について説明します。
<a name="snap-to-roads-how-to"></a>

 このトピックでは、`SnapToRoads` を使用して GPS トレースを道路ネットワークに合わせ、ナビゲーションおよびフリート管理アプリケーションの位置精度を高める方法について説明します。この API は、移動モードの制限も考慮しながら、座標を最も近い道路セグメントにスナップして、GPS ドリフトと信号損失を修正します。例としては、GPS トレースのオーバーレイ、データギャップの埋め方、ルートをより明確に視覚化するためのノイズの軽減など、実用的な用途が示されています。

**Topics**
+ [GPS トレースを道路ネットワークと一致させる方法](how-to-match-gps-traces.md)

# GPS トレースを道路ネットワークと一致させる方法
<a name="how-to-match-gps-traces"></a>

SnapToRoads API を使用すると、GPS トレースを道路ネットワークに一致させることができます。GPS トレースには、GPS デバイスを使用して記録されたタイムスタンプ、速度、見出しなどの位置とメタデータが含まれます。これらのトレースにはエラーの余地があるため、分析や視覚化に直接使用することは困難です。

SnapToRoads は、トレースを照合しながら、指定された旅行モードの法的制限と時間制限を考慮します。もしトレースが制限違反を強く示唆する場合、実際に通ったルートはそのまま保持されます。

## 想定されるユースケース
<a name="potential-use"></a>
+ **走行した可能性が最も高い道路に GPS トレースをオーバーレイする:** この機能は、GPS データを道路ネットワークの最も正確なルートに合わせ、データの可視化をより明確にするのに役立ちます。
+ **GPS トレースのギャップを補間する:** SnapToRoads は、座標を道路セグメントにスナップしてギャップを埋め、アプリケーションにとってより継続的で有用なデータセットを作成できます。
+ **ノイズと外れ値をフィルタリングする:** 最も近い道路にスナップすることにより、この API は外れ値を削除して GPS ノイズを減らし、分析のためのデータの信頼性を向上させるのに役立ちます。

## 例
<a name="examples"></a>

### カーモードを使用して GPS トレースを照合する
<a name="match-gps-car-mode"></a>

------
#### [ Sample request ]

```
{
  "TracePoints": [
    {
      "Position": [8.53404,50.16364],
      "Timestamp": "2024-05-22T18:13:42Z"
    },
    {
      "Position": [8.53379056,50.16352417],
      "Speed": 20,
      "Timestamp": "2024-05-22T18:13:59Z"
    }
  ],
  "TravelMode": "Car"
}
```

------
#### [ Sample response ]

```
{
    "Notices": [],
    "SnappedGeometry": {
        "Polyline": "Redacted"
    },
    "SnappedGeometryFormat": "FlexiblePolyline",
    "SnappedTracePoints": [
        {
            "Confidence": 1,
            "OriginalPosition": [8.53404, 50.16364],
            "SnappedPosition": [8.53402, 50.16367]
        },
        {
            "Confidence": 0.86,
            "OriginalPosition": [8.53379056, 50.16352417],
            "SnappedPosition": [8.53375, 50.16356]
        }
    ]
}
```

------
#### [ cURL ]

```
curl --request POST \
  --url 'https://routes.geo.eu-central-1.amazonaws.com/v2/snap-to-roads?key=Your_key' \
  --header 'Content-Type: application/json' \
  --data '{
  "TracePoints": [
    {
      "Position": [8.53404,50.16364],
      "Timestamp": "2024-05-22T18:13:42Z"
    },
    {
      "Position": [8.53379056,50.16352417],
      "Speed": 20,
      "Timestamp": "2024-05-22T18:13:59Z"
    }
  ],
  "TravelMode": "Car"
}'
```

------
#### [ AWS CLI ]

```
aws geo-routes snap-to-roads --key ${YourKey} \
--trace-points '[{"Position": [8.53404, 50.16364], "Timestamp": "2024-05-22T18:13:42Z"}, {"Position": [8.53379056, 50.16352417], "Speed": 20, "Timestamp": "2024-05-22T18:13:59Z"}]' \
--travel-mode "Car"
```

------

### トラックモードとオプションを使用して GPS トレースを照合する
<a name="match-gps-truck-mode-options"></a>

------
#### [ Sample request ]

```
{
  "TracePoints": [
    {
      "Position": [8.53404,50.16364],
      "Timestamp": "2024-05-22T18:13:42Z"
    },
    {
      "Position": [8.53379056,50.16352417],
      "Speed": 20,
      "Timestamp": "2024-05-22T18:13:59Z"
    }
  ],
  "TravelMode": "Truck",
  "TravelModeOptions": {
    "Truck": {
      "GrossWeight": 10000
    }
  }
}
```

------
#### [ Sample response ]

```
{
    "Notices": [],
    "SnappedGeometry": {
        "Polyline": "Redacted"
    },
    "SnappedGeometryFormat": "FlexiblePolyline",
    "SnappedTracePoints": [
        {
            "Confidence": 1,
            "OriginalPosition": [8.53404, 50.16364],
            "SnappedPosition": [8.53402, 50.16367]
        },
        {
            "Confidence": 0.86,
            "OriginalPosition": [8.53379056, 50.16352417],
            "SnappedPosition": [8.53375, 50.16356]
        }
    ]
}
```

------
#### [ cURL ]

```
curl --request POST \
  --url 'https://routes.geo.eu-central-1.amazonaws.com/v2/snap-to-roads?key=Your_key' \
  --header 'Content-Type: application/json' \
  --data '{
  "TracePoints": [
    {
      "Position": [8.53404,50.16364],
      "Timestamp": "2024-05-22T18:13:42Z"
    },
    {
      "Position": [8.53379056,50.16352417],
      "Speed": 20,
      "Timestamp": "2024-05-22T18:13:59Z"
    }
  ],
  "TravelMode": "Truck",
  "TravelModeOptions": {
    "Truck": {
      "GrossWeight": 10000
    }
  }
}'
```

------
#### [ AWS CLI ]

```
aws geo-routes snap-to-roads --key ${YourKey} \
--trace-points '[{"Position": [8.53404, 50.16364], "Timestamp": "2024-05-22T18:13:42Z"}, {"Position": [8.53379056, 50.16352417], "Speed": 20, "Timestamp": "2024-05-22T18:13:59Z"}]' \
--travel-mode "Truck" \
--travel-mode-options '{"Truck": {"GrossWeight": 10000}}'
```

------

# コストと使用状況を管理する
<a name="routes-whats-next"></a>

Amazon Location ルートについて学習を続ける際には、サービス容量の管理方法を理解し、使用制限に従い、クォータと API 最適化を通じて最良の結果を得ることが重要です。パフォーマンスと精度に関するベストプラクティスを適用することにより、場所関連のクエリを効率的に処理し、API リクエストを最大化するようにアプリケーションをカスタマイズできます。

**Topics**
+ [ベストプラクティス](routes-best-practices.md)
+ [ルートの料金](routes-pricing.md)
+ [Routes のクォータと使用状況](routes-quota-usage.md)

# ベストプラクティス
<a name="routes-best-practices"></a>

このセクションでは、API を操作するときに圧縮を使用し、Simple (GeoJSON) 形式と FlexiblePolyline 形式から選択するためのベストプラクティスについて説明し、パフォーマンス、帯域幅、データ処理を最適化するためのガイダンスを提供します。

## 圧縮
<a name="compression"></a>

API を操作するときにアプリケーションのパフォーマンスと効率を向上させるために、特に大きなテキストベースのペイロードを処理する場合は、レスポンスの圧縮を有効にすることをお勧めします。API リクエストに `Accept-Encoding` ヘッダーを含め、任意の圧縮方法を指定することにより、圧縮をアクティブ化できます。圧縮機能では `gzip`と `deflate` がサポートされており、`gzip` により通常、圧縮率が向上します。

### 圧縮を有効にするタイミング
<a name="when-to-enable-compression"></a>

**大規模なレスポンス**  
大きなテキストベースのレスポンスの圧縮を有効にして、帯域幅の使用量を減らし、ロード時間を短縮します。

**ネットワーキングの制約**  
アプリケーションが限られた帯域幅または高レイテンシーネットワークで動作している場合、圧縮はデータ転送効率を向上させることができます。

### 圧縮を効果的に使用する方法
<a name="how-to-use-compression-effectively"></a>

**Accept-Encoding ヘッダーを設定する**  
HTTP リクエストに `Accept-Encoding: gzip, deflate` を含めて、これらの圧縮方法をサポートしていることを API に通知します。圧縮を有効にして処理する方法は、[AWS SDK](https://docs.aws.amazon.com/sdkref/latest/guide/overview.html) とプログラミング言語によって異なります。例えば、[AWS SDK for Java v1](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/ClientConfiguration.html#withGzip-boolean-) は `ClientConfiguration` クラスの `withGzip` メソッドを使用して gzip を有効にしますが、AWS SDK for Go では圧縮処理に特定のミドルウェアを追加する必要があります。その他の SDK の詳細については、「[AWS SDK リファレンスガイド](https://docs.aws.amazon.com/sdkref/latest/guide/overview.html)」を参照してください。

**解凍を適切に処理する**  
クライアントアプリケーションが API によって返された `Content-Encoding` ヘッダーに基づいてレスポンスを正しく解凍できることを確認します。

**テストとモニタリング**  
アプリケーションのパフォーマンスに対する圧縮の影響を定期的に評価し、ペイロードサイズを縮小する利点と、解凍プロセスによる追加の CPU オーバーヘッドとのバランスを取ります。

## Polyline (ポリライン)
<a name="polyline"></a>

API を操作するときに Simple (GeoJSON) 形式と FlexiblePolyline 形式を選択し、地理空間データのパフォーマンスと使いやすさの両方を最適化するためのベストプラクティス。

### Simple (GeoJSON) 形式を使用する
<a name="use-simple-format"></a>

**読みやすさと標準化**  
さまざまな地理空間ツールとのデバッグと相互運用性を容易にするために、広く認識され、人間が読める形式が必要な場合に使用します。

**精度**  
GeoJSON は完全な 10 進精度を損失なく維持するため、アプリケーションで座標に高精度が必要な場合は Simple 形式を選択します。

**小さいデータセット**  
Simple 形式は、圧縮のサイズ削減のメリットが最小限である、より小さな座標データのセットを操作する場合に最適です。

### FlexiblePolyline 形式を使用する
<a name="use-flexiblepolyline-format"></a>

**データサイズの削減**  
FlexiblePolyline は、損失の大きい圧縮手法を活用して、特に座標の大きなリストで送信されるデータ量を最小限に抑える必要がある場合に最適です。

**URL の安全性**  
FlexiblePolyline は、追加のエンコードなしでクエリパラメータで直接使用できる、コンパクトで URL で使用可能な文字列を提供します。

**パフォーマンスの最適化**  
FlexiblePolyline はペイロードサイズの削減に役立ち、データ転送の高速化と帯域幅の使用量の削減につながります。そのため、高性能アプリケーションや制約のあるネットワーク上で動作するアプリケーションにとって重要です。

# ルートの料金
<a name="routes-pricing"></a>

各 API の料金バケットについては、以下を参照してください。

## Calculate Routes
<a name="calculate-routes-price"></a>

この料金は API リクエストの数に基づいています。`CalculateRoutes` にはコア、アドバンスト、プレミアムの 3 つの料金バケットがあります。

**Core**  
この料金バケットは、通行料金の計算を含まない、自動車、トラック、歩行の移動モードをサポートしています。

**アドバンスト**  
この料金バケットは、通行料金の計算なしで、スクーターなどの代替交通手段をサポートしています。

**プレミアム**  
この料金バケットは、通行料金の計算をサポートしています。交通手段に関係なく、リクエストパラメータ `LegAdditionalFeatures["Tolls"]` または `SpanAdditionalFeatures["TollSystems"]` を設定して通行料金の計算をリクエストすると、プレミアム料金が請求されます。

## Calculate Route Matrix
<a name="calculate-route-matri-price"></a>

この料金は、計算されたルートの数に基づいています。各リクエストで計算されるルートの数は、オリジンの数に宛先の数、`Number of Routes = Number of origins x Number of Destinations` を掛けた数と等しくなります。例えば、100 の宛先で 300 のオリジンのマトリックスサイズを使用する場合、計算されるルートの合計数は 30,000 (300 x 100 = 30,000) です。

**注記**  
ルート計算は、送信元と送信先のペアごとに請求されます。オリジンと送信先の大きなマトリックスを使用すると、それに応じてコストが増加します。

`CalculateRouteMatrix` には、コアとアドバンストの 2 つの料金バケットがあります。

**Core**  
この料金バケットは、自動車、トラック、歩行の移動モードをサポートしています。

**アドバンスト**  
この料金バケットは、スクーターなどの代替交通手段をサポートしています。

## ウェイポイントの最適化
<a name="optimize-waypoint-price"></a>

この料金は API リクエストの数に基づいています。`OptimizeWaypoint` には、アドバンストとプレミアムの 2 つの料金バケットがあります。

**アドバンスト**  
 この料金バケットは、1 回のリクエストで最大 30 個のウェイポイントをサポートします。自動車、トラック、歩行の移動モードは、入力ポイントの境界ボックスが 200km 以内で、`Avoid`、`Clustering`、`Driver`、`Exclude.Countries`、`TravelModeOptions.Truck.HazardousCargos`、`TravelModeOptions.Truck.TunnelRestrictionCode` などのオプションパラメータがなく、`AccessHours`、`AppointmentTime`、`Before`、`Heading`、`ServiceDuration`、`SideOfStreet` などの追加のウェイポイントや目的地がないことが条件です。  
自動クラスタリングは、ウェイポイントが近接している場合に発生する可能性がありますが、依然としてアドバンスト料金バケットとみなされます。

**プレミアム**  
 この料金バケットは、1 回のリクエストで最大 50 個のウェイポイントをサポートします。交通手段に制限はなく、500km 以内の入力ポイントの境界ボックスがあり、`Avoid`、`Clustering`、`Driver`、`Exclude.Countries`、`TravelModeOptions.Truck.HazardousCargos`、`TravelModeOptions.Truck.TunnelRestrictionCode` などのオプションパラメータが使用できます。さらに、この料金バケットは、`AccessHours`、`AppointmentTime`、`Before`、`Heading`、`ServiceDuration`、`SideOfStreet` などのオプションのウェイポイントおよび目的地制約をサポートしています。  
1 つのリクエストは、オプションのウェイポイントと目的地制約のいずれかが適用されている場合、最大 20 個のウェイポイントのみをサポートできます。

## Snap-to-road
<a name="snap-to-road-price"></a>

この料金は API リクエストの数に基づいています。`SnaptoRoad` には、アドバンストとプレミアムの 2 つの料金バケットがあります。

**アドバンスト**  
この料金バケットは、最大 200 の `TracePoints` カウントで、最大航空会社距離が 100km の `TracePoints` の間の、車、トラック、歩行の移動モードをサポートしています。

**プレミアム**  
この料金バケットには、最大 5,000 `TracePoints` ポイントまでの交通手段に制限はありません。

## 等値線を計算
<a name="calculate-isoline-price"></a>

この料金は、レスポンスで計算された等値線の数に基づいています。`CalculateIsolines` には、アドバンストとプレミアムの 2 つの料金バケットがあります。

**アドバンスト**  
この料金バケットは、最大 60 分の `Thresholds.Time` の値または最大 100km の `Thresholds.Distance` の値を持つ、車、トラック、歩行の移動モードをサポートしています。

**プレミアム**  
この料金バケットには、最大 180 分の `Thresholds.Time` の値または最大 300 KM の `Thresholds.Distance` の値を持つ交通手段に制限はありません。

# Routes のクォータと使用状況
<a name="routes-quota-usage"></a>

## サービスクォータ
<a name="service-quota"></a>

Amazon Location Service API デフォルトのクォータがあります。[サービスクォータコンソール](https://console.aws.amazon.com/servicequotas/home#!/services/geo/quotas)を使用してクォータを増加できます。デフォルトの 2 倍を超える制限については、セルフサービスコンソールからリクエストするか、サポートにお問い合わせください。


**サービスクォータの制限**  

| API 名 | デフォルト | 最大調整可能制限 | 調整可能な最大制限以上 | 
| --- | --- | --- | --- | 
| [ルートを計算する](calculate-routes.md) | 20 | 40 | [サービスクォータコンソール](https://console.aws.amazon.com/servicequotas/home#!/services/geo/quotas)でのリクエストまたはサポートチームへのお問い合わせ | 
| [Calculate Isolines](calculate-isolines.md) | 20 | 40 | [サービスクォータコンソール](https://console.aws.amazon.com/servicequotas/home#!/services/geo/quotas)でのリクエストまたはサポートチームへのお問い合わせ | 
| [Snap to Road](snap-to-roads.md) | 20 | 40 | [サービスクォータコンソール](https://console.aws.amazon.com/servicequotas/home#!/services/geo/quotas)でのリクエストまたはサポートチームへのお問い合わせ | 
| [ルートマトリックスを計算する](calculate-route-matrix.md) | 5 | 10 | [サービスクォータコンソール](https://console.aws.amazon.com/servicequotas/home#!/services/geo/quotas)でのリクエストまたはサポートチームへのお問い合わせ | 
| [Optimize waypoints](actions-optimize-waypoints.md) | 5 | 10 | [サービスクォータコンソール](https://console.aws.amazon.com/servicequotas/home#!/services/geo/quotas)でのリクエストまたはサポートチームへのお問い合わせ | 

## その他の使用制限
<a name="other-usage-limits"></a>

サービスクォータに加えて、次の API 使用制限が適用されます。


**その他の使用制限**  

| API 名 | 制限 | 値 | 
| --- | --- | --- | 
| [Snap to Road](snap-to-roads.md) | すべての TracePoints 間の測地的距離の合計 | 500KM | 
| [Optimize waypoints](actions-optimize-waypoints.md) | オリジン、指定された順序のウェイポイント、送信先間の測地的距離の合計 | 100KM | 
| [Optimize waypoints](actions-optimize-waypoints.md) | オリジン、ウェイポイント、送信先を囲む境界ボックスの周囲 | 500KM | 
| [ルートマトリックスを計算する](calculate-route-matrix.md) | 無制限ルーティングのオリジンと送信先間の最大距離 (Avoid または TravelModeOptions.Truck を使用する場合) | 60KM | 
| [ルートマトリックスを計算する](calculate-route-matrix.md) | 無制限ルーティングのオリジンと送信先間の最大距離 | 10000KM | 
| [ルートを計算する](calculate-routes.md) | 圧縮後のレスポンスペイロードサイズ | 6 MB | 
| [ルートマトリックスを計算する](calculate-route-matrix.md) | 圧縮後のレスポンスペイロードサイズ | 6 MB | 
| [Calculate Isolines](calculate-isolines.md) | 圧縮後のレスポンスペイロードサイズ | 6 MB | 
| [Optimize waypoints](actions-optimize-waypoints.md) | 圧縮後のレスポンスペイロードサイズ | 6 MB | 
| [Snap to Road](snap-to-roads.md) | 圧縮後のレスポンスペイロードサイズ | 6 MB | 

## 次のステップ
<a name="next-steps"></a>

詳細については、以下を確認してください。
+ [アトリビューション](https://docs.aws.amazon.com/location/latest/developerguide/data-attribution.html): Amazon Location Service のデータアトリビューション要件に関する情報。
+ [SLA](https://aws.amazon.com/location/sla/): アップタイムのコミットメントと応答時間を含む、Amazon Location Service のサービスレベルアグリーメント。
+ [サービス条件](https://aws.amazon.com/service-terms/): 制限と制限を含む、Amazon Location Service の使用に適用される条件。