(57)【要約】【課題】俯瞰図画像上で、ユーザの位置を正確に出力する。【解決手段】システム２０のサーバ装置３０は、現実の空間における、ある箇所の位置を、現実位置として記憶する位置対応ＤＢ３２を含む。位置対応ＤＢ３２には、現実位置の各々に対して、俯瞰図画像での位置である俯瞰図位置が関連付けられて記憶される。位置取得装置４６は、現実の空間における携帯端末１０の位置を、端末位置として取得する。システム２０はさらに、位置対応ＤＢ３２に記憶されている現実位置のうち、当該端末位置に近い現実位置を抽出する制御部３４を含む。制御部３４は、抽出した現実位置に対する、当該端末位置の相対位置をもとにして、位置対応ＤＢ３２で当該現実位置に関連付けられて記憶されている俯瞰図位置から、当該端末位置に相当する俯瞰図画像での位置を出力する。【選択図】図２
2017167442.tif 000002
【特許請求の範囲】
【請求項１】
地上が立体的に模して描かれた俯瞰図画像での、携帯端末の位置を出力する画像位置出力システムであって、
前記画像位置出力システムは、現実の空間における、ある箇所の位置を、現実位置として記憶する記憶装置を含み、
前記記憶装置には、前記記憶装置に記憶されている現実位置の各々に対して、俯瞰図画像での位置である俯瞰図位置が関連付けられて記憶され、
前記携帯端末は、現実の空間における前記携帯端末の位置を、端末位置として取得し、
前記画像位置出力システムはさらに、
前記記憶装置に記憶されている現実位置のうち、当該端末位置に近い現実位置を抽出する抽出手段と、
前記抽出手段によって抽出された現実位置に対する、当該端末位置の相対位置をもとにして、前記記憶装置で当該現実位置に関連付けられて記憶されている俯瞰図位置から、当該端末位置に相当する俯瞰図画像での位置を出力する位置出力手段とを含む、画像位置出力システム。
【請求項２】
前記記憶装置には、現実の空間における、ある箇所の緯度、経度、及び高度が現実位置として記憶され、
前記携帯端末は、現実の空間における前記携帯端末の緯度、経度、及び高度を、端末位置として取得し、
前記抽出手段は、前記記憶装置に記憶されている現実位置の緯度、経度、及び高度と、端末位置の緯度、経度、及び高度とを用いて、当該現実位置と端末位置との距離を算出して、距離が短い現実位置を抽出する、請求項１に記載の画像位置出力システム。
【請求項３】
前記抽出手段は、前記記憶装置に記憶されている現実位置の各々に対して、当該現実位置の緯度と端末位置の緯度との差の二乗である緯度差二乗値、当該現実位置の経度と端末位置の経度との差の二乗である経度差二乗値、及び当該現実位置の高度と端末位置の高度との差に１以上の数を掛けたものの二乗である高度差二乗値を算出して、緯度差二乗値と経度差二乗値と高度差二乗値との和の平方根を、当該現実位置と端末位置との距離として算出して、距離が短い現実位置を抽出する、請求項２に記載の画像位置出力システム。
【請求項４】
地上が立体的に模して描かれた俯瞰図画像での、携帯端末の位置を出力する画像位置出力システムとして、コンピュータにより実行される画像位置出力プログラムであって、
記憶装置には、現実の空間における、ある箇所の位置が、現実位置として記憶されており、
前記記憶装置には、前記記憶装置に記憶されている現実位置の各々に対して、俯瞰図画像での位置である俯瞰図位置が関連付けられて記憶され、
前記携帯端末は、現実の空間における前記携帯端末の位置を、端末位置として取得し、
当該コンピュータを、
前記記憶装置に記憶されている現実位置のうち、当該端末位置に近い現実位置を抽出する抽出手段と、
前記抽出手段によって抽出された現実位置に対する、当該端末位置の相対位置をもとにして、前記記憶装置で当該現実位置に関連付けられて記憶されている俯瞰図位置から、当該端末位置に相当する俯瞰図画像での位置を出力する位置出力手段として機能させる、画像位置出力プログラム。
【請求項５】
地上が立体的に模して描かれた俯瞰図画像での、携帯端末の位置を出力する画像位置出力システムを用いる画像位置出力方法であって、
記憶装置が、現実の空間における、ある箇所の位置を、現実位置として記憶して、かつ、現実位置の各々に対して、俯瞰図画像での位置である俯瞰図位置を関連付けて記憶する記憶ステップと、
前記携帯端末が、現実の空間における前記携帯端末の位置を、端末位置として取得するステップと、
前記画像位置出力システムが、前記記憶装置に記憶されている現実位置のうち、当該端末位置に近い現実位置を抽出する抽出ステップと、
前記画像位置出力システムが、前記抽出ステップにおいて抽出された現実位置に対する、当該端末位置の相対位置をもとにして、前記記憶装置で当該現実位置に関連付けられて記憶されている俯瞰図位置から、当該端末位置に相当する俯瞰図画像での位置を出力する位置出力ステップとを含む、画像位置出力方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、現実の地形を模して描かれた俯瞰図画像でのユーザの位置を正確に出力する画像位置出力システム、画像位置出力プログラム、及び画像位置出力方法に関する。
【背景技術】
【０００２】
カーナビゲーション装置のように、地図画像上にユーザの現在位置を正確に示す技術が、従来から開発されている。
【０００３】
特許文献１では、ユーザが携帯電話を保持しているときに、携帯電話の表示画面に地図画像を表示して、地図画像上で携帯電話の現在位置を表示する技術が、開示されている。特に、特許文献１では、実際の地形を縮小して表示した縮尺地図のための画像のほかに、絵地図画像を用いる。絵地図画像とは、実際の地形に準じて描かれる地図画像であって、主要な道路及び建物等に関しては、通常の縮尺比率で表示するのではなく、通常の縮尺比率と比して拡大して表示される。例えば、絵地図画像においては、主要な道路は、通常の縮尺比率で縮小した道幅で描かれるのではなく、道幅をやや広くして表示されたりする。また、主要な建物は、通常の縮尺比率で縮小してそのまま表示するのではなく、やや拡大して描かれたりする。特許文献１では、携帯電話の表示画面に表示された絵地図画像上での、ユーザの携帯電話の現在位置を表示する技術が開示されている。
【０００４】
特許文献２では、ユーザが携帯電話を保持しているときに、携帯電話の現在位置を測定し、その測定結果にしたがって携帯電話と各種避難所との相対位置を表示画面に表示する技術が、開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２‐１８１５８３号公報
【特許文献２】特開２０１５‐０５３０３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明において、地上を立体的に模して描いた画像であって、実際の地形を高い視点から見下ろしたように描いた画像を俯瞰図画像と称する。本発明における俯瞰図画像は、必ずしも、建物及び道路等のようなものが、全て同じ縮尺比率で縮小されて表示されているとは限らないものとする。俯瞰図画像において、主要な建物は、現実の建物の形状に準じて、立体的に描かれたりする。
【０００７】
ユーザが、俯瞰図画像の基となった現実の場所にいるときに、俯瞰図画像上でのユーザ自身の位置を正確に知りたいとする。例えば、俯瞰図画像上に、複数階層を有する建物の画像が立体的に描かれており、ユーザが当該建物の画像の基になった建物内にいるときに、俯瞰図画像上に描かれた建物のどの階層に位置し、その階層のうちのどこに位置するかを知りたいものとする。
【０００８】
特許文献１及び特許文献２のいずれにも、俯瞰図画像上でのユーザの位置を出力する方法については、記載されていない。
【０００９】
本発明の目的は、俯瞰図画像上で、ユーザの位置を正確に出力する画像位置出力システム、画像位置出力プログラム、及び画像位置出力方法を提供することである。
【課題を解決するための手段】
【００１０】
本発明の第１の局面にかかる画像位置出力システムは、地上が立体的に模して描かれた俯瞰図画像での、携帯端末の位置を出力するものである。画像位置出力システムは、現実の空間における、ある箇所の位置を、現実位置として記憶する記憶装置を含む。記憶装置には、記憶装置に記憶されている現実位置の各々に対して、俯瞰図画像での位置である俯瞰図位置が関連付けられて記憶される。携帯端末は、現実の空間における携帯端末の位置を、端末位置として取得する。画像位置出力システムはさらに、記憶装置に記憶されている現実位置のうち、当該端末位置に近い現実位置を抽出する抽出手段と、抽出手段によって抽出された現実位置に対する、当該端末位置の相対位置をもとにして、記憶装置で当該現実位置に関連付けられて記憶されている俯瞰図位置から、当該端末位置に相当する俯瞰図画像での位置を出力する位置出力手段とを含む。
【００１１】
端末位置に近い現実位置が抽出され、抽出された現実位置に対する、端末位置の相対位置をもとにして、端末位置に相当する俯瞰図画像上の位置が出力されるため、ユーザは、携帯端末を保持しているときに、俯瞰図画像におけるユーザの位置を正確に知ることができる。その結果、俯瞰図画像上で、ユーザの位置を正確に出力する画像位置出力システムを提供することができる。
【００１２】
好ましくは、記憶装置には、現実の空間における、ある箇所の緯度、経度、及び高度が現実位置として記憶される。携帯端末は、現実の空間における携帯端末の緯度、経度、及び高度を、端末位置として取得する。抽出手段は、記憶装置に記憶されている現実位置の緯度、経度、及び高度と、端末位置の緯度、経度、及び高度とを用いて、当該現実位置と端末位置との距離を算出して、距離が短い現実位置を抽出する。
【００１３】
より好ましくは、抽出手段は、記憶装置に記憶されている現実位置の各々に対して、当該現実位置の緯度と端末位置の緯度との差の二乗である緯度差二乗値、当該現実位置の経度と端末位置の経度との差の二乗である経度差二乗値、及び当該現実位置の高度と端末位置の高度との差に１以上の数を掛けたものの二乗である高度差二乗値を算出して、緯度差二乗値と経度差二乗値と高度差二乗値との和の平方根を、当該現実位置と端末位置との距離として算出して、距離が短い現実位置を抽出する。
【００１４】
このように距離が算出されると、高度の値が少しでも異なれば、高度差二乗値は極度に大きくなる。したがって、当該抽出手段において、端末位置と高度が同程度である現在位置が抽出されることになる。高度が同程度である現在位置と、当該現在位置に関連付けられている俯瞰図位置とを用いれば、端末位置に相当する俯瞰図上の位置をより正確に出力することができる。
【００１５】
本発明の第２の局面にかかる画像位置出力プログラムは、地上が立体的に模して描かれた俯瞰図画像での、携帯端末の位置を出力する画像位置出力システムとして、コンピュータにより実行されるものである。記憶装置には、現実の空間における、ある箇所の位置が、現実位置として記憶されている。記憶装置には、記憶装置に記憶されている現実位置の各々に対して、俯瞰図画像での位置である俯瞰図位置が関連付けられて記憶されている。携帯端末は、現実の空間における携帯端末の位置を、端末位置として取得する。画像位置出力プログラムは、当該コンピュータを、記憶装置に記憶されている現実位置のうち、当該端末位置に近い現実位置を抽出する抽出手段と、抽出手段によって抽出された現実位置に対する、当該端末位置の相対位置をもとにして、記憶装置で当該現実位置に関連付けられて記憶されている俯瞰図位置から、当該端末位置に相当する俯瞰図画像での位置を出力する位置出力手段として機能させる。
【００１６】
本発明の第３の局面にかかる画像位置出力方法は、地上が立体的に模して描かれた俯瞰図画像での、携帯端末の位置を出力する画像位置出力システムを用いる画像位置出力方法である。当該画像位置出力方法は、記憶装置が、現実の空間における、ある箇所の位置を、現実位置として記憶して、かつ、現実位置の各々に対して、俯瞰図画像での位置である俯瞰図位置を関連付けて記憶する記憶ステップと、携帯端末が、現実の空間における携帯端末の位置を、端末位置として取得するステップと、画像位置出力システムが、記憶装置に記憶されている現実位置のうち、当該端末位置に近い現実位置を抽出する抽出ステップと、画像位置出力システムが、抽出ステップにおいて抽出された現実位置に対する、当該端末位置の相対位置をもとにして、記憶装置で当該現実位置に関連付けられて記憶されている俯瞰図位置から、当該端末位置に相当する俯瞰図画像での位置を出力する位置出力ステップとを含む。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施の形態にかかる携帯端末１０の外観構成を示す図である。
【図２】本発明の実施の形態にかかるシステム２０の構成を示す図である。
【図３】図２に示す表示部４２に表示される俯瞰図画像の具体例を示す図である。
【図４】図２に示す位置対応ＤＢ３２の構成を示す図である。
【図５】携帯端末１０及びサーバ装置３０の各々の機能を実現するコンピュータプログラムの制御構造を示すフローチャートである。
【図６】図５に示すステップＳ１４６の詳細なフローを示す図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施の形態について、添付図面に基づき詳細に説明する。なお、以下の実施の形態の説明では、同一の部品には同一の参照番号を付してある。それらの機能及び名称も同一である。したがって、それらについての詳細な説明は繰返さない。  ［ネットワーク環境］  
【００１９】
図１は、本発明の実施の形態にかかる携帯端末１０の外観構成を示す図である。図２は、本発明の実施の形態にかかるシステム２０の構成を示す図である。図１及び図２を参照して、システム２０は、インターネット３８に接続され、インターネット３８に接続される携帯端末の要求に応じて、データの送受信を行なうサーバ装置３０と、第１の基地局６４及び第２の基地局６２などの複数の基地局と、これら基地局を介してそれぞれ電話回線網６６及びインターネット３８に接続可能で、インターネット３８に接続されるサーバ装置３０とデータの送受信をするための通信機能を備える携帯端末１０とを含む。  ［携帯端末１０の構成］  （携帯端末１０の外観構成）  
【００２０】
図１を参照して、携帯端末１０は、例えば、電話機能を有するスマートフォン（Ｓｍａｒｔｐｈｏｎｅ）からなる。携帯端末１０は、偏平状の筐体１２と、筐体１２の一面に配されたタッチパネルディスプレイ１４とを含む。タッチパネルディスプレイ１４は、タッチパネル機能を有しており、指及びペンなどで画面に触れることでタッチパネルディスプレイ１４から直接入力を行なうことが可能となっている。
【００２１】
携帯端末１０は、携帯性を向上させるために本体は小型化されている一方、視認性等を向上させるためにタッチパネルディスプレイ１４は本体に対して大画面化されている。そのため、タッチパネルディスプレイ１４は筐体１２の一面の大部分を占めており、その周囲に最小限のハードキー１６が設置された構成となっている。従って、携帯端末１０においては、その操作の大部分がタッチパネル機能を有するタッチパネルディスプレイ１４に触れることで行なわれる。
（携帯端末１０の機能的構成）
【００２２】
図２を参照して、携帯端末１０はさらに、携帯端末１０の制御中枢を司る、実質的にコンピュータからなる制御部４０を含む。携帯端末１０はさらに、いずれもＢｕｓライン５８を介して制御部４０に接続され、他の携帯端末との間で通話しているときに、当該他の携帯端末と音声の無線通信を行なうための通話装置４８、他の携帯端末又はサーバ装置３０との間でデータの無線通信を行なう通信装置５６、入力装置５２、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）により携帯端末１０の現在位置を緯度、経度、及び高度の形で取得し制御部４０に与える位置取得装置４６、着信音等、制御部４０からの指示に応答して指示された音を出力する音声出力装置５０、並びに制御部４０が携帯端末１０の制御に使用する種々の情報を記憶する記憶装置５４を含む。  
【００２３】
タッチパネルディスプレイ１４は、Ｂｕｓライン５８を介して制御部４０に接続され、制御部４０から与えられる表示データを表示する表示部４２を含む。表示部４２は、 例えば、液晶ディスプレイ又は有機ＥＬディスプレイからなる。  
【００２４】
タッチパネルディスプレイ１４はさらに、Ｂｕｓライン５８を介して制御部４０に接続され、ユーザの指等が接触又は近接した点である指示点の指示面内での位置座標（タッチパネルディスプレイ１４の位置座標）を抽出し、抽出した位置座標に対応した信号を生成して制御部４０に出力するタッチパネル４４を含む。
【００２５】
入力装置５２は、図１に示すハードキー１６を含む。通話装置４８及び通信装置５６の各々は、何れも図示しないアンテナ、ＲＦ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ）部、変調部及び復調部等を含む。
［サーバ装置３０の機能的構成］
【００２６】
サーバ装置３０は、サーバ装置３０の制御中枢を司る、実質的にコンピュータからなる 制御部３４と、何れもＢｕｓライン６０を介して制御部３４に接続された、他の端末との間でデータの無線通信 を行なうための通信装置３６、種々の情報を記憶するための記憶装置６８、及び位置対応ＤＢ３２とを含む。
［俯瞰図画像］
【００２７】
サーバ装置３０の記憶装置６８には、俯瞰図画像が記憶されている。図３（Ａ）、図３（Ｂ）、及び図３（Ｃ）は、各々、記憶装置６８に記憶される俯瞰図画像の例を示す図である。
【００２８】
図３（Ａ）に示す俯瞰図画像には、複数階層を有する建物を立体的に示す画像８０Ａ、８２Ａ、８４Ａ、及び８５Ａと、道路を示す画像８６Ａ、及び８８Ａと、川を示す画像９０Ａと、橋を示す画像９２Ａ、９４Ａ、及び９６Ａとが配置されている。図３（Ａ）の俯瞰図画像では、上側が北、下側が南、右側が東、左側が西をそれぞれ表す。
【００２９】
図３（Ｂ）に示す俯瞰図画像には、図３（Ａ）と同様にして、複数階層を有する建物を立体的に示す画像と、道路、川、及び橋等を示す画像とが配置されている。図３（Ｂ）の俯瞰図画像では、右斜め上の方向が北を表し、北の方向と反対の方向が南を表しており、右斜め下の方向であって北の方向と垂直な方向が東を表し、東の方向と反対の方向が西を表している。
【００３０】
図３（Ｃ）に示す俯瞰図画像では、北、南、東、及び西の方向は、図３（Ａ）に示す俯瞰図画像と同様である。また、図３（Ｃ）に示す俯瞰図画像には、図３（Ａ）と同様にして、複数階層を有する建物を立体的に示す画像と、道路、川、及び橋等を示す画像とが配置されているが、建物のサイズ、及び道の長さ等は、図３（Ｃ）に示す俯瞰図画像と図３（Ａ）に示す俯瞰図画像とでは異なる。
［位置対応ＤＢ３２の構成］
【００３１】
位置対応ＤＢ３２は、図３（Ａ）に示す俯瞰図画像上での複数の箇所の各々に対して、当該箇所と、当該箇所に対応する緯度、経度、及び高度とが関連付けられて記憶されている。俯瞰図画像に、複数階層を有する建物を立体的に示す画像が配置されているとき、位置対応ＤＢ３２には、当該建物の各階層の複数の箇所の各々に対して、当該箇所と、当該箇所に対応する緯度、経度、及び高度とが対応付けられて記憶されているものとする。
【００３２】
図４は、位置対応ＤＢ３２の構成を示す図である。図４を参照して、位置対応ＤＢ３２においては、俯瞰図画像の１つの箇所に対して、１つのレコードが割当てられる。位置対応ＤＢ３２の各レコードは、当該レコードを識別するために一意に付される５桁の数字からなるＩＤフィールドと、当該レコードに対応する俯瞰図画像上の箇所での緯度の値を記憶するための緯度フィールドと、当該レコードに対応する俯瞰図画像上の箇所での経度の値を記憶するための経度フィールドと、当該レコードに対応する俯瞰図画像上の箇所での高度の値を記憶するための高度フィールドとを含む。
【００３３】
位置対応ＤＢ３２の各レコードはさらに、俯瞰図画像上の箇所の水平位置の値を記憶する水平位置フィールドと、俯瞰図画像上の箇所の垂直位置の値を記憶する垂直位置フィールドとを含む。
【００３４】
水平位置フィールドに記憶される値の範囲は０〜１００までである。位置対応ＤＢ３２の、あるレコードに対応する箇所が、俯瞰図画像の左端又は右端にあるときは、水平位置フィールドの値は、それぞれ０又は１００である。俯瞰図画像の左端から右端までに、０〜１００の値が等間隔に割当てられており、俯瞰図画像の左端からの距離に応じて、水平位置フィールドには、０〜１００までの値が割当てられる。
【００３５】
垂直位置フィールドに記憶される値の範囲は０〜１００までである。位置対応ＤＢ３２のあるレコードに対応する箇所が、俯瞰図画像の上端又は下端にあるときは、垂直位置フィールドの値は、それぞれ０又は１００である。俯瞰図画像の上端から下端までに、０〜１００の値が等間隔に割当てられており、俯瞰図画像の上端からの距離に応じて、垂直位置フィールドには、０〜１００までの値が割当てられる。
【００３６】
位置対応ＤＢ３２の各レコードはさらに、音声ファイルを記憶する音声フィールドを含む。音声フィールドには、各レコードに対応する俯瞰図画像上の箇所の特徴を示す音声が、記憶される。例えば、あるレコードの俯瞰図画像上の箇所が川であったときは、川のせせらぎの音声が、サーバ装置３０の管理者によって予め記憶されることがある。また、例えば、あるレコードの俯瞰図画像上の箇所が電車の踏切であったときは、踏切音が、管理者によって予め記憶されることがある。音声フィールドの値がＮＵＬＬであるときは、音声ファイルがないことを意味する。
【００３７】
本実施の形態において、位置対応ＤＢ３２の各レコードは、サーバ装置３０の管理者によって、予め登録される。
【００３８】
管理者は、以下のようにして、位置対応ＤＢ３２の各レコードを登録する。
【００３９】
管理者は、ＧＰＳにより現在位置を緯度、経度、及び高度の形で取得することができる携帯電話を保持して、俯瞰図画像の基となった現実の場所に赴く。当該携帯電話には、文書を編集するソフトウェア（以下、「文書編集ソフト」と称する。）が備えられているものとする。管理者は、俯瞰図画像の基となる現実の場所での、ある地点に移動し、携帯電話に現在位置を取得させる。管理者は、その地点における俯瞰図座標上での水平位置及び垂直位置を目視で計測し、計測した水平位置及び垂直位置を、その現在位置に関連付けて文書編集ソフトで記録する。管理者は、他の地点においても同様にして、その記録を繰返す。その後、管理者は、位置対応ＤＢ３２に、文書編集ソフトに記録されたデータを登録する。
【００４０】
システム２０は、携帯端末１０を保持したユーザが、俯瞰図画像の基になった現実の場所にいるときに、携帯端末１０によって計測された緯度、経度、及び高度にしたがって、俯瞰図座標上での携帯端末１０の位置を出力する画像位置出力システムとして機能する。
［ソフトウェア構成］
【００４１】
図５は、システム２０のプログラム構成をフローチャート形式で示す図である。これらのプログラムは、携帯端末１０の記憶装置５４及びサーバ装置３０の記憶装置６８にそれぞれ記憶されており、携帯端末１０の制御部４０及びサーバ装置３０の制御部３４によってそれぞれ実行される。
【００４２】
図５を参照して、携帯端末１０側のプログラムは、携帯端末１０の１つのアプリケーションプログラムであり、携帯端末１０のユーザに起動指示されることにより実行される。携帯端末１０側では、アプリケーションプログラムがユーザによって起動支持された後に、俯瞰図画像の送信を要求するリクエスト（以下、「俯瞰図画像送信リクエスト」と称する。）をサーバ装置３０に送信する（ステップＳ１００）。
【００４３】
サーバ装置３０側では、サーバ装置３０が起動されると、携帯端末１０から俯瞰図画像送信リクエストを受信するまで待機する（ステップＳ１４０）。サーバ装置３０側では、ステップＳ１４０において、携帯端末１０から俯瞰図画像送信リクエストを受信したときに、俯瞰図画像を携帯端末１０に送信する（ステップＳ１４２）。
【００４４】
再び図３（Ａ）を参照して、ステップＳ１４２においてサーバ装置３０から送信される俯瞰図画像上には、位置登録ボタン８１Ａ、及び終了ボタン８３Ａが表示されている。
【００４５】
位置登録ボタン８１Ａは、位置対応ＤＢ３２のレコードを追加するために携帯端末１０のユーザによって選択されるボタンであり、詳細な機能については後述する。終了ボタン８３Ａは、携帯端末１０側のプログラムを終了させるためにユーザによって選択されるボタンである。
【００４６】
再び図５を参照して、携帯端末１０側では、ステップＳ１００の後、サーバ装置３０から、俯瞰図画像を受信するまで待機し（ステップＳ１０２）、ステップＳ１０２においてサーバ装置３０から俯瞰図画像を受信したときに、当該俯瞰図画像を表示部４２に表示する（ステップＳ１０４）。
【００４７】
携帯端末１０側では、ステップＳ１０４の後、位置取得装置４６に緯度、経度、及び高度を取得させ、俯瞰図画像上の携帯端末１０の位置の出力を要求するリクエスト（以下、「画像位置出力リクエスト」と称する。）に緯度、経度、及び高度を付加させて、当該画像位置出力リクエストをサーバ装置３０に送信する（ステップＳ１０６）。
【００４８】
サーバ装置３０側では、ステップＳ１４２の後、携帯端末１０から画像位置出力リクエストを受信するまで待機し（ステップＳ１４４）、ステップＳ１４４において携帯端末１０から画像位置出力リクエストを受信したときに、画像位置出力リクエストに付加されている緯度、経度、及び高度にしたがって、俯瞰図画像上での水平位置及び垂直位置を算出する（ステップＳ１４６）。その算出方法については、後述する。
【００４９】
サーバ装置３０側では、ステップＳ１４６の後、算出された水平位置及び垂直位置を携帯端末１０に送信する（ステップＳ１４８）。サーバ装置３０側では、ステップＳ１４８においては、位置対応ＤＢ３２の全てのレコードの各々について、当該レコードの緯度フィールドの値と携帯端末１０の緯度の値との差の二乗値、当該レコードの経度フィールドの値と携帯端末１０の経度の値との差の二乗値、及び当該レコードの高度フィールドの値と携帯端末１０の高度の値との差の二乗値を算出し、それらの二乗値の和の平方根（以下、「ユークリッド距離」と称する。）を算出する。その後、ステップＳ１４８においては、位置対応ＤＢ３２のレコードのうち、ユークリッド距離の値が最も短いレコードの音声フィールドに音声ファイルが記憶されているときに、音声ファイルをも携帯端末１０に送信する。
【００５０】
サーバ装置３０側では、ステップＳ１４８の後、プログラムの制御をステップＳ１４４に戻す。
【００５１】
携帯端末１０側では、ステップＳ１０６の後、サーバ装置３０から俯瞰図画像上での水平位置及び垂直位置のデータを受信するまで待機し（ステップＳ１０８）、ステップＳ１０８において、サーバ装置３０から水平位置及び垂直位置のデータを受信したときに、表示部４２に表示された俯瞰図画像上において、当該水平位置及び垂直位置にマークを表示する（ステップＳ１１０）。表示されるマークは、円の形状をした画像であり、色彩が付されているものとする。円の形状をした画像のほかに、俯瞰図画像上において、携帯端末１０の位置を示すことをユーザが想起できるようなものであれば、そのマークはどのような形状、模様、及び色彩が付与されていてもよい。携帯端末１０側では、ステップＳ１１０においては、ステップＳ１０８でサーバ装置３０から音声ファイルをも受信したときは、音声出力装置５０から音声ファイルの音声を出力する。
【００５２】
携帯端末１０側では、ステップＳ１１０の後、ユーザによって、位置登録ボタン８１Ａ、及び終了ボタン８３Ａのいずれかが押下されたか否かを判定する（ステップＳ１１２）。携帯端末１０側では、ステップＳ１１２において、位置登録ボタン８１Ａ、及び終了ボタン８３Ａのいずれもユーザによって押下されなかったときは、プログラムの制御はステップＳ１０６に戻る。
【００５３】
携帯端末１０側では、ステップＳ１１０において位置登録ボタン８１Ａがユーザによって押下されたとき、位置対応ＤＢ３２のレコードを追加することを要求するリクエスト（以下、「位置登録リクエスト」と称する。）をサーバ装置３０に送信して、俯瞰図画像が表示されている表示部４２上に「現在位置を押下してください」との旨のメッセージを表示して、表示部４２上に表示されている俯瞰図画像のいずれかの箇所がユーザによって押下されるまで待機する（ステップＳ１１４）。
【００５４】
ユーザは、そのメッセージが表示されたことを確認した後、表示部４２上に表示されている俯瞰図画像のうちで、自分自身のいる箇所を指又はタッチペンでタッチする。
【００５５】
携帯端末１０側では、ステップＳ１１４において表示部４２上に表示されている俯瞰図画像のいずれかの箇所がユーザによって押下されたときに、ユーザによってタッチされた箇所のタッチパネル４４の位置座標から、俯瞰図画像上での水平位置及び垂直位置を算出して、位置取得装置４６に経度、緯度、及び高度を取得させ、当該水平位置及び垂直位置、並びに、緯度、経度、及び高度をサーバ装置３０に送信する（ステップＳ１１６）。ユーザによってタッチされる箇所のタッチパネル４４の位置座標と、俯瞰図画像上での水平位置及び垂直位置とは、予め対応付けられており、その対応付けの詳細は、本発明の本質的部分ではないので、ここでは説明しない。
【００５６】
携帯端末１０側では、ステップＳ１１６の後、プログラムの制御はステップＳ１０６に戻る。
【００５７】
携帯端末１０側では、ステップＳ１１２において、終了ボタン８３Ａがユーザによって押下されたとき、本プログラムの終了の旨を伝えるリクエスト（以下、「終了リクエスト」と称する。）をサーバ装置３０に送信して、携帯端末１０側でのプログラムは終了する。
【００５８】
サーバ装置３０側では、ステップＳ１４４においては、画像位置出力リクエストの他にも、位置登録リクエスト及び終了リクエストを携帯端末１０から受信するまで待機している。
【００５９】
サーバ装置３０側では、ステップＳ１４４において位置登録リクエストを携帯端末１０から受信したときに、携帯端末１０から俯瞰図画像上での水平位置及び垂直位置、並びに、経度、緯度、及び高度の値を受信するまで待機する（ステップＳ１５０）。サーバ装置３０側では、ステップＳ１５０において、水平位置及び垂直位置、並びに、経度、緯度、及び高度の値を受信したときに、５桁の数字のうちで位置対応ＤＢ３２のＩＤフィールドに存在しないものを自動的に出力し、ＩＤフィールド、緯度フィールド、経度フィールド、高度フィールド、水平位置フィールド、垂直位置フィールド、及び音声フィールドの値を、それぞれ、新たに出力した５桁の数字、携帯端末１０から送信された緯度の値、経度の値、高度の値、水平位置の値、垂直位置の値、及びＮＵＬＬとしたレコードを、位置対応ＤＢ３２に追加する（ステップＳ１５２）。なお、５桁の数字のＩＤを新たに出力する方法の詳細については、本発明の本質的な部分ではないので、ここでは説明しない。
【００６０】
サーバ装置３０側では、ステップＳ１５２の後、プログラムの制御はステップＳ１４４に戻る。
【００６１】
携帯端末１０のユーザは、表示部４２に表示された俯瞰図画像上のマークが、現在位置と異なるものと判断したときは、位置登録ボタン８１Ａを押下する。それによって、位置対応ＤＢ３２のレコードが追加されるので、再度、ステップＳ１０６〜ステップＳ１１０の処理が繰返されることにより、俯瞰図画像上のマークがより正確に、携帯端末１０の現在位置を表示することができるようになる。
【００６２】
サーバ装置３０側では、ステップＳ１４４において終了リクエストを受信したときに、このプログラムの制御はステップＳ１４０に戻る。
【００６３】
図６は、図５に示すステップＳ１４６で実行される、俯瞰図画像上での位置を出力するサブルーチンの制御構造をフローチャート形式で示す図である。
【００６４】
図６を参照して、このプログラムは、変数ｘ、ｙ、及びｚに、携帯端末１０から受信した、それぞれ経度、緯度、及び高度の値を代入するステップＳ２００と、ステップＳ２００の後、位置対応ＤＢ３２の全てのレコードの各々に対して、当該レコードの緯度フィールドの値と変数ｙの値との差の二乗値、当該レコードの経度フィールドの値と変数ｘの値との差の二乗値、及び当該レコードの高度フィールドの値と変数ｚの値との差に１０を掛けたものの二乗値を算出し、それら３つの二乗値の和の、平方根（以下、「係数補正距離」と称する。）を算出するステップＳ２０２とを含む。高度の値の差に１０を掛ける理由については後述する。
位置対応ＤＢ３２のレコードの総数をｎとする。
【００６５】
このプログラムはさらに、ステップＳ２０２の後、位置対応ＤＢ３２のレコードを、ステップＳ２０２において算出した係数補正距離の値の小さいものから順番に並べて、並べられた順番に、緯度フィールドの値を配列変数ｙ［１］〜ｙ［ｎ］にそれぞれ代入し、経度フィールドの値を配列変数ｘ［１］〜ｘ［ｎ］にそれぞれ代入し、高度フィールドの値を配列変数ｚ［１］〜ｚ［ｎ］にそれぞれ代入し、水平位置フィールドの値を配列変数Ｘ［１］〜Ｘ［ｎ］にそれぞれ代入し、垂直位置フィールドの値を配列変数Ｙ［１］〜Ｙ［ｎ］にそれぞれ代入するステップＳ２０４を含む。配列変数のインデックスの値が小さくなるほど、ｘ［ｊ］、ｙ［ｊ］、及びｚ［ｊ］（ｊは１〜ｎまでの整数とする。）と、ｘ、ｙ、及びｚとの係数補正距離の値は小さくなる。
【００６６】
このプログラムはさらに、ステップＳ２０４の後、変数ｍに１を代入するステップＳ２０６と、ステップＳ２０６の後、配列変数ｙ［ｍ］の値が変数ｙの値以上であるか否かを判定して、判定結果に応じて制御の流れを分岐させるステップＳ２０８と、ステップＳ２０８において配列変数ｙ［ｍ］の値が変数ｙの値より小さいと判定されたときに（ＮＯの場合）、変数ｍの値に１を加算して、このプログラムの制御をステップＳ２０８に戻すステップＳ２１０と、ステップＳ２０８において配列変数ｙ［ｍ］の値が変数ｙの値以上であると判定されたときに（ＹＥＳの場合）、変数ｙｕに変数ｙ［ｍ］の値を代入して、かつ変数Ｙｕに変数Ｙ［ｍ］の値を代入するステップＳ２１２とを含む。
【００６７】
ステップＳ２０８〜ステップＳ２１２は、位置対応ＤＢ３２のレコードを係数補正距離の値の昇順で並べて、係数補正距離の値が最も小さいレコードから順番に、レコードの緯度の値が、携帯端末１０の緯度の値以上であるか否かを判定し、最初に、その判定条件に合致したレコードの緯度及び垂直位置を抽出する処理である。これらのステップにおいては、位置対応ＤＢ３２のレコードのうちで、緯度フィールドの値が、携帯端末１０の緯度の値以上であって、かつ、係数補正距離に関して２点間の長さを測定するときに、携帯端末１０の位置に最も近いレコードのデータが抽出される。
【００６８】
このプログラムはさらに、ステップＳ２１２の後、変数ｍに１を代入するステップＳ２１４と、ステップＳ２１４の後、配列変数ｙ［ｍ］の値が変数ｙの値より小さいか否かを判定して、判定結果に応じて制御の流れを分岐させるステップＳ２１６と、ステップＳ２１６において配列変数ｙ［ｍ］の値が変数ｙの値以上と判定されたときに（ＮＯの場合）、変数ｍの値に１を加算して、このプログラムの制御をステップＳ２１６に戻すステップＳ２１８と、ステップＳ２１６において配列変数ｙ［ｍ］の値が変数ｙの値より小さいと判定されたときに（ＹＥＳの場合）、変数ｙｄに変数ｙ［ｍ］の値を代入して、かつ変数Ｙｄに変数Ｙ［ｍ］の値を代入するステップＳ２２０とを含む。
【００６９】
このプログラムはさらに、ステップＳ２２０の後、変数ｍに１を代入するステップＳ２２２と、ステップＳ２２２の後、配列変数ｘ［ｍ］の値が変数ｘの値以上であるか否かを判定して、判定結果に応じて制御の流れを分岐させるステップＳ２２４と、ステップＳ２２４において配列変数ｘ［ｍ］の値が変数ｘの値より小さいと判定されたときに（ＮＯの場合）、変数ｍの値に１を加算して、このプログラムの制御をステップＳ２２４に戻すステップＳ２２６と、ステップＳ２２４において配列変数ｘ［ｍ］の値が変数ｘの値以上であると判定されたときに（ＹＥＳの場合）、変数ｘｒに変数ｘ［ｍ］の値を代入して、かつ変数Ｘｒに変数Ｘ［ｍ］の値を代入するステップＳ２２８とを含む。
【００７０】
このプログラムはさらに、ステップＳ２２８の後、変数ｍに１を代入するステップＳ２３０と、ステップＳ２３０の後、配列変数ｘ［ｍ］の値が変数ｘの値より小さいか否かを判定して、判定結果に応じて制御の流れを分岐させるステップＳ２３２と、ステップＳ２３２において配列変数ｘ［ｍ］の値が変数ｘの値以上と判定されたときに（ＮＯの場合）、変数ｍの値に１を加算して、このプログラムの制御をステップＳ２３２に戻すステップＳ２３４と、ステップＳ２３２において配列変数ｘ［ｍ］の値が変数ｘの値より小さいと判定されたときに（ＹＥＳの場合）、変数ｘｌに変数ｘ［ｍ］の値を代入して、かつ変数Ｘｌに変数Ｘ［ｍ］の値を代入するステップＳ２３６とを含む。
【００７１】
このプログラムはさらに、ステップＳ２３６の後、Ｘｌ＋（Ｘｒ−Ｘｌ）×（ｘ−ｘｌ）／（ｘｒ−ｘｌ）として計算した値、及びＹｄ＋（Ｙｕ−Ｙｄ）×（ｙ−ｙｄ）／（ｙｕ−ｙｄ）として計算した値を、それぞれ水平位置、及び垂直位置として出力して、このプログラムを終了するステップＳ２３８を含む。
【００７２】
係数補正距離を算出する際に、高度の差に１０を掛ける理由について説明する。
【００７３】
そのようにして係数補正距離を算出する場合、高度の値が少しでも異なると、係数補正距離の値は、極度に大きくなる。それによって、ステップＳ２０４において係数補正距離の小さいものから順番にレコードを並べるときに、高度フィールドの値が携帯端末１０の高度と同程度であるレコードは上位に並べられ、同程度でないレコードは下位に並べられやすくなる。したがって、変数ｙｕ、Ｙｕ、ｙｄ、Ｙｄ、ｘｒ、Ｘｒ、ｘｌ、及びＸｌには、携帯端末１０の高度と同程度であるレコードの値が格納されやすくなる。高度が同程度であれば、変数ｘｒの経度の値は、変数ｘの経度の値を基準にすると、変数ｘｌの経度の値とは反対の方向に存在する可能性が高い。もし、高度が同程度でないならば、変数ｘの経度の値を基準にすると、変数ｘｒの経度の値と変数ｘｌの経度の値とは同じ方向に存在することがあり得る。変数ｘの経度の値を基準にして、変数ｘｒの経度の値と変数ｘｌの経度の値とが互いに反対の方向にあるのであれば、俯瞰図画像上において、携帯端末１０の水平位置は、変数Ｘｒと変数Ｘｌとの間の値として算出することができる。つまり、変数ｘｒ及び変数ｘｌに対する変数ｘの値の相対位置をもとにして、変数Ｘｒ及び変数Ｘｌの値が用いられることにより、変数ｘに相当する俯瞰図画像上における水平位置が出力されることとなる。垂直位置に関しても、同様のことが言える。
【００７４】
よって、携帯端末１０を保持したユーザが、複数階層を有する建物にいたときであっても、表示部４２上の俯瞰図画像には、携帯端末１０の位置にマークが正確に表示されることとなる。
［動作］
【００７５】
図１〜図６を参照して、上記した構成を持つ本実施の形態に係るシステム２０は以下のように動作する。なお、位置対応ＤＢ３２には、図４に示すような情報が予め記憶されているものとする。
【００７６】
ユーザは、携帯端末１０を保持して、俯瞰図画像の基となった現実の場所に移動する。ユーザは、俯瞰図画像上での現在位置を出力するプログラムの起動を、携帯端末１０に指示する。携帯端末１０の表示部４２には、俯瞰図画像が表示される（図５におけるステップＳ１００〜Ｓ１０４、Ｓ１４０、及びＳ１４２）。
【００７７】
ユーザによって位置登録ボタン８１Ａ及び終了ボタン８３Ａが押下されない限り、俯瞰図画像上でのマークの位置が更新される（図５におけるステップＳ１０６〜Ｓ１１２、及びステップＳ１４４〜Ｓ１４８）。ユーザは、俯瞰図画像上のマークを参照することによって、自分自身がいる位置を確認することができる。
【００７８】
ユーザが位置登録ボタン８１Ａを押下すると、表示部４２には「現在位置を押下してください」との旨のメッセージが表示され、ユーザは表示部４２に表示された俯瞰図画像において、自分自身がいる箇所をタッチする。携帯端末１０は、現在位置を取得して、タッチされた位置座標から俯瞰図画像上の水平位置及び垂直位置を算出し、現在位置、並びに水平位置及び垂直位置をサーバ装置３０に送信する（図５におけるステップＳ１１４及びＳ１１６）。サーバ装置３０は、携帯端末１０から送信されたデータをもとにして位置対応ＤＢ３２のレコードを追加する（図５におけるステップＳ１５０及びＳ１５２）。
【００７９】
ユーザが終了ボタン８３Ａを押下すると、アプリケーションは終了する。
［変形例］
【００８０】
本実施の形態においては、携帯端末１０及びサーバ装置３０の両方のプログラムが実行されることによって、俯瞰図画像上での携帯端末１０の位置が出力されていた。しかし、本発明はそのような実施の形態には限定されず。図５及び図６に示されるプログラムは、携帯端末１０において実行されても良い。
【００８１】
また、本実施の形態においては、係数補正距離を算出するときに、高度の差に１０を掛けていた。しかし、本発明はそのような実施の形態には限定されず、２つの高度の値が少しでも異なるときに係数補正距離が極度に大きくなるのであれば、どのような距離の算出方法を用いても良い。例えば、係数補正距離を算出するときに、高度の差に対して、１以上の数であればどのような数を掛けても良い。
【００８２】
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。
【符号の説明】
【００８３】
１０  携帯端末
１２  筐体
１４  タッチパネルディスプレイ
２０  システム
３０  サーバ装置
３２  位置対応ＤＢ
３４  制御部
３６  通信装置
３８  インターネット
４０  制御部
４２  表示部
４４  タッチパネル
４６  位置取得装置
４８  通話装置
５０  音声出力装置
５２  入力装置
５４  記憶装置
５６  通信装置
６６  電話回線網
６８  記憶装置
【図１】
2017167442.tif 000003
【図２】
2017167442.tif 000004
【図３】
2017167442.tif 000005
【図４】
2017167442.tif 000006
【図５】
2017167442.tif 000007
【図６】
2017167442.tif 000008