ルート検索・経路検索のAPIを選ぶ際に知っておきたい、 3つの重要なポイントとは?
各社より提供されているルート検索・経路検索のAPI。ルート検索・経路検索とはどういったニーズから生まれた、どのような技術なのか、 また選ぶ際に重要なポイントは何かについて、本ページにてご紹介させて頂きます。
目次
ルート検索APIについて
ルート検索は様々なサービスで利用されている技術であり、それを実現するルート検索のAPIは各社から提供されています。
「NAVITIME」のようなナビゲーションサービスやカーナビで利用されているのはもちろん、経費精算サービスにおいてルート検索した結果から交通費を算出する、物流サービスでトラックの効率的な配送ルートを算出する、といった用途でも利用されています。
他にも、乗りたい人を一番早く迎えに行けるタクシーを探す配車サービスや、物件情報として最寄りの公共交通機関までの所要時間を掲載する不動産サービスなどでも、裏側でルート検索のAPIが使われています。
ヒト・モノの移動に関わる多くのサービスにおいて、ルート検索のAPIが活用されています。
「NAVITIME」のようなナビゲーションサービスやカーナビで利用されているのはもちろん、経費精算サービスにおいてルート検索した結果から交通費を算出する、物流サービスでトラックの効率的な配送ルートを算出する、といった用途でも利用されています。
他にも、乗りたい人を一番早く迎えに行けるタクシーを探す配車サービスや、物件情報として最寄りの公共交通機関までの所要時間を掲載する不動産サービスなどでも、裏側でルート検索のAPIが使われています。
ヒト・モノの移動に関わる多くのサービスにおいて、ルート検索のAPIが活用されています。
様々なサービスでルート検索のAPIが利用されています
ルート検索のAPIは、簡単に言うと、2つの地点を結ぶ移動経路を出力するAPIです。
ナビゲーションサービスであれば現在地から目的地、タクシー配車サービスであればタクシーから乗りたい人がいる場所までの移動経路を出力することになります。多くのケースでは最も短い時間で移動できるルート、または時間や運賃など様々な要因を考慮して最適と思われるルートを算出します。
ルート検索の技術が無い時代、ヒト・モノの移動は地図や路線図、そして経験や勘に頼ったものであったと思います。
そのような中では、ルートを調べることに時間がかかるうえ、実際に移動するに際して迷ったり間違ったりして、多くのムダが発生します。ムダを無くし効率的に移動できるルートを求めたい、という多くの産業のニーズに応えるために、ルート検索の技術は生まれました。
ナビゲーションサービスであれば現在地から目的地、タクシー配車サービスであればタクシーから乗りたい人がいる場所までの移動経路を出力することになります。多くのケースでは最も短い時間で移動できるルート、または時間や運賃など様々な要因を考慮して最適と思われるルートを算出します。
ルート検索の技術が無い時代、ヒト・モノの移動は地図や路線図、そして経験や勘に頼ったものであったと思います。
そのような中では、ルートを調べることに時間がかかるうえ、実際に移動するに際して迷ったり間違ったりして、多くのムダが発生します。ムダを無くし効率的に移動できるルートを求めたい、という多くの産業のニーズに応えるために、ルート検索の技術は生まれました。
ルート検索のAPIは、このように様々な用途やサービスで活用されていますが、ひとくちにルート検索のAPIと言っても各社それぞれに特徴があります。ルート検索のAPIを選ぶ際には、用途に合ったものを選ぶ必要がありますが、ここでは選ぶ際の3つの重要なポイントについて説明します。
【ポイント1】移動手段への対応状況
移動手段を大きく分類すると、「道路交通」と「公共交通」に分けることができます。
前者は自動車や徒歩、自転車が含まれます。 後者は電車やバス、フェリーなどです。これら2つは、ルート検索において利用するデータが異なります。
前者は道路と交差点からなる道路ネットワークと呼ばれるデータを用いて検索しますが、後者は駅やバス停など交通結節点と、その接続関係や発着時刻など時系列の関係をまとめた時刻表データを用いて検索します。時刻表・路線によってある程度行き方が限定されている公共交通と、時間的・空間的に自由度の高い道路交通では技術的にも扱いが大きく異なるため、どちらか一方のみに対応してAPIを提供している会社が多いです。
前者は自動車や徒歩、自転車が含まれます。 後者は電車やバス、フェリーなどです。これら2つは、ルート検索において利用するデータが異なります。
前者は道路と交差点からなる道路ネットワークと呼ばれるデータを用いて検索しますが、後者は駅やバス停など交通結節点と、その接続関係や発着時刻など時系列の関係をまとめた時刻表データを用いて検索します。時刻表・路線によってある程度行き方が限定されている公共交通と、時間的・空間的に自由度の高い道路交通では技術的にも扱いが大きく異なるため、どちらか一方のみに対応してAPIを提供している会社が多いです。
道路ネットワーク検索イメージ
また、対象の移動手段に対応している場合でも、細かな対応状況には違いがあるため、詳しく知る必要があります。
例えば、公共交通であれば日本全国のバス・コミュニティバスに対してどこまでカバーしているのかは各社で大きく異なります。
道路交通ですと、自動車の中でも大型トラックやバスなど、車両の種類やサイズによって通行できない道路があり、それらへの対応状況も各社で異なります。サービスを提供するうえで必要な交通手段にしっかり対応できているのかどうかを調べ、目的にあったAPIを選ぶことが重要です。
例えば、公共交通であれば日本全国のバス・コミュニティバスに対してどこまでカバーしているのかは各社で大きく異なります。
道路交通ですと、自動車の中でも大型トラックやバスなど、車両の種類やサイズによって通行できない道路があり、それらへの対応状況も各社で異なります。サービスを提供するうえで必要な交通手段にしっかり対応できているのかどうかを調べ、目的にあったAPIを選ぶことが重要です。
【ポイント2】ルートの品質
ルート検索のAPIは、2つの地点を指定することで、その地点間を結ぶルートが検索結果として得られます。
ただし、どのような結果でも地点間を結んでいれば良いかというと、そうではありません。実際に移動するには難しいルートであったり、必要以上に時間がかかってしまうルートであれば、良い結果とは言えません。
ルート検索の良し悪し、つまりルートの品質を左右するのは、データとアルゴリズムです。
データについて
データは、実際の状況を正しく反映できているかどうかが品質を左右します。
バスを利用するルートの例では、実際のバス停が道路の両側の少し離れた位置に設置されているにも関わらず、データでは1つのものとして扱われているケースがあります。そのようなデータでは、バス停までの徒歩ルートが正しく検索できず、ルート検索の指示通りに行ったらバスに間に合わなかった、といった問題が起こりえます。
アルゴリズムについて
アルゴリズムは、利用者にとって何を最適なルートとするのか、各社で違いがあります。
自動車のルートの例では、理論上もっとも短い距離で移動できるルートだったとしても、実際に移動してみると対向車とのすれ違いが出来ないような細い道を通らなければいけないケースがあります。運転によほど自信のある人でなければ、そのようなルートは最適とは言えません。
ただし、どのような結果でも地点間を結んでいれば良いかというと、そうではありません。実際に移動するには難しいルートであったり、必要以上に時間がかかってしまうルートであれば、良い結果とは言えません。
ルート検索の良し悪し、つまりルートの品質を左右するのは、データとアルゴリズムです。
データについて
データは、実際の状況を正しく反映できているかどうかが品質を左右します。
バスを利用するルートの例では、実際のバス停が道路の両側の少し離れた位置に設置されているにも関わらず、データでは1つのものとして扱われているケースがあります。そのようなデータでは、バス停までの徒歩ルートが正しく検索できず、ルート検索の指示通りに行ったらバスに間に合わなかった、といった問題が起こりえます。
同じバス停名称でも複数違う場所にあるケースがあります
アルゴリズムについて
アルゴリズムは、利用者にとって何を最適なルートとするのか、各社で違いがあります。
自動車のルートの例では、理論上もっとも短い距離で移動できるルートだったとしても、実際に移動してみると対向車とのすれ違いが出来ないような細い道を通らなければいけないケースがあります。運転によほど自信のある人でなければ、そのようなルートは最適とは言えません。
移動手段によって最適なルートは異なります
ルートの品質についてはカタログ上では判断が難しいため、実際にAPIを試してみて、利用目的に対して問題ないかを確認することをお勧めします。
【ポイント3】検索の処理速度
ルート検索のAPIは、Web(httpかhttps)のリクエストに対して検索結果をレスポンスとして返却します。
リクエストしてからレスポンスが返却されるまでには待ち時間が発生しますが、その時間はルート検索の処理速度に大きく依存します。
例えば、検索ボタンが押されたらルート検索のAPIをリクエストし、レスポンスが返却されたらその内容をページに表示する、というようなサービスを提供する場合、ルート検索の処理に時間がかかると、それだけ利用者を待たせることになります。待ち時間が2秒を超えるとユーザーがページから離脱してしまう可能性が高まる、といった説もあり、ルート検索の処理速度は重視すべきポイントになります。
ルート検索の処理速度を左右するのは「アルゴリズムの性能」
一般的に検索する2地点間の距離が遠いほど処理に時間がかかりますが、アルゴリズムが優れていればより早く結果を返すことができます。ダイクストラ法というアルゴリズムが有名ですが、より高速に処理するための様々なアルゴリズムが考案されています。
「移動する際の選択肢の数」も処理速度に大きく影響
出発地から歩いて公共交通を利用し目的に向かうケースを考えてみましょう。
500m先に最寄り駅があり、そこから電車に乗るルートが出力されたものの、実は少し遠い700m先にある駅から電車に乗った方が、目的地に早く到着できるルートである可能性があります。
もっとも良いルートを見つけるためには、より多くの選択肢を考慮することが必要ですが、選択肢が増えるほど計算量が増え、処理に時間がかかります。どれだけ多くの選択肢を考慮できるかはルートの品質を左右しますので、優れたアルゴリズムでより早く処理できれば、より多くの選択肢を考慮してルートの品質を高めることができます。
選択肢は移動手段の対応状況にも関わります。
1つの駅でも複数ある出口をきちんと考慮すれば、それだけ選択肢が増えることになります。バスに対応すれば、さらにバス停も選択肢に加わります。移動手段に対応していくほど選択肢が増え、処理速度に影響を与えることになります。逆の言い方をしますと、アルゴリズムの性能が低い場合、処理に時間がかかってしまうため多くの移動手段に対応できません。
このように、ルート検索の処理速度は移動手段への対応状況やルート品質にも関わる重要なポイントであり、ルート検索APIを提供する各社の技術力が問われるところです。
(処理速度はアルゴリズム以外にも、マシンの性能やデータ構造、キャッシュ機構などの影響を受けます)
リクエストしてからレスポンスが返却されるまでには待ち時間が発生しますが、その時間はルート検索の処理速度に大きく依存します。
例えば、検索ボタンが押されたらルート検索のAPIをリクエストし、レスポンスが返却されたらその内容をページに表示する、というようなサービスを提供する場合、ルート検索の処理に時間がかかると、それだけ利用者を待たせることになります。待ち時間が2秒を超えるとユーザーがページから離脱してしまう可能性が高まる、といった説もあり、ルート検索の処理速度は重視すべきポイントになります。
ルート検索の処理速度を左右するのは「アルゴリズムの性能」
一般的に検索する2地点間の距離が遠いほど処理に時間がかかりますが、アルゴリズムが優れていればより早く結果を返すことができます。ダイクストラ法というアルゴリズムが有名ですが、より高速に処理するための様々なアルゴリズムが考案されています。
「移動する際の選択肢の数」も処理速度に大きく影響
出発地から歩いて公共交通を利用し目的に向かうケースを考えてみましょう。
500m先に最寄り駅があり、そこから電車に乗るルートが出力されたものの、実は少し遠い700m先にある駅から電車に乗った方が、目的地に早く到着できるルートである可能性があります。
もっとも良いルートを見つけるためには、より多くの選択肢を考慮することが必要ですが、選択肢が増えるほど計算量が増え、処理に時間がかかります。どれだけ多くの選択肢を考慮できるかはルートの品質を左右しますので、優れたアルゴリズムでより早く処理できれば、より多くの選択肢を考慮してルートの品質を高めることができます。
選択肢は移動手段の対応状況にも関わります。
1つの駅でも複数ある出口をきちんと考慮すれば、それだけ選択肢が増えることになります。バスに対応すれば、さらにバス停も選択肢に加わります。移動手段に対応していくほど選択肢が増え、処理速度に影響を与えることになります。逆の言い方をしますと、アルゴリズムの性能が低い場合、処理に時間がかかってしまうため多くの移動手段に対応できません。
多くの選択肢を考慮できるかはアルゴリズムの性能次第
このように、ルート検索の処理速度は移動手段への対応状況やルート品質にも関わる重要なポイントであり、ルート検索APIを提供する各社の技術力が問われるところです。
(処理速度はアルゴリズム以外にも、マシンの性能やデータ構造、キャッシュ機構などの影響を受けます)
まとめ
ルート検索のAPIを選ぶ際の3つのポイントについて説明しました。
移動手段への対応状況、ルートの品質、検索の処理速度、という3つのポイントで比較することで、利用目的に合ったAPIを選ぶことができると思います。無料でお試し利用ができるものも多いので、選ぶ際には実際にAPIを試してみることをお勧めします。
移動手段への対応状況、ルートの品質、検索の処理速度、という3つのポイントで比較することで、利用目的に合ったAPIを選ぶことができると思います。無料でお試し利用ができるものも多いので、選ぶ際には実際にAPIを試してみることをお勧めします。
NAVITIME APIは90日間無料でAPIのお試し利用が可能です。ご興味があれば是非お問い合わせください。
NAVITIME API サービス概要資料
各APIの概要や利用イメージを確認いただける資料です。フォーム送信後、資料ダウンロードのリンク先をご案内いたします
この記事の執筆
NAVITIME API/SDK 記事編集部
株式会社ナビタイムジャパン ソリューション事業
お客様の開発を強力にサポートするAPI/SDKなどのサービスを展開しているソリューション事業部。 サービスのサポートチームや開発担当者が、APIを中心に、その選定方法や使い方など様々な記事をご紹介しています。