(57)【要約】      （修正有）【課題】ユーザの体力に合ったルートを提示するルート作成システムを提供する。【解決手段】ルート作成システムにおいて、ルート作成装置１００は、ユーザ特定情報と、地点情報と運動時間と指標情報との指定を取得する指定情報取得部１０１と、複数のユーザの運動能力レベルを格納する運動能力レベル格納部１０３から、ユーザ特定情報に対応した運動能力レベルと同一または類似の運動能力レベルを有するユーザ特定情報を抽出する抽出部１０２と、複数のユーザ特定情報と地点履歴情報と運動履歴時間と指標履歴情報を格納する走行履歴情報格納部１０５から、ユーザ特定情報に対応づけられた運動履歴時間と指標履歴情報を読み出し、指定運動時間と指定指標情報と同一または類似の運動履歴時間と指標履歴情報に対応付けられた地点履歴情報を抽出し、地点履歴情報に対応する道路の距離と指定地点情報とに基づいてルートを作成するルート作成部１０４と、を有する。【選択図】図１
2020021503.tif 000002
【特許請求の範囲】
【請求項１】
ユーザを特定するユーザ特定情報と前記ユーザが指定した指定条件とを取得する取得部と、
複数のユーザの運動能力レベルと運動履歴情報を格納している格納部から、前記取得したユーザ特定情報に対応した運動能力レベルと同一または類似の運動能力レベルを有するユーザの運動履歴情報であって、前記取得した前記指定条件を満たす運動履歴情報または当該運動履歴情報と類似する運動履歴情報を抽出する抽出部と、
前記抽出された運動履歴情報に基づいてルートを作成するルート作成部と、
を有するルート作成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ユーザの指定情報に合うルートを作成するルート作成システム、ルート作成方法、ルート作成プログラム、地図作成システム、地図作成方法および地図作成プログラムに関する。ただし、この発明の利用は、ルート作成システム、ルート作成方法、ルート作成プログラム、地図作成システム、地図作成方法および地図作成プログラムに限らない。
【背景技術】
【０００２】
従来、使用者の運動時に、現在の心拍数が目標の心拍数となるようなテンポ音やそのテンポの音楽を出力する技術が提案されている（例えば、下記特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−２９９９８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の技術では、心拍数を目標の心拍数になるようなテンポの音楽を出力するが、ユーザの体力に合ったルートを提案することができない、という問題が一例として挙げられる。
【課題を解決するための手段】
【０００５】
上述した課題を解決し、目的を達成するため、請求項１の発明にかかるルート作成システムは、ユーザを特定するユーザ特定情報と、前記ユーザが指定する指定地点情報と、指定運動時間と、運動の程度を示す指定指標情報を取得する指定情報取得部と、複数のユーザ特定情報と運動能力レベルとを対応付けて格納している運動能力レベル格納部から、前記指定情報取得部で取得されたユーザ特定情報に対応した運動能力レベルと同一または類似の運動能力レベルを有するユーザ特定情報を抽出する抽出部と、前記複数のユーザ特定情報と地点履歴情報と運動履歴時間と運動の程度を示す指標履歴情報とを対応付けて格納している走行履歴情報格納部から、前記抽出部で抽出されたユーザ特定情報に対応づけられた運動履歴時間と指標履歴情報を読み出し、前記指定情報取得部で取得された前記指定運動時間と前記指定指標情報と同一または類似の運動履歴時間と指標履歴情報に対応付けられている地点履歴情報を抽出し、前記抽出された地点履歴情報に対応する道路の距離と、前記指定地点情報とに基づいてルートを作成するルート作成部と、を有することを特徴とする。
【０００６】
また、請求項５の発明にかかるルート作成方法は、ルート作成システムが実施するルート作成方法において、ユーザを特定するユーザ特定情報と、前記ユーザが指定する指定地点情報と、指定運動時間と、運動の程度を示す指定指標情報を取得する指定情報取得工程と、複数のユーザ特定情報と運動能力レベルとを対応付けて格納している運動能力レベル格納部から、前記指定情報取得工程で取得されたユーザ特定情報に対応した運動能力レベルと同一または類似の運動能力レベルを有するユーザ特定情報を抽出する抽出工程と、前記複数のユーザ特定情報と地点履歴情報と運動履歴時間と運動の程度を示す指標履歴情報とを対応付けて格納している走行履歴情報格納部から、前記抽出工程で抽出されたユーザ特定情報に対応づけられた運動履歴時間と指標履歴情報を読み出し、前記指定情報取得工程で取得された前記指定運動時間と前記指定指標情報と同一または類似の運動履歴時間と指標履歴情報に対応付けられている地点履歴情報を抽出し、前記抽出された地点履歴情報に対応する道路の距離と、前記指定地点情報とに基づいてルートを作成するルート作成工程と、を含むことを特徴とする。
【０００７】
また、請求項６の発明にかかるルート作成プログラムは、請求項５に記載のルート作成方法をコンピュータに実行させることを特徴とする。
また、請求項７の発明にかかる地図作成システムは、ユーザ特定情報と運動履歴時間と、運動の程度を示す指標履歴情報とを対応付けて格納する格納部と、指定運動時間と運動の程度を示す指定指標情報を指定するユーザの第１ユーザ特定情報に対応する、同一又は類似の運動能力レベルを有する第２ユーザ特定情報を特定する特定部と、前記指定運動時間及び前記指定指標情報と同一又は類似の、前記第２ユーザ特定情報に対応する運動履歴時間および指標履歴情報に基づきルートを作成する作成部を有することを特徴とする。
また、請求項８の発明にかかる地図作成方法は、地図作成システムが実施する地図作成方法において、ユーザ特定情報と運動履歴時間と、運動の程度を示す指標履歴情報とを対応付けて格納し、指定運動時間と運動の程度を示す指定指標情報を指定するユーザの第１ユーザ特定情報に対応する、同一又は類似の運動能力レベルを有する第２ユーザ特定情報を特定し、前記指定運動時間及び前記指定指標情報と同一又は類似の、前記第２ユーザ特定情報に対応する運動履歴時間および指標履歴情報に基づきルートを作成することを特徴とする。
また、請求項９の発明にかかる地図作成プログラムは、請求項８に記載の地図作成方法をコンピュータに実行させることを特徴とする。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施の形態にかかるルート作成システムの機能的構成の一例を示すブロック図である。
【図２】図２は、実施の形態にかかるルート作成システムの処理手順の一例を示すフローチャートである。
【図３】図３は、実施例のサーバのハードウェア構成の一例を示すブロック図である。
【図４】図４は、実施例にかかるシステム構成例を示すブロック図である。
【図５】図５は、実施例にかかる処理手順の一例を示すフローチャートである。
【図６】図６は、実施例の走行情報ＤＢの内容例を示す図表である。
【図７】図７は、実施例の運動能力レベルＤＢの内容例を示す図表である。
【図８】図８は、実施例の道路情報ＤＢの内容例を示す図表である。
【図９】図９は、実施例にかかるユーザ走行時の運動能力レベル生成の処理例を示すフローチャートである。
【図１０】図１０は、実施例にかかる走行情報に基づく位置情報の抽出処理例を説明する図表である。（その１）
【図１１】図１１は、実施例にかかる走行情報に基づく位置情報の抽出処理例を説明する図表である。（その２）
【図１２】図１２は、実施例にかかる走行情報に基づく位置情報の抽出処理例を説明する図表である。（その３）
【図１３】図１３は、実施例にかかる走行情報に基づく位置情報の抽出処理例を説明する図表である。（その４）
【図１４】図１４は、実施例にかかる走行情報に基づく位置情報の抽出処理例を説明する図表である。（その５）
【図１５】図１５は、実施例にかかる走行情報に基づく位置情報の抽出処理例を説明する図表である。（その６）
【図１６】図１６は、実施例にかかる運動負荷算出処理例を説明する図表である。
【図１７】図１７は、実施例にかかる運動負荷に基づくルート作成処理例を説明する図である。（その１）
【図１８】図１８は、実施例にかかる運動負荷に基づくルート作成処理例を説明する図である。（その２）
【発明を実施するための形態】
【０００９】
（実施の形態）
以下に添付図面を参照して、この発明にかかるルート作成システム、ルート作成方法、ルート作成プログラム、地図作成システム、地図作成方法および地図作成プログラムの好適な実施の形態を詳細に説明する。
【００１０】
図１は、実施の形態にかかるルート作成システムの機能的構成の一例を示すブロック図である。図１には、ルート作成システムとしてルート作成装置１００単体の構成例を示している。ルート作成装置１００は、ランニングを行うユーザの指定情報に基づいて、ユーザの運動能力に適したルートを作成し、ユーザに提示する。
【００１１】
ルート作成装置１００は、指定情報取得部１０１と、抽出部１０２と、運動能力レベル格納部１０３と、ルート作成部１０４と、走行履歴情報格納部１０５と、送信部１０８と、を含む。
【００１２】
指定情報取得部１０１は、ユーザを特定するユーザ特定情報（例えば、ユーザＩＤ）と、ユーザの指定する指定地点情報（例えば、出発地と目的地の位置情報である緯度経度）と、ユーザが指定した指定運動時間（例えば、運動時間３０分）と、ユーザが指定した運動の程度を示す指定指標情報（例えば、ユーザの心拍数１３０）、消費カロリーや脈拍数、呼吸数等を取得する。
【００１３】
抽出部１０２は、複数のユーザ特定情報（ユーザＩＤ）と運動能力レベルとを対応付けて格納している運動能力レベル格納部１０３から、指定情報取得部１０１が取得したユーザ特定情報（ユーザＩＤ）に対応した運動能力レベルと同一または類似の運動能力レベルを有するユーザ特定情報を抽出する。運動能力レベル格納部１０３には、予め複数のユーザが運動能力レベルを付して記憶される。また、この運動能力レベル格納部１０３には、同一ユーザを含む複数のユーザの過去の走行履歴が蓄積記憶されている。そして、抽出部１０２は、記憶されたユーザ情報を参照して、ユーザの運動能力に近い他のユーザを抽出する。尚、他のユーザに加え、ユーザ自身を抽出してもよい。
【００１４】
走行履歴情報格納部１０５は、複数のユーザ特定情報（ユーザＩＤ）と地点履歴情報と運動履歴時間と運動の程度を示す指標履歴情報とを対応付けて格納している。
【００１５】
ルート作成部１０４は、走行履歴情報格納部１０５から、抽出部１０２で抽出されたユーザ特定情報（ユーザＩＤ）に対応づけられた運動履歴時間と指標履歴情報を読み出す。そして、指定情報取得部１０１で取得した指定運動時間と指定指標情報と同一または類似の運動履歴時間と指標履歴情報に対応付けられている地点履歴情報を抽出する。そして、ルート作成部１０４は、抽出された地点履歴情報に対応する道路の距離と、指定地点情報とに基づいてルートを作成する。
【００１６】
これにより、ルート作成部１０４は、ユーザの指定情報（指定地点情報、指定運動時間、指定指標情報）に合う他のユーザの走行履歴を用いてルートを作成することができる。作成されたルートは送信部１０８を介してユーザが保持する端末に送信される。
【００１７】
また、ルート作成装置１００は、さらに、道路情報記憶部１０６と、運動負荷計算部１０７と、を含み構成してもよい。
【００１８】
道路情報記憶部１０６は、少なくとも道路情報として、道路の位置情報と距離を記憶する。また、道路の勾配を記憶してもよい。これにより、ルート作成部１０４は、道路の位置情報と取得された地点情報とから、地点情報に対応する道路を特定し、ユーザが指定する指定地点情報を通り特定された道路の距離であるルートを作成することができる。
【００１９】
また、運動負荷計算部１０７は、道路の位置情報と取得された地点情報とから、地点情報に対応する道路を特定し、特定された道路の距離を特定し、特定した距離を元に運動負荷を求める。この運動負荷は所定の計算式を用いる。この際、道路の勾配を加えても良い。これにより、ルート作成部１０４は、ユーザの指定情報に従った地点を通り、運動負荷計算部１０７で求められた運動負荷で運動が可能なルートを作成することができる。
【００２０】
また、運動負荷計算部１０７は、ユーザの過去の走行履歴から運動負荷を計算してもよい。これにより、ルート作成部１０４は、ユーザが指定した指定地点を通るルートが複数存在する場合、所定のルートを推奨ルートとして提示することができる。この際、ルート作成部１０４は、推奨ルートとして、交通量の少ないルート、運動能力レベルが同じ他のユーザの走行履歴に基づくルート、走行履歴が多いルート、のいずれかを提示することができる。
【００２１】
また、ルート作成部１０４は、ルートの提示だけではなく、所定のメッセージを併せて提示できる。例えば、走行ルートをユーザの指定情報に従った指定運動時間、指定指標（例えば心拍数）で走るための平均走行速度、走行ルート中の複数のチェックポイントでの目標時間、チェックポイントまでの距離と時間、現在の心拍数と指定した心拍数を比較して目標心拍数に近づくためのメッセージ、を一つあるいは複数提示する。
【００２２】
図２は、実施の形態にかかるルート作成システムの処理手順の一例を示すフローチャートである。ルート作成装置１００が実行する処理例を示している。
【００２３】
はじめに、ルート作成装置１００は、ユーザの操作入力等により、ユーザの指定情報を取得する（ステップＳ２０１）。例えば、ユーザの指定情報として、ユーザを特定するユーザ特定情報（例えば、ユーザＩＤ）と、ユーザの指定する指定地点情報（例えば、出発地と目的地の位置情報である緯度経度）と、ユーザが指定した指定運動時間（例えば、運動時間３０分）と、ユーザが指定した運動の程度を示す指定指標情報（例えば、ユーザの心拍数１３０）、消費カロリーや脈拍数、呼吸数等を取得する。
【００２４】
つぎに、ルート作成装置１００は、ユーザと同等の運動能力レベルを有する他のユーザを抽出する（ステップＳ２０２）。この抽出では、ユーザを特定する情報に紐づけられた運動能力レベルと同一または類似の運動能力レベルを有する他のユーザを抽出する。
【００２５】
この後、ルート作成装置１００は、抽出したユーザの走行履歴を参照し、抽出したユーザを特定する情報に紐づけられているユーザの走行履歴を参照し、ユーザの指定情報（指定地点情報、指定運動時間、指定指標情報）に合うルートを作成する（ステップＳ２０３）。
【００２６】
この際、ルート作成部１０４は、走行履歴情報格納部１０５に格納されている運動履歴時間と運動の程度を示す指標履歴情報と、指定情報取得部１０１で取得された指定運動時間と運動の程度を示す指定指標情報とを対比し、ユーザの指定した指定運動時間と運動の程度を示す指定指標情報と同一または類似の運動履歴時間と指標履歴情報に対応付けられている地点履歴情報を抽出する。そして、抽出した地点履歴情報に対応する距離と、指定地点情報とに基づいてルートを作成する。例えば、出発地から目的地まで３０分の時間を有し、心拍数１３０となる指定情報にできるだけ合うルートが作成され、この後、送信部１０８を介してユーザの端末にルートが送信され、端末の表示部等によりユーザに提示できる（ステップＳ２０４）。
【００２７】
図２には記載しなかったが、ルート作成装置１００は、さらに、ユーザの指定情報に紐づけられている地点情報（出発地と目的地）と、道路情報（道路の位置情報と距離と勾配）を取得してルートを作成してもよい。これにより、道路の位置情報と取得された地点情報とから、地点情報に対応する道路を特定し、ユーザが指定する指定地点情報を通り特定された道路の距離であるルートを作成することができる。例えば、ユーザが指定する出発地と目的地を含む走行履歴に基づくルートを作成することができる。すなわち、ユーザが指定する指定地点情報（出発地と目的地）が他のユーザの走行履歴と一致しない場合でも、この指定地点情報を含む走行履歴の一部のルートを用いてユーザに提示できる。
【００２８】
また、地点情報に対応する道路を特定し、特定された道路の距離と勾配を特定し、特定した距離と勾配を元に運動負荷を求めてもよい。これにより、指定地点を通り、運動負荷計算部で求められた運動負荷で運動が可能なルートを作成することができる。
【００２９】
また、抽出部１０２で抽出されたユーザ特定情報に対応付けられた過去の走行履歴を基に運動負荷を計算してもよい。これにより、ユーザの指定する地点を通るルートが複数存在する場合、所定のルートを推奨ルートとして送信することができる。この際、推奨ルートとして、交通量の少ないルート、走行履歴が多いルートまたは前記ユーザと同一または類似の運動能力レベルを有するユーザが過去に走行したルートのうち、少なくとも一つのルートを推奨ルートとして送信することができる。
【００３０】
また、ルートの送信だけではなく、所定のメッセージを併せて送信できる。例えば、ルートをユーザが指定する指定運動時間と指定指標情報で走るための平均走行速度、ルート中の複数のチェックポイントでの目標時間、チェックポイントまでの距離と時間、現在の指標情報と指定指標情報を比較して目標指標情報に近づくためのメッセージを一つあるいは複数提示してもよい。
【００３１】
以上の実施の形態によれば、ユーザが指定した指定情報に合うルートを提案できる。このルートは、ユーザの指定情報に基づき、ユーザの運動能力レベルと同等の運動能力レベルを有する他のユーザの走行履歴を抽出して作成されるため、ユーザの指定情報に合うルートを提示できる。具体的には、ユーザの体力に合ったルートを提示できる。そして、指定情報として指定地点情報、指定運動時間、指定する運動の程度を示す指標を用いることで、よりユーザの指定に近い運動量のルートを提示できるようになる。
【００３２】
また、ユーザの指定情報に紐づけられている地点情報（出発地と目的地）と、道路情報（道路の位置情報と距離と勾配）を取得してルートを作成してもよい。これにより、道路の位置情報と取得された地点情報とから、地点情報に対応する道路を特定し、ユーザが指定する指定地点情報を通り特定された道路の距離であるルートを作成することができる。      
【００３３】
また、上述したルート作成システムは、ユーザの端末とサーバが通信接続された構成としてもよい。この場合、端末は、ユーザが指定する指定地点情報と、指定運動時間と、指定指標情報と、を含む指定情報をサーバに送信する送信部と、サーバから送信されるルートを受信する受信部と、ルートを表示する表示部等を有する。サーバは、図１に記載した指定情報取得部１０１〜送信部１０８の構成と、端末と通信する受信部および送信部を有する。このような端末とサーバを用いた構成においても、上記同様にユーザにルートを提示できる。サーバは、汎用のＰＣ等のコンピュータ装置を用いてもよい。
【実施例】
【００３４】
つぎに、本発明の実施例について説明する。実施例では、サーバ３００が上記のルート作成装置１００の機能を有し、ユーザが保持する端末と通信接続された構成例を用いて説明する。
【００３５】
（サーバ３００のハードウェア構成）
図３は、実施例のサーバのハードウェア構成の一例を示すブロック図である。図３において、サーバ３００は、ＣＰＵ３０１、ＲＯＭ３０２、ＲＡＭ３０３、磁気ディスクドライブ３０４、磁気ディスク３０５、光ディスクドライブ３０６、光ディスク３０７、音声Ｉ／Ｆ（インターフェース）３０８、マイク３０９、スピーカ３１０、入力デバイス３１１、映像Ｉ／Ｆ３１２、ディスプレイ３１３、通信Ｉ／Ｆ３１４、を備えている。各構成部３０１〜３１４は、バス３２０によってそれぞれ接続されている。
【００３６】
ＣＰＵ３０１は、サーバ３００の全体の制御を司る。ＲＯＭ３０２は、ブートプログラム、ルート作成プログラムを記録している。ＲＡＭ３０３は、ＣＰＵ３０１のワークエリアとして使用される。すなわち、ＣＰＵ３０１は、ＲＡＭ３０３をワークエリアとして使用しながら、ＲＯＭ３０２に記録された各種プログラムを実行することによって、サーバ３００の全体の制御を司る。
【００３７】
磁気ディスクドライブ３０４は、ＣＰＵ３０１の制御にしたがって磁気ディスク３０５に対するデータの読み取り／書き込みを制御する。磁気ディスク３０５は、磁気ディスクドライブ３０４の制御で書き込まれたデータを記録する。磁気ディスク３０５としては、例えば、ＨＤ（ハードディスク）やＦＤ（フレキシブルディスク）を用いることができる。
【００３８】
また、光ディスクドライブ３０６は、ＣＰＵ３０１の制御にしたがって光ディスク３０７に対するデータの読み取り／書き込みを制御する。光ディスク３０７は、光ディスクドライブ３０６の制御にしたがってデータが読み出される着脱自在な記録媒体である。光ディスク３０７は、書き込み可能な記録媒体を利用することもできる。着脱可能な記録媒体として、光ディスク３０７のほか、ＭＯ、メモリカードなどを用いることができる。
【００３９】
磁気ディスク３０５および光ディスク３０７には、例えば、上述したユーザ情報、ユーザ毎の走行履歴、道路情報（地図データ）等がある。地図データは、ルート作成時に用いられ、建物、河川、地表面、エネルギー補給施設などの地物（フィーチャ）をあらわす背景データ、道路の形状をリンクやノードなどであらわす道路形状データなどを含むベクタデータである。
【００４０】
音声Ｉ／Ｆ３０８は、音声入力用のマイク３０９および音声出力用のスピーカ３１０に接続される。マイク３０９に受音された音声は、音声Ｉ／Ｆ３０８内でＡ／Ｄ変換される。
【００４１】
入力デバイス３１１は、文字、数値、各種指示などの入力のための複数のキーを備えたリモコン、キーボード、タッチパネルなどが挙げられる。入力デバイス３１１は、リモコン、キーボード、タッチパネルのうちいずれか一つの形態によって実現されてもよいが、複数の形態によって実現することも可能である。
【００４２】
映像Ｉ／Ｆ３１２は、ディスプレイ３１３に接続される。映像Ｉ／Ｆ３１２は、具体的には、例えば、ディスプレイ３１３全体を制御するグラフィックコントローラと、即時表示可能な画像情報を一時的に記録するＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）などのバッファメモリと、グラフィックコントローラから出力される画像データに基づいてディスプレイ３１３を制御する制御ＩＣなどによって構成される。
【００４３】
ディスプレイ３１３には、アイコン、カーソル、メニュー、ウインドウ、あるいは文字や画像などの各種データが表示される。ディスプレイ３１３としては、例えば、ＴＦＴ液晶ディスプレイ、有機ＥＬディスプレイなどを用いることができる。
【００４４】
通信Ｉ／Ｆ３１４は、例えば、無線ネットワークを介してユーザの端末に通信接続し、サーバ３００およびＣＰＵ３０１のインターフェースとして機能する。ネットワークとして機能する通信網には、公衆回線網や携帯電話網、ＬＡＮ、ＷＡＮなどがある。
【００４５】
図３に記載のＲＯＭ３０２、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などに記録されたプログラムやデータを用いて、ＣＰＵ３０１が所定のプログラムを実行することによって、サーバの動作に必要な機能を実現する。
【００４６】
また、上述したユーザの端末についても、図３同様の構成により端末の機能を実現する。また、ユーザの端末は、ＧＰＳ等の位置検出部を有する。
【００４７】
（ルート作成システムの全体構成例）
図４は、実施例にかかるシステム構成例を示すブロック図である。上述したサーバ３００（図１のルート作成装置１００）にユーザの端末４００が通信接続される構成例を示す。
【００４８】
端末４００の一例として、ユーザが所持するスマートフォンなどのクライアントマシン４０１と、ユーザが身体に装着するスマートウオッチ等のウェアラブル機器などの情報端末４０２等が挙げられる。情報端末４０２は、ユーザの心拍数を検出するセンサを有し、クライアントマシン４０１に送信する。
【００４９】
クライアントマシン４０１は、例えば、ユーザの走行時の走行情報（ユーザＩＤと、日時と、走行ルートを示す位置情報と、走行ルート上での時間毎の心拍数）とをサーバ３００に送信する。
【００５０】
また、クライアントマシン４０１は、サーバ３００が作成し、サーバ３００から配信されたルートを表示する。クライアントマシン４０１は、配信されたルートを情報端末４０２に転送してもよい。
【００５１】
サーバ３００には、図１に示した各機能（指定情報取得部１０１〜送信部１０８）を有する。図４の走行情報管理部４０３は、図１の運動能力レベル格納部１０３と走行履歴情報格納部１０５に対応し、道路情報管理部１０６は、図１の道路情報記憶部１０６に対応する。
【００５２】
走行情報取得部４１１は、ユーザの走行毎の走行情報（ユーザＩＤ、日時、位置情報、心拍数）を走行情報管理部４０３に格納する。走行情報管理部４０３には、複数のユーザの走行毎の走行情報（データベース：ＤＢ）４１２が蓄積記憶され、ユーザ毎の走行情報に基づき、ユーザ毎の運動能力レベル（ＤＢ）４１３を生成する。
【００５３】
図４の例では、走行情報にユーザ情報が含まれている。以下の説明では、ユーザ情報は、走行情報に含まれるものとして説明する。
【００５４】
運動能力レベル（ＤＢ）４１３は、上述した運動能力に相当し、例えば、走行情報に含まれる日時と、位置情報に基づく所定のルートの運動時間と、走行距離と、このルート走行時の心拍数とに基づき算出され、運動能力別に複数のランク（例えば、上（上級者）、中（中級者）、下（初心者））が付与される。道路情報管理部１０６は、道路情報（ＤＢ）４１４に道路の位置情報と距離と勾配を記憶する。
【００５５】
道路情報ＤＢ４１４は、「形状」という部分に緯度経度とその道路の形の情報を含み記憶する。これにより、サーバ３００は、走行情報４１２から抽出した位置情報を基に、道路情報ＤＢ４１４の位置情報（緯度経度）がどの道路の形状のなかにあるのか検索することで道路情報を取得することができる。
【００５６】
図５は、実施例にかかる処理手順の一例を示すフローチャートである。ユーザの端末４００とサーバ３００は、下記手順にしたがい処理を行う。
【００５７】
はじめに、ユーザの端末４００は、ユーザＩＤと、指定情報（どのような走行条件で走りたいか）のユーザ入力（ステップＳ５０１）を受け付け、ユーザＩＤと、指定情報をサーバ３００に送信する（ステップＳ５０２）。例えば、ユーザ１の指定情報は、Ａ地点からＢ地点、運動時間３０分、心拍数１３０の運動、であるとする。
【００５８】
つぎに、サーバ３００は、ユーザＩＤと、指定情報を取得し（ステップＳ５０３）、指定情報に合うルートを作成する。サーバ３００は、このルート作成時、運動能力レベルＤＢ４１３を参照し、指定情報に合うユーザの運動能力レベルを決定する。例えば、ユーザ１のＩＤに紐づけられている運動能力レベルのランクが「中」であると決定されたとする。そして、サーバ３００は、決定されたユーザの運動能力レベルに近いユーザを運動能力レベルＤＢ４１３から抽出する（ステップＳ５０４）。この際、ユーザ１の運動能力レベル「中」と同じ運動能力レベル「中」を有する他のユーザを抽出する。なお、抽出するユーザは、同一ユーザ（ユーザ１）でもよい。
【００５９】
つぎに、サーバ３００は、ユーザが送信した指定情報（運動時間、心拍数）に近い運動時間と心拍数に紐づけられている位置情報（緯度・経度）を走行情報ＤＢ４１２から取得する（ステップＳ５０５）。例えば、抽出したユーザの走行履歴のうち、運動時間３０分、心拍数１３０で走行した履歴に紐づけられている位置情報であるＣ地点からＤ地点までの緯度・経度を取得する。
【００６０】
つぎに、サーバ３００は、取得した位置情報を元に、位置情報に対応する道路情報を道路情報ＤＢ４１４から取得する（ステップＳ５０６）。例えば、緯度・経度からＣ地点からＤ地点までの道路を取得する。
【００６１】
つぎに、サーバ３００は、取得した道路情報の長さと勾配から運動負荷を求める（ステップＳ５０７）。例えば、道路情報ＤＢ４１４には道路リンク毎の距離と勾配の情報が記憶されており、Ｃ地点からＤ地点の道路の距離と勾配が抽出できる。抽出した距離と勾配を元に計算式から例えば運動負荷は「１００」であることが求められる。尚、運動負荷の具体的な算出方法は後述する。
【００６２】
つぎに、サーバ３００は、ユーザの指定情報に含まれる地点（出発地・目的地）を通り、求めた運動負荷となるルートを作成する（ステップＳ５０８）。例えば、ユーザの指定情報であるＡ地点、Ｂ地点を通り、運動負荷「１００」のルートを作成する。この後、サーバ３００は、作成したルートをユーザに配信する（ステップＳ５０９）。
【００６３】
ところで、ユーザＩＤに紐づけられている運動能力レベルが運動能力レベルＤＢ４１３になかった場合（例えば、運動能力レベルＤＢ４１３の作成初期状態）が考えられる。このような場合、サーバ３００は、ユーザ（端末４００）に対し、１．自分の運動能力レベルに近そうなユーザを任意で選択、２．自分の運動能力レベルを任意に選択、３．ｘｋｍ（例：５ｋｍ）走行してもらうよう促す表示を行う、等の処理を行ってもよい。
【００６４】
以上のように、サーバ３００は、過去の走行履歴から運動負荷を計算し、ルートを作成する。この際、ユーザの指定する地点を通るルートが複数存在する場合、以下の処理で１のルートを確定する。
１．交通量の少ないルートを推奨ルートとして提示する。
２．運動能力レベルが同じ別のユーザが走行している実績があればそのルートを推奨ルートとして提示する。
３．走行している履歴が多いルートを推奨ルートとして提示する。
４．複数のルートをユーザに提示し、１のルートに確定するための選択を受け付ける。
【００６５】
また、サーバ３００は、ユーザへのルートを提案時、走行ルートだけを提示するのではなく、以下の情報を提示してもよい。
１．走行ルートをユーザが指定する走行時間と心拍数で走るための平均走行速度をユーザに提示する。平均走行速度は作成されたルートの距離と指定する走行時間から求めることができる。
２．走行ルート中に複数のチェックポイントを設け、複数のチェックポイントでの目標時間や、チェックポイントまでの距離・時間を提示する。例えば、チェックポイントまであとｘｋｍ、ｘ分という情報を提示する。
３．現実の心拍数と指定する心拍数を比較して目標心拍数に近づくためのメッセージを提示する。例えば、指定心拍数を満たすにはもう少しスピードを上げて走行してください、という情報を提示する。
【００６６】
図６は、実施例の走行情報ＤＢの内容例を示す図表である。走行情報ＤＢ４１２は、ユーザ毎の走行時のユーザＩＤ、日時、心拍数、地点（緯度経度）、を含む。 
【００６７】
図７は、実施例の運動能力レベルＤＢの内容例を示す図表である。運動能力レベルＤＢ４１３は、ユーザ毎のユーザＩＤ、運動能力レベル（上、中、下の各ランク）、を含む。
【００６８】
図８は、実施例の道路情報ＤＢの内容例を示す図表である。道路情報ＤＢ４１４は、道路のＩＤ（道路リンクＩＤ）、道路リンク毎の道路の形状、勾配（斜度）、長さ、を含む。
【００６９】
（ユーザ走行時の運動能力レベル生成の処理例）
図９は、実施例にかかるユーザ走行時の運動能力レベル生成の処理例を示すフローチャートである。ユーザは、走行時に、端末４００（クライアントマシン４０１）を介して指定情報（ユーザＩＤ、日時、位置情報、心拍数）をサーバ３００に送信する。サーバ３００は、端末４００から送信された各ユーザの指定情報を取得し、走行情報ＤＢ４１２に蓄積してデータベース化する。
【００７０】
そして、サーバ３００は、各ユーザの走行情報ＤＢ４１２の走行情報に基づき、各ユーザ毎の運動能力レベルＤＢ４１３を生成する。はじめに、走行情報ＤＢ４１２の所定のユーザの走行情報を取得し（ステップＳ９０１）、このユーザが走行したルートから運動負荷を検出する（ステップＳ９０２）。そして、運動負荷に対する心拍数の値を元にクラスター分析を行う（ステップＳ９０３）。クラスター分析結果により、上記の運動能力レベル（ランク）を決定し（ステップＳ９０４）、ユーザ毎に決定された運動能力レベル（上、中、下）を運動能力レベルＤＢ４１３に蓄積記憶する。運動能力レベルは、上記クラスター分析に限らず、ソート（検索）により決定することもできる。
【００７１】
（走行情報に基づく位置情報の抽出処理例）
図１０〜図１５は、実施例にかかる走行情報に基づく位置情報の抽出処理例を説明する図表である。例えば、ユーザの指定情報として、指定運動時間が３０分、心拍数１３０のとき、走行情報ＤＢ４１２から位置情報（緯度経度）を抽出する処理を説明する。
【００７２】
はじめに、図１０に示すようにユーザの走行時、端末４００は、一定の時間間隔でこのユーザ（ユーザＩＤ１）の情報をサーバ３００に送信し、サーバ３００は、ユーザ１の走行情報として蓄積していく。図示の例では、サーバ３００は、５秒毎に心拍数、緯度経度を記憶していく。
【００７３】
つぎに、図１１に示すように、サーバ３００は、記憶された時間間隔が大きく変わる箇所（図中ａ，ｂ）を検出する。例えば、端末４００は、ユーザが所定の運動を行うことで生じる心拍数が所定の閾値以上のときや、ユーザの運動を加速度センサで閾値以上の加速度を検出している期間中は、５秒毎に心拍数、緯度経度をサーバ３００に送信するが、心拍数や加速度が閾値未満のときには、送信しない。この場合、図中ａ，ｂの箇所のように時間間隔が空く。
【００７４】
この場合、図１２に示すように、サーバ３００は、ユーザ毎の時間間隔が一つにまとまっている時間区間をそれぞれ一つの走行履歴Ａ，Ｂと判断する。図示の例では走行履歴Ａ，Ｂはそれぞれ５分間隔のデータのまとまりからなる。そして、図１３に示すように、サーバ３００は、各走行履歴Ａ，Ｂの全体時間を求め、走行履歴Ａは３０分、走行履歴Ｂは１５分であることを求める。そして、サーバ３００は、指定運動時間「３０分」に近いデータとして走行履歴Ａであることを判断する。例えば、指定運動時間±５分を閾値とした時間範囲内（２５分〜３５分）に走行履歴Ａの全体時間が収まっていれば指定運動時間「３０分」に近いデータと判断する。
【００７５】
つぎに、図１４に示すように、サーバ３００は、走行履歴Ａの「３０分」間走行時の心拍数の平均を求める。そして、サーバ３００は、走行履歴Ａの心拍数（平均心拍数）Ａ１が指定情報の心拍数「１３０」に近いか判断する。例えば、指定情報の心拍数±１０を閾値とした心拍数範囲内（１２０〜１４０）に走行履歴Ａの心拍数が収まっていれば指定情報の心拍数「１３０」に近いデータと判断する。
【００７６】
なお、図１３および図１４の判断の結果、走行履歴Ａが指定情報の指定運動時間および心拍数のいずれかと異なる場合（閾値範囲外）には、この走行履歴Ａを用いない。
【００７７】
そして、サーバ３００は、図１５に示すように、心拍数が１３０と判断された走行履歴Ａについて、ユーザの走行履歴Ａの走行時の位置（緯度経度）Ａ２を取得し、道路情報ＤＢ４１４の道路リンクを抽出する。この後、サーバ３００は、走行履歴Ａのルートを作成し、運動負荷計算を行う。
【００７８】
（運動負荷算出処理例）
サーバ３００は、運動負荷算出について、平坦の距離には重みをつけないが、上り（坂）の距離には距離を増大させる重みづけをする。また、下りの距離には、距離を減少させる重みづけをする。
【００７９】
図１６は、実施例にかかる運動負荷算出処理例を説明する図表である。図１６に示すように、道路の勾配が大きいほど、距離に対して上りと下りでそれぞれ重みづけを重くする。図１６に示す重みづけは、勾配に応じた値を適宜設定できる。また、ユーザの運動内容（ランニング、サイクリング）別に重みづけの値を変更してもよい。例えば、サイクリングの場合には、重みづけの値をランニングの場合に比べて大きな値にしてもよい。そして、サーバ３００は、ルート中の上りの区間の勾配が上り３°、下りの区間の勾配が下り３°のとき、運動負荷＝（平坦の距離）×１．０＋（上りの距離）×１．２＋（下りの距離）×０．８の算出式を用いて求める。
【００８０】
具体的には、あるユーザと同じ運動能力レベルのユーザが、平均心拍数１３０で３０分運動したときの道路情報が、「距離５ｋｍのうち、上り区間が２ｋｍ、下り区間が１ｋｍ、平坦区間が２ｋｍ」である場合、サーバ３００は、運動負荷として、２×１．０＋２×１．２＋１×０．８＝５．２という値を算出する。
【００８１】
上記の例では距離と勾配に基づいて運動負荷を算出した例について説明したが、必ずしもこの算出方法に限定されない。例えば、走行履歴Ａのルートの距離の値をそのまま運動負荷として用いてもよい。この場合勾配の情報による重みづけを行わない。
【００８２】
（運動負荷に基づくルート作成処理例１）
図１７は、実施例にかかる運動負荷に基づくルート作成処理例を説明する図である。サーバ３００は、図１７に示すように、ユーザが指定する出発地（地点Ａ）から目的地（地点Ｂ）までの複数のルートを算出する。
【００８３】
サーバ３００は、図１６を用いて説明した運動負荷を所定の算出式を用いて求め、求めた運動負荷に最も近いルート、例えば図１７に示すルート１〜３が有する運動負荷のなかから最も近いルートを走行ルートとして決定し、ユーザに提示する。これに限らず、それぞれのルート１〜３の情報（運動負荷を含め）をユーザに提示し、ユーザによる選択を受け付ける構成としてもよい。
【００８４】
（運動負荷に基づくルート作成処理例２）
図１８は、実施例にかかる運動負荷に基づくルート作成処理例を説明する図である。図１８の例は、ランニング時に出発地と目的地が同じ周回ルートの例である。このような周回ルートについても、サーバ３００は、図１６を用いて説明した運動負荷を所定の算出式を用いて求め、求めた運動負荷に最も近いルート、例えば図１８に示すルート１〜３が有する運動負荷のなかから最も近いルートを走行ルートとして決定し、ユーザに提示する。
【００８５】
上記説明において、運動負荷が近いルートが複数ある場合、サーバ３００は、例えば、１．交通量の少ないルートを推奨ルートとして決定してもよい。これにより、安全で健康的に走行できる。また、２．運動能力レベルが同じ他のユーザが走行している実績があればそのルートを推奨ルートとして提示することもできる。これにより、他のユーザが実際に走行した実績があるルートを走行できる。また、３．走行している履歴が多いルートを推奨ルートとして提示する。これにより、多くの走行実績があるルートを走行できる。
【００８６】
尚、推奨ルートが更に複数存在する場合は、少なくともいずれか一つのルートを推奨ルートとして提示することとしてもよい。複数推奨ルートがある場合は、ユーザが任意で一つのルートを選択可能にする構成を設けてもよいし、複数の推奨ルートを同時に表示する構成を設けてもよい。
【００８７】
以上の処理により、作成されたルートは、ユーザの指定情報に合ったものとなる。そして、ユーザの心拍数と他のユーザの心拍数を統計的に用いるので、ユーザが新たに走行するときに最適な運動負荷が行えるように、ルートを提案できる。この際、データベース化された他のユーザの（同一ユーザを含む）統計をもとに、ユーザの運動能力レベルにあった運動負荷を提示できる。例えば、初級者（運動能力レベル「下」）のユーザには、道路の傾斜を避けたルートを提示できる。
【００８８】
また、ユーザ毎の心拍数や以前に走行したルートをサーバに保存しておくため、ユーザは過去の運動能力レベルやルートと、現在の運動能力レベルやルートを端末からサーバに通信接続して取得することで、時間経過毎の運動能力レベルやルートの変化を比較することもできる。さらには、ユーザは自身の運動能力レベルやルートを取得するに限らず、他のユーザの情報を運動能力レベルやルートを取得することで、他のユーザの運動能力レベルやルートを選択することもできる。
【００８９】
そして、実施例によれば、他のユーザの走行履歴を用いてルートを提示するため、走行履歴がないユーザであってもユーザの指定情報に合ったルートを提示できるようになる。例えば、走行履歴がないユーザの場合、ユーザがどの運動能力レベルを有しているか分からず、指定情報（指定運動時間３０分、指定の心拍数１３０）で運動（ランニング）したいとする。この際、ユーザは、指定する出発地点から到着地点までどれくらいの距離で走行すればよいのか判らない。指定運動時間３０分、心拍数１３０だけでは、アスリート（運動能力レベル「上」は１０ｋｍ、一般「中」は５ｋｍ、体力のない人「下」は３ｋｍ、とそれぞれ異なる距離となる。この点、実施例では、ユーザと同じ運動能力レベル（例えば、一般「中」）を有する他のユーザが、ユーザの指定情報に相当する過去に走行したルートを参照し、５ｋｍ走ったことを特定でき、一般ユーザは５ｋｍ走ればいいことを提示できる。
【００９０】
また、上記の実施例では、ユーザの端末側からサーバに指定情報（出発地と目的地等）を送信するが、指定情報として、さらに走行距離や運動負荷などを追加してもよく、よりユーザの指定情報に合ったルートを提示できるようになる。
【００９１】
また、ユーザの端末側からサーバに指定情報としてユーザＩＤを送り、サーバは、ユーザＩＤに基づき運動能力（運動能力レベル）を求めるが、ユーザは、さらに送信時の体温や心拍数を追加してもよく、より現在のユーザの体力（運動能力）に合ったルートを提示できるようになる。
【００９２】
また、ユーザの端末側からサーバに指定情報として、日時、位置情報、心拍数を送信する例を説明したが、指定情報として、端末は、さらに、速度、距離、気温、天気などの環境情報を追加して送信してもよく、より現在の環境に合ったルートを提示できるようになる。
【００９３】
また、サーバは、ユーザ１の運動能力レベルと同じユーザを抽出する場合、ユーザはユーザ１のデータを利用することで自分の過去の走行履歴を参照してもよい。
【００９４】
また、上述した説明では、ユーザが運動としてランニングする例を説明したが、これに限らず、サイクリング等他の運動にも適用でき、同様にルートを提示できる。
【００９５】
なお、本実施の形態で説明したルート作成方法、地図作成方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネットなどのネットワークを介して配布することが可能な伝送媒体であってもよい。
【符号の説明】
【００９６】
１００  ルート作成装置
１０１  指定情報取得部
１０２  抽出部
１０３  運動能力レベル格納部
１０４  ルート作成部
１０５  走行履歴情報格納部
１０６  道路情報記憶部（道路情報管理部）
１０７  運動負荷計算部
１０８  送信部
３００  サーバ
４００  端末
４０３  走行情報管理部
４１１  走行情報取得部
４１２  走行情報ＤＢ
４１３  運動能力レベルＤＢ
４１４  道路情報ＤＢ
【図１】
2020021503.tif 000003
【図２】
2020021503.tif 000004
【図３】
2020021503.tif 000005
【図４】
2020021503.tif 000006
【図５】
2020021503.tif 000007
【図６】
2020021503.tif 000008
【図７】
2020021503.tif 000009
【図８】
2020021503.tif 000010
【図９】
2020021503.tif 000011
【図１０】
2020021503.tif 000012
【図１１】
2020021503.tif 000013
【図１２】
2020021503.tif 000014
【図１３】
2020021503.tif 000015
【図１４】
2020021503.tif 000016
【図１５】
2020021503.tif 000017
【図１６】
2020021503.tif 000018
【図１７】
2020021503.tif 000019
【図１８】
2020021503.tif 000020