前記地図表示部は、前記重畳アイコン群が表示されるべき位置に前記表示アイコンを表示する地図表示サーバ。前記地図情報を用いて地図を表示し、そして前記地物情報に応じて前記地図上における地物の位置および内容を示すアイコンを表示する地図表示部を有するクライアントとを備える地図表示システム。請求項16から18に記載の地図表示方法を地図表示装置に実行させるためのプログラム。0001】本発明は、地物の存在を示すアイコンを地図上に表示する地図表示装置に関する。【背景技術】【0002】従来、コンピュータの画面上に地図を表示する地図表示装置において、地図上に存在する地物を利用者に認知させるため、地物毎にアイコンを表示する構成が知られている。アイコンは、地図上における地物の位置および内容を示す画像である。この構成では、地図を複数の領域に分割し、表示すべきアイコンがその領域の中に多数存在する場合、全ての地物を代表するアイコンをその領域の中心に表示する(特許文献1)。【特許文献1】特開2004-069561号公報【発明の開示】【発明が解決しようとする課題】【0003】しかし、全ての地物を代表するアイコンを表示すると、表示されたアイコンが代表する範囲が大きくなりすぎて、どのような地物が存在するかを利用者が把握することが困難になる。【0004】本発明によれば、ある領域に多数の地物が存在する場合であっても、どのような地物が存在するかを利用者が把握することができる。【課題を解決するための手段】【0005】本願第1の発明による地図表示装置は、地図を表示するために用いられる地図情報及び地物に関する情報である地物情報を記憶する情報記憶部と、地図情報を用いて地図を表示し、そして地物情報に応じて地図上における地物の位置および内容を示すアイコンを表示する地図表示部と、複数の地物の各々に対応する複数の葉ノードアイコンを地図表示部に表示した場合に、複数の葉ノードアイコンが重畳するか否かを判定する重畳判定部と、重畳する複数の葉ノードアイコンから成る重畳アイコン群に異なる属性を有する葉ノードアイコンが含まれる場合、異なる属性を全て包含する上位の属性よりも下位であって、複数の葉ノードアイコンが有する属性よりも上位の属性を示す内部ノードアイコンを表示アイコンとして作成するアイコン作成部とを備え、地図表示部は、重畳アイコン群に対応する位置に表示アイコンを表示することを特徴とする。【0006】アイコンは優先度を各々備え、アイコン作成部は、内部ノードアイコンのうち、最も高い優先度を有する内部ノードアイコンを表示アイコンとして作成することが好ましい。【0007】アイコン作成部は、表示アイコンが有する属性に含まれる地物の数を表す示度表示を、表示アイコンと併せて作成してもよい。【0008】示度表示は、数値、色彩、または棒グラフが好適である。【0009】さらに、アイコン作成部は、最上部に位置する根ノードアイコンと、最底部に位置する葉ノードアイコンと、根ノードアイコンと葉ノードアイコンとの間に位置する内部ノードアイコンとに分類されるノードから構成されるツリー構造に従って、地図表示部に表示すべき表示アイコンの数である表示アイコン数を予め定め、表示アイコン数に応じて、下位の属性を示す内部ノードアイコンを表示アイコンとして作成してもよい。【0010】アイコン作成部は、地図表示部に表示された地図を複数の領域に区分し、1つの領域内に表示される複数の表示アイコンが重畳しているとみなして、表示アイコンを作成してもよい。【0011】地図表示部は、人間が通行可能、又は交通手段を介して通行可能な経路であるパスを地図として表示し、アイコン作成部は、地図表示部に表示されたパスを任意の範囲に区分し、1つの範囲内に表示される複数の表示アイコンが重畳しているとみなして、表示アイコンを作成してもよい。【0012】アイコン作成部は、パスの通行路の両側各々に対して、表示アイコンを作成してもよい。【0013】アイコン作成部は、任意の範囲に所定の高さ以上の建物が一定の割合以上で存在する場合、ビル街を表す表示アイコンを作成してもよい。【0014】地図表示部は、地図において、複数の葉ノードアイコンに対応する地物上に表示アイコンを表示し、アイコン作成部は、表示アイコンが表示される地物以外の地物であって、表示アイコンと同じ属性を有する地物に対して、表示アイコンよりも小さな縮小アイコンを作成し、地図表示部は、表示アイコンが表示される地物以外の地物であって、表示アイコンと同じ属性を有する地物上に、縮小アイコンを表示することが好ましい。【0015】縮小アイコンは円形、または矩形が好適である。【0016】アイコン作成部は、最上部に位置する根ノードアイコンと、最底部に位置する葉ノードアイコンと、根ノードアイコンと葉ノードアイコンとの間に位置する内部ノードアイコンとに分類されるノードから構成され、かつノードが自らの下位に属する全てのノードの数に応じた重みを備えるツリー構造に従って、地図表示部に表示すべき表示アイコンの数である表示アイコン数を予め定め、根ノードアイコンに表示アイコン数を割り当て、表示アイコン数が割り当てられたノードの子ノードのうち重みが0でない子ノードの数が割り当てられた表示アイコン数以下であるときには、子ノードの重みに応じて表示アイコン数を割り当て、重みが0でない子ノードの数が割り当てられた表示アイコン数よりも大きいとき、表示アイコン数が割り当てられたノードを表すアイコンを表示アイコンとして作成することが好ましい。【0017】アイコン作成部は、地図表示部に表示された地図を複数の領域に区分し、1つの領域内に表示される複数の表示アイコンが重畳しているとみなし、領域の面積に応じて、表示アイコン数を定めても良い。【0018】本願第2の発明による地図表示サーバは、クライアントに設けられた地図表示部に地図を表示するため用いられる地図情報及び地物に関する情報である地物情報を記憶する情報記憶部と、複数の地物の各々に対応する複数の葉ノードアイコンを地図表示部に表示した場合に、複数の葉ノードアイコンが重畳するか否かを判定する重畳判定部と、重畳する複数の葉ノードアイコンから成る重畳アイコン群に異なる属性を有する葉ノードアイコンが含まれる場合、異なる属性を全て包含する上位の属性よりも下位であって、複数の葉ノードアイコンが有する属性よりも上位の属性を示す内部ノードアイコンを表示アイコンとして作成するアイコン作成部とを備え、地図表示部が重畳アイコン群が表示されるべき位置に表示アイコンを表示することを特徴とする。【0019】本願第3の発明による地図表示システムは、前記地図表示サーバと、地図情報を用いて地図を表示し、そして地物情報に応じて地図上における地物の位置および内容を示すアイコンを表示する地図表示部を有するクライアントとを備えることを特徴とする。【0020】本願第4の発明による地図表示方法は、地図表示部に地図を表示するために用いられる地図情報及び地物に関する情報である地物情報を情報記憶部から読み出すステップと、複数の地物の各々に対応する複数の葉ノードアイコンを地図表示部に表示した場合に、複数の葉ノードアイコンが重畳するか否かを判定するステップと、重畳する複数の葉ノードアイコンから成る重畳アイコン群に異なる属性を有する葉ノードアイコンが含まれる場合、異なる属性を全て包含する上位の属性よりも下位であって、複数の葉ノードアイコンが有する属性よりも上位の属性を示す内部ノードアイコンを表示アイコンとして作成するステップと、地図情報を用いて地図を地図表示部に表示するステップと、重畳アイコン群が表示されるべき位置に表示アイコンを表示するステップとを備えることを特徴とする。【0021】地図表示方法は、アイコンに優先度を各々与えるステップと、アイコン作成部は、内部ノードアイコンのうち、最も高い優先度を有する内部ノードアイコンを表示アイコンとするステップとをさらに備えることが好ましい。【0022】さらに前記地図表示方法は、最上部に位置する根ノードアイコンと、最底部に位置する葉ノードアイコンと、根ノードアイコンと葉ノードアイコンとの間に位置する内部ノードアイコンとに分類されるノードから構成されるツリー構造を用意するステップと、作成する表示アイコンの表示アイコン数を定めるステップと、自らの下位に属する全てのノードの数に応じた重みをノードに与えるステップと、根ノードアイコンに表示アイコン数を割り当てるステップと、表示アイコン数が割り当てられたノードの子ノードのうち重みが0でない子ノードの数が割り当てられた表示アイコン数以下であるときには、子ノードの重みに応じて表示アイコン数を割り当てるステップと、重みが0でない子ノードの数が割り当てられた表示アイコン数よりも大きいとき、表示アイコン数が割り当てられたノードを表すアイコンを表示アイコンとするステップとを備えてもよい。地図表示装置に実行させるためのプログラムであることを特徴とする。【発明の効果】【0024】以上のように本発明によれば、ある領域に多数の地物が存在する場合であっても、どのような地物が存在するかを利用者が把握することができる地図表示装置を得る。【発明を実施するための最良の形態】【0025】以下、本発明による第1の実施形態について図を用いて説明する。図1は本実施形態による地図表示装置100を概念的に描いた図である。【0026】地図表示装置100は、情報記憶部であるデータベース140と、地図および表示アイコンを表示する地図表示部130と、アイコンが重畳するか否かを判定する重畳判定部110と、表示アイコンを作成するアイコン作成部120とから主に構成される。【0027】データベース140は、地図を表示するために用いられる地図情報、ランドマークに関する情報であるランドマーク情報、アイコンツリー情報、アイコンノード情報、重畳情報、および領域情報を記憶する。【0028】ランドマークは、地図上に表示される地物のうち、利用者が目印として用いうるものをいう。ランドマーク情報は、ランドマーク名と、ランドマークの位置座標と、ランドマークに対応するアイコンを示すアイコン名とを有する。【0029】アイコンツリーは、最上部に位置する根アイコンノードと、最底部に位置する葉アイコンノードと、根アイコンノードと葉アイコンノードとの間に位置する内部アイコンノードとに分類されるアイコンノードから構成されるツリー構造である。各アイコンノードは、それぞれ対応するアイコンを有し、アイコンツリーは、各アイコンが示すランドマークの包含関係をツリー構造により示す。アイコンツリー情報は、アイコンツリーを構成するアイコンノードの名称、および各アイコンノードの接続関係を示すデータとから構成される(図6参照)。【0030】アイコンノード情報は、アイコンノードに対応するアイコンの名称、アイコンの画像名、出現数、および優先度を有する(図26参照)。アイコンノードが葉ノード、すなわちアイコンツリーにおいて最下位に位置する場合、アイコン名称にはランドマークの名称が格納される。出現数は、アイコンノード情報が示すアイコンノードの下位に位置するアイコンノードのうち、地図上に表示されるランドマークに対応するアイコンノードの数を示す値である。優先度は、高、中および低の3段階でアイコンノードごとに定められ、後述する処理において用いられる。【0031】また、各アイコンノードに対して利用者が優先度を設定することも可能である。検索したいランドマークの属性を利用者が設定すると、その属性に対応するアイコンノードの優先度が変更される。検索したいランドマークには、高い優先度が設定される。利用者がレストランを検索するとき、レストランの属性を有するアイコンノードの優先度が高に設定される。レストランに近い、例えばファーストフードの属性を有するアイコンノードの優先度が中に設定される。レストランとは遠い関係にある、例えば洋服店の属性を有するアイコンノードの優先度は低に設定される。出現数および優先度は、図6において、各アイコンノードの右側に表示される。【0032】重畳情報は、重畳する複数のアイコン、又は地図画面上の一領域内に存在する複数のアイコンからなる重畳アイコン群の位置および範囲を定義する情報であって、重畳アイコン群に含まれるアイコン名と、重畳アイコン群の中心位置を定める中心座標と、形状および範囲を定める範囲値とから成る。領域情報は、領域の位置および範囲を定義する情報であって、領域の中心位置を定める中心座標と、領域の形状および範囲を定める範囲値とから成る。一定の範囲(商店街、オフィス街等)が含まれる。【0033】アイコンは、ランドマーク情報に応じて地図上におけるランドマークの位置および内容を示す画像である。ランドマークの内容は、ランドマークの名称や属性であり、例えばランドマークの店舗名、フランチャイズ名、洋服店、および商店である。葉ノードアイコンは、アイコンツリーの最底辺に位置する複数のランドマークの各々に対応するアイコンである。重畳判定部110は、複数の葉ノードアイコンを地図表示部130に表示した場合に、複数の葉ノードアイコンが重畳するか否かを判定し、データベース140に重畳情報を登録する。【0034】表示アイコンは、地図表示部130に表示されるアイコンである。アイコン作成部120は、重畳判定部110が重畳すると判定した複数の葉ノードアイコンが複数の属性を有する場合、それら複数の属性を全て包含する上位の属性よりも下位であって、複数の葉ノードアイコンが有する属性よりも上位の属性を示す内部ノードアイコンを表示アイコンとして作成する。【0035】地図表示部130は、地図上において重畳アイコン群に対応する位置、すなわち重畳アイコンが表示されるべき位置に表示アイコンを表示する。【0036】次に、アイコンを地図上に描画する第1のアイコン描画処理について、図2、5および6を用いて説明する。図5は、地図を実際に表示した地図表示部130を示すものでなく、説明のためアイコンを仮想的に表示した地図表示部130を示すものである。第1のアイコン描画処理は、地図表示部130に地図が表示された後に実行される。【0037】まず、ステップS201において、各ランドマークの上に表示されるアイコンが互いに重なり合うか否かを重畳判定部110が判断する。重畳判定部110は、地図上にアイコンを表示せずに、表示されている地図の縮尺、ランドマークの位置座標、および地図表示部上におけるアイコンの大きさから重畳するか否かを判断する。重畳すると判断した場合、処理はステップS202に進み、重畳しないと判断した場合、第1のアイコン描画処理は終了する。図5に示すように、葉ノードアイコン511、512、513が重畳アイコン群510を構成する。【0038】ステップS202からS210までの処理は、アイコン作成部120が実行する。ステップS202では、重畳アイコン群510に含まれるアイコンに対応するランドマークのランドマーク情報の集合L、および各重畳アイコン群510に含まれるアイコンに対応するランドマークの数を求める。【0039】次のステップS203からS210では、重畳ループが実行される。重量ループでは、複数の重畳アイコン群510の各々に対してステップS204からS209の処理が実行される。【0040】ステップS204では、後述するツリー作成処理が実行される。ツリー作成処理では、重畳アイコン群510に含まれる全てのランドマークの先祖となるアイコンノードを抽出し、このアイコンノードを頂点とするサブツリーTを作成する。図6に示すアイコンツリー600を参照すると、重畳アイコン群510に含まれる全てのランドマークA、B、Cの先祖となるアイコンノードは内部ノード641である。そこで、内部ノード641を頂点とするサブツリーT671が得られる。【0041】ステップS205では、サブツリーTに含まれる全ての葉ノードの数の和を求める。この数が葉ノードの出現数Oである。図5および6を参照すると、ランドマークを示す葉ノードアイコンA、B、Cが領域501およびサブツリーT671の中に存在する。【0042】ステップS206では、サブツリーTにおける最も優先度の高い内部ノードNmaxを求める。サブツリーT671において、内部ノード631に対して優先度「高」が割り当てられ、内部ノード641に対して優先度「中」が割り当てられ、その他の内部ノードに対して優先度「低」が割り当てられている。優先度の高い内部ノードNmaxは、内部ノード631である(図6参照)。【0043】ステップS207では、内部ノードNmaxを最上位とし、その全ての下位のノードを含むサブツリーT’を求める。サブツリーT’672が内部ノード631を最上位とするサブツリーT’である(図6参照)。【0044】ステップS208では、サブツリーT’に含まれる全ての葉ノードの数の和を求める。この和が出現数O’である。図6を参照すると、サブツリーT’672には、葉ノードアイコンA、Bが含まれる。よって、出現数O’は2である。【0045】ステップS209では、後述する第1のアイコン表示処理が実行される。アイコン実行処理により、重畳アイコン群510に対応する位置、つまり重畳アイコン群510が表示されるべき位置に表示アイコン701が表示される(図7参照)。【0046】次に、ツリー作成処理について図3および6を用いて説明する。ツリー作成処理はアイコン作成部120が実行する。図6において、各アイコンノードの右側に各アイコンノードに対応する出現数を表示する。【0047】ステップS301からS304において、ランドマークループが実行される。ランドマークループでは、複数のランドマーク情報の各々に対してステップS302からS303の処理が実行される。【0048】ステップS302では、ランドマーク情報に対応する葉ノードNjの出現数を1だけ増やす。葉ノードアイコン611、612、613の出現数が1となる。他の葉ノードアイコン614、615の出現数は増やされず、0のままである。【0049】ステップS303では、葉ノードNjの上位にある全てのアイコンノードの出現数を1だけ増やす。これにより、下位に葉ノードアイコン611、612、613を有する内部ノードアイコン621、622、623の出現数が1となる。下位に内部ノードアイコン621、622を有する内部ノードアイコン631の出現数は、内部ノードアイコン621、622の出現数を加算することにより、2となる。下位に内部ノードアイコン623を有する内部ノードアイコン632の出現数は、内部ノードアイコン623の出現数を受けて1となる。【0050】これをさらに上位の内部ノードアイコンおよび根ノードアイコンに対して実行すると、内部ノードアイコン641の出現数は、内部アイコン631(出現数2)、内部アイコン632(出現数1)の出現数を加算することにより、3となる。同様にして、内部ノードアイコン651の出現数は3、内部ノードアイコン624、625、633、634、652の出現数は0、根ノードアイコン661の出現数は3となる。【0051】そして、全てのランドマーク情報に対してランドマークループが反復実行されると、ランドマークループは終了し、処理はステップS305へ移る。【0052】ステップS305では、葉ノードのうち、出現数が0でないノードの集合Mを算出する。集合Mは、葉ノード611、612、613により構成される。【0053】ステップS306では、集合Mの要素であるノード全ての上位となるノードの中で最も上位のノードNaを求める。図6を参照すると、ノードNaは、葉ノード611、612、613全ての上位となる内部ノード641である。【0054】ステップS307では、ノードNaとその下位ノード全体から成るサブツリーTを求める。よって、サブツリーTは、内部ノード641を頂点とするサブツリーT671である。【0055】そして、処理が第1のアイコン描画処理のステップS205に戻る。【0056】次に、第1のアイコン表示処理について図4を用いて説明する。アイコン表示処理はアイコン作成部120が実行する。【0057】ステップS401では、ノードNmaxのアイコン画像名が示すアイコン画像Pmaxをデータベース140から取得する。【0058】ステップS402では、和O’を表す示度表示をアイコン画像Pmaxの左下に描画する。図6においてO’は2であるから、アイコン画像Pmaxの左下に2を示す棒グラフ711が描画される(図7参照)。【0059】ステップS403では、(和O-和O’)を表す示度表示をアイコン画像Pmaxの右下に描画する。図6において和Oは3であるため(和O-和O’)は1となるから、アイコン画像Pmaxの右下に1を示す棒グラフ712が描画される(図7参照)。【0060】ステップS404では、重畳アイコン群510が表示されるべき位置の中心にアイコン画像Pmax(アイコン701)を描画する(図7参照)。【0061】本実施形態によれば、重なって表示される複数のランドマークをまとめて1つの表示アイコンで表示することにより、地図表示部に表示されるアイコンの総数が減少し、重なりが排除されるため、利用者が各アイコンを容易に確認できる。【0062】また、重なって表示される複数のランドマークを、複数のランドマークを意味的に包含する1つの表示アイコンでまとめて表示するため、利用者が地域のイメージを直感的に把握することを容易にする。【0063】さらに、ユーザが設定する優先度に従って代表アイコンを決定することにより,ユーザの興味に合わせたアイコン表示が可能である。レストランC、レストランB、コンビニDの3つをまとめて表示するとき,飲食店の優先度が高く設定されているときには,飲食店が2つとその他のランドマークが1つであることを表すアイコンを1つ表示し,コンビニの優先度が高く設定されているときには,コンビニが1つとその他のランドマークが2つであることを表すアイコンを1つ表示することを可能にする。【0064】なお、アイコン表示処理のステップS402において、示度表示に換えて和Oを表す数値をアイコン画像Pmaxの左下に描画してもよい。ステップS403において、示度表示に換えて数値をアイコン画像Pmaxの左下に描画してもよく、(和O-和O’)に換えて和Oを表す数値または示度表示をアイコン画像Pmax上に描画してもよい。【0065】次に、本発明による第2の実施形態について図2および5から8を用いて説明する。第1の実施形態と同様の構成については説明を省略する。【0066】地図表示装置100の構成は第1の実施形態と略同様の要素により構成される。重畳判定部110は、地図表示部130を複数の領域に区分して複数の葉ノードアイコンを表示した場合に、1つの領域に複数の葉ノードアイコンが表示されるか否かを判定する。1つの領域に複数の葉ノードアイコンが表示される場合、葉ノードアイコンが重畳したと判定する。一定の範囲(商店街、オフィス街等)である。本実施形態では、地図表示部に表示されている地図を5×5の領域に分割したとして説明する。【0067】次に、アイコンを地図上に描画する第2のアイコン描画処理について、図2、5および6を用いて説明する。図5は、地図を実際に表示した地図表示部130を示すものでなく、説明のためアイコンを仮想的に表示した地図表示部130を示すものである。第2のアイコン描画処理は、地図表示部130に地図が表示された後に実行される。【0068】まず、ステップS201において、地図表示部130を複数の領域に区分して複数の葉ノードアイコンを表示した場合に、1つの領域に複数の葉ノードアイコンが表示されるか否かを重畳判定部110が判定する。重畳判定部110は、データベース140から領域情報を読み出し、判定を行う。1つの領域に複数の葉ノードアイコンが表示される場合、葉ノードアイコンが重畳したとみなして、処理はステップS202に進む。1つの領域に複数の葉ノードアイコンが表示されない場合、第2のアイコン描画処理は終了する。図8に示すように、領域801内に位置する葉ノードアイコン811、812、813が重畳アイコン群810を構成する。【0069】ステップS202からS210までの処理は、第1の実施形態と同様であるため、説明を省略する。【0070】これにより、重畳アイコン群810が表示されるべき位置に表示アイコン701が表示される(図7参照)。【0071】ツリー作成処理およびアイコン表示処理は、第1の実施形態と同様であるため、説明を省略する。【0072】次に、本発明による第3の実施形態について図9から18を用いて説明する。第1の実施形態と同様の構成については説明を省略する。地図表示装置100の構成は第1の実施形態と同様の構成であるため、説明を省略する。【0073】データベース140は、各アイコン画像に対応する縮小アイコン情報を記憶する。縮小アイコン情報は、対応するアイコン画像名と、縮小アイコン画像名とから成る。縮小アイコン画像は、アイコン画像に対応するランドマークに応じて形状および色彩が決定される。【0074】アイコンを地図上に描画する第3のアイコン描画処理について、図9、15、16および17を用いて説明する。図15は、地図を実際に表示した地図表示部130を示すものでなく、説明のためアイコンを仮想的に表示した地図表示部130を示すものである。第3のアイコン描画処理は、地図表示部130に地図が表示された後に実行される。【0075】ステップS901およびS902までの処理は、第1のアイコン処理におけるステップS201およびS202と同じであるため、説明を省略する。図15に示すように、葉ノードアイコン1511、1512、1513、1514が重畳アイコン群1510を構成する。【0076】重畳判定部110がステップS901を実行し、アイコン作成部120がステップS902からS910までの処理を実行する。【0077】ステップS903からS907では、重畳ループが実行される。重量ループでは、複数の重畳アイコン群に対してステップS904からS906の処理が実行される。以下、図15における重畳アイコン群1510、および図16におけるアイコンツリーを例として説明する。【0078】ステップS904では、後述するツリー作成処理が実行される。ツリー作成処理は、第1の実施形態におけるステップS204と同様である。これにより、内部ノード1651を頂点とするサブツリーT1671が得られる。【0079】ステップS905では、サブツリーの最も上位にあるノードNaをチェックノードNとして、後述する表示アイコン決定処理が実行される。チェックノードNは内部アイコンノード1651である。表示アイコン決定処理を実行すると、地図上に表示すべき表示アイコンの集合Hを得る。【0080】ステップS906において、表示アイコン集合Hを用いて、後述する第2のアイコン表示処理を実行する。【0081】これにより、1つの重畳アイコン群に対し所望の数の表示アイコンを表示することができる(図17参照)。【0082】次に図10および16を用いて表示アイコン決定処理について説明する。図15および図16に示す実施形態では、重畳アイコン群1510に対して表示される表示アイコンの数、すなわち表示アイコン数Aを2とする。【0083】ステップS1001では、チェックノードNの子ノードから、出現数が0でない子ノードNcを選択する。前述のように、サブツリーT1671の頂点は内部ノード1651であるから、チェックノードNは内部ノード1651である。図16を参照すると、チェックノードN1651の子ノードは内部アイコンノード1641、1633、1634である。内部アイコンノード1641は内部アイコンノード1631、1632を子ノードとして備える。【0084】一方、内部アイコンノード1631は内部アイコンノード1621、1622を子ノードとして備える。内部アイコンノード1621は葉アイコンノード1611を備え、内部アイコンノード1622は葉アイコンノード1612を備える。葉アイコンノード1611、1612の出現数は各々1である。よって、内部アイコンノード1621、1622の出現数は1である。内部アイコンノード1621、1622の上位となる内部アイコンノード1631の出現数は2となる。【0085】内部アイコンノード1632は内部アイコンノード1623を備え、内部アイコンノード1623は葉アイコンノード1613を備える。葉アイコンノード1613の出現数は1である。よって、内部アイコンノード1623の出現数は1となり、内部アイコンノード1623の上位となる内部アイコンノード1632の出現数も1となる。内部アイコンノード1631、1623の上位となる内部アイコンノード1641の出現数は3となる。【0086】内部アイコンノード1633は内部アイコンノード1624および葉アイコンノード1625を子ノードとして備える。内部アイコンノード1624は葉アイコンノード1614、1615を備える。葉アイコンノード1614の出現数は1であり、1615の出現数は0である。よって、内部アイコンノード1624の出現数は1となる。葉アイコンノード1625の出現数は0である。よって、内部アイコンノード1633の出現数は1となる。【0087】内部アイコンノード1634は子ノードを備えない。よって、内部アイコンノード1634の出現数は0である。【0088】以上から、ノードNcとして内部アイコンノード1641、1633が選出される。【0089】ステップS1002では、チェックノードN1651が葉ノードであるか否かを判断する。チェックノードN1651は葉ノードでないから、処理はステップS1003に進む。【0090】ステップS1003では、表示アイコン数AがノードNcの数以上であるか否かが判断される。表示アイコン数AがノードNcの数以上である場合、処理はステップS1004に進み、表示アイコン数AがノードNcの数よりも小さい場合、処理はステップS1007に進む。前述のように表示アイコン数Aは2であり、ノードNcの数は2であるから、処理はステップS1004に進む。【0091】ステップS1004からS1006では、抽出ループが実行される。抽出ループ内では、ステップS1005において、表示アイコン数AをノードNcの数で除した値を表示アイコン数Aに代入し、ノードNcをチェックノードとして表示アイコン決定処理が実行される。表示アイコン数AがノードNcの数で割り切れない場合、余りは切り捨てられる。ステップS1004からS1006では、表示アイコン数Aを1として、各ノードNc1641、1633に対して表示アイコン決定処理を実行する。【0092】ステップS1007では、チェックノードNを表示アイコンノード集合Hに登録する。表示アイコンノード集合Hは、地図上に表示される表示アイコンの集合である。【0093】そして、表示アイコン決定処理が終了する。【0094】次に、ステップS1005においてノードNc1641に対し実行される表示アイコン決定処理について説明する。前述のように、チェックノードNはノードNc1641であり、表示アイコン数Aは2である。【0095】ステップS1001では、チェックノードN1641の子ノードから、出現数が0でない子ノードNcを選択する。前述のように、内部アイコンノード1641は内部アイコンノード1631、1632を子ノードとして備え、内部アイコンノード1631の出現数は2、内部ノードアイコン1632の出現数は1であるから、内部アイコンノード1631、1632がノードNcとして選択される。よって、ノードNcの数は2である。【0096】ステップS1002では、チェックノードN1641が葉ノードであるか否かを判断する。チェックノードN1641は葉ノードでないから、処理はステップS1003に進む。【0097】ステップS1003では、前述のように表示アイコン数Aは1であり、ノードNcの数は2であるから、処理はステップS1007に進む。【0098】ステップS1007では、チェックノードN1641を表示アイコンノード集合Hに登録する。【0099】次に、ステップS1005においてノードNc1633に対し実行される表示アイコン決定処理について説明する。前述のように、チェックノードNはノードNc1633であり、表示アイコン数Aは2である。【0100】ステップS1001では、チェックノードN1633の子ノードから、出現数が0でない子ノードNcを選択する。前述のように、内部アイコンノード1633は内部アイコンノード1624、1625を子ノードとして備え、内部アイコンノード1624の出現数は1、内部ノードアイコン1625の出現数は0であるから、内部アイコンノード1624がノードNcとして選択される。よって、ノードNcの数は1である。【0101】ステップS1002では、チェックノードN1633が葉ノードであるか否かを判断する。チェックノードN1633は葉ノードでないから、処理はステップS1003に進む。【0102】ステップS1003では、前述のように表示アイコン数Aは1であり、ノードNcの数は1であるから、処理はステップS1004に進む。【0103】ステップS1004からS1006では、抽出ループが実行される。ステップS1004からS1006では、表示アイコン数Aを1として、ノードNc1624に対して表示アイコン決定処理を実行する。【0104】次に、ステップS1005においてノードNc1624に対し実行される表示アイコン決定処理について説明する。前述のように、チェックノードNはノードNc1624であり、表示アイコン数Aは1である。【0105】ステップS1001では、チェックノードN1624の子ノードから、出現数が0でない子ノードNcを選択する。前述のように、内部アイコンノード1624は内部アイコンノード1614、1615を子ノードとして備え、内部アイコンノード1614の出現数は1、内部ノードアイコン1615の出現数は0であるから、内部アイコンノード1614がノードNcとして選択される。よって、ノードNcの数は1である。【0106】ステップS1002では、チェックノードN1614が葉ノードであるか否かを判断する。チェックノードN1614は葉ノードであるから、処理はステップS1007に進む。【0107】ステップS1007では、チェックノードN1614を表示アイコンノード集合Hに登録する。【0108】以上から、表示アイコンノード集合Hは、内部アイコンノード1641、1614を要素とする。【0109】これにより、全ての表示アイコン決定処理が終了する。【0110】次に、図11を用いて第2アイコン表示処理について説明する。【0111】まず、ステップS1101において、後述するアイコン振分処理が実行される。これにより、重畳アイコン群1510に含まれる全てのランドマークに関し、それらのランドマークに対応するランドマーク情報のアイコン名フィールドに内部アイコンノードのアイコン名が入力される。【0112】次に、ステップS1102において、重心算出処理が実行される。これにより、重畳アイコン群1510の地図上における重心が求められる。【0113】ステップS1103において、重心から最も近いランドマークを算出する近接ランドマーク算出処理が実行される。【0114】その後、ステップS1104からS1111において表示アイコンループが実行され、領域1501内に表示する表示アイコンの数だけステップS1105からS1110までの処理が反復実行される。【0115】ステップS1105からS1110では、ランドマーク座標ループが実行され、領域1501内に存在するランドマークの数だけステップS1106からS1109までの処理が反復実行される。【0116】ステップS1106では、アイコン振分処理において入力されたランドマークのアイコン名が、表示アイコンノードのアイコン名と同じであるか否かが判断される。同じである場合、処理は次のステップS1107に進み、異なる場合、処理はステップS1105に戻り、次のランドマークのアイコン名と比較する。全てのランドマークとの比較が終了すると、処理はステップS1107へ移行する。【0117】ステップS1107では、ランドマーク座標ループにおいて選択されているランドマークが重心と最も近接しているか否かを判断する。近接ランドマーク算出処理において算出された重心と最も近接するランドマークと比較することにより、判断される。【0118】ランドマーク座標ループにおいて選択されているランドマークが重心と最も近接している場合、ステップS1108において、表示アイコンノードが示すアイコン画像1701、1702を、選択されているランドマークの位置座標に表示する。【0119】ランドマークが重心と最も近接していない場合、ステップS1109において、ランドマーク情報が有するアイコン画像に対応する縮小アイコン情報に従って、選択されているランドマークの位置座標に縮小アイコン画像1703、1704を表示する(図17参照)。本実施例では、縮小アイコン画像として円形の点が用いられる。【0120】これらの処理を全ての表示アイコンおよびランドマークに対して実行することにより、第2アイコン表示処理が終了する。【0121】次に、図12を用いてアイコン振分処理について説明する。【0122】まず、ステップS1201からS1206において、表示アイコンループが実行され、領域1501内に表示する表示アイコンの数だけステップS1202からS1205までの処理が反復実行される。【0123】次のステップS1202からS1205では、ランドマーク座標ループが実行され、領域1501内に存在するランドマークの数だけステップS1203からS1204までの処理が反復実行される。【0124】ステップS1203では、内部アイコンノードの子孫に、ランドマーク座標ループにおいて選択されているランドマークと同じ名前を有するアイコンノードが存在するか否かを判断する。存在しない場合、処理はステップS1202に戻り、存在する場合、処理はステップS1204へ移行する。【0125】ステップS1204では、重畳アイコン群1510に含まれる全てのランドマークに関し、ランドマーク座標ループにおいて選択されているランドマークに対応するランドマーク情報のアイコン名フィールドに内部アイコンノードのアイコン名が入力される。【0126】これにより、アイコン振分処理が終了する。【0127】次に、図13を用いて重心算出処理について説明する。重心は、地図表示部130の中心を原点とするXY座標系を用いて算出される。このXY座標系は、緯度経度と一対一に対応し、地図の縮尺ごとに設けられた関数により緯度経度に変換される。【0128】まず、ステップS1301からS1310において、表示アイコンループが実行され、領域1501内に表示する表示アイコンの数だけステップS1301からS1310までの処理が反復実行される。【0129】ステップS1302では、変数X、Y、Tを初期化する。変数X、Yは重畳アイコン群に属する全てのアイコンのX、Y座標をそれぞれ加算するために用いる。変数Tは重畳アイコン群に属するアイコンの数を算出するために用いる。【0130】次のステップS1303からS1308では、ランドマーク座標ループが実行される。このループでは、ステップS1304からS1307までの処理が、重畳アイコン群1510に含まれるランドマークの数だけ反復実行される。【0131】ステップS1304では、ランドマーク座標ループにおいて選択されているランドマークとアイコンノードが同じ名前か否かを判断する。異なる場合、処理はステップS1303に戻り、同じである場合、処理はステップS1305へ移行する。【0132】ステップS1305では、ランドマーク座標ループにおいて選択されているランドマークのX座標が変数Xに加算される。【0133】また、ステップS1306では、ランドマーク座標ループにおいて選択されているランドマークのY座標が変数Yに加算される。【0134】ステップS1307では、変数Tに1が加算され、アイコンの数がカウントされる。これにより、ステップS1308においてランドマーク座標ループが終了する。【0135】次のステップS1309では、重畳アイコン群1510の重心Gの座標を算出する。重心GのX座標は変数Xを変数Tで除し、Y座標は変数Yを変数Tで除することにより算出される。【0136】ステップS1310では、表示アイコンループが終了する。【0137】次に、図14を用いて近接ランドマーク算出処理について説明する。【0138】まず、ステップS1401からS1410において、表示アイコンループが実行され、領域1501内に表示する表示アイコンの数だけステップS1402からS1409までの処理が反復実行される。【0139】ステップS1402では、変数Dmin、Lnを初期化する。変数Dminはランドマーク座標ループにおいて選択されているランドマークと重心との最小距離を求めるための変数である。初期値は十分に大きい値が入力される。地図表示画面の対角線長さが初期値として用いられる。変数Lnは重心から最も近いランドマークを求めるための変数である。初期値としてnullが用いられる。【0140】次のステップS1403からS1408では、ランドマーク座標ループが実行される。このループでは、ステップS1404からS1407までの処理が、重畳アイコン群1510に含まれるランドマークの数だけ反復実行される。【0141】ステップS1404では、ランドマーク座標ループにおいて選択されているランドマークとアイコンノードが同じ名前か否かを判断する。異なる場合、処理はステップS1403に戻り、同じである場合、処理はステップS1405へ移行する。【0142】ステップS1405では、ランドマーク座標ループにおいて選択されているランドマークと重心との距離が最小距離Dminよりも小さいか否かを判断する。小さい場合、処理はステップS1406に進み、最小距離Dmin以上である場合、処理はステップS1403へ戻る。【0143】ステップS1406では、ランドマークと重心との距離を最小距離Dminに代入する。【0144】ステップS1407では、ランドマーク座標ループにおいて選択されているランドマークを、最近接ランドマーク変数Lnに代入する。これにより、ステップS1408においてランドマーク座標ループが終了する。【0145】ステップS1404からS1407までの処理をランドマークの数だけ繰り返すことにより、最も重心と近接するランドマークと、そのランドマークと重心との距離を得る。【0146】ステップS1409では、重畳アイコン群1510の重心に最も近接するランドマークを示すランドマーク変数Lnを変数Lnearに代入する。変数Lnearは、表示アイコンごとに与えられる変数である。【0147】ステップS1402からS1409までの処理を表示アイコンの数だけ繰り返すことにより、表示アイコンごとに、重心に最も近接するランドマークを得る。【0148】ステップS1410を経て表示アイコンループが完了すると、近接ランドマーク算出処理が終了する。【0149】本実施形態によれば、重畳するアイコンに対して最も上位となるアイコンではなく、中位のアイコンを表示することができる。これにより、利用者は地図上のランドマークを的確に把握することができる。【0150】また、同種のアイコンが近隣に多数ある場合、一部のアイコンを点表示にして、色で対応関係をつけることにより、描画すべきアイコンの数を少なくすることができる。これにより、アイコンにより隠される地図が減少し、地図の視認性が向上し、利用者が地域のイメージを直感的に把握することを容易にする。飲食店の多い地域、コンビニの多い地域、駐車場の多い地域などのイメージを直感的に把握できる。【0151】なお、本実施形態における地図表示装置100は、第2の実施形態と同様の構成であっても良い。地図表示部130を区分して得られる領域のうちの1つに複数の葉ノードアイコン1811、1812、1813、1814が表示される場合(図18参照)、その領域1501に表示された葉ノードアイコンが重畳しているとみなして、表示アイコン1701、1702を領域内に表示する(図17参照)。このとき、表示アイコン数は、予め定められるアイコン密度に、領域の面積を乗じて求められる。アイコン密度は、単位ピクセル(1ピクセル×1ピクセル)の領域中に表示するアイコンの数である。表示アイコン数は、地図表示部130上における領域1501の面積に応じて決定され、地図表示部130上において領域の面積が大きくなると、表示アイコン数を増加し、地図表示部130上において領域の面積が小さくなると、表示アイコン数を減少する。【0152】また、内部アイコンノードが有する優先度に従って、表示アイコンを決定しても良い。ユーザが設定する優先度に従って代表アイコンを決定することにより、ユーザの興味に合わせたアイコン表示が可能となる。【0153】次に、本発明による第4の実施形態について図19から21を用いて説明する。第1の実施形態と同様の構成については説明を省略する。地図表示装置100の構成は第1の実施形態と同様の構成であるため、説明を省略する。【0154】本実施形態では、パスにおける一定の範囲内に表示されるアイコンに対して表示アイコンを表示する。以下、パスの一例として道路を用い、道路における一定範囲を道路範囲として説明する。【0155】アイコンを地図上に描画する第4のアイコン描画処理について説明する。図20は、地図を実際に表示した地図表示部130を示すものでなく、説明のためアイコンを仮想的に表示した地図表示部130を概念的に示したものである。図20に示すように、道路範囲2001内に位置する葉ノードアイコン2011から2020が重畳アイコン群2010を構成する。【0156】ステップS1901からS1909において、パスループが実行され、地図表示画面上に存在する全ての道路領域の数だけステップS1902からS1908までの処理が反復実行される。【0157】ステップS1902では、道路範囲2001内の重畳アイコン群2010に含まれるアイコンに対応するランドマークの集合L、および重畳アイコン群2010に含まれるアイコンの数を求める。【0158】次のステップS1903からS1906では、ランドマーク座標ループが実行される。ランドマーク座標ループでは、重畳アイコン群2010に含まれるランドマークの各々に対してステップS1904からS1905の処理が実行される。【0159】ステップS1904では、ランドマークの高さが高さ閾値Hgよりも大きいか否かが判断される。高さ閾値Hgは予め設定される高さであり、例えば30メートルである。大きい場合、処理はステップS1905に進み、高さ閾値Hg以下である場合、処理はステップS1903に戻り、次のランドマークに対してランドマーク座標ループを実行する。【0160】ステップS1905では、高層ビル数Hを1だけ増やす。次のステップS1906においてランドマーク座標ループが終了する。【0161】ステップS1903からS1906までの処理をランドマークの数だけ繰り返すことにより、高さ閾値Hgよりも高さのあるランドマークの数を算出できる。【0162】次のステップS1907では、高層ビル数Hがビル閾値Ng以上か否かが判断される。ビル閾値Ng以上である場合、処理はステップS1908に進み、ビル閾値Ngより小さい場合、処理はステップS1909に進み、次の道路範囲に対して道路ループを実行する。【0163】ステップS1908では、ビル街を示すビル街アイコン2101を道路範囲の重心に表示する(図21参照)。【0164】そして、ステップS1909を経て道路ループが完了すると、第4のアイコン描画処理が終了する。【0165】本実施形態によれば、パスの周囲に存在するランドマークの高さを、表示アイコンを用いて示すことができる。これにより、利用者はパスおよびランドマーク周辺の建物の状況を的確に把握することができる。【0166】なお、ステップS1907において、ビルが平均10メートル以内の間隔で存在するか否かを条件としても良い。このとき、道路の長さLの道路範囲に対して、L/Ng≦10を満たすか否かが条件となる。この条件を満たす場合、処理はステップS1908に進み、満たさない場合、処理はステップS1909に進み、次の道路範囲に対して道路ループを実行する。【0167】また、高さ閾値を複数設け、ビルの高さごとに異なる表示アイコンを表示しても良い。ビルの高さで表示アイコンを決定するのではなく、ビルに入居する主なテナントの属性により、表示アイコンを表示しても良い。表示アイコンを表示できる。【0168】道路範囲は、道路を境に区切られても良い。これにより、道路の両側に表示アイコンを表示できる。【0169】道路範囲を第2の実施形態における領域として用い、図22に示すような道路範囲2201に存在する複数のランドマーク2211から2214を、1つの表示アイコン2311で表示しても良い(図23参照)。道路を境に道路範囲を区切って得られる領域を、第2の実施形態における領域として用いても良い。道路の両側に表示アイコン2411、2412が表示される(図24参照)。【0170】なお、パスは道路でなくても良く、鉄道、橋、河川など、人間が通行可能、又は交通機関を利用して通行可能な道筋であればよい。【0171】また、情報記憶部であるデータベース140、重畳判定部110、およびアイコン作成部120をサーバ2510に設けると共に、地図表示部2521をクライアント2520に設け、サーバ2510とクライアント2520をネットワークで接続して、地図表示システムを構成しても良い(図25参照)。これにより、利用者がネットワークを介して地図上のランドマークを参照することが可能になる。【0172】なお、いずれの実施形態においてもアイコンを用いてランドマークを表示する構成について説明したが、地物を表示してもよい。【図面の簡単な説明】【0173】【図1】第1の実施形態による地図表示装置のブロック図である。【図2】第1のアイコン描画処理を示したフローチャートである。【図3】ツリー作成処理を示したフローチャートである。【図4】第1アイコン表示処理を示したフローチャートである。【図5】説明のためアイコンを仮想的に表示した地図表示部を示す図である。【図6】アイコンツリーを示した図である。【図7】表示アイコンを表示した地図表示部を示す図である。【図8】説明のためアイコンを仮想的に表示した地図表示部を示す図である。【図9】第3のアイコン描画処理を示したフローチャートである。【図10】表示アイコン決定処理を示したフローチャートである。【図11】第2アイコン表示処理を示したフローチャートである。【図12】アイコン振分処理を示したフローチャートである。【図13】重心算出処理を示したフローチャートである。【図14】近接ランドマーク算出処理を示したフローチャートである。【図15】説明のためアイコンを仮想的に表示した地図表示部を示す図である。【図16】アイコンツリーを示した図である。【図17】表示アイコンを表示した地図表示部を示す図である。【図18】説明のためアイコンを仮想的に表示した地図表示部を示す図である。【図19】第4のアイコン描画処理を示したフローチャートである。【図20】説明のためアイコンを仮想的に表示した地図表示部を示す図である。【図21】表示アイコンを表示した地図表示部を示す図である。【図22】説明のためアイコンを仮想的に表示した地図表示部を示す図である。【図23】表示アイコンを表示した地図表示部を示す図である。【図24】表示アイコンを表示した地図表示部を示す図である。【図25】地図表示システムのブロック図である。【図26】アイコンノード情報のデータ構造を示した図である。