(57)【特許請求の範囲】
【請求項１】
地図を表示するために用いられる地図情報及び地物に関する情報である地物情報を記憶する情報記憶部と、
前記地図情報を用いて地図を表示し、そして前記地物情報に応じて前記地図上における地物の位置および内容を示すアイコンを表示する地図表示部と、
複数の地物の各々に対応する複数の葉ノードアイコンを前記地図表示部に表示した場合に、前記複数の葉ノードアイコンが重畳するか否かを判定する重畳判定部と、
重畳する複数の葉ノードアイコンから成る重畳アイコン群に異なる属性を有する葉ノードアイコンが含まれる場合、異なる属性を全て包含する上位の属性よりも下位であって、前記複数の葉ノードアイコンが有する属性よりも上位の属性を示す内部ノードアイコンを表示アイコンとして作成するアイコン作成部とを備え、
前記地図表示部は、前記重畳アイコン群に対応する位置に前記表示アイコンを表示する地図表示装置。
【請求項２】
前記アイコンは優先度を各々備え、
前記アイコン作成部は、内部ノードアイコンのうち、最も高い優先度を有する内部ノードアイコンを表示アイコンとして作成する請求項１に記載の地図表示装置。
【請求項３】
前記アイコン作成部は、前記表示アイコンが有する属性に含まれる地物の数を表す示度表示を、前記表示アイコンと併せて作成する請求項１に記載の地図表示装置。
【請求項４】
前記示度表示は、数値、色彩、または棒グラフである請求項３に記載の地図表示装置。
【請求項５】
前記アイコン作成部は、
最上部に位置する根ノードアイコンと、最底部に位置する葉ノードアイコンと、前記根ノードアイコンと前記葉ノードアイコンとの間に位置する内部ノードアイコンとに分類されるノードから構成されるツリー構造に従って、
前記地図表示部に表示すべき表示アイコンの数である表示アイコン数を予め定め、
前記表示アイコン数に応じて、下位の属性を示す内部ノードアイコンを表示アイコンとして作成する
請求項１に記載の地図表示装置。
【請求項６】
前記アイコン作成部は、前記地図表示部に表示された地図を複数の領域に区分し、１つの領域内に表示される複数の表示アイコンが重畳しているとみなして、表示アイコンを作成する請求項１に記載の地図表示装置。
【請求項７】
前記地図表示部は、人間が通行可能、又は交通手段を介して通行可能な経路であるパスを地図として表示し、
前記アイコン作成部は、前記地図表示部に表示されたパスを任意の範囲に区分し、１つの範囲内に表示される複数の表示アイコンが重畳しているとみなして、表示アイコンを作成する請求項６に記載の地図表示装置。
【請求項８】
前記アイコン作成部は、前記パスの通行路の両側各々に対して、表示アイコンを作成する請求項７に記載の地図表示装置。
【請求項９】
前記アイコン作成部は、前記任意の範囲に所定の高さ以上の建物が一定の割合以上で存在する場合、ビル街を表す表示アイコンを作成する請求項７に記載の地図表示装置。
【請求項１０】
前記地図表示部は、前記地図において、前記複数の葉ノードアイコンに対応する地物上に前記表示アイコンを表示し、
前記アイコン作成部は、前記表示アイコンが表示される地物以外の地物であって、前記表示アイコンと同じ属性を有する地物に対して、前記表示アイコンよりも小さな縮小アイコンを作成し、
前記地図表示部は、前記表示アイコンが表示される地物以外の地物であって、前記表示アイコンと同じ属性を有する地物上に、前記縮小アイコンを表示する請求項１に記載の地図表示装置。
【請求項１１】
前記縮小アイコンは円形、または矩形である請求項１０に記載の地図表示装置。
【請求項１２】
前記アイコン作成部は、
最上部に位置する根ノードアイコンと、最底部に位置する葉ノードアイコンと、前記根ノードアイコンと前記葉ノードアイコンとの間に位置する内部ノードアイコンとに分類されるノードから構成され、かつ前記ノードが自らの下位に属する全てのノードの数に応じた重みを備えるツリー構造に従って、
前記地図表示部に表示すべき表示アイコンの数である表示アイコン数を予め定め、
前記根ノードアイコンに前記表示アイコン数を割り当て、
前記表示アイコン数が割り当てられたノードの子ノードのうち重みが０でない子ノードの数が前記割り当てられた表示アイコン数以下であるときには、前記子ノードの重みに応じて前記表示アイコン数を割り当て、
重みが０でない子ノードの数が前記割り当てられた表示アイコン数よりも大きいとき、前記表示アイコン数が割り当てられたノードを表すアイコンを表示アイコンとして作成する
請求項１に記載の地図表示装置。
【請求項１３】
前記アイコン作成部は、
前記地図表示部に表示された地図を複数の領域に区分し、１つの領域内に表示される複数の表示アイコンが重畳しているとみなし、
前記領域の面積に応じて、前記表示アイコン数を定める請求項１２に記載の地図表示装置。
【請求項１４】
クライアントに設けられた地図表示部に地図を表示するため用いられる地図情報及び地物に関する情報である地物情報を記憶する情報記憶部と、
複数の地物の各々に対応する複数の葉ノードアイコンを前記地図表示部に表示した場合に、前記複数の葉ノードアイコンが重畳するか否かを判定する重畳判定部と、
重畳する複数の葉ノードアイコンから成る重畳アイコン群に異なる属性を有する葉ノードアイコンが含まれる場合、異なる属性を全て包含する上位の属性よりも下位であって、前記複数の葉ノードアイコンが有する属性よりも上位の属性を示す内部ノードアイコンを表示アイコンとして作成するアイコン作成部とを備え、
前記地図表示部は、前記重畳アイコン群が表示されるべき位置に前記表示アイコンを表示する地図表示サーバ。
【請求項１５】
請求項１４に記載の地図表示サーバと、
前記地図情報を用いて地図を表示し、そして前記地物情報に応じて前記地図上における地物の位置および内容を示すアイコンを表示する地図表示部を有するクライアントとを備える地図表示システム。
【請求項１６】
地図表示部に地図を表示するために用いられる地図情報及び地物に関する情報である地物情報を情報記憶部から読み出すステップと、
複数の地物の各々に対応する複数の葉ノードアイコンを前記地図表示部に表示した場合に、前記複数の葉ノードアイコンが重畳するか否かを判定するステップと、
重畳する複数の葉ノードアイコンから成る重畳アイコン群に異なる属性を有する葉ノードアイコンが含まれる場合、異なる属性を全て包含する上位の属性よりも下位であって、前記複数の葉ノードアイコンが有する属性よりも上位の属性を示す内部ノードアイコンを表示アイコンとして作成するステップと、
前記地図情報を用いて地図を前記地図表示部に表示するステップと、
前記重畳アイコン群が表示されるべき位置に前記表示アイコンを表示するステップとを備える地図表示方法。
【請求項１７】
前記アイコンに優先度を各々与えるステップと、
前記アイコン作成部は、内部ノードアイコンのうち、最も高い優先度を有する内部ノードアイコンを表示アイコンとするステップとをさらに備える請求項１６に記載の地図表示方法。
【請求項１８】
最上部に位置する根ノードアイコンと、最底部に位置する葉ノードアイコンと、前記根ノードアイコンと前記葉ノードアイコンとの間に位置する内部ノードアイコンとに分類されるノードから構成されるツリー構造を用意するステップと、
作成する前記表示アイコンの表示アイコン数を定めるステップと、
自らの下位に属する全てのノードの数に応じた重みを前記ノードに与えるステップと、
前記根ノードアイコンに前記表示アイコン数を割り当てるステップと、
前記表示アイコン数が割り当てられたノードの子ノードのうち重みが０でない子ノードの数が前記割り当てられた表示アイコン数以下であるときには、前記子ノードの重みに応じて前記表示アイコン数を割り当てるステップと、
重みが０でない子ノードの数が前記割り当てられた表示アイコン数よりも大きいとき、前記表示アイコン数が割り当てられたノードを表すアイコンを表示アイコンとするステップとをさらに備える請求項１６に記載の地図表示方法。
【請求項１９】
請求項１６から１８に記載の地図表示方法を地図表示装置に実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、地物の存在を示すアイコンを地図上に表示する地図表示装置に関する。
【背景技術】
【０００２】
従来、コンピュータの画面上に地図を表示する地図表示装置において、地図上に存在する地物を利用者に認知させるため、地物毎にアイコンを表示する構成が知られている。アイコンは、地図上における地物の位置および内容を示す画像である。この構成では、地図を複数の領域に分割し、表示すべきアイコンがその領域の中に多数存在する場合、全ての地物を代表するアイコンをその領域の中心に表示する（特許文献１）。
【特許文献１】特開２００４−０６９５６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、全ての地物を代表するアイコンを表示すると、表示されたアイコンが代表する範囲が大きくなりすぎて、どのような地物が存在するかを利用者が把握することが困難になる。
【０００４】
本発明によれば、ある領域に多数の地物が存在する場合であっても、どのような地物が存在するかを利用者が把握することができる。
【課題を解決するための手段】
【０００５】
本願第１の発明による地図表示装置は、地図を表示するために用いられる地図情報及び地物に関する情報である地物情報を記憶する情報記憶部と、地図情報を用いて地図を表示し、そして地物情報に応じて地図上における地物の位置および内容を示すアイコンを表示する地図表示部と、複数の地物の各々に対応する複数の葉ノードアイコンを地図表示部に表示した場合に、複数の葉ノードアイコンが重畳するか否かを判定する重畳判定部と、重畳する複数の葉ノードアイコンから成る重畳アイコン群に異なる属性を有する葉ノードアイコンが含まれる場合、異なる属性を全て包含する上位の属性よりも下位であって、複数の葉ノードアイコンが有する属性よりも上位の属性を示す内部ノードアイコンを表示アイコンとして作成するアイコン作成部とを備え、地図表示部は、重畳アイコン群に対応する位置に表示アイコンを表示することを特徴とする。
【０００６】
アイコンは優先度を各々備え、アイコン作成部は、内部ノードアイコンのうち、最も高い優先度を有する内部ノードアイコンを表示アイコンとして作成することが好ましい。
【０００７】
アイコン作成部は、表示アイコンが有する属性に含まれる地物の数を表す示度表示を、表示アイコンと併せて作成してもよい。
【０００８】
示度表示は、数値、色彩、または棒グラフが好適である。
【０００９】
さらに、アイコン作成部は、最上部に位置する根ノードアイコンと、最底部に位置する葉ノードアイコンと、根ノードアイコンと葉ノードアイコンとの間に位置する内部ノードアイコンとに分類されるノードから構成されるツリー構造に従って、地図表示部に表示すべき表示アイコンの数である表示アイコン数を予め定め、表示アイコン数に応じて、下位の属性を示す内部ノードアイコンを表示アイコンとして作成してもよい。
【００１０】
アイコン作成部は、地図表示部に表示された地図を複数の領域に区分し、１つの領域内に表示される複数の表示アイコンが重畳しているとみなして、表示アイコンを作成してもよい。
【００１１】
地図表示部は、人間が通行可能、又は交通手段を介して通行可能な経路であるパスを地図として表示し、アイコン作成部は、地図表示部に表示されたパスを任意の範囲に区分し、１つの範囲内に表示される複数の表示アイコンが重畳しているとみなして、表示アイコンを作成してもよい。
【００１２】
アイコン作成部は、パスの通行路の両側各々に対して、表示アイコンを作成してもよい。
【００１３】
アイコン作成部は、任意の範囲に所定の高さ以上の建物が一定の割合以上で存在する場合、ビル街を表す表示アイコンを作成してもよい。
【００１４】
地図表示部は、地図において、複数の葉ノードアイコンに対応する地物上に表示アイコンを表示し、アイコン作成部は、表示アイコンが表示される地物以外の地物であって、表示アイコンと同じ属性を有する地物に対して、表示アイコンよりも小さな縮小アイコンを作成し、地図表示部は、表示アイコンが表示される地物以外の地物であって、表示アイコンと同じ属性を有する地物上に、縮小アイコンを表示することが好ましい。
【００１５】
縮小アイコンは円形、または矩形が好適である。
【００１６】
アイコン作成部は、最上部に位置する根ノードアイコンと、最底部に位置する葉ノードアイコンと、根ノードアイコンと葉ノードアイコンとの間に位置する内部ノードアイコンとに分類されるノードから構成され、かつノードが自らの下位に属する全てのノードの数に応じた重みを備えるツリー構造に従って、地図表示部に表示すべき表示アイコンの数である表示アイコン数を予め定め、根ノードアイコンに表示アイコン数を割り当て、表示アイコン数が割り当てられたノードの子ノードのうち重みが０でない子ノードの数が割り当てられた表示アイコン数以下であるときには、子ノードの重みに応じて表示アイコン数を割り当て、重みが０でない子ノードの数が割り当てられた表示アイコン数よりも大きいとき、表示アイコン数が割り当てられたノードを表すアイコンを表示アイコンとして作成することが好ましい。
【００１７】
アイコン作成部は、地図表示部に表示された地図を複数の領域に区分し、１つの領域内に表示される複数の表示アイコンが重畳しているとみなし、領域の面積に応じて、表示アイコン数を定めても良い。
【００１８】
本願第２の発明による地図表示サーバは、クライアントに設けられた地図表示部に地図を表示するため用いられる地図情報及び地物に関する情報である地物情報を記憶する情報記憶部と、複数の地物の各々に対応する複数の葉ノードアイコンを地図表示部に表示した場合に、複数の葉ノードアイコンが重畳するか否かを判定する重畳判定部と、重畳する複数の葉ノードアイコンから成る重畳アイコン群に異なる属性を有する葉ノードアイコンが含まれる場合、異なる属性を全て包含する上位の属性よりも下位であって、複数の葉ノードアイコンが有する属性よりも上位の属性を示す内部ノードアイコンを表示アイコンとして作成するアイコン作成部とを備え、地図表示部が重畳アイコン群が表示されるべき位置に表示アイコンを表示することを特徴とする。
【００１９】
本願第３の発明による地図表示システムは、前記地図表示サーバと、地図情報を用いて地図を表示し、そして地物情報に応じて地図上における地物の位置および内容を示すアイコンを表示する地図表示部を有するクライアントとを備えることを特徴とする。
【００２０】
本願第４の発明による地図表示方法は、地図表示部に地図を表示するために用いられる地図情報及び地物に関する情報である地物情報を情報記憶部から読み出すステップと、複数の地物の各々に対応する複数の葉ノードアイコンを地図表示部に表示した場合に、複数の葉ノードアイコンが重畳するか否かを判定するステップと、重畳する複数の葉ノードアイコンから成る重畳アイコン群に異なる属性を有する葉ノードアイコンが含まれる場合、異なる属性を全て包含する上位の属性よりも下位であって、複数の葉ノードアイコンが有する属性よりも上位の属性を示す内部ノードアイコンを表示アイコンとして作成するステップと、地図情報を用いて地図を地図表示部に表示するステップと、重畳アイコン群が表示されるべき位置に表示アイコンを表示するステップとを備えることを特徴とする。
【００２１】
地図表示方法は、アイコンに優先度を各々与えるステップと、アイコン作成部は、内部ノードアイコンのうち、最も高い優先度を有する内部ノードアイコンを表示アイコンとするステップとをさらに備えることが好ましい。
【００２２】
さらに前記地図表示方法は、最上部に位置する根ノードアイコンと、最底部に位置する葉ノードアイコンと、根ノードアイコンと葉ノードアイコンとの間に位置する内部ノードアイコンとに分類されるノードから構成されるツリー構造を用意するステップと、作成する表示アイコンの表示アイコン数を定めるステップと、自らの下位に属する全てのノードの数に応じた重みをノードに与えるステップと、根ノードアイコンに表示アイコン数を割り当てるステップと、表示アイコン数が割り当てられたノードの子ノードのうち重みが０でない子ノードの数が割り当てられた表示アイコン数以下であるときには、子ノードの重みに応じて表示アイコン数を割り当てるステップと、重みが０でない子ノードの数が割り当てられた表示アイコン数よりも大きいとき、表示アイコン数が割り当てられたノードを表すアイコンを表示アイコンとするステップとを備えてもよい。
【００２３】
本願第５の発明によるプログラムは、前記地図表示方法を地図表示装置に実行させるためのプログラムであることを特徴とする。
【発明の効果】
【００２４】
以上のように本発明によれば、ある領域に多数の地物が存在する場合であっても、どのような地物が存在するかを利用者が把握することができる地図表示装置を得る。
【発明を実施するための最良の形態】
【００２５】
以下、本発明による第１の実施形態について図を用いて説明する。図１は本実施形態による地図表示装置１００を概念的に描いた図である。
【００２６】
地図表示装置１００は、情報記憶部であるデータベース１４０と、地図および表示アイコンを表示する地図表示部１３０と、アイコンが重畳するか否かを判定する重畳判定部１１０と、表示アイコンを作成するアイコン作成部１２０とから主に構成される。
【００２７】
データベース１４０は、地図を表示するために用いられる地図情報、ランドマークに関する情報であるランドマーク情報、アイコンツリー情報、アイコンノード情報、重畳情報、および領域情報を記憶する。
【００２８】
ランドマークは、地図上に表示される地物のうち、利用者が目印として用いうるものをいう。ランドマーク情報は、ランドマーク名と、ランドマークの位置座標と、ランドマークに対応するアイコンを示すアイコン名とを有する。
【００２９】
アイコンツリーは、最上部に位置する根アイコンノードと、最底部に位置する葉アイコンノードと、根アイコンノードと葉アイコンノードとの間に位置する内部アイコンノードとに分類されるアイコンノードから構成されるツリー構造である。各アイコンノードは、それぞれ対応するアイコンを有し、アイコンツリーは、各アイコンが示すランドマークの包含関係をツリー構造により示す。アイコンツリー情報は、アイコンツリーを構成するアイコンノードの名称、および各アイコンノードの接続関係を示すデータとから構成される（図６参照）。
【００３０】
アイコンノード情報は、アイコンノードに対応するアイコンの名称、アイコンの画像名、出現数、および優先度を有する（図２６参照）。アイコンノードが葉ノード、すなわちアイコンツリーにおいて最下位に位置する場合、アイコン名称にはランドマークの名称が格納される。出現数は、アイコンノード情報が示すアイコンノードの下位に位置するアイコンノードのうち、地図上に表示されるランドマークに対応するアイコンノードの数を示す値である。優先度は、高、中および低の３段階でアイコンノードごとに定められ、後述する処理において用いられる。
【００３１】
また、各アイコンノードに対して利用者が優先度を設定することも可能である。検索したいランドマークの属性を利用者が設定すると、その属性に対応するアイコンノードの優先度が変更される。検索したいランドマークには、高い優先度が設定される。例えば、利用者がレストランを検索するとき、レストランの属性を有するアイコンノードの優先度が高に設定される。また、レストランに近い、例えばファーストフードの属性を有するアイコンノードの優先度が中に設定される。レストランとは遠い関係にある、例えば洋服店の属性を有するアイコンノードの優先度は低に設定される。出現数および優先度は、図６において、各アイコンノードの右側に表示される。
【００３２】
重畳情報は、重畳する複数のアイコン、又は地図画面上の一領域内に存在する複数のアイコンからなる重畳アイコン群の位置および範囲を定義する情報であって、重畳アイコン群に含まれるアイコン名と、重畳アイコン群の中心位置を定める中心座標と、形状および範囲を定める範囲値とから成る。領域情報は、領域の位置および範囲を定義する情報であって、領域の中心位置を定める中心座標と、領域の形状および範囲を定める範囲値とから成る。領域には、例えば、地図を複数の矩形領域に分割して得られる領域、行政区画、道路から一定の範囲（商店街、オフィス街等）が含まれる。
【００３３】
アイコンは、ランドマーク情報に応じて地図上におけるランドマークの位置および内容を示す画像である。ランドマークの内容は、ランドマークの名称や属性であり、例えばランドマークの店舗名、フランチャイズ名、洋服店、および商店である。葉ノードアイコンは、アイコンツリーの最底辺に位置する複数のランドマークの各々に対応するアイコンである。重畳判定部１１０は、複数の葉ノードアイコンを地図表示部１３０に表示した場合に、複数の葉ノードアイコンが重畳するか否かを判定し、データベース１４０に重畳情報を登録する。
【００３４】
表示アイコンは、地図表示部１３０に表示されるアイコンである。アイコン作成部１２０は、重畳判定部１１０が重畳すると判定した複数の葉ノードアイコンが複数の属性を有する場合、それら複数の属性を全て包含する上位の属性よりも下位であって、複数の葉ノードアイコンが有する属性よりも上位の属性を示す内部ノードアイコンを表示アイコンとして作成する。
【００３５】
地図表示部１３０は、地図上において重畳アイコン群に対応する位置、すなわち重畳アイコンが表示されるべき位置に表示アイコンを表示する。
【００３６】
次に、アイコンを地図上に描画する第１のアイコン描画処理について、図２、５および６を用いて説明する。図５は、地図を実際に表示した地図表示部１３０を示すものでなく、説明のためアイコンを仮想的に表示した地図表示部１３０を示すものである。第１のアイコン描画処理は、地図表示部１３０に地図が表示された後に実行される。
【００３７】
まず、ステップＳ２０１において、各ランドマークの上に表示されるアイコンが互いに重なり合うか否かを重畳判定部１１０が判断する。重畳判定部１１０は、地図上にアイコンを表示せずに、表示されている地図の縮尺、ランドマークの位置座標、および地図表示部上におけるアイコンの大きさから重畳するか否かを判断する。重畳すると判断した場合、処理はステップＳ２０２に進み、重畳しないと判断した場合、第１のアイコン描画処理は終了する。図５に示すように、葉ノードアイコン５１１、５１２、５１３が重畳アイコン群５１０を構成する。
【００３８】
ステップＳ２０２からＳ２１０までの処理は、アイコン作成部１２０が実行する。ステップＳ２０２では、重畳アイコン群５１０に含まれるアイコンに対応するランドマークのランドマーク情報の集合Ｌ、および各重畳アイコン群５１０に含まれるアイコンに対応するランドマークの数を求める。
【００３９】
次のステップＳ２０３からＳ２１０では、重畳ループが実行される。重量ループでは、複数の重畳アイコン群５１０の各々に対してステップＳ２０４からＳ２０９の処理が実行される。
【００４０】
ステップＳ２０４では、後述するツリー作成処理が実行される。ツリー作成処理では、重畳アイコン群５１０に含まれる全てのランドマークの先祖となるアイコンノードを抽出し、このアイコンノードを頂点とするサブツリーＴを作成する。図６に示すアイコンツリー６００を参照すると、重畳アイコン群５１０に含まれる全てのランドマークＡ、Ｂ、Ｃの先祖となるアイコンノードは内部ノード６４１である。そこで、内部ノード６４１を頂点とするサブツリーＴ６７１が得られる。
【００４１】
ステップＳ２０５では、サブツリーＴに含まれる全ての葉ノードの数の和を求める。この数が葉ノードの出現数Ｏである。図５および６を参照すると、ランドマークを示す葉ノードアイコンＡ、Ｂ、Ｃが領域５０１およびサブツリーＴ６７１の中に存在する。すなわち、出現数Ｏは３である。
【００４２】
ステップＳ２０６では、サブツリーＴにおける最も優先度の高い内部ノードＮｍａｘを求める。サブツリーＴ６７１において、内部ノード６３１に対して優先度「高」が割り当てられ、内部ノード６４１に対して優先度「中」が割り当てられ、その他の内部ノードに対して優先度「低」が割り当てられている。すなわち最も優先度の高い内部ノードＮｍａｘは、内部ノード６３１である（図６参照）。
【００４３】
ステップＳ２０７では、内部ノードＮｍａｘを最上位とし、その全ての下位のノードを含むサブツリーＴ’を求める。すなわち、サブツリーＴ’６７２が内部ノード６３１を最上位とするサブツリーＴ’である（図６参照）。
【００４４】
ステップＳ２０８では、サブツリーＴ’に含まれる全ての葉ノードの数の和を求める。この和が出現数Ｏ’である。図６を参照すると、サブツリーＴ’６７２には、葉ノードアイコンＡ、Ｂが含まれる。よって、出現数Ｏ’は２である。
【００４５】
ステップＳ２０９では、後述する第１のアイコン表示処理が実行される。アイコン実行処理により、重畳アイコン群５１０に対応する位置、つまり重畳アイコン群５１０が表示されるべき位置に表示アイコン７０１が表示される（図７参照）。
【００４６】
次に、ツリー作成処理について図３および６を用いて説明する。ツリー作成処理はアイコン作成部１２０が実行する。図６において、各アイコンノードの右側に各アイコンノードに対応する出現数を表示する。
【００４７】
ステップＳ３０１からＳ３０４において、ランドマークループが実行される。ランドマークループでは、複数のランドマーク情報の各々に対してステップＳ３０２からＳ３０３の処理が実行される。
【００４８】
ステップＳ３０２では、ランドマーク情報に対応する葉ノードＮｊの出現数を１だけ増やす。すなわち、葉ノードアイコン６１１、６１２、６１３の出現数が１となる。他の葉ノードアイコン６１４、６１５の出現数は増やされず、０のままである。
【００４９】
ステップＳ３０３では、葉ノードＮｊの上位にある全てのアイコンノードの出現数を１だけ増やす。これにより、下位に葉ノードアイコン６１１、６１２、６１３を有する内部ノードアイコン６２１、６２２、６２３の出現数が１となる。そして、下位に内部ノードアイコン６２１、６２２を有する内部ノードアイコン６３１の出現数は、内部ノードアイコン６２１、６２２の出現数を加算することにより、２となる。下位に内部ノードアイコン６２３を有する内部ノードアイコン６３２の出現数は、内部ノードアイコン６２３の出現数を受けて１となる。
【００５０】
これをさらに上位の内部ノードアイコンおよび根ノードアイコンに対して実行すると、内部ノードアイコン６４１の出現数は、内部アイコン６３１（出現数２）、内部アイコン６３２（出現数１）の出現数を加算することにより、３となる。同様にして、内部ノードアイコン６５１の出現数は３、内部ノードアイコン６２４、６２５、６３３、６３４、６５２の出現数は０、根ノードアイコン６６１の出現数は３となる。
【００５１】
そして、全てのランドマーク情報に対してランドマークループが反復実行されると、ランドマークループは終了し、処理はステップＳ３０５へ移る。
【００５２】
ステップＳ３０５では、葉ノードのうち、出現数が０でないノードの集合Ｍを算出する。すなわち、集合Ｍは、葉ノード６１１、６１２、６１３により構成される。
【００５３】
ステップＳ３０６では、集合Ｍの要素であるノード全ての上位となるノードの中で最も上位のノードＮａを求める。図６を参照すると、ノードＮａは、葉ノード６１１、６１２、６１３全ての上位となる内部ノード６４１である。
【００５４】
ステップＳ３０７では、ノードＮａとその下位ノード全体から成るサブツリーＴを求める。よって、サブツリーＴは、内部ノード６４１を頂点とするサブツリーＴ６７１である。
【００５５】
そして、処理が第１のアイコン描画処理のステップＳ２０５に戻る。
【００５６】
次に、第１のアイコン表示処理について図４を用いて説明する。アイコン表示処理はアイコン作成部１２０が実行する。
【００５７】
ステップＳ４０１では、ノードＮｍａｘのアイコン画像名が示すアイコン画像Ｐｍａｘをデータベース１４０から取得する。
【００５８】
ステップＳ４０２では、和Ｏ’を表す示度表示をアイコン画像Ｐｍａｘの左下に描画する。図６においてＯ’は２であるから、アイコン画像Ｐｍａｘの左下に２を示す棒グラフ７１１が描画される（図７参照）。
【００５９】
ステップＳ４０３では、（和Ｏ−和Ｏ’）を表す示度表示をアイコン画像Ｐｍａｘの右下に描画する。図６において和Ｏは３であるため（和Ｏ−和Ｏ’）は１となるから、アイコン画像Ｐｍａｘの右下に１を示す棒グラフ７１２が描画される（図７参照）。
【００６０】
ステップＳ４０４では、重畳アイコン群５１０が表示されるべき位置の中心にアイコン画像Ｐｍａｘ（アイコン７０１）を描画する（図７参照）。
【００６１】
本実施形態によれば、重なって表示される複数のランドマークをまとめて１つの表示アイコンで表示することにより、地図表示部に表示されるアイコンの総数が減少し、重なりが排除されるため、利用者が各アイコンを容易に確認できる。
【００６２】
また、重なって表示される複数のランドマークを、複数のランドマークを意味的に包含する１つの表示アイコンでまとめて表示するため、利用者が地域のイメージを直感的に把握することを容易にする。
【００６３】
さらに、ユーザが設定する優先度に従って代表アイコンを決定することにより，ユーザの興味に合わせたアイコン表示が可能である。例えば，レストランＣ、レストランＢ、コンビニＤの３つをまとめて表示するとき，飲食店の優先度が高く設定されているときには，飲食店が２つとその他のランドマークが１つであることを表すアイコンを１つ表示し，コンビニの優先度が高く設定されているときには，コンビニが１つとその他のランドマークが２つであることを表すアイコンを１つ表示することを可能にする。
【００６４】
なお、アイコン表示処理のステップＳ４０２において、示度表示に換えて和Ｏを表す数値をアイコン画像Ｐｍａｘの左下に描画してもよい。また、ステップＳ４０３において、示度表示に換えて数値をアイコン画像Ｐｍａｘの左下に描画してもよく、（和Ｏ−和Ｏ’）に換えて和Ｏを表す数値または示度表示をアイコン画像Ｐｍａｘ上に描画してもよい。
【００６５】
次に、本発明による第２の実施形態について図２および５から８を用いて説明する。第１の実施形態と同様の構成については説明を省略する。
【００６６】
地図表示装置１００の構成は第１の実施形態と略同様の要素により構成される。重畳判定部１１０は、地図表示部１３０を複数の領域に区分して複数の葉ノードアイコンを表示した場合に、１つの領域に複数の葉ノードアイコンが表示されるか否かを判定する。１つの領域に複数の葉ノードアイコンが表示される場合、葉ノードアイコンが重畳したと判定する。領域は、例えば、地図を複数の矩形領域に分割して得られる領域、行政区画、道路から一定の範囲（商店街、オフィス街等）である。本実施形態では、地図表示部に表示されている地図を５×５の領域に分割したとして説明する。
【００６７】
次に、アイコンを地図上に描画する第２のアイコン描画処理について、図２、５および６を用いて説明する。図５は、地図を実際に表示した地図表示部１３０を示すものでなく、説明のためアイコンを仮想的に表示した地図表示部１３０を示すものである。第２のアイコン描画処理は、地図表示部１３０に地図が表示された後に実行される。
【００６８】
まず、ステップＳ２０１において、地図表示部１３０を複数の領域に区分して複数の葉ノードアイコンを表示した場合に、１つの領域に複数の葉ノードアイコンが表示されるか否かを重畳判定部１１０が判定する。重畳判定部１１０は、データベース１４０から領域情報を読み出し、判定を行う。１つの領域に複数の葉ノードアイコンが表示される場合、葉ノードアイコンが重畳したとみなして、処理はステップＳ２０２に進む。１つの領域に複数の葉ノードアイコンが表示されない場合、第２のアイコン描画処理は終了する。図８に示すように、領域８０１内に位置する葉ノードアイコン８１１、８１２、８１３が重畳アイコン群８１０を構成する。
【００６９】
ステップＳ２０２からＳ２１０までの処理は、第１の実施形態と同様であるため、説明を省略する。
【００７０】
これにより、重畳アイコン群８１０が表示されるべき位置に表示アイコン７０１が表示される（図７参照）。
【００７１】
ツリー作成処理およびアイコン表示処理は、第１の実施形態と同様であるため、説明を省略する。
【００７２】
次に、本発明による第３の実施形態について図９から１８を用いて説明する。第１の実施形態と同様の構成については説明を省略する。なお、地図表示装置１００の構成は第１の実施形態と同様の構成であるため、説明を省略する。
【００７３】
データベース１４０は、各アイコン画像に対応する縮小アイコン情報を記憶する。縮小アイコン情報は、対応するアイコン画像名と、縮小アイコン画像名とから成る。縮小アイコン画像は、アイコン画像に対応するランドマークに応じて形状および色彩が決定される。
【００７４】
アイコンを地図上に描画する第３のアイコン描画処理について、図９、１５、１６および１７を用いて説明する。図１５は、地図を実際に表示した地図表示部１３０を示すものでなく、説明のためアイコンを仮想的に表示した地図表示部１３０を示すものである。第３のアイコン描画処理は、地図表示部１３０に地図が表示された後に実行される。
【００７５】
ステップＳ９０１およびＳ９０２までの処理は、第１のアイコン処理におけるステップＳ２０１およびＳ２０２と同じであるため、説明を省略する。図１５に示すように、葉ノードアイコン１５１１、１５１２、１５１３、１５１４が重畳アイコン群１５１０を構成する。
【００７６】
重畳判定部１１０がステップＳ９０１を実行し、アイコン作成部１２０がステップＳ９０２からＳ９１０までの処理を実行する。
【００７７】
ステップＳ９０３からＳ９０７では、重畳ループが実行される。重量ループでは、複数の重畳アイコン群に対してステップＳ９０４からＳ９０６の処理が実行される。以下、図１５における重畳アイコン群１５１０、および図１６におけるアイコンツリーを例として説明する。
【００７８】
ステップＳ９０４では、後述するツリー作成処理が実行される。ツリー作成処理は、第１の実施形態におけるステップＳ２０４と同様である。これにより、内部ノード１６５１を頂点とするサブツリーＴ１６７１が得られる。
【００７９】
ステップＳ９０５では、サブツリーの最も上位にあるノードＮａをチェックノードＮとして、後述する表示アイコン決定処理が実行される。チェックノードＮは内部アイコンノード１６５１である。表示アイコン決定処理を実行すると、地図上に表示すべき表示アイコンの集合Ｈを得る。
【００８０】
ステップＳ９０６において、表示アイコン集合Ｈを用いて、後述する第２のアイコン表示処理を実行する。
【００８１】
これにより、１つの重畳アイコン群に対し所望の数の表示アイコンを表示することができる（図１７参照）。
【００８２】
次に図１０および１６を用いて表示アイコン決定処理について説明する。図１５および図１６に示す実施形態では、重畳アイコン群１５１０に対して表示される表示アイコンの数、すなわち表示アイコン数Ａを２とする。
【００８３】
ステップＳ１００１では、チェックノードＮの子ノードから、出現数が０でない子ノードＮｃを選択する。前述のように、サブツリーＴ１６７１の頂点は内部ノード１６５１であるから、チェックノードＮは内部ノード１６５１である。図１６を参照すると、チェックノードＮ１６５１の子ノードは内部アイコンノード１６４１、１６３３、１６３４である。内部アイコンノード１６４１は内部アイコンノード１６３１、１６３２を子ノードとして備える。
【００８４】
一方、内部アイコンノード１６３１は内部アイコンノード１６２１、１６２２を子ノードとして備える。内部アイコンノード１６２１は葉アイコンノード１６１１を備え、内部アイコンノード１６２２は葉アイコンノード１６１２を備える。葉アイコンノード１６１１、１６１２の出現数は各々１である。よって、内部アイコンノード１６２１、１６２２の出現数は１である。そして、内部アイコンノード１６２１、１６２２の上位となる内部アイコンノード１６３１の出現数は２となる。
【００８５】
内部アイコンノード１６３２は内部アイコンノード１６２３を備え、内部アイコンノード１６２３は葉アイコンノード１６１３を備える。葉アイコンノード１６１３の出現数は１である。よって、内部アイコンノード１６２３の出現数は１となり、内部アイコンノード１６２３の上位となる内部アイコンノード１６３２の出現数も１となる。さらに、内部アイコンノード１６３１、１６２３の上位となる内部アイコンノード１６４１の出現数は３となる。
【００８６】
内部アイコンノード１６３３は内部アイコンノード１６２４および葉アイコンノード１６２５を子ノードとして備える。内部アイコンノード１６２４は葉アイコンノード１６１４、１６１５を備える。葉アイコンノード１６１４の出現数は１であり、１６１５の出現数は０である。よって、内部アイコンノード１６２４の出現数は１となる。一方、葉アイコンノード１６２５の出現数は０である。よって、内部アイコンノード１６３３の出現数は１となる。
【００８７】
内部アイコンノード１６３４は子ノードを備えない。よって、内部アイコンノード１６３４の出現数は０である。
【００８８】
以上から、ノードＮｃとして内部アイコンノード１６４１、１６３３が選出される。
【００８９】
ステップＳ１００２では、チェックノードＮ１６５１が葉ノードであるか否かを判断する。チェックノードＮ１６５１は葉ノードでないから、処理はステップＳ１００３に進む。
【００９０】
ステップＳ１００３では、表示アイコン数ＡがノードＮｃの数以上であるか否かが判断される。表示アイコン数ＡがノードＮｃの数以上である場合、処理はステップＳ１００４に進み、表示アイコン数ＡがノードＮｃの数よりも小さい場合、処理はステップＳ１００７に進む。前述のように表示アイコン数Ａは２であり、ノードＮｃの数は２であるから、処理はステップＳ１００４に進む。
【００９１】
ステップＳ１００４からＳ１００６では、抽出ループが実行される。抽出ループ内では、ステップＳ１００５において、表示アイコン数ＡをノードＮｃの数で除した値を表示アイコン数Ａに代入し、ノードＮｃをチェックノードとして表示アイコン決定処理が実行される。表示アイコン数ＡがノードＮｃの数で割り切れない場合、余りは切り捨てられる。すなわち、ステップＳ１００４からＳ１００６では、表示アイコン数Ａを１として、各ノードＮｃ１６４１、１６３３に対して表示アイコン決定処理を実行する。
【００９２】
ステップＳ１００７では、チェックノードＮを表示アイコンノード集合Ｈに登録する。表示アイコンノード集合Ｈは、地図上に表示される表示アイコンの集合である。
【００９３】
そして、表示アイコン決定処理が終了する。
【００９４】
次に、ステップＳ１００５においてノードＮｃ１６４１に対し実行される表示アイコン決定処理について説明する。前述のように、チェックノードＮはノードＮｃ１６４１であり、表示アイコン数Ａは２である。
【００９５】
ステップＳ１００１では、チェックノードＮ１６４１の子ノードから、出現数が０でない子ノードＮｃを選択する。前述のように、内部アイコンノード１６４１は内部アイコンノード１６３１、１６３２を子ノードとして備え、内部アイコンノード１６３１の出現数は２、内部ノードアイコン１６３２の出現数は１であるから、内部アイコンノード１６３１、１６３２がノードＮｃとして選択される。よって、ノードＮｃの数は２である。
【００９６】
ステップＳ１００２では、チェックノードＮ１６４１が葉ノードであるか否かを判断する。チェックノードＮ１６４１は葉ノードでないから、処理はステップＳ１００３に進む。
【００９７】
ステップＳ１００３では、前述のように表示アイコン数Ａは１であり、ノードＮｃの数は２であるから、処理はステップＳ１００７に進む。
【００９８】
ステップＳ１００７では、チェックノードＮ１６４１を表示アイコンノード集合Ｈに登録する。
【００９９】
次に、ステップＳ１００５においてノードＮｃ１６３３に対し実行される表示アイコン決定処理について説明する。前述のように、チェックノードＮはノードＮｃ１６３３であり、表示アイコン数Ａは２である。
【０１００】
ステップＳ１００１では、チェックノードＮ１６３３の子ノードから、出現数が０でない子ノードＮｃを選択する。前述のように、内部アイコンノード１６３３は内部アイコンノード１６２４、１６２５を子ノードとして備え、内部アイコンノード１６２４の出現数は１、内部ノードアイコン１６２５の出現数は０であるから、内部アイコンノード１６２４がノードＮｃとして選択される。よって、ノードＮｃの数は１である。
【０１０１】
ステップＳ１００２では、チェックノードＮ１６３３が葉ノードであるか否かを判断する。チェックノードＮ１６３３は葉ノードでないから、処理はステップＳ１００３に進む。
【０１０２】
ステップＳ１００３では、前述のように表示アイコン数Ａは１であり、ノードＮｃの数は１であるから、処理はステップＳ１００４に進む。
【０１０３】
ステップＳ１００４からＳ１００６では、抽出ループが実行される。すなわち、ステップＳ１００４からＳ１００６では、表示アイコン数Ａを１として、ノードＮｃ１６２４に対して表示アイコン決定処理を実行する。
【０１０４】
次に、ステップＳ１００５においてノードＮｃ１６２４に対し実行される表示アイコン決定処理について説明する。前述のように、チェックノードＮはノードＮｃ１６２４であり、表示アイコン数Ａは１である。
【０１０５】
ステップＳ１００１では、チェックノードＮ１６２４の子ノードから、出現数が０でない子ノードＮｃを選択する。前述のように、内部アイコンノード１６２４は内部アイコンノード１６１４、１６１５を子ノードとして備え、内部アイコンノード１６１４の出現数は１、内部ノードアイコン１６１５の出現数は０であるから、内部アイコンノード１６１４がノードＮｃとして選択される。よって、ノードＮｃの数は１である。
【０１０６】
ステップＳ１００２では、チェックノードＮ１６１４が葉ノードであるか否かを判断する。チェックノードＮ１６１４は葉ノードであるから、処理はステップＳ１００７に進む。
【０１０７】
ステップＳ１００７では、チェックノードＮ１６１４を表示アイコンノード集合Ｈに登録する。
【０１０８】
以上から、表示アイコンノード集合Ｈは、内部アイコンノード１６４１、１６１４を要素とする。
【０１０９】
これにより、全ての表示アイコン決定処理が終了する。
【０１１０】
次に、図１１を用いて第２アイコン表示処理について説明する。
【０１１１】
まず、ステップＳ１１０１において、後述するアイコン振分処理が実行される。これにより、重畳アイコン群１５１０に含まれる全てのランドマークに関し、それらのランドマークに対応するランドマーク情報のアイコン名フィールドに内部アイコンノードのアイコン名が入力される。
【０１１２】
次に、ステップＳ１１０２において、重心算出処理が実行される。これにより、重畳アイコン群１５１０の地図上における重心が求められる。
【０１１３】
ステップＳ１１０３において、重心から最も近いランドマークを算出する近接ランドマーク算出処理が実行される。
【０１１４】
その後、ステップＳ１１０４からＳ１１１１において表示アイコンループが実行され、領域１５０１内に表示する表示アイコンの数だけステップＳ１１０５からＳ１１１０までの処理が反復実行される。
【０１１５】
ステップＳ１１０５からＳ１１１０では、ランドマーク座標ループが実行され、領域１５０１内に存在するランドマークの数だけステップＳ１１０６からＳ１１０９までの処理が反復実行される。
【０１１６】
ステップＳ１１０６では、アイコン振分処理において入力されたランドマークのアイコン名が、表示アイコンノードのアイコン名と同じであるか否かが判断される。同じである場合、処理は次のステップＳ１１０７に進み、異なる場合、処理はステップＳ１１０５に戻り、次のランドマークのアイコン名と比較する。全てのランドマークとの比較が終了すると、処理はステップＳ１１０７へ移行する。
【０１１７】
ステップＳ１１０７では、ランドマーク座標ループにおいて選択されているランドマークが重心と最も近接しているか否かを判断する。近接ランドマーク算出処理において算出された重心と最も近接するランドマークと比較することにより、判断される。
【０１１８】
ランドマーク座標ループにおいて選択されているランドマークが重心と最も近接している場合、ステップＳ１１０８において、表示アイコンノードが示すアイコン画像１７０１、１７０２を、選択されているランドマークの位置座標に表示する。
【０１１９】
ランドマークが重心と最も近接していない場合、ステップＳ１１０９において、ランドマーク情報が有するアイコン画像に対応する縮小アイコン情報に従って、選択されているランドマークの位置座標に縮小アイコン画像１７０３、１７０４を表示する（図１７参照）。本実施例では、縮小アイコン画像として円形の点が用いられる。
【０１２０】
これらの処理を全ての表示アイコンおよびランドマークに対して実行することにより、第２アイコン表示処理が終了する。
【０１２１】
次に、図１２を用いてアイコン振分処理について説明する。
【０１２２】
まず、ステップＳ１２０１からＳ１２０６において、表示アイコンループが実行され、領域１５０１内に表示する表示アイコンの数だけステップＳ１２０２からＳ１２０５までの処理が反復実行される。
【０１２３】
次のステップＳ１２０２からＳ１２０５では、ランドマーク座標ループが実行され、領域１５０１内に存在するランドマークの数だけステップＳ１２０３からＳ１２０４までの処理が反復実行される。
【０１２４】
ステップＳ１２０３では、内部アイコンノードの子孫に、ランドマーク座標ループにおいて選択されているランドマークと同じ名前を有するアイコンノードが存在するか否かを判断する。存在しない場合、処理はステップＳ１２０２に戻り、存在する場合、処理はステップＳ１２０４へ移行する。
【０１２５】
ステップＳ１２０４では、重畳アイコン群１５１０に含まれる全てのランドマークに関し、ランドマーク座標ループにおいて選択されているランドマークに対応するランドマーク情報のアイコン名フィールドに内部アイコンノードのアイコン名が入力される。
【０１２６】
これにより、アイコン振分処理が終了する。
【０１２７】
次に、図１３を用いて重心算出処理について説明する。重心は、地図表示部１３０の中心を原点とするＸＹ座標系を用いて算出される。このＸＹ座標系は、緯度経度と一対一に対応し、地図の縮尺ごとに設けられた関数により緯度経度に変換される。
【０１２８】
まず、ステップＳ１３０１からＳ１３１０において、表示アイコンループが実行され、領域１５０１内に表示する表示アイコンの数だけステップＳ１３０１からＳ１３１０までの処理が反復実行される。
【０１２９】
ステップＳ１３０２では、変数Ｘ、Ｙ、Ｔを初期化する。変数Ｘ、Ｙは重畳アイコン群に属する全てのアイコンのＸ、Ｙ座標をそれぞれ加算するために用いる。変数Ｔは重畳アイコン群に属するアイコンの数を算出するために用いる。
【０１３０】
次のステップＳ１３０３からＳ１３０８では、ランドマーク座標ループが実行される。このループでは、ステップＳ１３０４からＳ１３０７までの処理が、重畳アイコン群１５１０に含まれるランドマークの数だけ反復実行される。
【０１３１】
ステップＳ１３０４では、ランドマーク座標ループにおいて選択されているランドマークとアイコンノードが同じ名前か否かを判断する。異なる場合、処理はステップＳ１３０３に戻り、同じである場合、処理はステップＳ１３０５へ移行する。
【０１３２】
ステップＳ１３０５では、ランドマーク座標ループにおいて選択されているランドマークのＸ座標が変数Ｘに加算される。
【０１３３】
また、ステップＳ１３０６では、ランドマーク座標ループにおいて選択されているランドマークのＹ座標が変数Ｙに加算される。
【０１３４】
ステップＳ１３０７では、変数Ｔに１が加算され、アイコンの数がカウントされる。これにより、ステップＳ１３０８においてランドマーク座標ループが終了する。
【０１３５】
次のステップＳ１３０９では、重畳アイコン群１５１０の重心Ｇの座標を算出する。重心ＧのＸ座標は変数Ｘを変数Ｔで除し、Ｙ座標は変数Ｙを変数Ｔで除することにより算出される。
【０１３６】
ステップＳ１３１０では、表示アイコンループが終了する。
【０１３７】
次に、図１４を用いて近接ランドマーク算出処理について説明する。
【０１３８】
まず、ステップＳ１４０１からＳ１４１０において、表示アイコンループが実行され、領域１５０１内に表示する表示アイコンの数だけステップＳ１４０２からＳ１４０９までの処理が反復実行される。
【０１３９】
ステップＳ１４０２では、変数Ｄｍｉｎ、Ｌｎを初期化する。変数Ｄｍｉｎはランドマーク座標ループにおいて選択されているランドマークと重心との最小距離を求めるための変数である。初期値は十分に大きい値が入力される。例えば、地図表示画面の対角線長さが初期値として用いられる。変数Ｌｎは重心から最も近いランドマークを求めるための変数である。初期値としてｎｕｌｌが用いられる。
【０１４０】
次のステップＳ１４０３からＳ１４０８では、ランドマーク座標ループが実行される。このループでは、ステップＳ１４０４からＳ１４０７までの処理が、重畳アイコン群１５１０に含まれるランドマークの数だけ反復実行される。
【０１４１】
ステップＳ１４０４では、ランドマーク座標ループにおいて選択されているランドマークとアイコンノードが同じ名前か否かを判断する。異なる場合、処理はステップＳ１４０３に戻り、同じである場合、処理はステップＳ１４０５へ移行する。
【０１４２】
ステップＳ１４０５では、ランドマーク座標ループにおいて選択されているランドマークと重心との距離が最小距離Ｄｍｉｎよりも小さいか否かを判断する。小さい場合、処理はステップＳ１４０６に進み、最小距離Ｄｍｉｎ以上である場合、処理はステップＳ１４０３へ戻る。
【０１４３】
ステップＳ１４０６では、ランドマークと重心との距離を最小距離Ｄｍｉｎに代入する。
【０１４４】
ステップＳ１４０７では、ランドマーク座標ループにおいて選択されているランドマークを、最近接ランドマーク変数Ｌｎに代入する。これにより、ステップＳ１４０８においてランドマーク座標ループが終了する。
【０１４５】
ステップＳ１４０４からＳ１４０７までの処理をランドマークの数だけ繰り返すことにより、最も重心と近接するランドマークと、そのランドマークと重心との距離を得る。
【０１４６】
ステップＳ１４０９では、重畳アイコン群１５１０の重心に最も近接するランドマークを示すランドマーク変数Ｌｎを変数Ｌｎｅａｒに代入する。変数Ｌｎｅａｒは、表示アイコンごとに与えられる変数である。
【０１４７】
ステップＳ１４０２からＳ１４０９までの処理を表示アイコンの数だけ繰り返すことにより、表示アイコンごとに、重心に最も近接するランドマークを得る。
【０１４８】
ステップＳ１４１０を経て表示アイコンループが完了すると、近接ランドマーク算出処理が終了する。
【０１４９】
本実施形態によれば、重畳するアイコンに対して最も上位となるアイコンではなく、中位のアイコンを表示することができる。これにより、利用者は地図上のランドマークを的確に把握することができる。
【０１５０】
また、同種のアイコンが近隣に多数ある場合、一部のアイコンを点表示にして、色で対応関係をつけることにより、描画すべきアイコンの数を少なくすることができる。これにより、アイコンにより隠される地図が減少し、地図の視認性が向上し、利用者が地域のイメージを直感的に把握することを容易にする。例えば、飲食店の多い地域、コンビニの多い地域、駐車場の多い地域などのイメージを直感的に把握できる。
【０１５１】
なお、本実施形態における地図表示装置１００は、第２の実施形態と同様の構成であっても良い。地図表示部１３０を区分して得られる領域のうちの１つに複数の葉ノードアイコン１８１１、１８１２、１８１３、１８１４が表示される場合（図１８参照）、その領域１５０１に表示された葉ノードアイコンが重畳しているとみなして、表示アイコン１７０１、１７０２を領域内に表示する（図１７参照）。このとき、表示アイコン数は、予め定められるアイコン密度に、領域の面積を乗じて求められる。アイコン密度は、単位ピクセル（１ピクセル×１ピクセル）の領域中に表示するアイコンの数である。つまり、表示アイコン数は、地図表示部１３０上における領域１５０１の面積に応じて決定され、地図表示部１３０上において領域の面積が大きくなると、表示アイコン数を増加し、地図表示部１３０上において領域の面積が小さくなると、表示アイコン数を減少する。
【０１５２】
また、内部アイコンノードが有する優先度に従って、表示アイコンを決定しても良い。ユーザが設定する優先度に従って代表アイコンを決定することにより、ユーザの興味に合わせたアイコン表示が可能となる。
【０１５３】
次に、本発明による第４の実施形態について図１９から２１を用いて説明する。第１の実施形態と同様の構成については説明を省略する。なお、地図表示装置１００の構成は第１の実施形態と同様の構成であるため、説明を省略する。
【０１５４】
本実施形態では、パスにおける一定の範囲内に表示されるアイコンに対して表示アイコンを表示する。以下、パスの一例として道路を用い、道路における一定範囲を道路範囲として説明する。
【０１５５】
アイコンを地図上に描画する第４のアイコン描画処理について説明する。図２０は、地図を実際に表示した地図表示部１３０を示すものでなく、説明のためアイコンを仮想的に表示した地図表示部１３０を概念的に示したものである。図２０に示すように、道路範囲２００１内に位置する葉ノードアイコン２０１１から２０２０が重畳アイコン群２０１０を構成する。
【０１５６】
ステップＳ１９０１からＳ１９０９において、パスループが実行され、地図表示画面上に存在する全ての道路領域の数だけステップＳ１９０２からＳ１９０８までの処理が反復実行される。
【０１５７】
ステップＳ１９０２では、道路範囲２００１内の重畳アイコン群２０１０に含まれるアイコンに対応するランドマークの集合Ｌ、および重畳アイコン群２０１０に含まれるアイコンの数を求める。
【０１５８】
次のステップＳ１９０３からＳ１９０６では、ランドマーク座標ループが実行される。ランドマーク座標ループでは、重畳アイコン群２０１０に含まれるランドマークの各々に対してステップＳ１９０４からＳ１９０５の処理が実行される。
【０１５９】
ステップＳ１９０４では、ランドマークの高さが高さ閾値Ｈｇよりも大きいか否かが判断される。高さ閾値Ｈｇは予め設定される高さであり、例えば３０メートルである。大きい場合、処理はステップＳ１９０５に進み、高さ閾値Ｈｇ以下である場合、処理はステップＳ１９０３に戻り、次のランドマークに対してランドマーク座標ループを実行する。
【０１６０】
ステップＳ１９０５では、高層ビル数Ｈを１だけ増やす。そして、次のステップＳ１９０６においてランドマーク座標ループが終了する。
【０１６１】
ステップＳ１９０３からＳ１９０６までの処理をランドマークの数だけ繰り返すことにより、高さ閾値Ｈｇよりも高さのあるランドマークの数を算出できる。
【０１６２】
次のステップＳ１９０７では、高層ビル数Ｈがビル閾値Ｎｇ以上か否かが判断される。ビル閾値Ｎｇ以上である場合、処理はステップＳ１９０８に進み、ビル閾値Ｎｇより小さい場合、処理はステップＳ１９０９に進み、次の道路範囲に対して道路ループを実行する。
【０１６３】
ステップＳ１９０８では、ビル街を示すビル街アイコン２１０１を道路範囲の重心に表示する（図２１参照）。
【０１６４】
そして、ステップＳ１９０９を経て道路ループが完了すると、第４のアイコン描画処理が終了する。
【０１６５】
本実施形態によれば、パスの周囲に存在するランドマークの高さを、表示アイコンを用いて示すことができる。これにより、利用者はパスおよびランドマーク周辺の建物の状況を的確に把握することができる。
【０１６６】
なお、ステップＳ１９０７において、ビルが平均１０メートル以内の間隔で存在するか否かを条件としても良い。このとき、道路の長さＬの道路範囲に対して、Ｌ／Ｎｇ≦１０を満たすか否かが条件となる。この条件を満たす場合、処理はステップＳ１９０８に進み、満たさない場合、処理はステップＳ１９０９に進み、次の道路範囲に対して道路ループを実行する。
【０１６７】
また、高さ閾値を複数設け、ビルの高さごとに異なる表示アイコンを表示しても良い。
また、ビルの高さで表示アイコンを決定するのではなく、ビルに入居する主なテナントの属性により、表示アイコンを表示しても良い。これにより、例えば「官庁街」、「商店街」等の表示アイコンを表示できる。
【０１６８】
道路範囲は、道路を境に区切られても良い。これにより、道路の両側に表示アイコンを表示できる。
【０１６９】
道路範囲を第２の実施形態における領域として用い、図２２に示すような道路範囲２２０１に存在する複数のランドマーク２２１１から２２１４を、１つの表示アイコン２３１１で表示しても良い（図２３参照）。また、道路を境に道路範囲を区切って得られる領域を、第２の実施形態における領域として用いても良い。道路の両側に表示アイコン２４１１、２４１２が表示される（図２４参照）。
【０１７０】
なお、パスは道路でなくても良く、鉄道、橋、河川など、人間が通行可能、又は交通機関を利用して通行可能な道筋であればよい。
【０１７１】
また、情報記憶部であるデータベース１４０、重畳判定部１１０、およびアイコン作成部１２０をサーバ２５１０に設けると共に、地図表示部２５２１をクライアント２５２０に設け、サーバ２５１０とクライアント２５２０をネットワークで接続して、地図表示システムを構成しても良い（図２５参照）。これにより、利用者がネットワークを介して地図上のランドマークを参照することが可能になる。
【０１７２】
なお、いずれの実施形態においてもアイコンを用いてランドマークを表示する構成について説明したが、地物を表示してもよい。
【図面の簡単な説明】
【０１７３】
【図１】第１の実施形態による地図表示装置のブロック図である。
【図２】第１のアイコン描画処理を示したフローチャートである。
【図３】ツリー作成処理を示したフローチャートである。
【図４】第１アイコン表示処理を示したフローチャートである。
【図５】説明のためアイコンを仮想的に表示した地図表示部を示す図である。
【図６】アイコンツリーを示した図である。
【図７】表示アイコンを表示した地図表示部を示す図である。
【図８】説明のためアイコンを仮想的に表示した地図表示部を示す図である。
【図９】第３のアイコン描画処理を示したフローチャートである。
【図１０】表示アイコン決定処理を示したフローチャートである。
【図１１】第２アイコン表示処理を示したフローチャートである。
【図１２】アイコン振分処理を示したフローチャートである。
【図１３】重心算出処理を示したフローチャートである。
【図１４】近接ランドマーク算出処理を示したフローチャートである。
【図１５】説明のためアイコンを仮想的に表示した地図表示部を示す図である。
【図１６】アイコンツリーを示した図である。
【図１７】表示アイコンを表示した地図表示部を示す図である。
【図１８】説明のためアイコンを仮想的に表示した地図表示部を示す図である。
【図１９】第４のアイコン描画処理を示したフローチャートである。
【図２０】説明のためアイコンを仮想的に表示した地図表示部を示す図である。
【図２１】表示アイコンを表示した地図表示部を示す図である。
【図２２】説明のためアイコンを仮想的に表示した地図表示部を示す図である。
【図２３】表示アイコンを表示した地図表示部を示す図である。
【図２４】表示アイコンを表示した地図表示部を示す図である。
【図２５】地図表示システムのブロック図である。
【図２６】アイコンノード情報のデータ構造を示した図である。
【符号の説明】
【０１７４】
１００  地図表示装置
１１０  重畳判定部
１２０  アイコン作成部
１３０  地図表示部
【図１】
0005299993.tif 000002
【図３】
0005299993.tif 000003
【図４】
0005299993.tif 000004
【図６】
0005299993.tif 000005
【図９】
0005299993.tif 000006
【図１０】
0005299993.tif 000007
【図１１】
0005299993.tif 000008
【図１２】
0005299993.tif 000009
【図１３】
0005299993.tif 000010
【図１４】
0005299993.tif 000011
【図１６】
0005299993.tif 000012
【図１９】
0005299993.tif 000013
【図２６】
0005299993.tif 000014
【図２】
0005299993.tif 000015
【図５】
0005299993.tif 000016
【図７】
0005299993.tif 000017
【図８】
0005299993.tif 000018
【図１５】
0005299993.tif 000019
【図１７】
0005299993.tif 000020
【図１８】
0005299993.tif 000021
【図２０】
0005299993.tif 000022
【図２１】
0005299993.tif 000023
【図２２】
0005299993.tif 000024
【図２３】
0005299993.tif 000025
【図２４】
0005299993.tif 000026
【図２５】
0005299993.tif 000027