ガイドAPIリファレンス
ガイド

等値線の最適化方法

等値線ルーティングを最適化するには、次の2つの方法があります。

  • サーバーを中心とした、要求された等値線の粒度を定義するoptimizeForパラメーターを使用します。perfomancequalitybalanced (デフォルト)のいずれかを選択できます。計算処理の回転速度を上げられますが、その分精度が低下する可能性があります。
  • クライアントを中心とした、要求された等値線を地図上に描画するために提供されるポイント数を定義するshape[maxPoints]パラメーターを使用します。これはAPIレスポンスを解釈するクライアントアプリの負荷を軽減できますが、その分精度が低下する可能性があります。

サーバー中心の最適化

等値線計算の速度と精度のバランスを制御するには、リクエストでoptimizeForパラメーターを使用します。

パラメーターは、次の3つの値のいずれかとなります。

  • balanced - デフォルト値。optimizeForパラメーターがリクエストに追加されていない場合に使用されます。計算速度と精度のバランスが良く、多くのユースケースに適しています。
  • performance - 重要度の低い道路を無視するためパフォーマンスは向上しますが、計算精度が低下します。
  • quality - 最も多くの道路を考慮して、計算精度を優先します。

以下の画像は、1つの等値線計算の結果を示しています。

唯一変更されるのは、optimizeForパラメーターの値です。

赤でハイライトされた道路が計算に使用されます。

画像間でハイライトされた道路の数が増加している点に注目してください。これらはperformancebalancedqualityモードを使用した計算結果です。

📘

等値線計算の範囲が広くなるほど、qualityおよびperformanceモードの精度差は小さくなります。 performanceモードは、パフォーマンスを向上させるために計算に使用される下位機能クラス道路の数を制限します。 範囲が広い場合、機能クラスが低い道路はすべてのoptimizeForモードで計算から除外されます。

optimizeFor=performance optimizeFor=balanced optimizeFor=quality

クライアント中心の最適化

shape[maxPoints]パラメーターを使用すると、計算された等値線のジオメトリ―ポイント数を制御できます。

ジオメトリーポイントの数が少ないほど、クライアントアプリケーションが計算された等値線形状をレンダリングしやすくなります。

このパラメーターを使用しても、サーバー側のパフォーマンスには影響しません。

ジオメトリーポイント数を減らすと、等値線形状の計算の詳細と精度が低下します。

shape[maxPoints]パラメーターの最小値は30です。最適な結果を得るためには、100を超える値を使用することをお勧めします。

次の例は、リクエストにshape[maxPoints]=50パラメーターを追加した際に等値線形状がどのように変化するかを示しています。

shape[maxPoints]=50を使用すると形状の境界が丸みを帯びる点、および北東の空港エリアへの等値線が入り方が変化する点に注目してください。

curl -gX GET 'https://isoline.router.hereapi.com/v8/isolines?'\
'transportMode=car&'\
'origin=52.51578,13.37749&'\
'range[type]=distance&'\
'range[values]=10000&'\
'shape[maxPoints]=50&'\
'routingMode=short&'\
'apiKey=YOUR_API_KEY'

標準等値線形状 ジオメトリーポイントが50に制限された等値線形状