本発明の実施形態において、前記表示属性値算出部は、前記地図範囲内にある地点情報が全て含まれている集合の前記地図上の領域内にある複数の集合を輪郭対象集合として決定する輪郭対象集合決定部と、前記輪郭対象集合に含まれている地点情報の数に基づいて、前記輪郭対象集合を複数段階のいずれかの段階に分類する輪郭対象集合分類部と、前記複数段階のそれぞれの段階の全ての輪郭対象集合に含まれている全ての地点情報が示す位置を囲む輪郭を前記複数段階毎に算出し、算出した輪郭を示す輪郭情報を表示属性値として前記表示属性値記録部へ記録する輪郭算出部とを含み、前記表示制御部は、前記表示属性値記録部に記録された表示属性値に基づいて、前記複数段階毎に算出されたそれぞれの輪郭内の領域を、前記複数段階毎に異なる表示態様で前記地図上に表示させる態様とするのが好ましい。
上記の構成によれば、輪郭対象集合分類部は、輪郭対象集合に含まれている地点情報の数に基づいて、輪郭対象集合を複数段階のいずれかの段階に分類する。輪郭算出部は、複数段階のそれぞれの段階にある全ての輪郭対象集合に含まれている全ての地点情報が示す位置を囲む輪郭を複数段階毎に算出する。輪郭算出部は、算出した輪郭を示す輪郭情報を表示属性値として表示属性値記録部へ記録する。表示制御部は、表示属性値に基づいて、複数段階毎に算出されたそれぞれの輪郭内の領域を、複数段階毎に異なる表示態様で地図上に表示させる。これにより、情報処理装置のユーザは、現在位置周辺にある地点情報がどのように分布しているのか等といった現在位置周辺の様子を、一見しただけで的確に把握することができる。
本発明の実施形態において、前記表示属性値算出部は、前記表示属性値算出部は、前記地図範囲内にある地点情報が全て含まれている集合の前記地図上の領域内にある複数の集合を候補集合とすることにより、前記候補集合の前記地図上における代表位置にそれぞれアイコンを表示した場合におけるアイコンの重複数を算出し、算出したアイコンの重複数が許容重複数を超えないように、前記候補集合の中から前記地図上に表示すべきアイコンに対応するアイコン表示集合を決定し、決定したアイコン表示集合の前記地図上における代表位置をアイコン表示位置として算出し、算出したアイコン表示位置を表示属性値として前記表示属性値記録部へ記録するアイコン位置算出部と、前記アイコン表示集合に含まれている地点情報の数に基づいて、複数段階の表示態様を有するアイコンの中からいずれかの表示態様を有するアイコンを、前記アイコン表示集合が示すアイコン表示位置に対して割り当て、割り当てたアイコンの表示態様を表示属性値として前記表示属性値記録部へ記録するアイコン割当部とを含み、前記表示制御部は、前記表示属性値記録部に記録された表示属性値に基づいて、前記アイコン表示位置に、当該アイコン表示位置に対して割り当てたアイコンを表示させる態様とするのが好ましい。
上記の構成によれば、アイコン位置算出部は、候補集合の地図上における代表位置にそれぞれアイコンを表示した場合におけるアイコンの重複数を算出する。なお、アイコンの重複数は、地図上でアイコン同士が重なる数を示す。アイコン位置算出部は、算出したアイコンの重複数が許容重複数を超えないように、候補集合の中から地図上に表示すべきアイコンに対応するアイコン表示集合を決定する。アイコン位置算出部は、決定したアイコン表示集合の地図上における代表位置をアイコン表示位置として算出する。アイコン位置算出部は、算出したアイコン表示位置を表示属性値として表示属性値記録部へ記録する。アイコン割当部は、アイコン表示集合に含まれている地点情報の数に基づいて、複数段階の表示態様を有するアイコンの中からいずれかの表示態様を有するアイコンを、アイコン表示集合が示すアイコン表示位置に対して割り当てる。アイコン割当部は、割り当てたアイコンの表示態様を表示属性値として表示属性値記録部へ記録する。表示制御部は、表示属性値に基づいて、アイコン表示位置に、当該アイコン表示位置に対して割り当てたアイコンを表示させる。これにより、情報処理装置のユーザは、現在位置周辺にある地点情報がどのように分布しているのか等といった現在位置周辺の様子を、一見しただけで的確に把握することができる。
なお、アイコンは、集合を示すマークであって、地図上に表示される図形、文字、記号、またはそれらの組み合わせからなるマークである。
以下、本発明のより具体的な実施形態について図面を参照しながら詳細に説明する。
[実施の形態1]
図1は、本実施形態に係る情報処理装置1の概略構成を示すブロック図である。図1に示す情報処理装置1は、入力装置2、表示装置3、地図記録部4、および施設情報記録部5に接続されている。情報処理装置1は、例えば、カーナビゲーション装置、パーソナルコンピュータ、サーバマシン、携帯端末(例えば、PDA、携帯電話、PHS等)等であるが、本実施形態においては、カーナビゲーション装置であるものとする。入力装置2は、マウス、キーボード、リモートコントローラ、ボタン、タッチパネル、および音声認識装置等の任意の入力デバイスから構成される。表示装置3は、液晶ディスプレイ、有機ELディスプレイ、プラズマディスプレイ、およびCRTディスプレイ等の任意の表示デバイスから構成される。地図記録部4は、地球の地表の特定の一部分(例えば、日本、関西地方、兵庫県等)を縮尺表現した地図を示す地図情報を予め記録する。情報処理装置1は、入力装置2を介して入力されるユーザの指示を基に、地図記録部4に記録された地図情報を読み出し、読み出した地図情報が示す地図を、ユーザの現在位置とともに表示装置3の表示画面上に表示させる。
施設情報記録部(地点情報記録部)5は、施設を示す施設情報(地点情報)を記録する。図2は、本実施形態に係る施設情報記録部5に記録された施設情報の一例を示す図である。図2に示すように、施設情報記録部5には、施設情報として、施設ID、施設名、住所、位置、ジャンル、および評判が記録されている。ここで、施設IDは、施設を一意に識別するための識別符号を示す。施設名は、施設の名称を示す。住所は、施設の住所を示す。位置は、施設の緯度情報および施設の経度情報を示す。ジャンルは、施設のジャンルを示す。ジャンルには、例えば、レストラン、ガソリンスタンド、病院、映画館、図書館、宿泊所、ゴルフ場、スキー場、遊園地、美術館、博物館等がある。評判は、施設を利用したユーザによる当該施設の評価点の平均値を示す。本実施形態においては、評判は5点満点で表され、点数が高くなるほど施設の評価は高い。
なお、本実施形態に係る施設情報記録部5には、ジャンルに関わらずに施設情報が記録されているが、例えば、レストランの施設を示す施設情報を記録した施設情報記録部5a、ガソリンスタンドの施設を示す施設情報を記録した施設情報記録部5b、病院の施設を示す施設情報を記録した施設情報記録部5c、・・・のように、ジャンル毎に施設情報記録部が備えられていてもよい。
また、地図記録部4および施設情報記録部5は、光学記録装置、磁気記録装置、半導体メモリ等の記録装置により実現される。なお、地図記録部4および施設情報記録部5は、インターネット上のウェブサーバあるいはファイルサーバ内の記録装置として実現されていてもよいし、情報処理装置1内の記録装置として実現されていてもよい。さらには、FD(Flexible Disk)やCD(Compact Disc)のような情報処理装置1に着脱自在な記録媒体内の記録装置として実現されていてもよい。
(情報処理装置の構成)
情報処理装置1は、現在位置計測部11、検索条件入力部12、現在位置取得部13、施設情報読出部14、集合生成部15、集合情報記録部16、近接施設検出部17、表示対象集合決定部18、地図範囲算出部19、表示属性値算出部20、表示属性値記録部21、および表示制御部22を備えている。
ここで、上記の現在位置計測部11、検索条件入力部12、現在位置取得部13、施設情報読出部14、集合生成部15、近接施設検出部17、表示対象集合決定部18、地図範囲算出部19、表示属性値算出部20、および表示制御部22の各機能は、コンピュータが備えるCPU等の演算装置が所定のプログラムを実行することによって実現される。したがって、上記の各機能をコンピュータで実現するためのプログラムまたはそれを記録した記録媒体も本発明の一実施態様である。また、集合情報記録部16および表示属性値記録部21は、コンピュータの内蔵記憶装置またはこのコンピュータからアクセス可能な記憶装置によって具現化される。なお、集合情報記録部16および表示属性値記録部21は、例えば、一時的にデータを記録するものであってもよい。
また、上記の現在位置計測部11、検索条件入力部12、現在位置取得部13、施設情報読出部14、集合生成部15、集合情報記録部16、近接施設検出部17、表示対象集合決定部18、地図範囲算出部19、表示属性値算出部20、表示属性値記録部21、および表示制御部22は、図1に示すように、1つの装置内に纏めて構成されていてもよいし、複数の装置内に分散して構成されていてもよい。
現在位置計測部11は、情報処理装置1の現在位置を計測する。すなわち、現在位置計測部11は、情報処理装置1のユーザの現在位置を計測する。具体的には、現在位置計測部11は、GPS(Global Positioning System:全地球測位システム)機能を備えており、複数の測地衛星(GPS衛星)から送信される電波を受信し、受信した電波の相対的な時間差に基づいて、情報処理装置1の現在位置を計測する。現在位置計測部11は、計測結果に基づいて、情報処理装置1の現在位置を示す現在位置情報を生成する。なお、現在位置情報には、情報処理装置1の現在緯度を示す緯度情報、および情報処理装置1の現在経度を示す経度情報を含む。
なお、上記では、現在位置計測部11がGPS機能を備えている例について説明したが、これに限定されない。すなわち、現在位置計測部11は、情報処理装置1が通信可能な近隣の携帯電話基地局、無線LANアクセスポイント等から現在位置情報を取得するようにしてもよい。また、現在位置計測部11は、道路標識、番地標識等から現在位置情報を取得するようにしてもよい。つまり、現在位置計測部11が情報処理装置1の現在位置を計測できれば、情報処理装置1の現在位置を計測する方法として、様々な任意の方法を採り得る。
検索条件入力部12は、情報処理装置1のユーザが所望する情報を検索するための検索条件を、入力装置2を介してユーザから受け付ける。検索条件は、ユーザが所望する情報に関する単語や文章、または当該単語や文章を組み合わせることによって生成される検索式等である。本実施形態においては、検索条件入力部12は、「現在位置周辺のレストランの施設」を示す検索条件を、入力装置2を介してユーザから受け付けたものとする。検索条件入力部12は、検索条件を受け付けたことを示す信号を現在位置取得部13に出力する。また、検索条件入力部12は、受け付けた検索条件を施設情報読出部14に出力する。
現在位置取得部13は、検索条件入力部12から検索条件を受け付けたことを示す信号を受け付けた場合に、現在位置計測部11を参照することにより、情報処理装置1の現在位置を示す現在位置情報を現在位置計測部11から取得する。なお、表示装置3の表示画面に表示された地図上の任意の位置を、入力装置2を介してユーザが指示することによって、地図上でユーザが指示した位置を情報処理装置1の現在位置とするようにしてもよい。この場合、現在位置取得部13は、地図上でユーザが指示した位置を、情報処理装置1の現在位置を示す現在位置情報として取得する。現在位置取得部13は、取得した現在位置情報を施設情報読出部14に出力する。
施設情報読出部(地点情報読出部)14は、検索条件入力部12から出力された検索条件に適合し、かつ、現在位置情報が示す情報処理装置1の現在位置から読出範囲内にある施設情報を、施設情報記録部5から読み出す。なお、読出範囲は、十分広い範囲である。本実施形態においては、読出範囲は、情報処理装置1の現在位置から100kmまでの範囲であるものとする。すなわち、本実施形態においては、検索条件入力部12から出力された検索条件が「現在位置周辺のレストランの施設の分布」であるので、施設情報読出部14は、読出範囲内にあるレストランの施設を示す施設情報を、施設情報記録部5から読み出す。図3は、情報処理装置1の現在位置H周辺にあるレストランの施設を説明するための図である。図3に示すように、読出範囲R内には、レストランの施設がA〜Xまで24施設存在している。このため、本実施形態に係る施設情報読出部14は、読出範囲R内にあるレストランの施設A〜Xを示す施設情報を、施設情報記録部5から読み出す。なお、読出範囲Rは、情報処理装置1の図示しないメモリに予め記録されている。また、図3に示す通知範囲Nについては後述する。施設情報読出部14は、読み出した施設情報を集合生成部15に出力する。
集合生成部15は、施設情報読出部14から出力された施設情報に対してクラスター分析を行うことにより、1または複数の施設を含む集合を1または複数生成する。なお、クラスター分析とは、対象間の距離を定義して、距離の近さによって対象を分類する統計手法の一つである。クラスター分析には、一般に、階層的クラスタリングと非階層的クラスタリングとの2種類あるが、本実施形態においては、階層的クラスタリングを用いた場合について説明する。
具体的には、集合生成部15は、施設情報読出部14から出力された施設情報が示す施設の位置に基づいて、互いの施設間の距離を算出する。集合生成部15は、算出した施設間の距離のうち、最も距離の近い(最も類似度の高い)2つの施設を含む集合(クラスタ)を生成する。集合生成部15は、生成した集合とその他の施設との間の距離を算出し、生成した集合と当該集合に最も距離の近い施設とを含む集合を新たに生成する。集合生成部15は、施設情報が示す全ての施設が1つの集合に含まれるまで、この処理を繰り返す。これにより、階層的クラスタリングの結果として、集合生成部15によりデンドログラム(樹状図)が生成される。なお、施設間の距離の算出方法として、最短距離法、最長距離法、群間平均法、重心法、Ward法等があるが、ここでは特に限定しない。
図4は、本実施形態に係る集合生成部15により生成されたデンドログラムの一例を示す図である。なお、図4において、縦軸は非類似度、横軸は施設A〜Xを表す。なお、非類似度は、類似度とは異なり、値が小さくなるほど類似性が高くなる性質を有する。ここで、図4に示すように、施設Aを含む集合を集合番号「001」、施設Bを含む集合を集合番号「002」、施設Cを含む集合を集合番号「003」、・・・施設Xを含む集合を集合番号「024」で表す。すなわち、集合番号「001」の集合は施設Aのみを含む。集合番号「002」の集合は施設Bのみを含む。集合番号「003」の集合は施設Cのみを含む。これと同様に、集合番号「024」の集合は施設Xのみを含む。また、図4において、集合番号「100」の集合は、集合番号「001」の集合が含む施設Aと、集合番号「002」の集合が含む施設Bとを含む。集合番号「200」の集合は、集合番号「100」の集合が含む施設A,Bと、集合番号「003」の集合が含む施設Cとを含む。集合番号「400」の集合は、集合番号「200」の集合が含む施設A〜Cと、集合番号「300」の集合が含む施設D〜Hとを含む。これと同様に、集合番号「900」の集合は、施設情報が示す全ての施設A〜Xを含む。
集合生成部15は、生成したデンドログラムに基づいて、各集合毎に集合情報を生成する。集合生成部15は、生成した集合情報を集合情報記録部16へ記録する。図5は、本実施形態に係る集合情報記録部16に記録された集合情報の一例を示す図である。図5に示すように、集合情報記録部16には、集合情報として、集合番号、上位集合番号、下位集合番号、施設ID、集合範囲、集合距離、施設数、集合面積、集合密度、および非類似度が記録されている。ここで、集合番号は、集合を一意に識別するための番号を示す。上位集合番号は、その集合が含まれている直近の上位の集合の集合番号を示す。下位集合番号は、その集合が含む直近の下位の集合の集合番号を示す。施設IDは、施設を一意に識別するための識別符号を示す。本実施形態においては、集合が一番末端の集合(図4に示す例では、集合番号「001」の集合〜集合番号「024」の集合)である場合に限って、施設IDには、その集合に唯一含まれる施設の施設IDが記録される。集合範囲は、その集合に含まれている全ての施設を含む最小の四角形からなる範囲(領域)を示す。集合距離は、集合範囲の緯度方向の距離、および集合範囲の経度方向の距離を示す。施設数は、その集合に含まれている施設の数を示す。集合面積は、集合に含まれている全ての施設を含む最小の多角形からなる範囲の面積を示す。なお、集合範囲、集合距離、および集合面積の具体的な説明については後述する。集合密度は、集合面積あたりの施設数を示す。すなわち、集合密度は、施設数÷集合面積にて算出される。非類似度は、施設間の距離の度合いを示す。なお、図5に示す「なし」は、値が存在しないことを示す。
図6は、集合情報記録部16に記録された集合範囲、集合距離、および集合面積の、集合生成部15による算出方法を説明するための図である。なお、図6において、「×」は施設の位置を表しており、当該施設は全て1つの集合に含まれているものとする。ここで、集合範囲Qは、集合に含まれている全ての施設を含む最小の四角形からなる範囲(領域)を示しており、図6上、右上の位置P1と左下の位置P2とによって特定される。つまり、集合情報記録部16の集合範囲には、位置P1の緯度を示す緯度情報と、位置P1の経度を示す経度情報と、位置P2の緯度を示す緯度情報と、位置P2の経度を示す経度情報とが記録されている。なお、集合に含まれている施設が1つのみである場合、集合範囲は、1つの施設を含む任意の四角形からなる範囲となる。
集合距離は、集合範囲における緯度方向の距離Laと、集合範囲における経度方向の距離Lbとからなる。つまり、集合情報記録部16の集合距離には、集合範囲における緯度方向の距離Laと集合範囲における経度方向の距離Lbとが、キロメートル単位にて記録されている。集合面積Sは、集合に含まれている全ての施設を含む最小の多角形(または、三角形)Rからなる範囲の面積を示す。ここで、多角形Rの輪郭は、凸法等の公知の方法を用いて算出される。また、多角形Rの面積(集合面積S)は、公知の数学の公式等を用いて算出される。なお、集合に含まれている施設が1つまたは2つのみである場合、集合情報記録部16の集合面積Sおよび集合密度には、集合面積Sおよび集合密度が存在しないことを示すデータ「なし」が記録されている。なお、集合面積Sは、上記の多角形Rの面積の代わりに、上記の集合範囲Qの面積としてもよい。
なお、上記では、集合生成部15は、施設情報読出部14から出力された施設情報に対してクラスター分析を行うことにより、1または複数の施設を含む集合を生成する例について説明したが、これに限定されない。例えば、集合生成部15は、自己組織化写像法、K平均法、統計分類(Statistical classification)等の公知のデータ解析手法(データ・クラスタリング)を用いることにより、1または複数の施設を含む集合を生成するようにしてもよい。また、集合生成部15は、例えば、「兵庫県明石市大久保町××番地」にある施設を含む集合、「兵庫県明石市大久保町」にある施設を含む集合、「兵庫県明石市」にある施設を含む集合、「兵庫県」にある施設を含む集合のように、市区町村単位で1または複数の施設を含む集合を生成するようにしてもよい。
近接施設検出部17は、情報処理装置1の現在位置から最も近い位置にある施設(以降、「近接施設」と称する)を示す施設情報を検出する。具体的には、近接施設検出部17は、施設情報記録部5に記録された全ての施設情報が示す施設の位置と、情報処理装置1の現在位置との間の距離を算出することにより、近接施設を検出する。また、近接施設検出部17は、近接施設の位置と、情報処理装置1の現在位置との間の距離(以降、「近接距離」と称する)を算出する。近接施設検出部17は、算出した近接距離を表示対象集合決定部18に出力する。
なお、近接施設検出部17は、情報処理装置1の現在位置から所定範囲(例えば、100m)内にある施設を示す施設情報を施設情報記録部5から読み出し、読み出した施設情報の中から、近接施設を示す施設情報を検出するようにしてもよい。ここで、仮に、情報処理装置1の現在位置から所定範囲内に施設がなければ、近接施設検出部17は、当該所定範囲を拡大し(例えば、200m)、情報処理装置1の現在位置から拡大した所定範囲内にある施設を示す施設情報を施設情報記録部5から読み出す。近接施設検出部17は以降この処理を繰り返す。
表示対象集合決定部18は、近接施設検出部17から出力された近接距離が通知範囲Nを超えていない場合に、通知範囲N内にある施設を示す施設情報を、施設情報記録部5から読み出し、読み出した施設情報が全て含まれている集合を表示対象集合として決定する。具体的には、表示対象集合決定部18は、まず、近接施設検出部17から出力された近接距離が通知範囲Nを超えているか否かを判定する(図3参照)。ここで、通知範囲Nは、情報処理装置1のユーザに対して通知するための適度な範囲を示す。例えば、情報処理装置1が携帯端末であって、情報処理装置1のユーザが徒歩で移動中である場合に、ユーザの現在位置から100km先にある施設がユーザに通知されても、ユーザにとって無意味である。このため、通知範囲Nは、情報処理装置1のユーザに対して通知するのに適度な範囲を示しており、本実施形態においては、情報処理装置1の現在位置から10kmまでの範囲であるものとする。また、別の見方をすると、通知範囲Nは、背景技術において説明した第3の表示方法における情報処理装置の現在位置からの所定範囲である。なお、通知範囲Nは、情報処理装置1の図示しないメモリに予め記録されている。
本実施形態においては、近接距離が通知範囲Nを超えていないので、表示対象集合決定部18は、通知範囲N内にあるレストランの施設を示す施設情報を、施設情報記録部5から読み出す。具体的には、図3に示すように、通知範囲N内には、レストランの施設がA〜G,I〜M,S,Tの14施設存在している。このため、本実施形態に係る表示対象集合決定部18は、通知範囲N内にあるレストランの施設A〜G,I〜M,S,Tを示す施設情報を、施設情報記録部5から読み出す。また、表示対象集合決定部18は、読み出した施設情報が示す施設A〜G,I〜M,S,Tが全て含まれている集合を示す集合情報を、集合情報記録部16から読み出す。本実施形態においては、施設A〜G,I〜M,S,Tが全て含まれている集合は、集合番号「600」の集合であるので(図4、図5参照)、表示対象集合決定部18は、集合番号「600」の集合を示す集合情報を、集合情報記録部16から読み出す。表示対象集合決定部18は、読み出した集合情報が示す集合番号「600」の集合を表示対象集合として決定する。なお、集合番号「600」の表示対象集合には、施設A〜G,I〜M,S,Tの他に、施設H,N〜Rの6施設が含まれる。このように、本実施形態に係る情報処理装置1においては、集合を利用することによって、通知範囲Nを超えた施設をも表示対象に含ませることが可能になる。
ここで、仮に、近接距離が通知範囲Nを超えている場合、表示対象集合決定部18は、近接施設を示す施設情報を、施設情報記録部5から読み出す。表示対象集合決定部18は、読み出した施設情報が示す近接施設のみを含む集合を示す集合情報を、集合情報記録部16から読み出す。例えば、近接施設が施設Aであれば、表示対象集合決定部18は、集合番号「001」の集合を示す集合情報を、集合情報記録部16から読み出す。表示対象集合決定部18は、読み出した集合情報が示す集合番号「001」の集合を表示対象集合として決定する。つまり、この場合の表示対象集合は、要素数1の表示対象集合となる。
地図範囲算出部19は、地図記録部4に記録された地図情報と、表示対象集合決定部18により決定された表示対象集合の集合範囲と、情報処理装置1の現在位置とに基づいて、表示対象集合の集合範囲と情報処理装置1の現在位置とが表示装置3における1画面の表示画面上に表示できるような地図の縮尺と地図の表示位置とを算出する。なお、縮尺とは、地図上の2点間の距離と現地における対応する距離との比をいう。通常、縮尺は比の値として分子を1とする分数で表される。
図7は、表示装置3の表示画面Dと、表示対象集合の集合範囲Qと、情報処理装置1の現在位置Hとの関係を説明するための図である。すなわち、本実施形態においては、図7に示すように、情報処理装置1の現在位置Hは、集合番号「600」の表示対象集合の集合範囲Q内に位置している。このため、本実施形態に係る地図範囲算出部19は、当該集合範囲Qの中心を、表示装置3の表示画面Dの中心に合わせることにより、地図の表示位置を算出する。また、地図範囲算出部19は、当該集合範囲Qの全体が1画面の表示画面D上に表示できるような地図の縮尺を算出する。なお、本実施形態においては、地図の縮尺が、例えば、1/25000、1/10000、1/5000・・・1/1500のように、地図情報で予め決まっているものとする。なお、地図の縮尺を上記のように分数で表した場合、分母が大きくなるほど、地図の縮尺は小さくなる。したがって、本実施形態に係る地図範囲算出部19は、当該集合範囲Qの全体が1画面の表示画面D上に表示できるような地図の縮尺を、予め段階的に定められている複数の縮尺の中から選択することにより、地図の縮尺を算出する。地図範囲算出部19は、算出した地図の縮尺と地図の表示位置とに基づいて、表示装置3における1画面の表示画面D上に表示される地図の地図範囲Mを算出する。つまり、地図範囲Mは、表示装置3の表示画面Dに表示される表示範囲と同一である。
ここで、仮に、情報処理装置1の現在位置Hが、表示対象集合の集合範囲Q内に位置していない場合、すなわち、情報処理装置1の現在位置Hが、表示対象集合の集合範囲Q外に位置している場合、地図範囲算出部19は、次の処理を行う。すなわち、地図範囲算出部19は、まず、表示対象集合の集合範囲Qと情報処理装置の現在位置Hとを含む最小の四角形を算出する。ここで、算出した四角形は、当然、集合範囲Qよりも大きくなる。地図範囲算出部19は、算出した四角形の中心を、表示装置3の表示画面Dの中心に合わせることにより、地図の表示位置を算出する。地図範囲算出部19は、算出した四角形の全体が1画面の表示画面D上に表示できるような地図の縮尺を算出する。これにより、上記と同様に、地図範囲算出部19は、算出した地図の縮尺と地図の表示位置とに基づいて、表示装置3における1画面の表示画面D上に表示される地図の地図範囲Mを算出することができる。
表示属性値算出部20は、地図範囲算出部19により算出された地図範囲M内にあるレストランの施設の数に基づいて、地図範囲M内にあるレストランの施設の分布状態を地図上に表示するための表示属性値を算出し、算出した表示属性値を表示属性値記録部21へ記録する。このため、表示属性値算出部20は、図8に示すように、輪郭対象集合決定部20a、輪郭対象集合分類部20b、接近集合判定部20c、および輪郭算出部20dを有している。
輪郭対象集合決定部20aは、地図範囲M内にあるレストランの施設が全て含まれている集合の集合範囲内にある複数の集合を輪郭対象集合として決定する。具体的には、輪郭対象集合決定部20aは、まず、地図範囲M内にあるレストランの施設を示す施設情報を、施設情報記録部5から読み出す。本実施形態においては、図7に示すように、地図範囲M内には、レストランの施設がA〜Uまで21施設存在している。このため、本実施形態に係る輪郭対象集合決定部20aは、地図範囲M内にあるレストランの施設A〜Uを示す施設情報を、施設情報記録部5から読み出す。また、輪郭対象集合決定部20aは、読み出した施設情報が示す施設A〜Uが全て含まれている集合を示す集合情報を、集合情報記録部16から読み出す。本実施形態においては、施設A〜Uが全て含まれている集合は、集合番号「700」の集合であるので(図4、図5参照)、輪郭対象集合決定部20aは、集合番号「700」の集合を示す集合情報を、集合情報記録部16から読み出す。
輪郭対象集合決定部20aは、図4に示すデンドログラムにおいて、非類似度「0.01」をラインLとして設定する。なお、非類似度「0.01」は、情報処理装置1の図示しないメモリに予め記録されている。非類似度は、集合の距離の近さを表す数字であるので、どのくらい近いものを一つの集合にするかを、事前に決定しておく。図4に示すラインLにおいて、集合番号「700」の集合は、集合番号「400」の集合、集合番号「a」の集合、集合番号「b」の集合、集合番号「019」の集合、集合番号「020」の集合、および集合番号「021」の集合に分類される。すなわち、輪郭対象集合決定部20aは、集合番号「400」の集合、集合番号「a」の集合、集合番号「b」の集合、集合番号「019」の集合、集合番号「020」の集合、および集合番号「021」の集合を、輪郭対象集合として決定する。つまり、決定したそれぞれの輪郭対象集合は、集合番号「700」の集合の集合範囲内にある集合範囲を有する集合である。なお、ラインLの設定方法は、上記の他に、集合番号「700」の非類似度の1/2、1/3にする方法や、非類似度を使用することなく集合の個数がn個(但し、nは事前に決定しておく)になるようにする、等の方法がある。
輪郭対象集合分類部20bは、輪郭対象集合の集合密度に基づいて、輪郭対象集合決定部20aにより決定された輪郭対象集合を、分布密度「大」の輪郭対象集合、分布密度「中」の輪郭対象集合、分布密度「小」の輪郭対象集合の3段階のいずれかの段階に分類する。ここで、分布密度「大」の輪郭対象集合は、輪郭対象集合の中で集合密度が相対的に大きい輪郭対象集合を示す。分布密度「中」の輪郭対象集合は、輪郭対象集合の中で集合密度が相対的に中くらいの輪郭対象集合を示す。なお、分布密度「中」の輪郭対象集合には、分布密度「大」の輪郭対象集合も含まれる。分布密度「小」の輪郭対象集合は、輪郭対象集合の中で集合密度が相対的に小さい輪郭対象集合を示す。なお、分布密度「小」の輪郭対象集合には、分布密度「大」および「中」の輪郭対象集合も含まれる。
具体的には、輪郭対象集合分類部20bは、まず、輪郭対象集合決定部20aにより決定された輪郭対象集合の中から、集合密度が算出されている輪郭対象集合を抽出する。本実施形態においては、集合番号「019」の輪郭対象集合、集合番号「020」の輪郭対象集合、および集合番号「021」の輪郭対象集合は、施設が1つのみ含まれている集合であり、集合密度が算出されていない。このため、本実施形態に係る輪郭対象集合分類部20bは、輪郭対象集合決定部20aにより決定された輪郭対象集合の中から、集合番号「400」の輪郭対象集合、集合番号「a」の輪郭対象集合、および集合番号「b」の輪郭対象集合を抽出する。
輪郭対象集合分類部20bは、抽出した輪郭対象集合の集合密度の中から、最も高い集合密度と最も低い集合密度とを抽出する。本実施形態においては、集合番号「400」の輪郭対象集合の集合密度が「66.7」、集合番号「a」の輪郭対象集合の集合密度が「40.0」、集合番号「b」の輪郭対象集合の集合密度が「66.7」であるので(図5参照)、輪郭対象集合分類部20bは、最も高い集合密度「66.7」、および最も低い集合密度「40.0」を抽出する。輪郭対象集合分類部20bは、最も高い集合密度「66.7」と最も低い集合密度「40.0」との間を2等分する値を算出する。つまり、輪郭対象集合分類部20bは、集合密度「53.35」を算出する。
輪郭対象集合分類部20bは、「53.35」以上の集合密度を有する輪郭対象集合を分布密度「大」の輪郭対象集合とする。本実施形態においては、輪郭対象集合分類部20bは、集合番号「400」の輪郭対象集合と集合番号「b」の輪郭対象集合とを分布密度「大」の輪郭対象集合とする。また、輪郭対象集合分類部20bは、「40.0」以上の集合密度を有する輪郭対象集合を分布密度「中」の輪郭対象集合とする。本実施形態においては、輪郭対象集合分類部20bは、集合番号「400」の輪郭対象集合、集合番号「a」の輪郭対象集合、および集合番号「b」の輪郭対象集合を分布密度「中」の輪郭対象集合とする。さらに、輪郭対象集合分類部20bは、集合密度が算出されていない輪郭対象集合を含む全ての輪郭対象集合を分布密度「小」の輪郭対象集合とする。本実施形態においては、輪郭対象集合分類部20bは、集合番号「400」の輪郭対象集合、集合番号「a」の輪郭対象集合、集合番号「b」の輪郭対象集合、集合番号「019」の輪郭対象集合、集合番号「020」の輪郭対象集合、および集合番号「021」の輪郭対象集合を分布密度「小」の輪郭対象集合とする。
なお、上記では、輪郭対象集合分類部20bは、分布密度「大」の輪郭対象集合、分布密度「中」の輪郭対象集合、分布密度「小」の輪郭対象集合の3段階のいずれかの段階に分類する例について説明したが、これに限定されない。すなわち、分布密度の段階については任意である。また、上記では、輪郭対象集合分類部20bは、最も高い集合密度と最も低い集合密度との間を2等分する値に基づいて、輪郭対象集合を分類する例について説明したが、これに限定されない。例えば、輪郭対象集合決定部20aにより決定された輪郭対象集合の中に、集合密度が算出されていない輪郭対象集合がなければ、輪郭対象集合分類部20bは、最も高い集合密度と最も低い集合密度との間を3等分した値に基づいて、輪郭対象集合を分類するようにしてもよい。また、上記では、集合密度を用いたが、非類似度を用いてもよい。すなわち、輪郭対象集合分類部20bが輪郭対象集合を分類する方法については任意である。
接近集合判定部20cは、輪郭対象集合決定部20aにより決定された輪郭対象集合が互いに接近集合であるか否かを判定する。本実施形態においては、接近集合判定部20cは、集合番号「400」の輪郭対象集合、集合番号「a」の輪郭対象集合、集合番号「b」の輪郭対象集合、集合番号「019」の輪郭対象集合、集合番号「020」の輪郭対象集合、および集合番号「021」の輪郭対象集合が互いに接近集合であるか否かを判定する。
具体的には、接近集合判定部20cは、まず、輪郭対象集合決定部20aにより決定された輪郭対象集合が互いに接近集合であるか否かを判定するための接近判定範囲を算出する。本実施形態においては、輪郭対象集合決定部20aにより決定された輪郭対象集合の中から、集合距離が算出されている輪郭対象集合の集合距離(集合範囲における緯度方向の距離La、集合範囲における経度方向の距離Lb)の平均値を算出し、算出した平均値を接近判定範囲とする。つまり、接近集合判定部20cは、集合範囲における緯度方向の距離Laの平均値と、集合範囲における経度方向の距離Lbの平均値とを接近判定範囲とする。本実施形態においては、集合番号「019」の輪郭対象集合、集合番号「020」の輪郭対象集合、および集合番号「021」の輪郭対象集合は、施設が1つのみ含まれている集合であり、集合距離が算出されていない。このため、本実施形態に係る接近集合判定部20cは、集合番号「400」の輪郭対象集合、集合番号「a」の輪郭対象集合、および集合番号「b」の輪郭対象集合の集合距離の平均値を算出し、算出した平均値を接近判定範囲とする。
接近集合判定部20cは、輪郭対象集合決定部20aにより決定された輪郭対象集合の重心を算出し、算出した重心を接近判定範囲の中心とすることにより、接近判定範囲内に他の輪郭対象集合の重心が含まれているか否かを判定する。なお、輪郭対象集合の重心は、輪郭対象集合に含まれている全ての施設の位置における緯度情報および経度情報の平均を示す。接近集合判定部20cは、一の輪郭対象集合の接近判定範囲内に他の輪郭対象集合の重心が含まれており、かつ、他の輪郭対象集合の接近判定範囲内に一の輪郭対象集合の重心が含まれている場合に、一の輪郭対象集合と他の輪郭対象集合とは互いに接近集合であると判定する。
接近集合判定部20cは、上述のようにして接近集合であるか否かを判定した結果、輪郭対象集合決定部20aにより決定された輪郭対象集合を、1以上の接近集合に分類する。接近集合判定部20cは、同じ接近集合に属すると判定した輪郭対象集合に対して同じ分布番号を付与する。本実施形態においては、接近集合判定部20cは、集合番号「400」の輪郭対象集合、集合番号「a」の輪郭対象集合、集合番号「b」の輪郭対象集合、集合番号「019」の輪郭対象集合、集合番号「020」の輪郭対象集合、および集合番号「021」の輪郭対象集合が互いに同じ接近集合に属すると判定したものとする。この場合、接近集合判定部20cは、集合番号「400」の輪郭対象集合、集合番号「a」の輪郭対象集合、集合番号「b」の輪郭対象集合、集合番号「019」の輪郭対象集合、集合番号「020」の輪郭対象集合、および集合番号「021」の輪郭対象集合に対して同じ分布番号「1」を付与する。
輪郭算出部20dは、複数段階のそれぞれの段階の全ての輪郭対象集合に含まれている全ての施設を囲む輪郭を複数段階毎に算出し、算出した輪郭を示す輪郭情報を表示属性値として表示属性値記録部21へ記録する。具体的には、輪郭算出部20dは、まず、分布密度「小」の輪郭対象集合を、輪郭対象集合分類部20bから検出する。本実施形態においては、輪郭算出部20dは、集合番号「400」の輪郭対象集合、集合番号「a」の輪郭対象集合、集合番号「b」の輪郭対象集合、集合番号「019」の輪郭対象集合、集合番号「020」の輪郭対象集合、および集合番号「021」の輪郭対象集合を、輪郭対象集合分類部20bから検出する。輪郭算出部20dは、検出した全ての輪郭対象集合に含まれている全ての施設を囲む輪郭を算出する。なお、この輪郭は、凸法等の公知の方法を用いて算出される。輪郭算出部20dは、算出した輪郭を構成する頂点座標と、この頂点座標の数である頂点数とを算出する。なお、頂点座標は、地図上の緯度情報および経度情報にて表される。ここで、輪郭情報には、頂点座標と頂点数とを含む。輪郭算出部20dは、接近集合判定部20cにより付与された分布番号「1」と、輪郭対象集合の集合番号「400」、「a」、「b」、「019」、「020」、および「021」と、分布密度「小」と、算出した頂点数と、算出した頂点座標とを、表示属性値記録部21へ記録する。
また、輪郭算出部20dは、分布密度「中」の輪郭対象集合を、輪郭対象集合分類部20bから検出する。本実施形態においては、輪郭算出部20dは、集合番号「400」の輪郭対象集合、集合番号「a」の輪郭対象集合、および集合番号「b」の輪郭対象集合を、輪郭対象集合分類部20bから検出する。輪郭算出部20dは、集合番号「400」の輪郭対象集合、集合番号「a」の輪郭対象集合、および集合番号「b」の輪郭対象集合を、1以上の接近集合に分類する。なお、輪郭算出部20dによる接近集合の分類方法は、上述の接近集合判定部20cによる分類方法と同様である。但し、この場合の接近判定範囲は、接近集合判定部20cにより算出された接近判定範囲よりも狭い範囲である。
本実施形態においては、輪郭算出部20dは、集合番号「400」の輪郭対象集合、集合番号「a」の輪郭対象集合、および集合番号「b」の輪郭対象集合を互いに同じ接近集合に分類したものとする。この場合、輪郭算出部20dは、集合番号「400」の輪郭対象集合、集合番号「a」の輪郭対象集合、および集合番号「b」の輪郭対象集合に含まれている全ての施設を囲む輪郭を算出する。輪郭算出部20dは、算出した輪郭を構成する頂点座標と、この頂点座標の数である頂点数とを算出する。輪郭算出部20dは、接近集合判定部20cにより付与された分布番号「1」と、輪郭対象集合の集合番号「400」、「a」、および「b」と、分布密度「中」と、算出した頂点数と、算出した頂点座標とを、表示属性値記録部21へ記録する。
さらに、輪郭算出部20dは、分布密度「大」の輪郭対象集合を、輪郭対象集合分類部20bから検出する。本実施形態においては、輪郭算出部20dは、集合番号「400」の輪郭対象集合および集合番号「b」の輪郭対象集合を、輪郭対象集合分類部20bから検出する。輪郭算出部20dは、集合番号「400」の輪郭対象集合および集合番号「b」の輪郭対象集合を、1以上の接近集合に分類する。但し、この場合の接近判定範囲も、接近集合判定部20cにより算出された接近判定範囲よりも狭い範囲である。
本実施形態においては、輪郭算出部20dは、集合番号「400」の輪郭対象集合と、集合番号「b」の輪郭対象集合とを互いに異なる接近集合に分類したものとする。このため、輪郭算出部20dは、集合番号「400」の輪郭対象集合と、集合番号「b」の輪郭対象集合とをそれぞれ別個に輪郭を算出する。すなわち、輪郭算出部20dは、まず、集合番号「400」の輪郭対象集合に含まれている全ての施設を囲む輪郭を算出する。輪郭算出部20dは、算出した輪郭を構成する頂点座標と、この頂点座標の数である頂点数とを算出する。輪郭算出部20dは、接近集合判定部20cにより付与された分布番号「1」と、輪郭対象集合の集合番号「400」と、分布密度「大」と、算出した頂点数と、算出した頂点座標とを、表示属性値記録部21へ記録する。また、輪郭算出部20dは、集合番号「b」の輪郭対象集合に含まれている全ての施設を囲む輪郭を算出する。輪郭算出部20dは、算出した輪郭を構成する頂点座標と、この頂点座標の数である頂点数とを算出する。輪郭算出部20dは、接近集合判定部20cにより付与された分布番号「1」と、輪郭対象集合の集合番号「b」と、分布密度「大」と、算出した頂点数と、算出した頂点座標とを、表示属性値記録部21へ記録する。
このように、表示属性値記録部21には、表示属性値が順次記録される。図9は、本実施形態に係る表示属性値記録部21に記録された表示属性値の一例を示す図である。図9に示すように、表示属性値記録部21には、表示属性値として、分布番号、輪郭対象集合の集合番号、分布密度、頂点数、および頂点座標が記録されている。
表示制御部22は、地図記録部4に記録された地図情報と、表示属性値記録部21に記録された表示属性値とに基づいて、地図範囲Mの地図と、情報処理装置1の現在位置と、地図範囲M内にあるレストランの施設の分布状態とを、表示装置3の表示画面上に表示させる。具体的には、表示制御部22は、まず、地図範囲算出部19により決定された地図範囲Mの地図を示す地図情報を、地図記録部4から読み出す。表示制御部22は、読み出した地図情報が示す地図を、情報処理装置1の現在位置とともに表示装置3の表示画面上に表示させる。図10は、本実施形態に係る表示装置3に表示される表示画面の一例を示す図である。図10に示すように、表示装置3の表示画面上には、地図範囲Mの地図と、情報処理装置1の現在位置(ユーザの現在位置)を示すアイコンHとが表示されている。
表示制御部22は、まず、分布密度「小」に対応する頂点座標を、表示属性値記録部21から読み出す。表示制御部22は、読み出した分布密度「小」に対応する頂点座標に基づいて、地図上に分布情報D1を表示させる。また、表示制御部22は、分布密度「中」に対応する頂点座標を、表示属性値記録部21から読み出す。表示制御部22は、読み出した分布密度「中」に対応する頂点座標に基づいて、地図上に分布情報D2を表示させる。また、表示制御部22は、集合番号「b」の分布密度「大」に対応する頂点座標を、表示属性値記録部21から読み出す。表示制御部22は、読み出した集合番号「b」の分布密度「大」に対応する頂点座標に基づいて、地図上に分布情報D3を表示させる。さらに、表示制御部22は、集合番号「400」の分布密度「大」に対応する頂点座標を、表示属性値記録部21から読み出す。表示制御部22は、読み出した集合番号「400」の分布密度「大」に対応する頂点座標に基づいて、地図上に分布情報D4を表示させる。
ここで、地図上に表示される分布情報D1〜D4の表示色は、情報処理装置1の図示しないメモリに予め記録された色情報に基づいて決定される。本実施形態においては、分布密度が大きくなるに従って、分布情報の表示色は濃くなっている。なお、分布情報の表示色はこれに限定されるものではなく、分布密度毎に異なる表示態様で表示されていればよい。
すなわち、表示装置3の表示画面に表示された地図上には、情報処理装置1の現在位置周辺にあるレストランの施設の分布状態が表示される。このため、情報処理装置1のユーザは、現在位置周辺にレストランの施設がどのように分布しているのか等といった現在位置周辺の様子を、一見しただけで的確に把握することができる。
ここで、仮に、表示属性値記録部21に記録された頂点座標が1つのみである場合、例えば、図11(a)に示すように、表示制御部22は、1つの頂点座標Tを含む3ピクセル×3ピクセルからなる矩形領域を分布情報として地図上に表示させる。また、表示属性値記録部21に記録された頂点座標が2つである場合、例えば、図11(b)に示すように、表示制御部22は、2つの頂点座標Tを含む矩形領域を分布情報として地図上に表示させる。
以上、情報処理装置1の構成について説明したが、情報処理装置1の構成は、図1に示す構成に限定されない。例えば、情報処理装置1内に、所定の検索条件をユーザに入力させるための入力部と、画像を表示する表示部と、地図を示す地図情報が予め記録された地図記録部と、施設を示す施設情報が記録された施設情報記録部とが備えられていてもよい。この場合、図1に示すように、情報処理装置1には、入力装置2、表示装置3、地図記録部4、および施設情報記録部5が接続されている必要はない。
(情報処理装置の動作)
次に、上記の構成に係る情報処理装置1の動作について、図12〜図15を参照しながら説明する。
図12は、情報処理装置1の全体の動作例を示すフローチャートである。図12に示すように、現在位置計測部11は、情報処理装置1の現在位置(ユーザの現在位置)を計測する(Op1)。検索条件入力部12は、情報処理装置1のユーザが所望する情報を検索するための検索条件を、入力装置2を介してユーザから受け付ける(Op2)。検索条件入力部12が検索条件を受け付けた場合(Op2にてYES)、現在位置取得部13は、現在位置計測部11を参照することにより、Op1にて計測された情報処理装置1の現在位置を示す現在位置情報を現在位置計測部11から取得する(Op3)。一方、検索条件入力部12が検索条件を受け付けない場合(Op2にてNO)、Op2に戻り、Op2の判定処理を繰り返す。
施設情報読出部14は、検索条件入力部12が受け付けた検索条件に適合し、かつ、現在位置情報が示す情報処理装置1の現在位置から読出範囲R内にある施設情報を、施設情報記録部5から読み出す(Op4)。なお、読出範囲Rは、情報処理装置1の図示しないメモリに予め記録されている。本実施形態においては、施設情報読出部14は、読出範囲R内にあるレストランの施設A〜Xを示す施設情報を、施設情報記録部5から読み出す(図3参照)。集合生成部15は、Op4にて読み出された施設情報に対してクラスター分析(例えば、階層的クラスタリング)を行うことにより、1または複数の施設を含む集合を複数生成する。すなわち、階層的クラスタリングの結果として、集合生成部15により図4に示すデンドログラムが生成される(Op5)。集合生成部15は、Op5にて生成されたデンドログラムに基づいて、各集合毎に集合情報を生成し、生成した集合情報を集合情報記録部16へ記録する(Op6)。
近接施設検出部17は、施設情報記録部5を参照することにより、近接施設を示す施設情報を施設情報記録部5から検出する(Op7)。なお、近接施設は、上述したように、情報処理装置1の現在位置から最も近い位置にある施設を示す。そして、近接施設検出部17は、近接距離を算出する(Op8)なお、近接距離は、上述したように、近接施設の位置と、情報処理装置1の現在位置との間の距離を示す。表示対象集合決定部18は、表示対象集合を決定する(Op9)。
ここで、Op9における表示対象集合決定部18の処理の一例について、図13を参照しながら説明する。
図13は、表示対象集合決定部18による表示対象集合の決定処理の一例を示すフローチャートである。図13に示すように、表示対象集合決定部18は、Op8にて算出された近接距離が通知範囲Nを超えているか否かを判定する(Op91)。通知範囲Nは、情報処理装置1のユーザに対して通知するのに適度な範囲を示す。なお、通知範囲Nは、情報処理装置1の図示しないメモリに予め記録されている。
近接距離が通知範囲Nを超えていなければ(Op91にてNO)、表示対象集合決定部18は、通知範囲N内にある施設を示す施設情報を、施設情報記録部5から読み出す(Op92)。本実施形態においては、表示対象集合決定部18は、通知範囲N内にあるレストランの施設A〜G,I〜M,S,Tを示す施設情報を、施設情報記録部5から読み出す。表示対象集合決定部18は、Op92にて読み出された施設情報が示す施設が全て含まれている集合を示す集合情報を、集合情報記録部16から読み出す(Op93)。本実施形態においては、施設A〜G,I〜M,S,Tが全て含まれている集合は、集合番号「600」の集合であるので(図4、図5参照)、表示対象集合決定部18は、集合番号「600」の集合を示す集合情報を、集合情報記録部16から読み出す。
一方、近接距離が通知範囲Nを超えていれば(Op91にてYES)、表示対象集合決定部18は、近接施設を示す施設情報を、施設情報記録部5から読み出す(Op94)。表示対象集合決定部18は、Op94にて読み出された施設情報が示す近接施設のみを含む集合を示す集合情報を、集合情報記録部16から読み出す(Op95)。
表示対象集合決定部18は、Op93またはOp95にて読み出された集合情報が示す集合を、表示対象集合として決定する(Op96)。本実施形態においては、表示対象集合決定部18は、Op93にて読み出された集合情報が示す集合番号「600」の集合を、表示対象集合として決定する。
図12に戻り、地図範囲算出部19は、地図記録部4に記録された地図情報と、Op9にて決定された表示対象集合の集合範囲と、情報処理装置1の現在位置とに基づいて、表示対象集合の集合範囲と情報処理装置1の現在位置とが表示装置3における1画面の表示画面上に表示できるような地図の縮尺と地図の表示位置とを算出する。地図範囲算出部19は、算出した地図の縮尺と地図の表示位置とに基づいて、表示装置3における1画面の表示画面上に表示される地図の地図範囲Mを算出する(Op10)。表示属性値算出部20は、Op10にて算出された地図範囲M内にあるレストランの施設の分布状態を地図上に表示するための表示属性値を算出し、算出した表示属性値を表示属性値記録部21へ記録する(Op11)。
ここで、Op11における表示属性値算出部20の処理の一例について、図14を参照しながら説明する。
図14は、表示属性値算出部20による表示属性値の算出処理の一例を示すフローチャートである。図14に示すように、輪郭対象集合決定部20aは、地図範囲M内にあるレストランの施設を示す施設情報を、施設情報記録部5から読み出す(Op111)。本実施形態においては、輪郭対象集合決定部20aは、地図範囲M内にあるレストランの施設A〜Uを示す施設情報を、施設情報記録部5から読み出す(図7参照)。輪郭対象集合決定部20aは、Op111にて読み出された施設情報が示す施設数が「2」以上であるか否かを判定する(Op112)。輪郭対象集合決定部20aは、施設数が「2」以上であると判定した場合(Op112にてYES)、Op111にて読み出された施設情報が示す施設が全て含まれる集合を示す集合情報を、集合情報記録部16から読み出す(Op113)。本実施形態においては、施設A〜Uが全て含まれている集合は、集合番号「700」の集合であるので(図4、図5参照)、輪郭対象集合決定部20aは、集合番号「700」の集合を示す集合情報を、集合情報記録部16から読み出す。
一方、輪郭対象集合決定部20aは、施設数が「2」以上でないと判定した場合(Op112にてNO)、Op111にて読み出された施設情報が示す施設の数を頂点数、Op111にて読み出された施設情報が示す施設の位置を頂点座標とすることにより、この頂点数と頂点座標とを、表示属性値として表示属性値記録部21へ記録する(Op114)。
輪郭対象集合決定部20aは、Op113にて読み出された集合情報が示す集合の下層の集合の中から、予め決定されている非類似度をラインLとして設定したときに分類される集合を、輪郭対象集合として決定する(Op115)。本実施形態においては、輪郭対象集合決定部20aは、集合番号「400」の集合、集合番号「a」の集合、集合番号「b」の集合、集合番号「019」の集合、集合番号「020」の集合、および集合番号「021」の集合を、輪郭対象集合として決定する。
輪郭対象集合分類部20bは、輪郭対象集合の集合密度に基づいて、Op115にて決定された輪郭対象集合を、分布密度「大」の輪郭対象集合、分布密度「中」の輪郭対象集合、分布密度「小」の輪郭対象集合の3段階のいずれかの段階に分類する(Op116)。接近集合判定部20cは、上述の方法により、Op115にて決定された輪郭対象集合が互いに接近集合であるか否かを判定する(Op117)。接近集合判定部20cは、Op117にて判定された結果、同じ接近集合に属すると判定した輪郭対象集合に対して同じ分布番号を付与する(Op118)。本実施形態においては、接近集合判定部20cは、Op115にて決定された輪郭対象集合が互いに同じ接近集合に属すると判定し、Op115にて決定された輪郭対象集合に対して同じ分布番号「1」を付与する。
輪郭算出部20dは、複数段階のそれぞれの段階の全ての輪郭対象集合に含まれている全ての施設を囲む輪郭を複数段階毎に算出し、算出した輪郭を示す輪郭情報を表示属性値として表示属性値記録部21へ記録する(Op119)。
ここで、Op119における輪郭算出部20dの処理の一例について、図15を参照しながら説明する。
図15は、輪郭算出部20dによる輪郭の算出処理の一例を示すフローチャートである。図15に示すように、輪郭算出部20dは、分布密度「小」の輪郭対象集合を、輪郭対象集合分類部20bから検出する(Op1191)。輪郭算出部20dは、Op1191にて検出された全ての輪郭対象集合に含まれている全ての施設を囲む輪郭を算出し、算出した輪郭が示す輪郭情報(頂点数、頂点座標)を表示属性値として表示属性値記録部21へ記録する(Op1192)。
そして、輪郭算出部20dは、分布密度「中」の輪郭対象集合を、輪郭対象集合分類部20bから検出する(Op1193)。輪郭算出部20dは、上述の方法により、Op1193にて検出された分布密度「中」の輪郭対象集合を、1以上の接近集合に分類する(Op1194)。輪郭算出部20dは、Op1194にて分類された接近集合の中から一の接近集合を抽出する(Op1195)。輪郭算出部20dは、Op1195にて抽出された接近集合に含まれている全ての施設を囲む輪郭を算出し、算出した輪郭が示す輪郭情報を表示属性値として表示属性値記録部21へ記録する(Op1196)。
次に、輪郭算出部20dは、Op1195にて抽出した接近集合に含まれている分布密度「大」の輪郭対象集合を、輪郭対象集合分類部20bから検出する(Op1197)。輪郭算出部20dは、上述の方法により、Op1197にて検出された分布密度「大」の輪郭対象集合を、1以上の接近集合に分類する(Op1198)。輪郭算出部20dは、Op1198にて分類された接近集合の中から一の接近集合を抽出する(Op1199)。輪郭算出部20dは、Op1199にて抽出された接近集合に含まれている全ての施設を囲む輪郭を算出し、算出した輪郭が示す輪郭情報を表示属性値として表示属性値記録部21へ記録する(Op1200)。
そして、輪郭算出部20dは、Op1198にて分類された1以上の接近集合のうち、分布密度「大」の他の接近集合があるか否かを判定する(Op1201)。輪郭算出部20dは、分布密度「大」の他の接近集合があると判定すれば(Op1201にてYES)、Op1199に戻り、Op1198にて分類された1以上の接近集合の中から他の接近集合を抽出する。一方、輪郭算出部20dは、分布密度「大」の他の接近集合がないと判定すれば(Op1201にてNO)、Op1194にて分類された1以上の接近集合のうち、分布密度「中」の他の接近集合があるか否かを判定する(Op1202)。輪郭算出部20dは、分布密度「中」の他の接近集合があると判定すれば(Op1202にてYES)、Op1195に戻り、Op1194にて分類された接近集合の中から他の接近集合を抽出する。一方、輪郭算出部20dは、分布密度「中」の他の接近集合がないと判定すれば(Op1202にてNO)、図15の処理を終了する。
図12に戻り、表示制御部22は、Op10にて決定された地図範囲Mの地図を示す地図情報を、地図記録部4から読み出し、読み出した地図情報と、Op11にて表示属性値記録部21に記録された表示属性値とに基づいて、地図範囲Mの地図と、情報処理装置1の現在位置と、現在位置周辺にあるレストランの施設の分布状態とを、表示装置3の表示画面上に表示させる(Op12)。すなわち、表示装置3の表示画面に表示された地図上には、図10に示すように、現在位置周辺にあるレストランの施設の分布状態が表示される。このため、情報処理装置1のユーザは、現在位置周辺にレストランの施設がどのように分布しているのか等といった現在位置周辺の様子を、一見しただけで的確に把握することができる。
[実施の形態2]
図16は、本実施形態に係る情報処理装置6の概略構成を示すブロック図である。すなわち、本実施形態に係る情報処理装置6は、図1に示す表示属性値算出部20、表示属性値記録部21、および表示制御部22の代わりに、表示属性値算出部61、表示属性値記録部62、および表示制御部63を備えている。なお、図15において、図1と同様の機能を有する構成については、同じ参照符号を付記し、その詳細な説明を省略する。
なお、本実施形態においても、実施の形態1と同様に、検索条件入力部12は、「現在位置周辺のレストランの施設」を示す検索条件を、入力装置2を介してユーザから受け付けたものとする。
表示属性値算出部61は、図1に示す表示属性値算出部20と同様に、地図範囲算出部19により算出された地図範囲M内にあるレストランの施設の数に基づいて、地図範囲M内にあるレストランの施設の分布状態を地図上に表示するための表示属性値を算出し、算出した表示属性値を表示属性値記録部62へ記録する。このため、表示属性値算出部61は、図17に示すように、表示形態記録部61a、アイコン位置算出部61b、およびアイコン割当部61cを有している。
表示形態記録部61aは、地図上に表示されるアイコンの表示形態を示す表示形態情報を記録する。図18は、本実施形態に係る表示形態記録部61aに記録された表示形態情報の一例を示す図である。図18に示すように、表示形態記録部61aには、表示形態情報として、アイコンサイズおよびアイコンの表示形態が記録されている。なお、アイコンは、集合を示すマークであって、地図上に表示される図形、文字、記号、またはそれらの組み合わせからなるマークである。アイコンサイズは、アイコンサイズ「大」、アイコンサイズ「中」、アイコンサイズ「小」の3段階有している。ここで、アイコンサイズ「大」のアイコンは、地図上に表示されるアイコンの中でアイコンサイズが相対的に大きいアイコンを示す。アイコンサイズ「中」のアイコンは、地図上に表示されるアイコンの中でアイコンサイズが相対的に中くらいのアイコンを示す。アイコンサイズ「小」のアイコンは、地図上に表示されるアイコンの中でアイコンサイズが相対的に小さいアイコンを示す。アイコンの表示形態は、地図上にアイコンを表示した場合のアイコンの画像を示す。図18に示す例では、アイコンの表示形態は、建物を抽象的に表した画像を示しており、アイコンサイズが大きくなるに従って画像も大きくなる。
アイコン位置算出部61bは、地図範囲Mの地図上に表示すべきアイコンを決定し、決定したアイコン表示位置を算出する。具体的には、アイコン位置算出部61bは、まず、地図範囲M内にあるレストランの施設を示す施設情報を、施設情報記録部5から読み出す。本実施形態においては、図7に示すように、地図範囲M内には、レストランの施設がA〜Uまで21施設存在している。このため、本実施形態に係るアイコン位置算出部61bは、地図範囲M内にあるレストランの施設A〜Uを示す施設情報を、施設情報記録部5から読み出す。また、アイコン位置算出部61bは、読み出した施設情報が示す施設A〜Uが全て含まれている集合を示す集合情報を、集合情報記録部16から読み出す。本実施形態においては、施設A〜Uが全て含まれている集合は、集合番号「700」の集合であるので(図4、図5参照)、アイコン位置算出部61bは、集合番号「700」の集合を示す集合情報を、集合情報記録部16から読み出す。
アイコン位置算出部61bは、図4に示すデンドログラムにおいて、読み出した集合番号「700」の集合から1段ずつ下層にラインLn(nは1以上の整数)を設定していくことにより、ラインLnにおいて分類される集合を候補集合として決定する。例えば、集合番号「700」の集合から1段下層にラインL1を設定した場合、アイコン位置算出部61bは、ラインL1において分類される集合番号「600」の集合および集合番号「021」の集合のそれぞれを候補集合として決定する。また、例えば、集合番号「700」の集合から2段下層にラインL2を設定した場合、アイコン位置算出部61bは、ラインL2において分類される集合番号「500」の集合、集合番号「c」の集合、および集合番号「021」の集合のそれぞれを候補集合として決定する。
アイコン位置算出部61bは、決定した候補集合の地図上における代表位置にそれぞれアイコンを表示した場合のアイコン同士が重なる数(アイコンの重複数)を算出する。なお、本実施形態においては、代表位置に表示するアイコンをアイコンサイズ「大」のアイコンと仮定しておく。また、本実施形態においては、代表位置は、候補集合の重心とする。候補集合の重心は、候補集合に含まれている全ての施設の位置における緯度情報および経度情報の平均を示す。
例えば、1のアイコンと他のアイコンとが地図上で互いに重なる場合、アイコン位置算出部61bは、地図上で重なる1のアイコンと他のアイコンとの数をアイコンの重複数とする。例えば、1のアイコンに他のアイコンが1つ重なる場合、アイコン位置算出部61bは、地図上で重なるアイコンの数、すなわち、アイコンの重複数“2”を算出する。また、例えば、1のアイコンに他のアイコンが2つ重なる場合、アイコン位置算出部61bは、地図上で重なるアイコンの数、すなわち、アイコンの重複数“3”を算出する。なお、アイコン位置算出部61bによるアイコンの重複数の算出方法はこれに限定されない。例えば、アイコン位置算出部61bは、地図上でアイコン同士が重複する部分を計測することにより、アイコンの重複数を算出してもよい。
アイコン位置算出部61bは、上述のようにして算出したアイコンの重複数が許容重複数を超えないようなラインLnにおいて分類される候補集合を示す集合情報を、集合情報記録部16から読み出す。なお、許容重複数は、情報処理装置1の図示しないメモリに予め記録されている。アイコン位置算出部61bは、読み出した集合情報が示す候補集合を、地図上に表示すべきアイコンに対応するアイコン表示集合と決定する。アイコン位置算出部61bは、決定したアイコン表示集合の地図上における代表位置をアイコン表示位置として算出する。なお、本実施形態においては、代表位置は、アイコン表示集合の重心とする。アイコン位置算出部61bは、算出したアイコン表示位置を、アイコン表示集合の集合番号とともに表示属性値として表示属性値記録部62へ記録する。
アイコン割当部61cは、アイコン位置算出部61bにより算出されたアイコン表示位置に対して、アイコンサイズ「大」のアイコン、アイコンサイズ「中」のアイコン、アイコンサイズ「小」のアイコンのいずれかのアイコンを割り当てる。具体的には、アイコン割当部61cは、まず、アイコン表示集合を示す集合情報を、集合情報記録部16から読み出す。アイコン割当部61cは、読み出した集合情報が示す施設数の中から、最も多い施設数と最も少ない施設数とを抽出する。アイコン割当部61cは、最も多い施設数と最も少ない施設数との間を3等分する値を算出する。なお、3等分する値のうち、最も少ない施設数に近い値をV1、最も多い施設数に近い値をV2とする。例えば、最も多い施設数が「19」、最も少ない施設数が「1」であれば、アイコン割当部61cは、最も多い施設数「19」と最も少ない施設数「1」との間を3等分する値、すなわち、値V1「7」および値V2「13」を算出する。
アイコン割当部61cは、アイコン表示集合を示す集合情報の中から、最も少ない施設数以上であって、かつ値V1未満の範囲内にある施設数を示す集合情報を抽出する。アイコン割当部61cは、抽出した集合情報に対応するアイコン表示位置に対してアイコンサイズ「小」のアイコンを割り当てる。また、アイコン割当部61cは、アイコン表示集合を示す集合情報の中から、値V1以上であって、かつ値V2未満の範囲内にある施設数を示す集合情報を抽出する。アイコン割当部61cは、抽出した集合情報に対応するアイコン表示位置に対してアイコンサイズ「中」のアイコンを割り当てる。さらに、アイコン割当部61cは、アイコン表示集合を示す集合情報の中から、値V2以上であって、かつ最も多い施設数以下の範囲内にある施設数を示す集合情報を抽出する。アイコン割当部61cは、抽出した集合情報に対応するアイコン表示位置に対してアイコンサイズ「大」のアイコンを割り当てる。なお、アイコン割当部61cによるアイコンの割当方法はこれに限定されない。アイコン割当部61cは、割り当てたアイコンのアイコンサイズを、表示属性値として表示属性値記録部62へ記録する。
このように、表示属性値記録部62には、表示属性値が順次記録される。図19は、本実施形態に係る表示属性値記録部62に記録された表示属性値の一例を示す図である。図19に示すように、表示属性値記録部62には、表示属性値として、識別番号、アイコン表示集合の集合番号、アイコンサイズ、およびアイコン表示位置が記録されている。なお、識別番号は、表示属性値記録部62のレコードを一意に識別する符号を示す。
表示制御部63は、図1に示す表示制御部22と同様、地図記録部4に記録された地図情報と、表示属性値記録部62に記録された表示属性値とに基づいて、地図範囲Mの地図と、情報処理装置1の現在位置と、地図範囲M内にあるレストランの施設の分布状態とを、表示装置3の表示画面上に表示させる。具体的には、表示制御部63は、まず、地図範囲算出部19により決定された地図範囲Mの地図を示す地図情報を、地図記録部4から読み出す。表示制御部63は、読み出した地図情報が示す地図を、情報処理装置1の現在位置とともに表示装置3の表示画面上に表示させる。図20は、本実施形態に係る表示装置3に表示される表示画面の一例を示す図である。図20に示すように、表示装置3の表示画面上には、地図範囲Mの地図と、情報処理装置1の現在位置(ユーザの現在位置)を示すアイコンHとが表示されている。
表示制御部63は、アイコンサイズおよびアイコン表示位置を、表示属性値記録部62から読み出す。表示制御部63は、読み出したアイコンサイズに対応するアイコンの表示形態を、表示形態記録部61aから読み出す。表示制御部63は、読み出したアイコン表示位置に、読み出したアイコンの表示形態を表示させる。なお、地図上に表示されるアイコンの表示色は、情報処理装置1の図示しないメモリに予め記録された色情報に基づいて決定される。例えば、アイコンサイズ毎に異なる表示色となるようにしてもよい。
すなわち、表示装置3の表示画面に表示された地図上には、情報処理装置1の現在位置周辺にあるレストランの施設の分布状態が表示される。このため、情報処理装置1のユーザは、現在位置周辺にレストランの施設がどのように分布しているのか等といった現在位置周辺の様子を、一見しただけで的確に把握することができる。
次に、上記の構成に係る表示属性値算出部61の動作について、図21および図22を参照しながら説明する。
図21は、表示属性値算出部61による表示属性値の算出処理の一例を示すフローチャートである。図21に示すように、アイコン位置算出部61bは、地図範囲M内にあるレストランの施設を示す施設情報を、施設情報記録部5から読み出す(Op21)。本実施形態においては、アイコン位置算出部61bは、地図範囲M内にあるレストランの施設A〜Uを示す施設情報を、施設情報記録部5から読み出す(図7参照)。アイコン位置算出部61bは、Op21にて読み出された施設情報が示す施設が全て含まれる集合を示す集合情報を、集合情報記録部16から読み出す(Op22)。本実施形態においては、施設A〜Uが全て含まれている集合は、集合番号「700」の集合であるので(図4、図5参照)、アイコン位置算出部61bは、集合番号「700」の集合を示す集合情報を、集合情報記録部16から読み出す。アイコン位置算出部61bは、地図範囲Mの地図上に表示すべきアイコンを決定し、決定したアイコン表示位置を算出し、算出したアイコン表示位置を表示属性値として表示属性値記録部62へ記録する(Op23)。
ここで、Op23におけるアイコン位置算出部61bの処理の一例について、図22を参照しながら説明する。
図22は、アイコン位置算出部61bによるアイコン表示位置の算出処理の一例を示すフローチャートである。図22に示すように、アイコン位置算出部61bは、まず、変数kを“1”に初期化する(Op231)。なお、変数kは集合の数を示す。アイコン位置算出部61bは、Op22にて読み出された集合情報に対応するアイコン表示位置を算出する(Op232)。本実施形態においては、アイコン位置算出部61bは、集合番号「700」の集合に対応するアイコン表示位置を算出する。なお、本実施形態においては、アイコン表示位置は、集合番号「700」の集合の重心であるものとする。アイコン位置算出部61bは、Op232にて算出されたアイコン表示位置を、Op22にて読み出された集合情報が示す集合の集合番号とともに、情報処理装置1の図示しない保存メモリへ記録する(Op233)。
そして、アイコン位置算出部61bは、k個の候補集合の地図上における代表位置(アイコン表示位置)にk個のアイコンを表示した場合のアイコンの重複数を算出する(Op234)。なお、kが“1”である場合、地図上には1つのアイコンのみ表示されるので、アイコン位置算出部61bは、アイコンの重複数“0”を算出する。
次に、アイコン位置算出部61bは、Op234にて算出されたアイコンの重複数が許容重複数を超えているか否かを判定する(Op235)。なお、許容重複数は、情報処理装置1の図示しないメモリに予め記録されている。アイコン位置算出部61bは、アイコンの重複数が許容重複数を超えていないと判定すれば(Op235にてNO)、k個の候補集合の集合番号とk個のアイコン表示位置とを、保存メモリへ記録する(Op236)。なお、保存メモリに既に候補集合の集合番号とアイコン表示位置とが記録されていれば、当該候補集合の集合番号とアイコン表示位置とを更新する。そして、アイコン位置算出部61bは、変数kに“1”を加算(k=k+1)する(Op237)。一方、アイコン位置算出部61bは、アイコンの重複数が許容重複数を超えていると判定すれば(Op235にてYES)、Op241へ進む。
アイコン位置算出部61bは、変数kが地図範囲M内にあるレストランの施設の数を超えているか否かを判定する(Op238)。アイコン位置算出部61bは、変数kが施設数を超えていないと判定すれば(Op238にてNO)、図4に示すデンドログラムにおいて、前回設定したラインLnから1段下層にラインLn+1を設定した場合に分類されるk個の候補集合を示す集合情報を、集合情報記録部16から読み出す(Op239)。アイコン位置算出部61bは、Op239にて読み出されたk個の候補集合を示す集合情報に対応するアイコン表示位置をそれぞれ算出し(Op240)、Op234へ戻る。そして、アイコン位置算出部61bは、Op234以降の処理を繰り返す。一方、アイコン位置算出部61bは、変数kが施設数を超えていると判定すれば(Op238にてYES)、Op241へ進む。
Op241において、アイコン位置算出部61bは、保存メモリに記録された候補集合の集合番号とアイコン表示位置とを、アイコン表示集合の集合番号とアイコン表示位置として当該保存メモリから読み出す(Op241)。アイコン位置算出部61bは、Op241にて読み出されたアイコン表示集合の集合番号と、Op241にて読み出されたアイコン表示位置とを、表示属性値として表示属性値記録部62へ記録する(Op242)。
図21に戻り、アイコン割当部61cは、Op23にて算出されたアイコン表示位置に対して、アイコンサイズ「大」のアイコン、アイコンサイズ「中」のアイコン、アイコンサイズ「小」のアイコンのいずれかのアイコンを割り当て、割り当てたアイコンのアイコンサイズを、表示属性値として表示属性値記録部62へ記録する(Op24)。
Op23およびOp24の結果、表示属性値記録部62には、図19に示すように、表示属性値が記録される。
[実施の形態3]
図23は、本実施形態に係る情報処理装置7およびサーバ装置8の概略構成を示すブロック図である。情報処理装置7およびサーバ装置8は、ネットワークNを介して互いに接続されている。本実施形態においては、一例として、ネットワークNがインターネットであるものとするが、ネットワークNの種類は特に限定するものではなく、イーサネット(登録商標)、無線LAN、その他のコンピュータネットワーク等であってもよい。また、情報処理装置7は、入力装置2および表示装置3に接続されている。情報処理装置7は、図1に示す情報処理装置1と同様、例えば、カーナビゲーション装置、パーソナルコンピュータ、サーバマシン、携帯端末等であるが、本実施形態においては、携帯端末であるものとする。サーバ装置8は、地図記録部4および施設情報記録部5に接続されている。サーバ装置8は、パーソナルコンピュータ、サーバマシン、ワークステーション等である。なお、図23において、図1と同様の機能を有する構成については、同じ参照符号を付記し、その詳細な説明を省略する。
なお、本実施形態においては、情報処理装置7は、実施の形態2で説明したように、例えば、図20に示す画面を、表示装置3の表示画面上に表示させるものとする。
(情報処理装置の構成)
情報処理装置7は、現在位置計測部71、位置情報送信部72、検索条件入力部73、検索条件送信部74、描画情報受信部75、および表示制御部76を備えている。
ここで、上記の現在位置計測部71、位置情報送信部72、検索条件入力部73、検索条件送信部74、描画情報受信部75、および表示制御部76の各機能は、コンピュータが備えるCPU等の演算装置が所定のプログラムを実行することによって実現される。したがって、上記の各機能をコンピュータで実現するためのプログラムまたはそれを記録した記録媒体も本発明の一実施態様である。
現在位置計測部71は、図1に示す現在位置計測部11と同様の機能を有する。すなわち、現在位置計測部71は、情報処理装置7の現在位置(情報処理装置7のユーザの現在位置)を計測する。現在位置計測部71は、計測結果に基づいて、情報処理装置7の現在位置を示す現在位置情報を生成する。
位置情報送信部72は、現在位置計測部71により生成された現在位置情報を、ネットワークNを介してサーバ装置8へ送信する。本実施形態においては、位置情報送信部72は、情報処理装置7の現在位置が変化する度に、現在位置情報をサーバ装置8へ送信する。なお、位置情報送信部72は、情報処理装置7のユーザが一定の距離を移動する毎に、あるいは一定の時間間隔で、現在位置情報をサーバ装置8へ送信するようにしてもよい。
検索条件入力部73は、図1に示す検索条件入力部12と同様の機能を有する。すなわち、検索条件入力部73は、情報処理装置7のユーザが所望する情報を検索するための検索条件を、入力装置2を介してユーザから受け付ける。本実施形態においても、検索条件入力部73は、「現在位置周辺のレストランの施設」を示す検索条件を、入力装置2を介してユーザから受け付けたものとする。検索条件入力部73は、受け付けた検索条件を検索条件送信部74に出力する。
検索条件送信部74は、検索条件入力部73から出力された検索条件を、表示属性値を取得するための要求を示す要求情報とともにネットワークNを介してサーバ装置8へ送信する。
描画情報受信部75は、ネットワークNを介してサーバ装置8から送信された描画情報を受信する。なお、描画情報については後述する。描画情報受信部75は、受信した描画情報を表示制御部76に出力する。
表示制御部76は、描画情報受信部75から出力された描画情報に基づいて、サーバ装置8の地図範囲算出部90により算出された地図範囲の地図と、情報処理装置7の現在位置と、サーバ装置8の地図範囲算出部90により算出された地図範囲内にあるレストランの施設の分布状態とを、表示装置3の表示画面上に表示させる。本実施形態においては、表示制御部76は、描画情報受信部75から出力された描画情報に基づいて、例えば、図20に示す画面を、表示装置3の表示画面上に表示させる。
(表示属性値を算出し、算出した表示属性値を記録するためのサーバ装置の構成)
サーバ装置8は、施設情報記録部5に記録された施設情報が更新された場合に、地図の縮尺毎に表示属性値を算出し、算出した表示属性値を地図の縮尺毎に記録する機能を有している。このため、サーバ装置8は、施設情報読出部81、集合生成部82、集合情報記録部83、表示属性値算出部84、および表示属性値記録部85を備えている。
ここで、上記の施設情報読出部81、集合生成部82、集合情報記録部83、および表示属性値算出部84の各機能は、コンピュータが備えるCPU等の演算装置が所定のプログラムを実行することによって実現される。したがって、上記の各機能をコンピュータで実現するためのプログラムまたはそれを記録した記録媒体も本発明の一実施態様である。また、表示属性値記録部85は、コンピュータの内蔵記憶装置またはこのコンピュータからアクセス可能な記憶装置によって具現化される。
施設情報読出部81は、施設情報記録部5に記録された施設情報が更新された場合に、更新された施設情報を含む全ての施設情報を、施設情報記録部5から読み出す。このため、施設情報読出部81は、施設情報記録部5に記録された施設情報が更新されたか否かを監視する機能を有している。なお、例えば、新しく施設ができた場合や、施設がなくなった場合等に、施設情報記録部5に記録される施設情報が管理者によって更新される。施設情報読出部81は、読み出した施設情報を集合生成部82に出力する。
集合生成部82は、図1に示す集合生成部15と同様の機能を有する。すなわち、集合生成部82は、施設情報読出部81から出力された施設情報に対してクラスター分析を行うことにより、1または複数の施設を含む集合を1または複数生成する。ここで、本実施形態に係る集合生成部82は、図1に示す集合生成部15と同様に、階層的クラスタリングの結果として、図4に示すデンドログラムを生成したものとする。集合生成部82は、図4に示すデンドログラムに基づいて、各集合毎に集合情報を生成する。集合生成部82は、生成した集合情報を集合情報記録部83へ記録する。このため、集合情報記録部83には、図1に示す集合情報記録部16と同様に、図5に示す集合情報が記録される。
表示属性値算出部84は、地図情報で予め決まっている地図の縮尺毎に、当該地図の縮尺が示す地図範囲内にあるレストランの施設の分布状態を地図上に表示するための表示属性値を算出し、算出した表示属性値を地図の縮尺毎に表示属性値記録部85へ記録する。具体的には、表示属性値算出部84は、まず、図17に示すアイコン位置算出部61bが実行する処理を、地図の縮尺毎に行うことによって、地図の縮尺毎にアイコン表示集合を決定する。表示属性値算出部84は、地図の縮尺毎に決定したアイコン表示集合の地図上における代表位置をアイコン表示位置として算出する。また、表示属性値算出部84は、図17に示すアイコン割当部61cが実行する処理を、地図の縮尺毎に行うことによって、算出されたアイコン表示位置に対して、アイコンサイズ「大」のアイコン、アイコンサイズ「中」のアイコン、アイコンサイズ「小」のアイコンのいずれかのアイコンを割り当てる。表示属性値算出部84は、算出したアイコン表示位置と、割り当てたアイコンのサイズとを、アイコン表示集合の集合番号とともに表示属性値として表示属性値記録部85へ記録する。
図24は、本実施形態に係る表示属性値記録部85に記録された表示属性値の一例を示す図である。図24に示すように、表示属性値記録部85には、地図の縮尺、アイコン表示集合の集合番号、上位縮尺集合番号、下位縮尺集合番号、アイコンサイズ、およびアイコン表示位置が記録されている。すなわち、表示属性値記録部85には、地図の縮尺毎に、表示属性値が記録されている。
(情報処理装置へ描画情報を配信するためのサーバ装置の構成)
サーバ装置8は、情報処理装置7から送信された検索条件および要求情報を受信した場合に、当該検索条件に対応する検索結果を表示するための描画情報を生成し、生成した描画情報を情報処理装置7へ送信する機能を有している。このため、サーバ装置8は、現在位置取得部86、検索条件受信部87、近接施設検出部88、表示対象集合決定部89、地図範囲算出部90、表示属性値読出部91、および描画情報送信部92を備えている。
ここで、上記の現在位置取得部86、検索条件受信部87、近接施設検出部88、表示対象集合決定部89、地図範囲算出部90、表示属性値読出部91、および描画情報送信部92の各機能は、コンピュータが備えるCPU等の演算装置が所定のプログラムを実行することによって実現される。したがって、上記の各機能をコンピュータで実現するためのプログラムまたはそれを記録した記録媒体も本発明の一実施態様である。
現在位置取得部86は、ネットワークNを介して情報処理装置7から送信された現在位置情報を取得する。現在位置取得部86は、取得した現在位置情報を近接施設検出部88に出力する。
検索条件受信部87は、ネットワークNを介して情報処理装置7から送信された検索条件と要求情報とを受信する。検索条件受信部87は、受信した検索条件および要求情報を、近接施設検出部88に出力する。
近接施設検出部88は、検索条件受信部87から出力された要求情報を受け付けた場合に、検索条件受信部87から出力された検索条件と、現在位置取得部86から出力された現在位置情報と、施設情報記録部5に記録された施設情報とに基づいて、近接施設を示す施設情報を施設情報記録部5から検出する。なお、近接施設は、実施の形態1にて説明したように、情報処理装置7の現在位置から最も近い位置にある施設を示す。また、近接施設検出部88は、近接距離を算出する。なお、近接距離は、実施の形態1にて説明したように、近接施設の位置と、情報処理装置7の現在位置との間の距離を示す。近接施設検出部88は、算出した近接距離を表示対象集合決定部89に出力する。
表示対象集合決定部89は、図1に示す表示対象集合決定部18と同様の機能を有する。すなわち、表示対象集合決定部89は、近接施設検出部88から出力された近接距離が通知範囲Nを超えていない場合に、通知範囲N内にある施設を示す施設情報を、施設情報記録部5から読み出し、読み出した施設情報が全て含まれている集合を表示対象集合として決定する。
地図範囲算出部90は、図1に示す地図範囲算出部19と同様の機能を有する。すなわち、地図範囲算出部19は、地図記録部4に記録された地図情報と、表示対象集合決定部89により決定された表示対象集合の集合範囲と、情報処理装置7の現在位置とに基づいて、表示対象集合の集合範囲と情報処理装置7の現在位置とが表示装置3における1画面の表示画面上に表示できるような地図の縮尺と地図の表示位置とを算出する。地図範囲算出部90は、算出した地図の縮尺と地図の表示位置とに基づいて、表示装置3における1画面の表示画面上に表示される地図の地図範囲を算出する。
表示属性値読出部91は、地図範囲算出部90により算出された地図の地図範囲と当該地図の縮尺とに適合する表示属性値を、表示属性値記録部85から読み出す。具体的には、表示属性値読出部91は、まず、地図範囲算出部90により算出された地図の縮尺と同じ地図の縮尺を有するアイコン表示集合の集合番号を、表示属性値記録部85から読み出す。例えば、地図範囲算出部90により算出された地図の縮尺が1/5000であった場合、表示属性値読出部91は、地図の縮尺1/5000を有するアイコン表示集合の集合番号「400」、「a」、「b」、「019」、「020」、「021」、「401」、および「024」を、表示属性値記録部85から読み出す。表示属性値読出部91は、読み出したアイコン表示集合の集合番号の中から、地図範囲算出部90により算出された地図範囲内に位置するアイコン表示位置を有する集合番号を抽出する。表示属性値読出部91は、抽出したアイコン表示集合の集合番号に対応するアイコンサイズおよびアイコン表示位置を、表示属性値記録部85から読み出す。表示属性値読出部91は、読み出したアイコンサイズおよびアイコン表示位置を描画情報送信部92に出力する。
描画情報送信部92は、表示属性値読出部91から出力された表示属性値(アイコンサイズおよびアイコン表示位置)と、地図記録部4に記録された地図範囲の地図を示す地図情報と、情報処理装置7の現在位置とを含む描画情報を生成する。描画情報送信部92は、生成した描画情報を、ネットワークNを介して情報処理装置7へ送信する。これにより、情報処理装置7は、サーバ装置8から送信された描画情報に基づいて、例えば、図20に示す画面を、表示装置3の表示画面上に表示させることができる。
すなわち、表示装置3の表示画面に表示された地図上には、情報処理装置7の現在位置周辺にあるレストランの施設の分布状態が表示される。このため、情報処理装置7のユーザは、実施の形態1および2と同様に、現在位置周辺にレストランの施設がどのように分布しているのか等といった現在位置周辺の様子を、一見しただけで的確に把握することができる。
また、表示属性値算出部84は、実施の形態1および2のように、情報処理装置7から要求があった時に当該要求に適合する表示属性値を算出するのではなく、予め地図の縮尺毎に表示属性値を算出し、算出した表示属性値を地図の縮尺毎に予め表示属性値記録部85へ記録している。このため、表示属性値読出部84は、情報処理装置7から要求情報を受信した場合に、表示装置3の表示画面上に表示するための地図の地図範囲と当該地図の縮尺とに適合する表示属性値を、表示属性値記録部85から読み出すだけでよい。この結果、実施の形態1および2と比較して、応答速度(レスポンス速度)を向上することができる。つまり、入力装置2を介して検索条件を入力してから表示装置3に検索結果が表示されるまでの応答時間を短縮することができる。
(情報処理装置およびサーバ装置の動作)
次に、上記の構成に係る情報処理装置7およびサーバ装置8の動作について、図25〜図27を参照しながら説明する。
図25は、施設情報記録部5に記録された施設情報が更新された場合に、地図の縮尺毎に表示属性値を算出し、算出した表示属性値を記録するサーバ装置8の動作例を示すフローチャートである。図25に示すように、施設情報読出部81は、施設情報記録部5に記録された施設情報が更新されたか否かを監視する(Op31)。施設情報が更新されていれば(Op31にてYES)、施設情報読出部81は、更新された施設情報を含む全ての施設情報を、施設情報記録部5から読み出す(Op32)。一方、施設情報が更新されていなければ(Op31にてNO)、Op31に戻り、Op31の判定処理を繰り返す。
集合生成部82は、Op32にて読み出された施設情報に対してクラスター分析(例えば、階層的クラスタリング)を行うことにより、1または複数の施設を含む集合を複数生成する。すなわち、階層的クラスタリングの結果として、集合生成部82により図4に示すデンドログラムが生成される(Op33)。集合生成部82は、Op33にて生成されたデンドログラムに基づいて、各集合毎に集合情報を生成し、生成した集合情報を集合情報記録部83へ記録する(Op34)。
表示属性値算出部84は、地図の縮尺毎に、当該地図の縮尺が示す地図範囲内にあるレストランの施設の分布状態を地図上に表示するための表示属性値を算出し、算出した表示属性値を地図の縮尺毎に表示属性値記録部85へ記録する(Op35)。
ここで、Op35における表示属性値算出部84の処理の一例について、図26を参照しながら説明する。
図26は、表示属性値算出部84による表示属性値の算出処理の一例を示すフローチャートである。図26に示すように、表示属性値算出部84は、まず、地図情報で予め決まっている地図の縮尺の中から最小の地図の縮尺を選択する(Op351)。すなわち、表示属性値算出部84は、Op351にて選択された地図の縮尺を、表示属性値を算出すべき地図の縮尺として設定する。表示属性値算出部84は、変数kを“1”に初期化する(Op352)。なお、変数kは集合の数を示す。表示属性値算出部84は、k個の候補集合を示す集合情報を、集合情報記録部83から読み出す(Op353)。表示属性値算出部84は、Op353にて読み出されたk個の候補集合を示す集合情報に対応するアイコン表示位置を算出する(Op354)。
そして、表示属性値算出部84は、k個の候補集合の地図上における代表位置(アイコン表示位置)にk個のアイコンを表示した場合のアイコンの重複数を算出する(Op355)。なお、kが“1”である場合、地図上には1つのアイコンのみ表示されるので、表示属性値算出部84は、アイコンの重複数“0”を算出する。
次に、表示属性値算出部84は、Op355にて算出されたアイコンの重複数が許容重複数を超えているか否かを判定する(Op356)。なお、許容重複数は、サーバ装置8の図示しないメモリに予め記録されている。表示属性値算出部84は、アイコンの重複数が許容重複数を超えていないと判定すれば(Op356にてNO)、k個の候補集合の集合番号とk個のアイコン表示位置とを、サーバ装置8の図示しない保存メモリへ記録する(Op357)。なお、保存メモリに既に候補集合の集合番号とアイコン表示位置とが記録されていれば、当該候補集合の集合番号とアイコン表示位置とを更新する。そして、表示属性値算出部84は、変数kに“1”を加算(k=k+1)する(Op358)。一方、表示属性値算出部84は、アイコンの重複数が許容重複数を超えていると判定すれば(Op356にてYES)、Op360へ進む。
表示属性値算出部84は、変数kが地図範囲M内にあるレストランの施設の数を超えているか否かを判定する(Op359)。表示属性値算出部84は、変数kが施設数を超えていないと判定すれば(Op359にてNO)、Op353へ戻り、Op353以降の処理を繰り返す。一方、表示属性値算出部84は、変数kが施設数を超えていると判定すれば(Op359にてYES)、Op360へ進む。
Op360において、表示属性値算出部84は、保存メモリに記録された候補集合の集合番号とアイコン表示位置とを、アイコン表示集合の集合番号とアイコン表示位置として当該保存メモリから読み出す(Op360)。表示属性値算出部84は、Op360にて読み出されたアイコン表示集合の集合番号と、Op360にて読み出されたアイコン表示位置とを、設定した地図の縮尺に対応付けて表示属性値として表示属性値記録部85へ記録する(Op361)。
表示属性値算出部84は、設定した地図の縮尺が、地図情報で予め決まっている地図の縮尺の中の最大の地図の縮尺であるか否かを判定する(Op362)。表示属性値算出部84は、設定した地図の縮尺が最大の地図の縮尺でないと判定すれば(Op362にてNO)、設定した地図の縮尺を1段上げ(Op363)、Op354へ戻り、Op354以降の処理を繰り返す。一方、表示属性値算出部84は、設定した地図の縮尺が最大の地図の縮尺であると判定すれば(Op362にてYES)、図26の処理を終了する。
図27は、情報処理装置7へ描画情報を配信するための情報処理装置7およびサーバ装置8の動作例を示すフローチャートである。図27に示すように、現在位置計測部71は、情報処理装置7の現在位置を計測する(Op41)。これにより、現在位置計測部71は、Op41の計測結果に基づいて、情報処理装置7の現在位置を示す現在位置情報を生成する。位置情報送信部72は、現在位置計測部71により生成された現在位置情報を、ネットワークNを介してサーバ装置8へ送信する(Op42)。現在位置取得部86は、Op42にて送信された現在位置情報を取得する(Op43)。
検索条件入力部73は、情報処理装置7のユーザが所望する情報を検索するための検索条件を、入力装置2を介してユーザから受け付ける(Op44)。検索条件入力部73が検索条件を受け付けた場合(Op44にてYES)、検索条件送信部74は、Op44にて受け付けた検索条件を、表示属性値を取得するための要求を示す要求情報とともにネットワークNを介してサーバ装置8へ送信する(Op45)。検索条件受信部87は、Op45にて送信された検索条件および要求情報を受信する(Op46)。
近接施設検出部88は、Op46にて要求情報が受信された場合に、Op46にて受信された検索条件と、Op43にて取得された現在位置情報と、施設情報記録部5に記録された施設情報とに基づいて、近接施設を示す施設情報を施設情報記録部5から検出する(Op47)。近接施設検出部88は、近接距離を算出する(Op48)。表示対象集合決定部89は、上述の方法により、表示対象集合を決定する(Op49)。
地図範囲算出部90は、地図記録部4に記録された地図情報と、Op49にて決定された表示対象集合の集合範囲と、情報処理装置7の現在位置とに基づいて、表示対象集合の集合範囲と情報処理装置7の現在位置とが表示装置3における1画面の表示画面上に表示できるような地図の縮尺と地図の表示位置とを算出する。地図範囲算出部90は、算出した地図の縮尺と地図の表示位置とに基づいて、表示装置3における1画面の表示画面上に表示される地図の地図範囲を算出する(Op50)。表示属性値読出部91は、Op50にて算出された地図の地図範囲と当該地図の縮尺とに適合する表示属性値を、表示属性値記録部85から読み出す(Op51)。描画情報送信部92は、Op51にて読み出された表示属性値と、地図記録部4に記録された地図範囲の地図を示す地図情報と、情報処理装置7の現在位置とを含む描画情報を生成する。描画情報送信部92は、生成した描画情報を、ネットワークNを介して情報処理装置7へ送信する(Op52)。
描画情報受信部75は、Op52にて送信された描画情報を受信する(Op53)。表示制御部76は、Op53にて受信された描画情報に基づいて、地図範囲の地図と、情報処理装置7の現在位置と、地図範囲内にあるレストランの施設の分布状態とを、表示装置3の表示画面上に表示させる(Op54)。すなわち、表示装置3の表示画面に表示された地図上には、図20に示すように、現在位置周辺にあるレストランの施設の分布状態が表示される。このため、情報処理装置7のユーザは、現在位置周辺にレストランの施設がどのように分布しているのか等といった現在位置周辺の様子を、一見しただけで的確に把握することができる。
なお、上記では、情報処理装置7は、サーバ装置8から送信された描画情報に基づいて、例えば、図20に示す画面を、表示装置3の表示画面上に表示させる例について説明したが、これに限定されない。すなわち、情報処理装置7は、サーバ装置8から送信された描画情報に基づいて、例えば、図10に示す画面を、表示装置3の表示画面上に表示させるようにしてもよい。この場合、サーバ装置8の表示属性値算出部84は、図8に示す輪郭対象集合決定部20a、輪郭対象集合分類部20b、接近集合判定部20c、および輪郭算出部20dが実行する処理を、地図の縮尺毎に行うことによって、地図の縮尺毎に表示属性値を算出し、算出した表示属性値を地図の縮尺毎に表示属性値記録部85へ記録する。図28は、図10に示す画面を表示装置3の表示画面上に表示させる場合の、表示属性値記録部85に記録される表示属性値の一例を示す図である。図28に示すように、表示属性値記録部85には、地図の縮尺、輪郭対象集合の集合番号、分布密度、および頂点座標が記録されている。すなわち、表示属性値記録部85には、地図の縮尺毎に、表示属性値が記録されている。
また、上記の施設情報読出部81、集合生成部82、集合情報記録部83、表示属性値算出部84、表示属性値記録部85、現在位置取得部86、検索条件受信部87、近接施設検出部88、表示対象集合決定部89、地図範囲算出部90、表示属性値読出部91、および描画情報送信部92は、図23に示すように、サーバ装置8内に纏めて構成されている例について説明したが、これに限定されない。例えば、上記の近接施設検出部88、表示対象集合決定部89、および地図範囲算出部90は、サーバ装置8の代わりに、情報処理装置7内に構成されていてもよい。すなわち、情報処理装置7において、近接施設を検出し、表示対象集合を決定し、地図の地図範囲を算出する。つまり、表示属性値を読み出す場合に、情報処理装置7は、ネットワークNを介してサーバ装置8へアクセスする。この場合、情報処理装置7は、サーバ装置8に接続されている地図記録部4および施設情報記録部5と同じ地図記録部4および施設情報記録部5に接続される。
また、実施の形態1〜3において、表示装置の表示画面に表示された地図上に、情報処理装置の現在位置周辺にあるレストランの施設の分布状態が表示される例について説明したが、これに限定されない。例えば、地図上に、情報処理装置の現在位置周辺にあるレストランの施設以外に、情報処理装置の現在位置周辺にあるガソリンスタンド、病院、映画館、図書館、宿泊所等の任意の施設の分布状態が表示されるようにしてもよい。また、例えば、集合生成部において各集合に含まれている施設の評判が示す点数の平均値を集合毎に算出することにより、地図上に、情報処理装置の現在位置周辺にある施設の評判の分布状態が表示されるようにしてもよい。また、例えば、道路を走行中の車両からワイパーのON、OFFを示す走行情報を取得することにより、地図上に、車両のワイパーのON、OFFの分布状態が表示されるようにしてもよい。これにより、情報処理装置のユーザは、どの地域で雨が降っているのか等を把握することができる。さらに、例えば、地震等の災害時において、救助を求める信号を被災者(例えば、被災者が所持している携帯端末等)から取得することにより、地図上に、救助を求めている被災者の分布状態が表示されるようにしてもよい。これにより、情報処理装置のユーザは、どの地域で助けを求めている被災者が多いのかを把握することができる。
すなわち、本発明は上述した第1〜第3の実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。つまり、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
以上の実施の形態に関し、更に以下の付記を開示する。
(付記1)
入力装置と、表示装置と、地図を示す地図情報が予め記録された地図記録部と、所定地点の位置を示す位置情報と当該位置に関する情報とを含む地点情報を記録する地点情報記録部とにアクセス可能な情報処理装置であって、
ユーザの現在位置を示す現在位置情報を取得する現在位置取得部と、
前記入力装置を介して入力される検索条件に適合し、かつ、前記ユーザの現在位置から所定範囲内にある地点情報を、前記地点情報記録部から読み出す地点情報読出部と、
前記地点情報読出部により読み出された地点情報が含む位置情報に基づいて、互いの位置が近いほど同じ集合に含まれるように、1または複数の地点情報を含む集合を1または複数生成する集合生成部と、
前記ユーザの現在位置から所定範囲内にある地点情報が全て含まれている集合を表示対象集合として決定する表示対象集合決定部と、
前記地図記録部に記録された地図情報に基づいて、前記表示対象集合の前記地図上の領域と前記ユーザの現在位置とが前記表示装置における1画面の表示画面上に表示できるような地図の縮尺と地図の表示位置とを算出し、算出した地図の縮尺と地図の表示位置とに基づいて、前記表示装置における1画面の表示画面上に表示される地図の地図範囲を算出する地図範囲算出部と、
前記地図範囲内にある地点情報の数に基づいて、前記地図範囲内にある地点情報の分布状態を前記地図上に表示するための表示属性値を算出し、算出した表示属性値を表示属性値記録部へ記録する表示属性値算出部と、
前記地図記録部に記録された地図情報に基づいて、前記地図範囲の地図と前記ユーザの現在位置とを前記表示装置の表示画面上に表示させるとともに、前記表示属性値記録部に記録された表示属性値に基づいて、前記地図範囲内にある地点情報の分布状態を前記地図上に表示させる表示制御部とを備える、情報処理装置。
(付記2)
所定の検索条件をユーザに入力させる入力部と、
画像を表示する表示部と、
地図を示す地図情報が予め記録された地図記録部と、
所定地点の位置を示す位置情報と当該位置に関する情報とを含む地点情報を記録する地点情報記録部と、
ユーザの現在位置を示す現在位置情報を取得する現在位置取得部と、
前記入力部を介して入力される検索条件に適合し、かつ、前記ユーザの現在位置から所定範囲内にある地点情報を、前記地点情報記録部から読み出す地点情報読出部と、
前記地点情報読出部により読み出された地点情報が含む位置情報に基づいて、互いの位置が近いほど同じ集合に含まれるように、1または複数の地点情報を含む集合を1または複数生成する集合生成部と、
前記ユーザの現在位置から所定範囲内にある地点情報が全て含まれている集合を表示対象集合として決定する表示対象集合決定部と、
前記地図記録部に記録された地図情報に基づいて、前記表示対象集合の前記地図上の領域と前記ユーザの現在位置とが前記表示装置における1画面の表示画面上に表示できるような地図の縮尺と地図の表示位置とを算出し、算出した地図の縮尺と地図の表示位置とに基づいて、前記表示部における1画面の表示画面上に表示される地図の地図範囲を算出する地図範囲算出部と、
前記地図範囲内にある地点情報の数に基づいて、前記地図範囲内にある地点情報の分布状態を前記地図上に表示するための表示属性値を算出し、算出した表示属性値を表示属性値記録部へ記録する表示属性値算出部と、
前記地図記録部に記録された地図情報に基づいて、前記地図範囲の地図と前記ユーザの現在位置とを前記表示部の表示画面上に表示させるとともに、前記表示属性値記録部に記録された表示属性値に基づいて、前記地図範囲内にある地点情報の分布状態を前記地図上に表示させる表示制御部とを備える、情報処理装置。
(付記3)
前記表示属性値算出部は、
前記地図範囲内にある地点情報が全て含まれている集合の前記地図上の領域内にある複数の集合を輪郭対象集合として決定する輪郭対象集合決定部と、
前記輪郭対象集合に含まれている地点情報の数に基づいて、前記輪郭対象集合を複数段階のいずれかの段階に分類する輪郭対象集合分類部と、
前記複数段階のそれぞれの段階の全ての輪郭対象集合に含まれている全ての地点情報が示す位置を囲む輪郭を前記複数段階毎に算出し、算出した輪郭を示す輪郭情報を表示属性値として前記表示属性値記録部へ記録する輪郭算出部とを含み、
前記表示制御部は、前記表示属性値記録部に記録された表示属性値に基づいて、前記複数段階毎に算出されたそれぞれの輪郭内の領域を、前記複数段階毎に異なる表示態様で前記地図上に表示させる、付記1または2に記載の情報処理装置。
(付記4)
前記表示属性値算出部は、
前記地図範囲内にある地点情報が全て含まれている集合の前記地図上の領域内にある複数の集合を候補集合とすることにより、前記候補集合の前記地図上における代表位置にそれぞれアイコンを表示した場合におけるアイコンの重複数を算出し、算出したアイコンの重複数が許容重複数を超えないように、前記候補集合の中から前記地図上に表示すべきアイコンに対応するアイコン表示集合を決定し、決定したアイコン表示集合の前記地図上における代表位置をアイコン表示位置として算出し、算出したアイコン表示位置を表示属性値として前記表示属性値記録部へ記録するアイコン位置算出部と、
前記アイコン表示集合に含まれている地点情報の数に基づいて、複数段階の表示態様を有するアイコンの中からいずれかの表示態様を有するアイコンを、前記アイコン表示集合が示すアイコン表示位置に対して割り当て、割り当てたアイコンの表示態様を表示属性値として前記表示属性値記録部へ記録するアイコン割当部とを含み、
前記表示制御部は、前記表示属性値記録部に記録された表示属性値に基づいて、前記アイコン表示位置に、当該アイコン表示位置に対して割り当てたアイコンを表示させる、付記1または2に記載の情報処理装置。
(付記5)
情報処理装置と、地図を示す地図情報が予め記録された地図記録部と、所定地点の位置を示す位置情報と当該位置に関する情報とを含む地点情報を記録する地点情報記録部とにアクセス可能なサーバ装置であって、
前記地点情報記録部に記録された地点情報が更新された場合に、更新された地点情報を含む全ての地点情報を、前記地点情報記録部から読み出す地点情報読出部と、
前記地点情報読出部により読み出された地点情報が含む位置情報に基づいて、互いの位置が近いほど同じ集合に含まれるように、1または複数の地点情報を含む集合を1または複数生成する集合生成部と、
前記地図の縮尺が示す地図範囲内にある地点情報の数に基づいて、前記地図範囲内にある地点情報の分布状態を前記地図上に表示するための表示属性値を前記地図の縮尺毎に算出し、算出した表示属性値を前記地図の縮尺毎に表示属性値記録部へ記録する表示属性値算出部と、
前記表示属性値を取得するための要求を示す要求情報を、前記情報処理装置から受信した場合に、当該情報処理装置に接続される表示装置の表示画面上に表示するための地図の地図範囲と当該地図の縮尺とに適合する表示属性値を、前記表示属性値記録部から読み出す表示属性値読出部と、
前記表示属性値読出部により読み出された表示属性値を含む描画情報を生成し、生成した描画情報を、前記要求情報を送信した情報処理装置に対して送信する描画情報送信部とを備える、サーバ装置。
(付記6)
入力装置と、表示装置と、地図を示す地図情報が予め記録された地図記録部と、所定地点の位置を示す位置情報と当該位置に関する情報とを含む地点情報を記録する地点情報記録部とにアクセス可能なコンピュータに処理を実行させるプログラムであって、
ユーザの現在位置を示す現在位置情報を取得する現在位置取得処理と、
前記入力装置を介して入力される検索条件に適合し、かつ、前記ユーザの現在位置から所定範囲内にある地点情報を、前記地点情報記録部から読み出す地点情報読出処理と、
前記地点情報読出処理により読み出された地点情報が含む位置情報に基づいて、互いの位置が近いほど同じ集合に含まれるように、1または複数の地点情報を含む集合を1または複数生成する集合生成処理と、
前記ユーザの現在位置から所定範囲内にある地点情報が全て含まれている集合を表示対象集合として決定する表示対象集合決定処理と、
前記地図記録部に記録された地図情報に基づいて、前記表示対象集合の前記地図上の領域と前記ユーザの現在位置とが前記表示装置における1画面の表示画面上に表示できるような地図の縮尺と地図の表示位置とを算出し、算出した地図の縮尺と地図の表示位置とに基づいて、前記表示装置における1画面の表示画面上に表示される地図の地図範囲を算出する地図範囲算出処理と、
前記地図範囲内にある地点情報の数に基づいて、前記地図範囲内にある地点情報の分布状態を前記地図上に表示するための表示属性値を算出し、算出した表示属性値を表示属性値記録部へ記録する表示属性値算出処理と、
前記地図記録部に記録された地図情報に基づいて、前記地図範囲の地図と前記ユーザの現在位置とを前記表示装置の表示画面上に表示させるとともに、前記表示属性値記録部に記録された表示属性値に基づいて、前記地図範囲内にある地点情報の分布状態を前記地図上に表示させる表示制御処理とを前記コンピュータに実行させる、プログラム。
(付記7)
情報処理装置と、地図を示す地図情報が予め記録された地図記録部と、所定地点の位置を示す位置情報と当該位置に関する情報とを含む地点情報を記録する地点情報記録部とにアクセス可能なコンピュータに処理を実行させるプログラムであって、
前記地点情報記録部に記録された地点情報が更新された場合に、更新された地点情報を含む全ての地点情報を、前記地点情報記録部から読み出す地点情報読出処理と、
前記地点情報読出処理により読み出された地点情報が含む位置情報に基づいて、互いの位置が近いほど同じ集合に含まれるように、1または複数の地点情報を含む集合を1または複数生成する集合生成処理と、
前記地図の縮尺が示す地図範囲内にある地点情報の数に基づいて、前記地図範囲内にある地点情報の分布状態を前記地図上に表示するための表示属性値を前記地図の縮尺毎に算出し、算出した表示属性値を前記地図の縮尺毎に表示属性値記録部へ記録する表示属性値算出処理と、
前記表示属性値を取得するための要求を示す要求情報を、前記情報処理装置から受信した場合に、当該情報処理装置に接続される表示装置の表示画面上に表示するための地図の地図範囲と当該地図の縮尺とに適合する表示属性値を、前記表示属性値記録部から読み出す表示属性値読出処理と、
前記表示属性値読出処理により読み出された表示属性値を含む描画情報を生成し、生成した描画情報を、前記要求情報を送信した情報処理装置に対して送信する描画情報送信処理とを前記コンピュータに実行させる、プログラム。
(付記8)
入力装置と、表示装置と、地図を示す地図情報が予め記録された地図記録部と、所定地点の位置を示す位置情報と当該位置に関する情報とを含む地点情報を記録する地点情報記録部とにアクセス可能な情報処理装置が実行する方法であって、
前記情報処理装置が備える現在位置取得部が、ユーザの現在位置を示す現在位置情報を取得する現在位置取得工程と、
前記情報処理装置が備える地点情報読出部が、前記入力装置を介して入力される検索条件に適合し、かつ、前記ユーザの現在位置から所定範囲内にある地点情報を、前記地点情報記録部から読み出す地点情報読出工程と、
前記情報処理装置が備える集合生成部が、前記地点情報読出工程により読み出された地点情報が含む位置情報に基づいて、互いの位置が近いほど同じ集合に含まれるように、1または複数の地点情報を含む集合を1または複数生成する集合生成工程と、
前記情報処理装置が備える表示対象集合決定部が、前記ユーザの現在位置から所定範囲内にある地点情報が全て含まれている集合を表示対象集合として決定する表示対象集合決定工程と、
前記情報処理装置が備える地図範囲算出部が、前記地図記録部に記録された地図情報に基づいて、前記表示対象集合の前記地図上の領域と前記ユーザの現在位置とが前記表示装置における1画面の表示画面上に表示できるような地図の縮尺と地図の表示位置とを算出し、算出した地図の縮尺と地図の表示位置とに基づいて、前記表示装置における1画面の表示画面上に表示される地図の地図範囲を算出する地図範囲算出工程と、
前記情報処理装置が備える表示属性値算出部が、前記地図範囲内にある地点情報の数に基づいて、前記地図範囲内にある地点情報の分布状態を前記地図上に表示するための表示属性値を算出し、算出した表示属性値を表示属性値記録部へ記録する表示属性値算出工程と、
前記情報処理装置が備える表示制御部が、前記地図記録部に記録された地図情報に基づいて、前記地図範囲の地図と前記ユーザの現在位置とを前記表示装置の表示画面上に表示させるとともに、前記表示属性値記録部に記録された表示属性値に基づいて、前記地図範囲内にある地点情報の分布状態を前記地図上に表示させる表示制御工程とを含む、情報処理装置が実行する方法。
(付記9)
情報処理装置と、地図を示す地図情報が予め記録された地図記録部と、所定地点の位置を示す位置情報と当該位置に関する情報とを含む地点情報を記録する地点情報記録部とにアクセス可能なサーバ装置が実行する方法であって、
前記サーバ装置が備える地点情報読出部が、前記地点情報記録部に記録された地点情報が更新された場合に、更新された地点情報を含む全ての地点情報を、前記地点情報記録部から読み出す地点情報読出工程と、
前記サーバ装置が備える集合生成部が、前記地点情報読出工程により読み出された地点情報が含む位置情報に基づいて、互いの位置が近いほど同じ集合に含まれるように、1または複数の地点情報を含む集合を1または複数生成する集合生成工程と、
前記サーバ装置が備える表示属性値算出部が、前記地図の縮尺が示す地図範囲内にある地点情報の数に基づいて、前記地図範囲内にある地点情報の分布状態を前記地図上に表示するための表示属性値を前記地図の縮尺毎に算出し、算出した表示属性値を前記地図の縮尺毎に表示属性値記録部へ記録する表示属性値算出工程と、
前記サーバ装置が備える表示属性値読出部が、前記表示属性値を取得するための要求を示す要求情報を、前記情報処理装置から受信した場合に、当該情報処理装置に接続される表示装置の表示画面上に表示するための地図の地図範囲と当該地図の縮尺とに適合する表示属性値を、前記表示属性値記録部から読み出す表示属性値読出工程と、
前記サーバ装置が備える描画情報送信部が、前記表示属性値読出工程により読み出された表示属性値を含む描画情報を生成し、生成した描画情報を、前記要求情報を送信した情報処理装置に対して送信する描画情報送信工程とを含む、サーバ装置が実行する方法。