経由地を最適化する方法
HERE Waypoints Sequence API V8のリソースfindsequenceを使用すると、走行距離または走行時間を最適化できます。パラメーターimproveforを使用します (使用可能な値:distanceおよびtime)。デフォルトでは、経由地は移動時間に合わせて最適化されます。
注
HERE Waypoints Sequence API V8では、そのレスポンスにルートの詳細は含まれません。ルートをリクエストするには、HERE Routing APIを使用します。
HERE Routing APIへのリクエストには、ルートの移動モードと、HERE Waypoints Sequence API V8のレスポンスからの連続する経由地座標が2つ含まれている必要があります。ルートに交通情報が含まれている場合は、出発時刻も必要です。この情報はHERE Waypoints Sequence API V8のレスポンスの要素estimatedDepartureにあります。
時間帯の制約は、各経由地固有の、荷物配達または約束に関する営業時間または期限を定義します。成功したレスポンスには、リクエストのパラメーターdestinationNで指定されたすべての時間制約を守る、最適化された経由地シーケンスが含まれています。これが不可能な場合、サービスは経由地シーケンスなしでレスポンスを生成しますが、競合または問題のある制約または経由地に関するヒントが提示されます。その後、制約または経由地を削減または変更してリクエストを再送信する必要があります。詳細については、「時間の制約で最適化された経由地シーケンス」の例を参照してください。
2つの経由地間のシーケンス制約は、厳密に遵守される部分的な順序を定義します。シーケンスの制約を定義するには、リクエストパラメーターの経由地に;before:destination13を追加します。複数のbefore制約を追加できます。
サービス時間は経由地それぞれに固有のもので、その経由地で消費する時間を定義します。言い換えると、経由地での到着から出発までの時間の長さを示します。たとえば、荷物の配達の完了までにかかる時間です。サービス時間は、最適化された経由地シーケンスで考慮されます。経由地での休憩時間の例については、「交通情報と休憩時間の制約から算出した経由地シーケンス」を参照してください。
HERE Waypoints Sequence API V8では、指定されたパラメーターに応じてレスポンスの計算に数分かかることがあります。具体的には、この計算時間は次の要因によって異なります。
- ルーティングモード
- 経由地の数
- 個々の経由地間の距離
ルーティングモードが計算時間に与える影響
ルーティングモードでは、個々の経由地間の行程の計算方法を指定します。これにより、結果として得られる経由地のシーケンスが変更される可能性がありますが、必ずしも変更されるわけではありません。経由地ペア間の移動時間または距離の比率が変更されると、シーケンスが変更される可能性が高くなります。
ルーティングモードには、セミコロンで区切られた部分が複数あります。
- タイプ:
fastestまたはshortest。個々の経由地間の最短時間ルートまたは最小距離ルートの優先順位を指定します。 - 移動タイプ:
car、truck、pedestrianモードのどれを使用するか (mode=car;…またはmode=truck;...) - 交通情報モード:有効または無効 (
mode=...;traffic:enabled)。 - ルーティングフィーチャー:これらのフィーチャーを使用すると、フィーチャーに負の値を指定することで、ルーティング中に選択した道路タイプを回避できます (例:
mode=...;traffic:enabled;tollroad:-2;tunnel:-1)。回避されたフィーチャーを持つ道路は、ルートから完全に除外されるわけではありません。次のフィーチャーがあります。tollroadmotorwayboatFerryrailFerrytunneldirtRoadモード設定は時間の計算に影響を与えます。
mode=...;traffic:disabledはmode=...;traffic:enabledよりはるかに速く計算できます。fastestはshortestより速く計算できます。- 一般的に、
carはtruckより速く計算できます。 - 回避するフィーチャーを設定すると、計算時間が長くなる可能性があります。
交通情報を有効にすると、リクエストが受け取ることができる経由地の数が減少します。制限については、HERE Waypoints Sequence V8 APIのAPIリファレンスを参照してください。
ルーティングモードの例はmode=fastest;truck;traffic:disabledまたはmode=fastest;car;traffic:enabled;tollroad:-2;dirtRoad:-1です。
HERE Waypoints Sequence API V8のネットワーク接続タイムアウトは300秒です。
近隣の経由地をグループ化またはクラスタリングする
HERE Waypoints Sequence API V8では、経由地のクラスターを割り当てるように指示して、品質とパフォーマンスを向上させることができます。クラスタリングには、次のような異なるタイプを利用できます。
- 走行距離
- トポロジーセグメント (道路) に沿っている
- 経由地での時間帯によるクラスタリング
各タイプのクラスターは、異なる目的を持っており、経由地シーケンスのフィーチャーの異なるサブセットをサポートしています。一般的に、交通情報はサポートされていません。クラスターの作成は、パラメーターclustering=...によって制御します。
走行距離
各経由地が、両方向に指定された走行 (または徒歩) 距離内にある場合、経由地がクラスターに追加されます。距離は、道路ネットワークに沿った形式で示されます。直線距離ではありません。
これは、道路ネットワークに対する指定された座標の照合により、特に次のような関連する位置が定義されることを意味します。
- 同じ道路で一致した場合、背後の建物の目的地をその前に建つ建物の目的地とグループ化できます。
- 目的地がマルチデジタル化された道路の反対側と一致した場合は、グループ化されない可能性が高くなっています。
デフォルトでは、距離は結果の品質と計算のパフォーマンスのバランスを取って選択されていますが、クラスターサイズはパラメーターに距離 (メートル単位) を追加することで上書きできます。
この機能は、パラメーターclustering=drivingDistanceによって有効にできます。任意の距離はメートル単位で指定できます:clustering=drivingDistance:500。
サポートされているフィーチャーは次のとおりです。
- 任意の終了地点
- 出発時間
- サービス時間 (目的地パラメーターの一部として)
トポロジーセグメント
トポロジーセグメントは、2つの合流地点間の直線的な道路と見なすことができます。このタイプのクラスタリングが適用されている場合、同じトポロジーセグメントにマップマッチングされていれば、経由地は同じクラスターに追加されます。
この機能は、パラメーターclustering=topologySegmentによって有効にできます。
サポートされているフィーチャーは次のとおりです。
- 任意の終了地点
時間帯
開始地点と終了地点のマークを除くすべての経由地にアクセス時間の制約がある場合は、時間帯を設定できます (例:destination3=ZecheZollverein;51.486665,7.045181;acc:mo12:00:00+02:00|mo13:00:00+02:00;st:900)。制約で使用できる間隔は1つだけです。acc:によって提供されたアクセス時間が同一の場合、目的地は同じクラスターに追加されます。目的地でのサービス時間は、クラスターの選択には影響しません。
この機能は、パラメーターclustering=timeWindowによって有効にできます。
サポートされているフィーチャーは次のとおりです。
- 任意の終了地点
- 出発時間
- サービス時間 (目的地パラメーターの一部として)
先月の更新