説明

情報処理装置、その処理方法及びプログラム

【課題】地理情報検索を行なう際の処理負荷を軽減する技術を提供する。
【解決手段】地図データ保持手段と、地図データ上で検索対象となる地点を示す着目地点の地理コードを取得する着目地点取得手段と、地図データ上で検索を行なう範囲を示す検索対象領域を覆うメッシュ群のうち、着目地点を示す地理コードの文字列と一致する地理コードの文字列を有する1又は複数のメッシュを検索結果の候補として取得する候補取得手段と、検索結果の候補として取得された1又は複数のメッシュのうち、検索対象領域に完全に内包されていないメッシュに対して着目地点を内包しているか否かを判定し、当該着目地点が内包されていない1又は複数のメッシュをメッシュ群から除外する除外手段と、検索結果の候補から除外が行なわれた後の1又は複数のメッシュを検索結果として出力する出力手段とを具備する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、その処理方法及びプログラムに関する。
【背景技術】
【0002】
近年、ストレージや記録メディアの大容量化が進み、比較的小規模な機器においても、大量に蓄積されたデータが扱われており、検索機能が必須となりつつある。
【0003】
例えば、カメラにおいて撮影写真等が格納されるフラッシュメディアでは、現在、容量64GBのSDXC規格のカードが市販されており、1枚1MBの写真が6万枚以上格納されることになる。SDXCの規格上は2TBまで拡張可能である。
【0004】
大量の写真から目的の写真を取得するには、従来のような撮影順の閲覧機能だけでは不十分であり、様々な観点から写真を検索できることが必要となる。その検索の方法の1つとしてメタデータ検索がある。例えば、写真に撮影場所の住所やランドマークのメタデータが付与されていれば、住所やランドマークの情報から写真を検索できる。そのためには、写真にメタデータを付与する機能が必要となる。
【0005】
近年、カメラにGPS機能が搭載されるようになってきており、撮影場所の緯度・経度が分かる地理情報を写真に付与できるようになってきている。住所やランドマークの示す地理領域の辞書をカメラに内蔵し、緯度・経度情報に基づいて撮影地点を内包する地理領域を検索する地理情報検索が必要となってきている。
【0006】
地理情報検索には、指定した範囲内に内包される地点のデータを検索する範囲指定検索、指定した位置に空間的に近い地点のデータを近い順にk個検索するk最近傍検索などがある。
【0007】
範囲指定検索は、従来から多くの実現方法が存在している。有名な方法としては、R−treeがある。R−treeは、空間的に近傍にある領域を複数まとめて最小外接矩形(MBR:Minimum Bounding Rectangle)を求め、それをインデクスに保持することによって高速に検索を行なう方法である。領域のまとまりが多数あれば、それらを更に複数まとめたまとまりを作って、インデクスを階層化していく。
【0008】
また、k最近傍検索も多くの実現方法が存在している。特許文献1には、指定された地点から近傍する所定数の地点を検索する技術について言及されている。より具体的には、指定地点を含む小領域及びその小領域と隣接する小領域を検索対象小領域群として当該小領域群に含まれる地点と指定地点との距離を一つずつ計算し、最も近い地点から所定数の検索結果を得る。
【0009】
その他、緯度・経度座標を文字列に符号化する方法も提案されている(特許文献2参照)。この手法では、緯度・経度の座標値(浮動小数点数)から整数、整数から文字列、緯度と経度との両方からそれぞれ変換された文字列を連接して符号化している。また、別の提案では、整数化された緯度及び経度の情報を1ビットずつ交互に組み合わせて文字列に符号化する方式や、この符号化方式を利用して指定領域内にある地点を検索する方法も提案されている。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】特開2003−242151号公報
【特許文献2】米国特許出願公開第2005/0023524号
【発明の概要】
【発明が解決しようとする課題】
【0011】
R−tree方式は、文字列検索用のインデクスとは異なる専用のインデクス機構を保持し制御する方式であり、特に、処理能力の低い装置(例えば、組み込み機器)にとっては処理負担が大きくなってしまう。
【0012】
また、特許文献1に開示された手法では、指定地点に近い地点を検索することしかできない、そのため、住所やランドマークを付与するような、指定地点が不定形の領域に内包されている地点の検索を行なうことはできない。
【0013】
本発明は、上記課題に鑑みてなされたものであり、地理情報検索を行なう際の処理負荷を軽減するようにした技術を提供することを目的とする。
【課題を解決するための手段】
【0014】
上記課題を解決するため、本発明の一態様による情報処理装置は、地表が階層的にメッシュで区分されるとともに、該メッシュ各々の位置を示す地理コードが文字列で表現され、上位メッシュを表現する地理コードに文字を追加することで下位メッシュの地理コードを示す地理コード体系を有する地図データを保持する保持手段と、前記地図データ上で検索対象となる地点を示す着目地点の地理コードを取得する着目地点取得手段と、前記地図データ上で検索を行なう範囲を示す検索対象領域を覆うメッシュ群のうち、前記着目地点を示す地理コードの文字列と一致する地理コードの文字列を有する1又は複数のメッシュを検索結果の候補として取得する候補取得手段と、前記検索結果の候補として取得された1又は複数のメッシュのうち、前記検索対象領域に完全に内包されていないメッシュに対して前記着目地点を内包しているか否かを判定し、当該着目地点が内包されていない1又は複数のメッシュを前記メッシュ群から除外する除外手段と、前記検索結果の候補から前記除外が行なわれた後の1又は複数のメッシュを検索結果として出力する出力手段とを具備する。
【発明の効果】
【0015】
本発明によれば、地理情報検索を行なう際の処理負荷を軽減することができる。
【図面の簡単な説明】
【0016】
【図1】本発明の一実施の形態に係る情報処理装置10の構成の一例を示す図。
【図2】地理情報検索を行なう際の処理の概要を示す図。
【図3】本実施形態に係る地図データの一例を示す図。
【図4】検索対象領域を覆うメッシュの一例を示す図。
【図5】テーブル41〜43の構成の一例を示す図。
【図6】図1に示す情報処理装置10の処理の流れの一例を示すフローチャート。
【図7】図6のS104に示す領域検索処理の流れの一例を示すフローチャート。
【図8】図6のS105に示す領域登録処理の流れの一例を示すフローチャート。
【図9】変形例の一例を示す図。
【発明を実施するための形態】
【0017】
以下、本発明に係る実施の形態について添付図面を参照して詳細に説明する。
【0018】
図1は、本発明の一実施の形態に係る情報処理装置10の構成の一例を示す図である。
【0019】
情報処理装置10は、CPU11と、入力部12と、出力部13と、撮像部14と、通信部15と、バス16と、ROM17と、RAM18と、外部記憶媒体19とが具備して構成される。
【0020】
CPU(Central Processing Unit)11は、例えば、ROM17に格納されたプログラムに従って、情報処理装置10における処理を統括制御する。CPU11においては、例えば、検索処理、領域登録処理、画面制御処理、写真撮影処理等のための演算、論理判断等を行ない、バス16を介してバスに接続された各デバイスを制御する。
【0021】
バス16は、アドレス信号やコントロール信号等を転送する。また、各デバイス間のデータ転送も行なう。
【0022】
入力部12は、例えば、ボタンやタッチパネル等で実現され、ユーザからの各種指示を装置内に入力する。出力部13は、液晶ディスプレイ等で実現され、ユーザに向けて各種情報を出力(表示)する。なお、出力部13による出力は、例えば、印刷により実現されても良いし、音声により実現されても良い。
【0023】
撮像部14は、例えば、撮像センサ等で実現され、映像を読み取って電子データに変換する。通信部15は、例えば、ネットワークコントローラ等で実現され、有線又は無線の通信路を介して外部装置との間でデータ交換を行なう。
【0024】
ROM(Read Only Memory)17は、不揮発性メモリである。CPU11により実行される各種プログラム(ブートプログラム21、システムの制御プログラム22)等の他、各種処理で参照される各種初期データ23、地図データ24等が格納される。
【0025】
RAM(Random Access Memory)18は、読み書き可能なメモリである。RAM18は、各デバイスからの各種データの一次記憶に用いられる。RAM18には、各種ワーク領域31の他、スタック32等が格納される。
【0026】
外部記憶媒体19は、例えば、SDカード、CFカード等のフラッシュメディアで実現される。外部記憶媒体19は、ブロック単位で一括消去可能な大容量の不揮発性メモリであり、大量のデータを変更可能に記憶する。なお、外部記憶媒体19は、上述したカード等に限られず、ハードディスク等で代用することもできる。外部記憶媒体19には、メッシュテーブル41、詳細インデクステーブル42、領域テーブル43等が格納され、必要に応じて随時内容が修正される。
【0027】
ここで、CPU11には、その機能的な構成として、☆と、☆とが実現される。なお、これら構成は、例えば、CPU11がROM17等に格納されたプログラムを実行することにより実現される。
【0028】
領域登録部50は、検索対象となる領域(検索対象領域)を登録する。検索対象領域は、例えば、入力部12を介したユーザの指示により指定される。
【0029】
着目地点取得部51は、着目地点(のメッシュコード)を取得する。着目地点は、検索対象となる地図データ上の地点を示す。なお、詳細については後述するが、本実施形態に係わる地図データは、地表が階層的にメッシュで区分される。また、メッシュ各々の位置を示す地理コードが文字列で表現される。下位メッシュは、上位メッシュを表現する地理コードに文字が追加されることで表現される。
【0030】
検索部52は、着目地点を示す地理コードの文字列と、検索対象領域を覆うメッシュ群の地理コードの文字列とを比較し、所定のメッシュの検索を行なう機能を果たし、候補取得部61と、除外部62とを具備して構成される。候補取得部61は、検索対象領域を覆うメッシュ群の中から着目地点を内包する1又は複数のメッシュを検索結果の候補として取得する。除外部62は、メッシュの検索結果の候補の中から、所定の条件に従っていずれかのメッシュを除外する。
【0031】
以上が、情報処理装置10における機能的な構成についての説明である。なお、本実施形態においては、情報処理装置10が撮像部14を有する撮像装置(例えば、デジタルカメラやデジタルビデオカメラ)等に適用される場合について説明するが、これに限られない。情報処理装置10は、例えば、通信装置や画像表示装置等の種々の装置に組み込み装置として適用されても良い。
【0032】
また、上述した説明では、CPU11がプログラムを実行することで各種処理が実行される場合について説明したが、これに限られず、例えば、CPUと協調して動作するASICなどの制御回路が各種処理を実行しても良い。また、CPUと制御回路との協調動作によって各種処理が実行されてもよい。また、CPUは単一である必要はなく、複数であっても良い。この場合、複数のCPUは分散して処理を実行する。また、複数のCPUは単一のコンピュータに配置されていても良いし、物理的に異なる複数のコンピュータに配置されていても良い。なお、CPUがプログラムを実行することで実現される処理が専用の回路によって実現されても良い。
【0033】
次に、図2を用いて、地点を含む領域を検索する地理情報検索を行なう際の処理の概要について説明する。
【0034】
ここで、着目地点201を含む領域を検索する場合について説明する。この場合、着目地点201を内包する検索対象領域203及び206が検索の結果としてヒットする。これに対し、検索対象領域202、204及び205は、着目地点201を内包しないためヒットしない。
【0035】
ここで、領域203及び領域204の関係に着目してみる。すなわち、領域203の中心が領域204の中心より遠いにもかかわらず、遠い方の領域203がヒットして、近い方の領域204がヒットしていないことに注意が必要である。このような検索は、写真に地名のメタデータを付与した場合などには必須である。例えば、「広尾」付近で撮影した写真には、中心地が近い「六本木」は付与されないが、中心地が遠い広域地名の「東京都」は付与される場合がある。
【0036】
次に、図3(a)及び図3(b)を用いて、本実施形態に係る地図データについて説明する。本実施形態においては、地図データは、地表を階層的なメッシュで区分し、緯度・経度情報に基づいてメッシュの位置を地理コードで表現する地理コード体系を有する。地理コードは文字列で表現される。
【0037】
まず、図3(a)を用いて、緯度・経度情報を地理コードに変換する処理の一例について説明する。
【0038】
緯度・経路情報を地理コードに変換する際には、まず、地表を緯度又は経度の方向に沿って2分割していき、分割の度に当該分割された地表に0又は1のビットを割り当てる。緯度及び経度のそれぞれに対して、そのビットを大分割から順番に並べてビット列を作成し、当該ビット列をメッシュの緯度情報301及び経度情報302とする。このように生成されたビット列に対して、経度、緯度の順番で先頭から交互に1ビットずつ選択していき、ビット列303を生成する。ビット列303を先頭から5ビットずつに分割し、変換表304に従って5ビット単位に当該ビット列を文字コードに変換する。これにより、地理コード305が得られる。
【0039】
各メッシュは、地表の分割回数に応じて階層的に詳細化されたものになる。詳細化されたメッシュほど、緯度・経度情報のビット数が多くなり、変換後の文字列の文字数も多くなる。そのため、文字数がメッシュの精度を表現することになるので、メッシュの精度を文字列の文字数と定義することができる。このようにして生成されたメッシュの地理コードをメッシュコードと呼ぶ。
【0040】
次に、図3(b)を用いて、メッシュが構成する階層構造の一例について説明する。
【0041】
メッシュ306は“e”が表現する精度=1(すなわち、文字数=1)のメッシュを示している。当該メッシュ306内の1文字を“e”に付加することによって、下位メッシュに32分割することができる。
【0042】
次の1文字が“7”の場合は、精度=2のメッシュ307になり、メッシュコードが“e7”となる。メッシュ307を拡大して示したものがメッシュ308になる。この場合にも同様に、次の1文字を付加することによって下位メッシュに32分割することができる。
【0043】
次の1文字が“s”の場合は、精度=3のメッシュ309となり、メッシュコードは“e7s”となる。すなわち、メッシュコードの文字数に応じてメッシュが階層化されていることが分かる。メッシュコードの文字数が同じ階層に属しているか否かを示すことになる。
【0044】
ここで、表310は、このように階層化されたメッシュが表現する地理領域の概略面積の一例を示している。表310によれば、精度=3のメッシュは、156km×156kmの矩形領域を表現することが示されている。また、精度を大きくすれば、より詳細な地理領域が表現されることが分かる。例えば、精度12のメッシュコードであれば、事実上、地図データ上の特定の地点を表現できることになる。本実施形態においては、地点を特定する場合、システム上最も詳細な精度のメッシュコードで表現する。
【0045】
次に、図4を用いて、検索対象領域を覆うメッシュの一例について説明する。
【0046】
ここで、符号401は、検索対象領域を指している。この領域401を覆うメッシュは、メッシュ1〜メッシュ17として示されている。各メッシュは、異なる階層に属すこともある。例えば、メッシュ8は他のメッシュよりも面積が大きいが、これは、複数の下位メッシュが統合されて階層が1段階上がった上位メッシュとなっているからである。
【0047】
ここで、黒丸で示す地点402を着目地点とした検索を行なった場合、領域401はヒット領域となる。バツ印で示す地点403を着目地点とした検索を行なった場合、領域401はヒット領域とならない。ここで、メッシュのうち、検索対象領域内に完全に内包されるメッシュ(例えば、符号404)を完全内包メッシュと呼び、検索対象領域に部分的に内包されるメッシュ(例えば、符号405)を部分内包メッシュと呼ぶ。
【0048】
地点403が着目地点の場合、メッシュ群に基づいて検索対象領域401を検索すると、メッシュ6がヒットする。ところが、メッシュ6は、部分内包メッシュであり、地点403が領域401の外側にある。そのため、その後実施される詳細チェックにおいて、地点403は、領域401に内包されないことが判明し、メッシュ6は検索結果から除かれることになる。このような詳細チェックによって最終的に検索結果から外れるが、処理途中では検索結果の候補とされる検索結果を「偽検索結果」と呼ぶ。
【0049】
次に、図5を用いて、メッシュテーブル41、詳細インデクステーブル42、領域テーブル43の構成の一例について説明する。
【0050】
メッシュテーブル41は、検索対象領域を覆うメッシュ群を管理する。カラム502には、各メッシュのメッシュコードが保持される。カラム503には、検索対象領域のIDが保持される。このIDを用いて領域テーブル43を参照することにより、領域の詳細な情報が入手される。カラム504には、各メッシュの領域を検索対象領域が完全に内包するか否かを示すフラグ(「完全フラグ」と呼ぶ)が保持される。完全に内包されるときには(「完全内包」と呼ぶ)、“1”が保持され、部分的に内包されるときには(「部分内包」と呼ぶ)、“0”が保持される。カラム505には、部分内包のメッシュを更に詳細化したメッシュ群を管理する詳細インデクステーブル42へのリンクが保持される。すなわち、メッシュテーブル41には、検索対象領域と、完全フラグと、詳細インデクステーブル42へのリンクとが対応付けて管理されている。
【0051】
領域テーブル43は、検索対象領域の地理的範囲を管理する。なお、ここでは、領域が矩形で構成されるものとして説明する。カラム507には、検索対象領域のIDが保持される。カラム508には、検索対象領域の左上地点のメッシュコードが保持される。カラム509には、検索対象領域の右下地点のメッシュコードが保持される。
【0052】
詳細インデクステーブル42は、部分内包メッシュを下位階層のメッシュに細分化して詳細化したメッシュ群を管理する。カラム511には、詳細化されたメッシュのメッシュコードが保持される。カラム512には、そのメッシュに対応する検索対象領域のIDが保持される。
【0053】
ここで、上述した処理についてフローチャートを用いて説明する。図6は、図1に示す情報処理装置10における処理の流れの一例を示す図である。この処理は、例えば、CPU11が、ROM17に格納されたプログラムを読み出し実行することにより実現される。
【0054】
この処理では、情報処理装置10は、CPU11において、まず、システムの初期化処理が行なわれる(S101)。すなわち、各種パラメータの初期化や初期画面の表示等が行なわれる。
【0055】
その後、情報処理装置10は、CPU11において、タッチパネル等の入力部12から何らかのイベントが発生するまで待機する(S102)。イベントが発生すると、情報処理装置10は、CPU11において、このイベントを判別し、イベントの種類に応じて各種の処理に分岐する。
【0056】
ここで、領域検索処理を示すイベントであれば(S103で領域検索)、情報処理装置10は、当該イベントに従って領域検索処理を行なう(S104)。また、領域登録処理を示すイベントであれば(S103で領域登録)、情報処理装置10は、当該イベントに従って領域登録処理を行なう(S105)。それ以外のイベントであれば(S103でその他イベント)、情報処理装置10は、各種イベントに対応した処理を行なう(S106)。なお、他のイベントとしては、画面制御処理、写真撮影処理などが挙げられる。
【0057】
その後、情報処理装置10は、出力部13において、各処理の処理結果等をユーザに出力する。例えば、検索結果の表示、エラーがあった場合のエラー表示、正常な処理が行なわれた場合の画面表示等が行なわれる。
【0058】
次に、図7を用いて、図6のS104に示す領域検索処理の流れの一例について説明する。すなわち、検索対象領域内で着目地点を内包する地理領域(1又は複数のメッシュ)を検索する際の処理について説明する。
【0059】
この処理が開始すると、情報処理装置10は、まず、着目地点取得部51において、着目地点の取得を行なう(S201)。すなわち、着目地点を示すメッシュコードを取得する。着目地点は、例えば、入力部12を介したユーザの指示により指定される。
【0060】
続いて、情報処理装置10は、候補取得部61において、S201の処理で取得したメッシュコードを検索文字列として検索結果の候補の取得を行なう(S202、S203)。すなわち、検索文字列の少なくとも一部(前方文字列)と一致するメッシュコードを持つメッシュをメッシュテーブル41から検索して取得し、それを検索結果の候補とする。
【0061】
情報処理装置10は、除外部62において、検索結果の候補として取得されたメッシュの完全フラグをチェックする。すなわち、各メッシュが、完全内包メッシュであるか、部分内包メッシュであるかを判定する。
【0062】
判定の結果、完全内包メッシュであれば(S204でYES)、情報処理装置10は、S208の処理に進む。一方、部分内包メッシュであれば(S204でNO)、情報処理装置10は、除外部62において、着目地点と検索対象領域との位置関係の詳細チェックを行なう(S205)。すなわち、S203の処理で取得されたメッシュに含まれる着目地点が、検索対象領域内であるか否かをチェックする。このチェックでは、まず、詳細インデクステーブル42から該当のメッシュの下位階層のメッシュ群を取得し、当該メッシュ群のうち着目地点を含むメッシュを取得する。そして、当該メッシュが検索対象領域内に内包されるか否かを判定する。これにより、検索対象領域内に内包されていなければ、S203の処理で検索されたメッシュは、偽検索結果であると判定される。
【0063】
詳細チェックの結果、着目地点を内包しない、すなわち、偽検索結果であった場合(S206でYES)、情報処理装置10は、除外部62において、当該偽検索結果を除外した後(S207)、S208の処理に進む。すなわち、偽検索結果となったメッシュを除外する。
【0064】
一方、偽検索結果でなければ(S206でNO)、情報処理装置10は、検索部52において、検索文字列の末尾を1文字削除する(S208)。すなわち、着目地点のメッシュの階層を1段階広範な領域に引き上げる。これにより、着目地点のメッシュコードの前方文字列とメッシュコードとが一致する、より広範なメッシュをメッシュテーブル41から取得できることになる。
【0065】
情報処理装置10は、検索部52において、1文字削除の結果、検索文字列の長さが「0」になったか否かを判定する。文字列の長さが「0」でなければ(S209でNO)、より広範なメッシュの前方一致検索を行なうため、情報処理装置10は、再度、S203の処理を行なう。すなわち、S203〜S208の処理は、文字列の長さが「0」になるまで繰り返し行なわれる。
【0066】
一方、文字の長さが「0」であれば(S209でYES)、情報処理装置10は、出力部13において、これまでに取得された検索結果の候補を正式な検索結果として出力した後(S210)、この処理を終了する。
【0067】
次に、図8を用いて、図6のS105に示す領域登録処理の流れの一例について説明する。すなわち、検索対象領域となる領域を登録する際の処理について説明する。
【0068】
この処理が開始すると、情報処理装置10は、領域登録部50において、まず、指定された領域を検索対象領域として領域テーブル43に登録する(S301)。検索対象領域は、例えば、入力部12を介したユーザの指示により指定される。そして、情報処理装置10は、領域登録部50において、当該検索対象領域を覆うメッシュ群を求める(S302)。
【0069】
情報処理装置10は、領域登録部50において、S302の処理で求められたメッシュ群をメッシュテーブル41に登録するとともに(S303)、当該メッシュ群の中に部分内包メッシュがあるか否かを判定する。
【0070】
判定の結果、部分内包メッシュがなければ(S304でNO)、情報処理装置10は、この処理を終了する。部分内包メッシュがあれば(S304でYES)、情報処理装置10は、領域登録部50において、当該メッシュを下位階層のメッシュに細分化(すなわち詳細化)する(S305)。そして、当該細分化されたメッシュ群を詳細インデクステーブル42に登録した後(S306)、この処理を終了する。
【0071】
以上説明したように本実施形態によれば、通常の文字列検索のインデクス機構を流用して、前方一致検索を行なうことにより、着目地点を内包する検索対象領域を検索する際の処理負荷を軽減できる。更に、部分内包メッシュを詳細化した詳細インデクステーブルを設けることにより、詳細チェックの処理をより高速化できる。
【0072】
なお、従来の技術において緯度・経度等に基づいた地理情報検索を行なう場合、テキスト検索のインデクスとは別の構造を持った専用インデクスが必要となっていたため、特に、組込み機器においてはリソースの負担が大きかった。
【0073】
(実施形態2)
次に、実施形態2について説明する。上述した実施形態1においては、検索対象領域401が矩形形状である場合について説明したが、これに限られない。実施形態2においては、検索対象領域の形状の一例として、当該領域が円形である場合について説明する。例えば、図9(a)に示すように、検索対象領域406が円形であっても良い。この場合にも上記同様に、完全内包メッシュ6(符号407)と部分内包メッシュ12(符号408)とがある。
【0074】
図9(b)には、検索対象領域406が円形である場合のメッシュテーブル41及び、それからリンクされる領域テーブル43の構成の一例が示される。なお、メッシュテーブル41の構成は、図5で示した構成と同じ構成となる。
【0075】
領域テーブル43は、円形の検索対象領域406を管理する。カラム515には、検索対象領域のIDが保持される。カラム516には、検索対象領域(円)の中心地点のメッシュコードが保持される。カラム517には、円の半径距離が保持される。
【0076】
また、上述した実施形態1で説明した図7のS205の詳細チェックにおいては、円形である検索対象領域の中心から着目地点までの距離を求め、それが半径以下であるか否かを比較することにより詳細チェックを行なう。このように構成することで、検索対象領域が円形の場合であっても、実施形態1と同様の処理が行なえる。
【0077】
以上が本発明の代表的な実施形態の一例であるが、本発明は、上記及び図面に示す実施形態に限定することなく、その要旨を変更しない範囲内で適宜変形して実施できるものである。
【0078】
また、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施態様を採ることもできる。具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【0079】
(その他の実施形態)
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。

【特許請求の範囲】
【請求項1】
地表が階層的にメッシュで区分されるとともに、該メッシュ各々の位置を示す地理コードが文字列で表現され、上位メッシュを表現する地理コードに文字を追加することで下位メッシュの地理コードを示す地理コード体系を有する地図データを保持する保持手段と、
前記地図データ上で検索対象となる地点を示す着目地点の地理コードを取得する着目地点取得手段と、
前記地図データ上で検索を行なう範囲を示す検索対象領域を覆うメッシュ群のうち、前記着目地点を示す地理コードの文字列と一致する地理コードの文字列を有する1又は複数のメッシュを検索結果の候補として取得する候補取得手段と、
前記検索結果の候補として取得された1又は複数のメッシュのうち、前記検索対象領域に完全に内包されていないメッシュに対して前記着目地点を内包しているか否かを判定し、当該着目地点が内包されていない1又は複数のメッシュを前記メッシュ群から除外する除外手段と、
前記検索結果の候補から前記除外が行なわれた後の1又は複数のメッシュを検索結果として出力する出力手段と
を具備することを特徴とする情報処理装置。
【請求項2】
前記候補取得手段は、
前記着目地点を示す地理コードの文字列の長さが0になるまで、該文字列を1文字ずつ削除して前記着目地点を示す地理コードの文字列を用いた検索を繰り返し行ない、
前記除外手段は、
前記候補取得手段による検索が行なわれる度に前記除外を繰り返し行ない、
前記出力手段は、
前記地理コードの文字列の長さが0になった場合に、それまでに取得された検索結果を出力する
ことを特徴とする請求項1記載の情報処理装置。
【請求項3】
前記検索対象領域を覆うメッシュ群それぞれの地理コードの文字列と、前記検索対象領域に完全に内包されているか否かを示す情報とを対応付けて管理するメッシュテーブルと、
前記メッシュテーブルに管理されるメッシュ群のうち、前記検索対象領域に完全に内包されていないメッシュの下位階層のメッシュに関する情報を管理する詳細インデクステーブルと
を更に具備し、
前記候補取得手段は、
前記メッシュテーブルを用いて前記検索結果の候補を取得し、
前記除外手段は、
前記詳細インデクステーブルを用いて前記除外を行なう
ことを特徴とする請求項1又は2記載の情報処理装置。
【請求項4】
情報処理装置の処理方法であって、
取得手段が、地表が階層的にメッシュで区分されるとともに、該メッシュ各々の位置を示す地理コードが文字列で表現され、上位メッシュを表現する地理コードに文字を追加することで下位メッシュの地理コードを示す地理コード体系を有する地図データを取得する工程と、
着目地点取得手段が、前記地図データ上で検索対象となる地点を示す着目地点の地理コードを取得する工程と、
候補取得手段が、前記地図データ上で検索を行なう範囲を示す検索対象領域を覆うメッシュ群のうち、前記着目地点を示す地理コードの文字列と一致する地理コードの文字列を有する1又は複数のメッシュを検索結果の候補として取得する工程と、
除外手段が、前記検索結果の候補として取得された1又は複数のメッシュのうち、前記検索対象領域に完全に内包されていないメッシュに対して前記着目地点を内包しているか否かを判定し、当該着目地点が内包されていない1又は複数のメッシュを前記メッシュ群から除外する工程と、
出力手段が、前記検索結果の候補から前記除外が行なわれた後の1又は複数のメッシュを検索結果として出力する工程と
を含むことを特徴とする情報処理装置。
【請求項5】
コンピュータを、
地表が階層的にメッシュで区分されるとともに、該メッシュ各々の位置を示す地理コードが文字列で表現され、上位メッシュを表現する地理コードに文字を追加することで下位メッシュの地理コードを示す地理コード体系を有する地図データを保持する保持手段、
前記地図データ上で検索対象となる地点を示す着目地点の地理コードを取得する着目地点取得手段、
前記地図データ上で検索を行なう範囲を示す検索対象領域を覆うメッシュ群のうち、前記着目地点を示す地理コードの文字列と一致する地理コードの文字列を有する1又は複数のメッシュを検索結果の候補として取得する候補取得手段、
前記検索結果の候補として取得された1又は複数のメッシュのうち、前記検索対象領域に完全に内包されていないメッシュに対して前記着目地点を内包しているか否かを判定し、当該着目地点が内包されていない1又は複数のメッシュを前記メッシュ群から除外する除外手段、
前記検索結果の候補から前記除外が行なわれた後の1又は複数のメッシュを検索結果として出力する出力手段
として機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate