(57)【要約】【課題】入力された住所が存在しない場合にユーザが意図した住所の地点により近い地点の座標を得ることができるシステムを提供する。【解決手段】システムは、第１階層住所情報及び第２階層住所情報と地図上の基準点の座標情報とを対応づけて格納する記憶手段と、入力住所情報を受け付ける受付手段と、入力第２階層住所情報が記憶手段に格納されていない場合、入力第１階層住所情報に属する全ての第２階層住所情報に対応する地図上の基準点を結んで形成される結線ポリゴンが既定条件を具備するか否かを判定する手段と、判定結果が是である場合、入力第２階層住所情報に含まれる番号に対する修正処理を実行する手段と、処理の結果得られた第２階層住所情報に対応する基準点の座標情報を記憶手段から抽出する手段を備える。【選択図】図１
2011053982.tif 000002
【特許請求の範囲】
【請求項１】
第１階層と当該第１階層の下位に属する第２階層とを含む階層構造を有する住所情報を座標情報に変換する情報処理システムであって、
前記第１階層に含まれる第１階層住所情報及び前記第２階層に含まれる第２階層住所情報と、当該第１階層住所情報及び第２階層住所情報にそれぞれ対応する地図上の基準点の座標情報と、を格納する住所情報記憶手段と、
ユーザより入力された入力住所情報を受け付ける受付手段と、
前記受付手段により受け付けた入力住所情報に含まれる第２階層住所情報が前記住所情報記憶手段に格納されていない場合、当該入力された第１階層住所情報に属する全ての第２階層住所情報に対応する地図上の基準点を結んで形成される結線ポリゴンが既定条件を具備するか否かを判定する判定手段と、
前記判定手段による判定結果が是である場合、前記入力された第２階層住所情報に含まれる番号に対する修正処理の結果得られる第２階層住所情報が、前記住所情報記憶手段に格納されている第２階層住所情報と、当該修正処理により少なくとも一致するまで、当該修正処理を実行する修正処理手段と、
前記修正処理手段による処理の結果得られた第２階層住所情報に対応する基準点の座標情報を、前記住所情報記憶手段から抽出する座標情報抽出手段と、
を備えることを特徴とする情報処理システム。
【請求項２】
前記第１階層住所情報と、当該第１階層住所情報によって特定される地図上の領域の形状を表すパターン情報と、を対応付けて格納するパターン情報記憶手段をさらに備え、
前記判定手段は、
前記入力された第１階層住所情報によって特定される地図上の領域の形状を表すパターン情報を、前記パターン情報記憶手段から抽出するパターン情報抽出手段と、
前記入力された第１階層住所情報に属する全ての第２階層住所情報にそれぞれ対応する基準点の座標情報を前記住所情報記憶手段から抽出し、当該抽出した各基準点を頂点とする前記結線ポリゴンを作成する作成手段と、
前記パターン情報抽出手段により抽出されたパターン情報に基づくパターン形状と前記作成手段により作成された結線ポリゴンとの相似性の度合いを判定する相似性判定手段と、を備え、
前記相似性判定手段により判定された相似性の度合いが所定基準以上の場合、前記結線ポリゴンが前記既定条件を具備すると判定することを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記判定手段は、
前記入力された第１階層住所情報に属する全ての第２階層住所情報と、当該全ての第２階層住所情報にそれぞれ対応する基準点の座標情報とを前記住所情報記憶手段から抽出し、当該抽出した各基準点を頂点とする前記結線ポリゴンを作成する作成手段を備え、
前記作成手段により作成された結線ポリゴンの全ての頂点の内角が１８０度未満である場合、当該結線ポリゴンが前記既定条件を具備すると判定することを特徴とする請求項１に記載の情報処理システム。
【請求項４】
座標情報と当該座標情報によって特定される位置の周辺の地図画像情報とを対応付けて格納する地図情報記憶手段をさらに備え、
前記座標抽出手段により抽出された座標情報に対応する地図画像情報を前記地図情報記憶手段から抽出する地図情報抽出手段と、
前記地図情報抽出手段により抽出された地図画像情報に基づく地図画像を出力する出力手段と、
をさらに備えることを特徴とする請求項１乃至３いずれか１項に記載の情報処理システム。
【請求項５】
前記座標情報抽出手段は、
前記判定手段による判定結果が否である場合、前記入力された第１階層住所情報に対応する基準点の座標情報を、前記住所情報記憶手段から抽出することを特徴とする請求項１乃至４いずれか１項に記載の情報処理システム。
【請求項６】
前記パターン情報記憶手段が格納するパターン情報には、前記第１住所情報によって特定される領域を画定する各頂点の頂点座標が含まれ、
前記相似性判定手段は、
前記パターン形状の頂点の数と前記結線ポリゴンの頂点の数とが一致する場合は、当該パターン形状の頂点を結ぶ結線の傾きと当該結線ポリゴンの頂点を結ぶ結線の傾きとが略一致することを条件に、当該パターン形状と当該結線ポリゴンは相似性が高いと判定することを特徴とする請求項１乃至５いずれか１項に記載の情報処理装置。
【請求項７】
前記第２階層住所情報に含まれる番号は、前記第１階層住所情報によって特定される領域の外周に沿って時計回りに付与されていることを特徴とする請求項１乃至６いずれか１項に記載の情報処理装置。
【請求項８】
前記修正処理手段は、
前記入力された第２階層住所情報に含まれる番号に対して加算処理を実行することにより、前記住所情報記憶手段に格納されている第２階層住所情報と一致する第１の第２階層住所情報を算出し、前記入力された第２階層住所情報に含まれる番号に対する減算処理を実行することにより、当該住所情報記憶手段に格納されている他の第２階層住所情報と一致する第２の第２階層住所情報を算出し、
前記座標抽出手段は、
前記第１の第２階層住所情報に対応する基準点の第１の座標情報と、前記第２の第２階層住所情報に対応する基準点の第２の座標情報とを、前記住所情報記憶手段からそれぞれ抽出し、抽出した第１の座標情報及び第２の座標情報の中間座標を算出することを特徴とする請求項１乃至７いずれか１項に記載の情報処理装置。
【請求項９】
情報処理システムにおいて第１階層と当該第１階層の下位に属する第２階層を含む階層構造を有する住所情報を座標情報に変換する方法であって、
当該情報処理システムは、前記第１階層に含まれる第１階層住所情報及び前記第２階層に含まれる第２階層住所情報と、当該第１階層住所情報及び第２階層住所情報にそれぞれ対応する地図上の基準点の座標情報と、を対応づけて格納する住所情報記憶手段を備え、
前記方法は、
ユーザより入力された入力住所情報を受け付けるステップと、
前記受け付けた入力住所情報に含まれる第２階層住所情報が住所情報記憶手段に格納されていない場合、当該入力された第１階層住所情報に属する全ての第２階層住所情報に対応する地図上の基準点を結んで形成される結線ポリゴンが既定条件を具備するか否かを判定するステップと、
前記判定結果が是である場合、前記入力された第２階層住所情報に含まれる番号に対する修正処理の結果得られる第２階層住所情報が、前記住所情報記憶手段に格納されている第２階層住所情報と、当該修正処理により少なくとも一致するまで、当該修正処理を実行するステップと、
前記処理の結果得られた第２階層住所情報に対応する基準点の座標情報を、前記住所情報記憶手段から抽出するステップと、
を備えることを特徴とする方法。
【請求項１０】
前記情報処理システムは、前記第１階層住所情報と、当該第１階層住所情報によって特定される地図上の領域の形状を表すパターン情報と、を対応付けて格納するパターン情報記憶手段をさらに備え、
前記判定するステップにおいて、
前記入力された第１階層住所情報によって特定される地図上の領域の形状を表すパターン情報を、前記パターン情報記憶手段から抽出するステップと、
前記入力された第１階層住所情報に属する全ての第２階層住所情報にそれぞれ対応する基準点の座標情報とを前記住所情報記憶手段から抽出し、当該抽出した各基準点を頂点とする前記結線ポリゴンを作成するステップと、
前記抽出されたパターン情報に基づくパターン形状と前記作成された結線ポリゴンとの相似性の度合いを判定するステップと、を備え、
前記判定された相似性の度合いが所定基準以上の場合、前記結線ポリゴンが前記既定条件を具備するかと判定することを特徴とする請求項９に記載の方法。
【請求項１１】
請求項９または１０に記載の方法をコンピュータに実行させるためのプログラム。
【請求項１２】
請求項１１に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、住所情報を緯度・経度の座標情報に変換するジオコーディングシステム及びジオコーディング方法に関する。
【背景技術】
【０００２】
住所、地名又は駅名などの地理的情報を緯度・経度の座標値に変換する技術が知られている。このような技術はジオコーディングと呼ばれ、例えば、特許文献１（特開平８−５０５９４号公報）に記載されている。特許文献１に記載の情報処理装置は、所定の変換テーブルを利用することにより、住所情報の県・市・町・丁目名から当該位置の緯度及び経度を求め、当該緯度及び経度情報から地図画像情報を取得する。
【０００３】
また、図形を対象としてパターン認識をする技術が知られている。このようなパターン認識に関連する技術は、例えば、特許文献２（特開平１１−９６４００号公報）に記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平８−５０５９４号公報
【０００５】
【特許文献２】特開平１１−９６４００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、上記特許文献１に記載の情報処理装置は、「県・市・町・丁目」という階層構造に応じて、住所に対応する地点の緯度・経度データを変換テーブルに記憶している。よって、入力される住所が、「神奈川県横浜市戸塚区吉田町１丁目」のように完全なものではなく、「神奈川県横浜市」、「神奈川県横浜市戸塚区」のように上位階層のみであっても、それぞれの住所に対応する地点の座標を求めることができるようになっている。
【０００７】
しかしながら、例えば、ある地域の住所は「○○県○○市○○町△丁目△番△号」のように表記されているところ、上記特許文献１に記載の情報処理装置の構成では「丁目」までしか特定することができないため、「△番△号」に対応する地点の座標を求めて適切な地図を表示することができないという問題がある。
【０００８】
また、例えば、地図検索の際にユーザが住所を手入力するケースでは、ユーザが住所を間違えて入力する場合がある。例えば、「○○県○○市○○町６丁目１０番１号」の地図を検索したいにもかかわらず、「○○県○○市○○町６丁目１０番０号」や「○○県○○市○○町６丁目１０番１００号」のように誤入力してしまう場合である。特に、住所の一部に番号を入力する場合には、このような誤入力が生じやすい。
【０００９】
このように、誤った住所が入力された場合には、これに対応する座標を特定することができないので、例えば、正しい住所の入力を促すメッセージをユーザに表示し、正しい住所が入力されるまで次の画面に進まないようにする対応や、住所として正しく認識できる情報（例えば、「○○県○○市○○町６丁目１０番」まで）に基づいて該当する地点の座標を求め、その周辺の地図を表示する対応などが考えられる。
【００１０】
しかしながら、前者の方法では、ユーザによって正しい住所が入力されるまで処理が進まないため、仮にユーザが正しい住所を知らない場合は、ユーザは所望する住所の地図を確認することができず不便である。また、後者の方法では、「…６丁目１０番」に対応する地点が特定され、その近辺を示す地図が表示されるため、表示された地図にユーザが所望する「…６丁目１０番１号」の地点が表示されていない場合や、表示されていても地図の端に表示される場合がある。住所表記は一定の広さを持つ領域を特定しているため、住所の緯度経度には、当該領域内の特定の地点（例えば中心位置）の緯度経度が一般に採用されている。従って、図９に示すように、「…６丁目１０番」の地点Ａと「…６丁目１０番１号」の地点Ｂが離れている場合に、「…６丁目１０番」の地点Ａを採用すると、表示される地図は、例えば点線で示す領域Ａ１となり、ユーザが意図した「…６丁目１０番１号」の地点Ｂは含まれていないことになる。従って、ユーザは所望する住所の地図を容易に確認することができないという問題がある。
【００１１】
本発明は、かかる事情に鑑みてなされたものであり、ユーザにより入力された住所が存在しない場合に、ユーザが意図した住所の地点により近い地点の座標を得ることができる仕組みを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明は、第１階層と当該第１階層の下位に属する第２階層とを含む階層構造を有する住所情報を座標情報に変換する情報処理システムである。当該情報処理システムは、第１階層に含まれる第１階層住所情報及び第２階層に含まれる第２階層住所情報と、当該第１階層住所情報及び第２階層住所情報にそれぞれ対応する地図上の基準点の座標情報と、を対応づけて格納する住所情報記憶手段と、ユーザより入力された入力住所情報を受け付ける受付手段と、前記受付手段により受け付けた入力住所情報に含まれる第２階層住所情報が前記住所情報記憶手段に格納されていない場合、当該入力された第１階層住所情報に属する全ての第２階層住所情報に対応する地図上の基準点を結んで形成される結線ポリゴンが既定条件を具備するか否かを判定する判定手段と、判定手段による判定結果が是である場合、入力された第２階層住所情報に含まれる番号に対する修正処理（例えば、加減算処理）の結果得られる第２階層住所情報が、住所情報記憶手段に格納されている第２階層住所情報と、当該修正処理により少なくとも一致するまで、当該修正処理を実行する修正処理手段と、修正処理手段による処理の結果得られた第２階層住所情報に対応する基準点の座標情報を、住所情報記憶手段から抽出する座標情報抽出手段と、を備える。
【００１３】
好適には、情報処理システムは、第１階層住所情報と、当該第１階層住所情報によって特定される地図上の領域の形状を表すパターン情報と、を対応付けて格納するパターン情報記憶手段をさらに備える。判定手段は、入力された第１階層住所情報によって特定される地図上の領域の形状を表すパターン情報を、パターン情報記憶手段から抽出するパターン情報抽出手段と、入力された第１階層住所情報に属する全ての第２階層住所情報にそれぞれ対応する基準点の座標情報と、を住所情報記憶手段から抽出し、当該抽出した各基準点を頂点とする結線ポリゴンを作成する作成手段と、パターン情報抽出手段により抽出されたパターン情報に基づくパターン形状と作成手段により作成された結線ポリゴンとの相似性の度合いを判定する相似性判定手段と、を備え、相似性判定手段により判定された相似性の度合いが所定基準以上の場合、結線ポリゴンが既定条件を具備すると判定することができる。
【００１４】
また、好適には、判定手段は、入力された第１階層住所情報に属する全ての第２階層住所情報と、当該全ての第２階層住所情報にそれぞれ対応する基準点の座標情報とを住所情報記憶手段から抽出し、当該抽出した各基準点を頂点とする結線ポリゴンを作成する作成手段を備え、作成手段により作成された結線ポリゴンの全ての頂点の内角が１８０度未満である場合、当該結線ポリゴンが既定条件を具備すると判定することができる。
【００１５】
さらにまた、情報処理システムは、座標情報と当該座標情報によって特定される位置の周辺の地図画像情報とを対応付けて格納する地図情報記憶手段をさらに備え、座標抽出手段により抽出された座標情報に対応する地図画像情報を地図情報記憶手段から抽出する地図情報抽出手段と、地図情報抽出手段により抽出された地図画像情報に基づく地図画像を出力する出力手段と、さらに備える。
【００１６】
また、座標情報抽出手段は、判定手段による判定結果が否である場合、入力された第１階層住所情報に対応する基準点の座標情報を、住所情報記憶手段から抽出する。
【００１７】
パターン情報記憶手段が格納するパターン情報には、第１住所情報によって特定される領域を画定する各頂点の頂点座標が含まれる。相似性判定手段は、パターン形状の頂点の数と結線ポリゴンの頂点の数とが一致する場合は、当該パターン形状の頂点を結ぶ結線の傾きと当該結線ポリゴンの頂点を結ぶ結線の傾きとが略一致することを条件に、当該パターン形状と当該結線ポリゴンは相似性が高いと判定することができる。
【００１８】
第２階層住所情報に含まれる番号は、第１階層住所情報によって特定される領域の外周に沿って時計回りに付与されている。また、修正処理手段は、入力された第２階層住所情報に含まれる番号に対して加算処理を実行することにより、住所情報記憶手段に格納されている第２階層住所情報と一致する第１の第２階層住所情報を算出し、入力された第２階層住所情報に含まれる番号に対する減算処理を実行することにより、当該住所情報記憶手段に格納されている他の第２階層住所情報と一致する第２の第２階層住所情報を算出し、座標抽出手段は、第１の第２階層住所情報に対応する基準点の第１の座標情報と、第２の第２階層住所情報に対応する基準点の第２の座標情報とを、住所情報記憶手段からそれぞれ抽出し、抽出した第１の座標情報及び第２の座標情報の中間座標を算出することができる。
【００１９】
また、本発明は、情報処理システムにおいて第１階層と当該第１階層の下位に属する第２階層とを含む階層構造を有する住所情報を座標情報に変換する方法である。当該情報処理システムは、第１階層に含まれる第１階層住所情報及び第２階層に含まれる第２階層住所情報と、当該第１階層住所情報及び第２階層住所情報にそれぞれ対応する地図上の基準点の座標情報と、を対応づけて格納する住所情報記憶手段を備える。本発明の方法は、ユーザより入力された入力住所情報を受け付けるステップと、前記受け付けた入力住所情報に含まれる第２階層住所情報が前記住所情報記憶手段に格納されていない場合、当該入力された第１階層住所情報に属する全ての第２階層住所情報に対応する地図上の基準点を結んで形成される結線ポリゴンが既定条件を具備するか否かを判定するステップと、判定結果が是である場合、入力された第２階層住所情報に含まれる番号に対する修正処理の結果得られる第２階層住所情報が、住所情報記憶手段に格納されている第２階層住所情報と、当該修正処理により少なくとも一致するまで、当該修正処理を実行するステップと、処理の結果得られた第２階層住所情報に対応する基準点の座標情報を、住所情報記憶手段から抽出するステップと、を備える。
【００２０】
また、本発明の住所情報を座標情報に変換する方法において、情報処理システムは、第１階層住所情報と、当該第１階層住所情報によって特定される地図上の領域の形状を表すパターン情報と、を対応付けて格納するパターン情報記憶手段をさらに備える。判定するステップにおいて、入力された第１階層住所情報によって特定される地図上の領域の形状を表すパターン情報を、パターン情報記憶手段から抽出するステップと、入力された第１階層住所情報に属する全ての第２階層住所情報と、当該全ての第２階層住所情報にそれぞれ対応する基準点の座標情報とを住所情報記憶手段から抽出し、当該抽出した各基準点を頂点とする結線ポリゴンを作成するステップと、抽出されたパターン情報に基づくパターン形状と作成された結線ポリゴンとの相似性の度合いを判定するステップと、を備え、判定された相似性の度合いが所定基準以上の場合、結線ポリゴンが既定条件を具備するかと判定することができる。
【００２１】
また、本発明は、上記記載の住所情報を座標情報に変換する方法をコンピュータに実行させるためのプログラムとしても成立する。
【００２２】
また、本発明は、上記記載の住所情報を座標情報に変換する方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体としても成立する。
【００２３】
本発明のプログラムは、本発明の方法の各処理ステップをコンピュータに実行させることを特徴とする。本発明のプログラムは、ＣＤ−ＲＯＭ等の光学ディスク、磁気ディスク、半導体メモリなどの各種の記録媒体を通じて、又は通信ネットワークなどを介してダウンロードすることにより、コンピュータにインストール又はロードすることができる。
【００２４】
また、本明細書等において、「手段」とは、単に物理的手段を意味するものではなく、その手段が有する機能をソフトウェアによって実現する場合も含む。また、１つの手段が有する機能が２つ以上の物理的手段により実現されても、２つ以上の手段の機能が１つの物理的手段により実現されてもよい。
【発明の効果】
【００２５】
本発明によれば、ユーザにより入力された住所が存在しない場合に、ユーザが意図した住所の地点により近い地点の座標を得ることができる仕組みを提供することが可能になる。
【図面の簡単な説明】
【００２６】
【図１】地図情報検索システム１００の概略構成を示すブロック図である。
【図２】住所情報のデータ構造とパターン情報のデータ構造の一例を示す図である。
【図３】ジオコーディング処理の流れの一例を示すフローチャートである。
【図４】相似性の度合いを判定する処理の流れの一例を示すフローチャートである。
【図５】街区パターンと住居番号の結線ポリゴンの一例を示す図である。
【図６】相似性の度合いを判定する処理を説明するための図である。
【図７】街区パターンと住居番号の結線ポリゴンの相似性の度合いを説明するための図である。
【図８】住居番号に対する加減算処理の結果を説明するための図である。
【図９】住所と当該住所の座標を特定する地点との関係を説明するための図である。
【図１０】ジオコーディング処理の流れの他の例を示すフローチャートである。
【図１１】住居番号に対する加減算処理の他の例を示すフローチャートである。
【発明を実施するための形態】
【００２７】
以下、本発明の実施の形態について図面を参照しつつ詳細に説明する。なお、同一の要素には同一の符号を付し、重複する説明を省略する。
【００２８】
本実施形態では、本発明に係るジオコーディングを、地図情報検索システムに適用する場合について説明するが、本発明は、地図情報検索システムに限られず、ジオコーディングを用いたあらゆるシステムに適用することができる。
【００２９】
また、本実施形態では、街区方式に従う住所情報を座標情報に変換する場合について説明する。街区方式に従う住所情報は、例えば、「○○県○○市○○町△丁目△番△号」と表すことができ、県（○○県）、市（○○市）、町（○○町△丁目）、街区（△番）、住居番号（△号）という階層構造を有している。このような街区方式に従う住所情報は階層（レベル）に応じて区切ることができる。この場合、下位階層は上位階層の情報を含むように区切られる。例えば、街区（△番）までの住所情報を第１階層とし、住居番号（△号）を第１階層の下位に位置する住所情報を第２階層とした場合、第１階層は「○○県○○市○○町△丁目△番」、第２階層は「○○県○○市○○町△丁目△番△号」と表わすことができる。なお、住所情報の表記や階層数は、これらに限られず、階層構造を有しているものであれば良い。
【００３０】
「街区」は、例えば、人口の集中している地域（市街地）について合理的な住居表示を行うための住居表示の方法の一つで、市区町村内を町丁単位に分け、その中を更に道路、河川等によって区画し、番号化したものである。そして、「住居番号」は、この街区内の建物等に対して所定のルールに従って番号を付けたものである。例えば、市町村の中心に一番近い街区の角を起点にし、そこから街区の外周に沿って原則時計回り（右廻り）に距離を測って所定距離数（例えば、１０メートル）ごとに区切り、順番に１、２、３・・・と基礎番号をつけ、建物の玄関または主要な出入り口が接する位置の基礎番号を住居番号とすることができる。
【００３１】
ここで、本発明に係るジオコーディングは、このような街区方式に従う住所情報において、住居番号が、原則、その街区上に時計回りで付与される（例えば、１、２、３・・・）点に着目し、ユーザが入力した住居番号（例えば９）が存在しない場合は、その番号に近い番号（例えば８や１０）をユーザが意図した番号であると推定し、この推定された番号を座標変換の対象とする。その結果、ユーザが入力した住居番号（例えば９）により近い番号（例えば８や１０）の位置の座標を特定することができるので、この座標に基づく地図を提示することにより、上位階層の街区レベルの位置を含む地図を提示する場合と比べて、ユーザが意図した位置により近い位置の地図を表示することが可能になる。
【００３２】
しかしながら、このような仕組みは、住居番号が、その街区内に一定のルール（例えば、時計回り）に従って付与されていることを前提とするものであるところ、例えば、市区町村の合併、地上げ、工場の閉鎖などによりできた大きな更地に、分譲住宅の建築による敷地の分筆があったり、複数の小さな敷地を跨る大規模工場、商業施設、マンション等建物による敷地の合筆があったりすることにより、街区がなくなったり、住居番号の配置が乱れていたり、住居番号が欠番になっていたりする場合がある。よって、仮に、ユーザが入力した住居番号（例えば９）に近い番号（例えば１０）が、実際には離れた位置に存在するような場合には、この番号（例えば１０）の位置を表示することで、かえって座標検索の精度を低くしてしまう可能性がある。そこで、本発明は、座標検索の精度をより一層高めるため、ユーザが入力した住居番号に近い番号を利用する前に、当該住居番号が、その街区内に一定のルールに従って配置されているか否かを確認することとしている。
【００３３】
［第１の実施形態］
図１は、本発明の第１の実施形態に係る地図情報検索システム１００の概略構成を示すブロック図である。図１に示すように、地図情報検索システム１００は、ジオコーディングサーバ１０（以下、「サーバ」という。）と、端末装置２０とを備え、これらがネットワークＮを介して相互に接続されることにより構成される。
【００３４】
サーバ１０は、ジオコーディングを行うためのサーバ・コンピュータであり、主制御部１０１、通信手段１０２、入力住所情報受付手段１０３、記憶手段１０４、入力住所情報判定手段１０５、判定手段１０６、パターン情報抽出手段１０７、住居番号の結線ポリゴン作成手段１０８、相似性判定手段１０９、加減算処理手段１１０、座標情報抽出手段１１１、地図情報抽出手段１１２などの機能手段を備える。サーバ１０は、例えば、マイクロプロセッサからなるＣＰＵ（中央演算処理装置）、ＣＰＵにバス結合されたメモリ（ＲＯＭ、ＲＡＭ）、ＨＤＤ、及び各種インタフェースなどのハードウェアを備える専用または汎用のコンピュータを用いて構成することができる。上記の各機能手段は、主にＣＰＵがメモリ、ＨＤＤなどに格納されるプログラムを実行して各ハードウェアを制御することにより実現される。また、サーバ１０は、単一のコンピュータより構成されるものであっても、ネットワーク上に分散した複数のコンピュータより構成されるものであってもよい。また、単一のコンピュータが複数のサーバ機能を備えてもよい。
【００３５】
主制御部１０１は、サーバ１０全体の動作を制御する機能を備える。通信手段１０２は、ネットワークＮを介して端末装置２０と通信するためのインタフェースである。
【００３６】
入力住所情報受付手段１０３は、ユーザより入力された住所情報（以下、「入力住所情報」という。）を受け付ける機能を備える。入力住所情報受付手段１０３は、端末装置２０から送信された入力住所情報を、通信手段１０２を介して受け付ける。また、図示しないキーボードやタッチパネル等のユーザインタフェースを介してユーザより直接入力された入力住所情報を受け付けることもできる。入力住所情報は、ユーザが地図情報検索のために入力する情報であり、例えば、「○○県○○市○○町△丁目△番△号」「東京都○○区××△−△−△」などの情報が該当する。
【００３７】
記憶手段１０４は、住所情報と、パターン情報と、地図情報とを格納し、住所情報記憶手段、パターン情報記憶手段、地図情報記憶手段とも呼ばれる。記憶手段１０４は、データベースとしての機能を有する。
【００３８】
住所情報記憶手段は、住所情報と、当該住所情報に対応する地図上の基準点の座標情報（緯度・経度）とを、階層構造に応じて、それぞれ対応付けて格納する（図２（Ａ）参照）。なお、基準点は、住所情報によって特定される領域を地図上に表示する際に基準となる地点（位置）である。図２（Ａ）では、街区（例：…２０番）と住居番号（例：…２丁目２０番−１、−２、−３…）に対して、それぞれ基準点の座標情報が対応づけて格納される例を示している。なお、図２（Ａ）では、一例として、階層毎にレコードを生成し、それぞれ基準点を対応付けて格納しているが、住所情報記憶手段のデータ構造は、図２（Ａ）に示すものに限られず、住所情報に基づいて当該住所情報に対応する基準点の座標情報が特定可能に構成されているものであれば、設計に応じたものを適宜採用することができる。
【００３９】
パターン情報記憶手段は、街区と、当該街区によって特定される地図上の領域の形状を表すパターン情報と、を対応付けて格納する（図２（Ｂ）参照）。本実施形態では、パターン情報の一例としてポリゴンの頂点座標列及びこれらの角度が格納される。なお、パターン情報は、これらに限られず、当該領域の形状を表すことができるものであれば、設計等に応じたものを適宜用いることができる。
【００４０】
地図情報記憶手段は、図示してはいないが、例えばベクタ方式やラスタ方式等で構成される地図データを、座標情報（緯度・経度）と対応付けて格納する。
【００４１】
記憶手段１０４のデータ構造は、上述した構造や項目に限られず、例えば、設計に応じて適宜他の項目を追加することができる。
【００４２】
入力住所情報判定手段１０５は、入力住所情報受付手段１０３により受け付けた入力住所情報が正しいか否か（記憶手段１０４に存在するか否か）、階層毎に判定する機能を備える。階層毎に判定するとは、入力住所情報が正しくない場合に、どの階層の住所まで正しく、あるいは、どの階層の住所が間違えているのかを判定することである。ユーザより入力された入力住所情報が正しい場合は、受け付けた入力住所情報を座標情報抽出手段１１１に引き渡す。一方、ある階層の住所情報（例えば、街区）は正しいが、次の階層の住所情報（例えば、住居番号）が誤っている場合は、その結果を判定手段１０６に通知する。
【００４３】
判定手段１０６は、入力住所情報判定手段１０５により通知を受けると、入力された街区に属する全ての住居番号の基準点を結ぶことにより形成される住居番号の結線ポリゴンが既定条件を具備するか否か（ユーザが入力した街区内の住居番号が所定のルール（例えば、時計回り）に従って配置されているか否か）を判定する機能を備える。判定手段１０６は、住居番号の結線ポリゴンが既定条件を具備すると判定した場合、その結果を加減算処理手段１１０に通知する。
【００４４】
パターン情報抽出手段１０７は、ユーザより入力された街区によって特定される領域の形状を表すパターン情報をパターン情報記憶手段から抽出する機能を備える。
【００４５】
住居番号の結線ポリゴン作成手段１０８は、ユーザより入力された街区に含まれる全ての住居番号と当該住居番号の基準点の座標情報を住所情報記憶手段から抽出し、抽出した住居番号に従って各基準点を結ぶことにより住居番号の結線ポリゴンを生成する機能を備える。
【００４６】
相似性判定手段１０９は、パターン情報抽出手段１０７により抽出されたパターン情報に基づくパターン形状と、住居番号の結線ポリゴン作成手段１０８により作成された住居番号の結線ポリゴンとの相似性の度合いを判定する機能を備える。相似性の度合いの判定には、図形を対象とする既存のパターン認識の技術を利用することができる。
【００４７】
加減算処理手段１１０は、ユーザより入力された住居番号を、当該番号が増加及び／又は減少する方向に修正し、この修正処理を住所情報記憶手段に格納されている住居番号と少なくとも一致するまで繰り返すものであり、具体的には、判定手段１０６より住居番号の結線ポリゴンが既定条件を具備する旨の通知を受け取ると、ユーザより入力された住居番号に対して、住所情報記憶手段に格納されている住居番号と、加減算の少なくとも一方向において一致するまで、加減算処理を実行する。「加減算の少なくとも一方向において一致する」とは、少なくとも加算結果あるいは減算結果のいずれかが一致するまで、という意味である。よって、加算結果あるいは減算結果のいずれかが一致するまでは加減算処理を実行し、加算結果あるいは減算結果のいずれかが一致した段階で加減算処理を終了してもよいし、加算結果あるいは減算結果の両方が一致するまで加減算処理を実行するようにしてもよい。例えば、ユーザより入力された住居番号が「○○県○○市△△２−１８−０」である場合には、「０」に対して「±１、±２、±３・・・」というように値を１つずつ加減算していく。ここで、住所情報記憶手段に「○○県○○市△△２−１８−１」が格納されている場合は、「＋１」を実行した時点で、住所情報記憶手段の住居番号と一致する番号を見つけたことになる。なお、加算処理及び減算処理の具体的な内容は、これに限られず、例えば、ユーザの入力した住居番号や、対象となる街区に含まれる住居番号の最大値／最小値などに応じて、設計に応じて適宜設定することができる。例えば、ユーザの入力した住居番号（例えば、１００）が、該当する街区に含まれる住居番号の最大値よりも小さい場合には、減算処理のみを実行するようにしてもよい。
【００４８】
座標情報抽出手段１１１は、住所情報に対応する基準点の座標情報（緯度・経度）を住所情報記憶手段から抽出し、抽出結果を地図情報抽出手段１１２に渡す機能を備える。座標情報抽出手段１１１は、加減算処理手段１１０により新たな住居番号が得られた場合は、当該住居番号に対応する基準点の座標情報を住所情報記憶手段から抽出する。
【００４９】
地図情報抽出手段１１２は、座標情報抽出手段１１１によって抽出された座標情報に対応する地図画像情報を、地図情報記憶手段から抽出する機能を備える。
【００５０】
端末装置２０は、例えば、パソコンや携帯電話機などの端末装置であり、主制御部２０１、記憶手段２０２、入力手段２０３、表示手段２０４、通信手段２０５、入力住所情報送信手段２０６などの機能手段を備える。端末装置２０は、例えば、マイクロプロセッサからなるＣＰＵ（中央演算処理装置）、ＣＰＵにバス結合されたメモリ（ＲＯＭ、ＲＡＭ）、ＨＤＤ、及び各種インタフェースなどのハードウェアを備える専用または汎用のコンピュータを用いて構成することができる。上記の各機能手段は、主にＣＰＵがメモリ、ＨＤＤなどに格納されるプログラムを実行して各ハードウェアを制御することにより実現される。
【００５１】
主制御部２０１は、端末装置２０の全体の動作を制御する機能を備える。
【００５２】
記憶手段２０２には、サーバ１０から配信された地図、ガイダンスデータなどのデータが記憶される。これらのデータは、必要に応じて記憶手段２０２から読み出され、表示手段２０４に表示される。
【００５３】
入力手段２０３は、ユーザによる操作及び入力のためのものであり、数字キーやアルファベットキー、その他の機能キー、選択キー、スクロールキーなどを含む。また、タッチパネルであってもよい。出力手段である表示手段２０４に表示されるメニュー画面から所望のメニューを選択し、また、キー等を操作して、住所情報の入力を含む種々の入力操作を行うものである。
【００５４】
表示手段２０４には、メニュー画面や検索された地図などが表示される。ユーザがサーバ１０に地図検索を依頼する場合、入力手段２０３を操作し、サービスメニュー画面や所定の入力画面を表示手段２０４に表示して、住所情報などの検索条件を入力する。
【００５５】
通信手段２０５は、ネットワークＮを介してサーバ１０と通信するためのインタフェースである。
【００５６】
入力住所情報送信手段２０６は、メニュー画面等を介してユーザが住所情報（例えば、東京都○○区××△丁目△番△号）を入力すると、当該入力された住所情報を地図検索依頼に含めてサーバ１０に送信する機能を備える。
【００５７】
ネットワークＮは、サーバ１０と端末装置２０との間で情報を送受信するための通信回線である。例えば、インターネット、ＬＡＮ、専用線、パケット通信網、電話回線、企業内ネットワーク、その他の通信回線、それらの組み合わせ等のいずれであってもよく、有線であるか無線であるかを問わない。
【００５８】
次に、上記のように構成される地図情報検索システム１００の動作の概要について説明する。
【００５９】
図３は、地図情報検索システム１００によるジオコーディング処理の一例を示すフローチャートである。なお、後述の各処理ステップは処理内容に矛盾を生じない範囲で任意に順番を変更して又は並列に実行することができる。
【００６０】
サーバ１０は、地図検索依頼を受け付けると、これに含まれる入力住所情報に基づいて、階層別の入力住所情報を生成する（Ｓ１０１）。例えば、ユーザより入力された入力住所情報が「○○県○○市△△２−１８−０」である場合、街区レベルの「○○県○○市△△２−１８」と、住居番号レベルの「○○県○○市△△２−１８−０」を生成する。このような階層別住所情報の生成は、従来技術を用いて実施することができる。なお、ここでは、入力住所情報に基づいてレベル別の住所情報を生成しているが、これは入力住所情報が正しいか否かを判定するための一例に過ぎず、設計に応じて適宜他の方法を採用することができる。
【００６１】
サーバ１０は、ユーザより入力された街区が正しいか否かを、住所情報記憶手段を参照することにより判定する（Ｓ１０２）。具体的には、サーバ１０は、ユーザより入力された街区が、住所情報記憶手段に格納されている場合は正しいと判定する。一方、サーバ１０は、ユーザより入力された街区が住所情報記憶手段に格納されていない場合は正しくないと判定し（Ｓ１０２；ＮＯ）、所定処理を実行する（Ｓ１０３）。所定処理とは、例えば、街区の上位レベルの情報（○○県○○市）について住所情報記憶手段を参照し、当該情報が格納されている場合は、対応する座標情報を抽出する処理や、エラーメッセージを出力する処理などが該当する。
【００６２】
次に、サーバ１０は、ユーザより入力された住居番号が正しいか否かを、住所情報を参照することにより判定する（Ｓ１０４）。具体的には、サーバ１０は、ユーザより入力された住居番号が、住所情報記憶手段に格納されている場合は正しいと判定し、格納されていない場合は正しくないと判定する。
【００６３】
サーバ１０は、ユーザより入力された住居番号が正しい場合は（Ｓ１０４；ＹＥＳ）、住所が最後まで正しく入力されているので、ユーザより入力された住居番号の基準点の座標情報を、住所情報記憶手段から抽出する（Ｓ１０５）。なお、Ｓ１０４とＳ１０２の処理は順序を変えて実行してもよい。
【００６４】
一方、サーバ１０は、ユーザより入力された住居番号が正しくない場合は（Ｓ１０４；ＮＯ）、これに該当する座標情報を抽出することができないので、ユーザが意図した住居番号により近い住居番号を推定するための処理を実行する。
【００６５】
サーバ１０は、ユーザより入力された街区の形状を表すパターン情報を、当該街区の情報（例えば、○○県○○市△△２−１８）に基づいて、パターン情報記憶手段から抽出する（Ｓ１０６）。パターン情報には、例えば、街区のポリゴン頂点座標列と各頂点の角度が含まれており、これらの情報に基づいて図５に示すような街区のパターン形状５１を特定する。符号５３は、街区の基準点を示す。
【００６６】
次に、サーバ１０は、ユーザより入力された街区に含まれる全ての住居番号と、当該住居番号の基準点の座標情報を、住所情報記憶手段から抽出する。そして、抽出した各基準点を住居番号の番号順に結ぶことによって住居番号の結線ポリゴンを生成する（Ｓ１０７）。図５の５２は、街区に含まれる住居番号の基準点（３−１、３−２、３−３・・・３−１８）を結ぶことによって形成される住居番号の結線ポリゴンの一例を示している。
【００６７】
そして、サーバ１０は、抽出したパターン情報に基づいて形成される街区パターンと、生成した住居番号の結線ポリゴンとの相似性の度合いを判定する（Ｓ１０８）。
【００６８】
ここで、図４及び図６を用いて、サーバ１０による街区パターンと住居番号の結線ポリゴンの相似性の度合いを判定する処理について説明する。図４は、サーバによる相似性の度合いを判定する処理の流れの一例を示すフローチャートである。図６は、相似性の度合いを判定する処理を説明するための図である。
【００６９】
まず、サーバ１０は、街区パターンの頂点数と住居番号の結線ポリゴンの頂点数とを比較する（Ｓ６０１）。両者の頂点数が一致する場合（Ｓ６０２；ＹＥＳ）、サーバ１０は、街区パターンの結線の各内角と住居番号の結線ポリゴンの各対応内角の角度を比較する（Ｓ６０３）。そして、各内角の角度が一致する場合は（Ｓ６０４；ＹＥＳ）、両者の相似性の度合いが加減算処理の条件を満たすと判定する（Ｓ６０５）。なお、両者の角度の差が略一致する（両者の角度の差が一定範囲内である）場合にも、両者の相似性の度合いが、加減算処理の条件を満たすと判定することができる。
【００７０】
図６（Ａ）は、街区パターンＡ１と住居番号の結線ポリゴンのパターンＢ１について、頂点数と結線の角度がそれぞれ一致（又は略一致）する場合の一例を示している。図６（Ｂ）は、街区パターンＡ２と住居番号の結線ポリゴンＢ２について、頂点数は一致するが、結線の角度が一致（又は略一致）しない場合において、住居番号の結線ポリゴンＢ２の全ての内角が１８０度以内である場合の一例を示している。
【００７１】
これに対し、街区パターンの結線の各内角と住居番号の結線ポリゴンの各対応内角の角度が一致（又は略一致）しない場合（Ｓ６０４；ＮＯ）、サーバ１０は、住居番号の結線ポリゴンの該当する内角（不一致な内角）を有する頂点（図６（Ｃ）中の頂点Ｂ）ついて、当該頂点（図６（Ｃ）中の頂点Ｂ）とこれに隣接する２つの頂点（図６（Ｃ）中の頂点Ａ、頂点Ｃ）との距離（ＡＢ距離、ＢＣ距離）をそれぞれ算出する。また、街区の基準点（図６（Ｃ）中のＲ）と当該２つの頂点（図６（Ｃ）中の頂点Ａ、頂点Ｃ）との距離（ＡＲ距離、ＲＣ距離）をそれぞれ算出する。そして、サーバ１０は、「結線ポリゴン内角（頂点Ｂ）＞１８０°である場合においてＡＢ距離＜ＡＲ距離  ＡＮＤ  ＢＣ距離＜ＲＣ距離」の条件を満たす場合は（Ｓ６０６；ＹＥＳ）、街区パターンと住居番号の結線ポリゴンとの相似性の度合いを、加減算処理の条件を満たすと判定する（Ｓ６０７）。
【００７２】
これに対し、「結線ポリゴン内角（頂点Ｂ）＞１８０°である場合においてＡＢ距離＜ＡＲ距離  ＡＮＤ  ＢＣ距離＜ＲＣ距離」の条件を満たさない場合（Ｓ６０６；ＮＯ）、サーバ１０は、街区パターンと住居番号の結線ポリゴンとの相似性の度合いを、加減算処理の条件を満たさないと判定する（Ｓ６０８）。図６（Ｃ）は、街区パターンＡ３と住居番号の結線ポリゴンＢ３について、頂点数は一致するが、結線の傾きが一致せず、かつ、「結線ポリゴン内角（頂点Ｂ）＞１８０°である場合において、ＡＢ距離＜ＡＲ距離  ＡＮＤ  ＢＣ距離＜ＲＣ距離」の条件を満たす場合の一例を示している。
【００７３】
一方、Ｓ６０２に戻り、サーバ１０は、街区パターンの頂点数と住居番号の結線ポリゴンの頂点数とが一致しないと判定した場合は（Ｓ６０２；ＮＯ）、結線ポリゴンの頂点数が、街区パターンの頂点数よりも大きいか否かを判定し（Ｓ６０９）、大きい場合は（Ｓ６０９；ＹＥＳ）、住居番号の結線ポリゴンの頂点の中から、処理対象となる対象頂点を設定する（Ｓ６１０）。対象頂点は、例えば、番号の小さい住居番号から順に設定することができるが、対象頂点の設定はこれに限られず、設計に応じて任意に設定することができる。一方、結線ポリゴンの頂点数が、街区パターンの頂点数よりも大きくない場合は（Ｓ６０９；ＮＯ）、加減算処理の条件を満たさないと判定する（Ｓ６０８）。
【００７４】
対象頂点を設定すると（Ｓ６１０）、サーバ１０は、街区パターンの最大内角よりも住居番号の結線ポリゴンの対象頂点の内角が大きく、かつ、住居番号の結線ポリゴンの対象頂点の内角が１８０度以下であるか否かを判定する（Ｓ６１１）。
【００７５】
サーバ１０は、判定結果が是である場合は（Ｓ６１１；ＹＥＳ）、対象頂点を削除し、新たに結線ポリゴンを生成する（Ｓ６１３）。
【００７６】
サーバ１０は、結線ポリゴンが、凸ポリゴン（結線ポリゴンの内角が１８０度未満）であるか否かを判定する（Ｓ６１４）。判定結果が、是である場合は（Ｓ６１４；ＹＥＳ）、加減算処理の条件を満たすと判定する（Ｓ６１５）。これに対し、結線ポリゴンが、凸ポリゴンであるか否かの判定結果が、否である場合は（Ｓ６１４；ＮＯ）、ステップＳ６０２に戻り、処理を続行する。
【００７７】
一方、サーバ１０は、Ｓ６１１の判定結果が否である場合は（Ｓ６１１；ＮＯ）、住居番号の結線ポリゴンの対象頂点（頂点Ｘとする）について、当該対象頂点とこれに隣接する２つの頂点（頂点Ａ、頂点Ｃとする）との距離（ＡＸ距離、ＸＣ距離）をそれぞれ算出する。また、街区の基準点（Ｒとする）と当該２つの頂点との距離（ＡＲ距離、ＲＣ距離）をそれぞれ算出する。そして、サーバ１０は、「結線ポリゴン内角（頂点Ｘ）＞１８０°である場合において、ＡＸ距離＜ＡＲ距離  ＡＮＤ  ＸＣ距離＜ＲＣ距離」の条件を満たす場合は（Ｓ６１２；ＹＥＳ）、対象頂点を削除し、新たに結線ポリゴンを生成する（Ｓ６１３）。一方、「結線ポリゴン内角（頂点Ｘ）＞１８０°である場合において、ＡＸ距離＜ＡＲ距離  ＡＮＤ  ＸＣ距離＜ＲＣ距離」の条件を満たさない場合は（Ｓ６１２；ＮＯ）、加減算処理の条件を満たさないと判定する（Ｓ６０８）。
【００７８】
なお、街区パターンと住居番号の結線ポリゴンとの相似性の度合いを計算する処理は上述した処理内容に限られない。処理内容に矛盾を生じない範囲で任意に処理内容を変更、削除、あるいは他の処理を追加することができる。
【００７９】
図７は、上述の処理に従って街区パターンと住居番号の結線ポリゴンとの相似性の度合いを判定した場合の結果の一例を示している。図７（Ａ）は、相似性があり、加減算処理の条件を満たす例を示し、図７（Ｂ）は、相似性がなく、加減算処理の条件を満たさない例を示している。
【００８０】
図３のＳ１０８に戻り、サーバ１０は、相似性の度合いを計算した結果、相似性の度合いが加減算処理の条件を満たさないと判定した場合（Ｓ１０９；ＮＯ）、上位レベルの街区に対応する基準点の座標情報を住所情報記憶手段１０４から抽出する（Ｓ１１０）。
【００８１】
一方、サーバ１０は、相似性の条件を満たす場合は、ユーザより入力された住居番号に対して算出処理を実行する。
【００８２】
なお、相似性を算出する計算方法や、相似性の度合いが加減算処理の条件を満たすか否かの基準は、設計等に応じて設定することができる。例えば、ある算出方法で計算された相似性の度合いが９０％以上である場合は、相似性があり、加減算処理の条件を満たすと判断することができる。しかし、相似性の度合いが加減算処理の条件を満たすか否かを判定する基準は、ここに記載されているものに限られない。
【００８３】
サーバ１０は、相似性の度合いが加減算処理の条件を満たすと判定された場合、ユーザより入力された住居番号に対して加減算処理を実行し、加減算処理の計算結果が住所情報記憶手段に格納されている何れかの住居番号と、少なくとも加減算の一方向において一致するまで、この加減算処理を続行する（Ｓ１１１）。例えば、ユーザより入力された住居番号に対して、「±１、±２、±３・・・」の加減算処理、「+１、+２、+３・・・」の加算処理、あるいは「−１、−２、−３・・・」の減算処理を実行する。
【００８４】
サーバ１０は、加減算処理算により得られた計算結果に対応する基準点の座標情報を、住所情報から抽出する（Ｓ１１２）。
【００８５】
サーバ１０は、抽出された座標情報に対応する地図画像情報を地図情報記憶手段から抽出する（Ｓ１１３）。
【００８６】
サーバ１０は、抽出された地図画像情報を端末装置２０へ送信する（Ｓ１１４）。端末装置２０は、地図画像情報を受信すると、これに基づく地図を表示手段に表示する。
【００８７】
図８（Ａ）は、ユーザが誤って入力した住居番号に対して上述の加減算処理を実行した結果の一例を示している。具体的には、ユーザが、「○○県○○市△△２−２０−１０」と入力したところ、廃番等の理由により住居番号「１０」は住所情報記憶手段に存在していないため、住居番号「１０」に対して上述の加減算処理を実行した結果、画面中央近辺に表示されている住居番号「９」の基準点（図８（Ａ）中のＢ）が採用される。一方、街区「２０」の基準点（図８中（Ａ）のＡ）は、画面中央下に表示されており、両者の基準点は離れている。よって、住居番号「９」の基準点（図８（Ａ）中のＢ）を抽出して、その地図情報を提示することによって、上位レベルの街区「２０」の基準点（図８（Ａ）中のＡ）を抽出する従来の方法よりも、ユーザの意図した位置により近接した地図を表示することが可能になる。
【００８８】
以上、本実施形態によれば、ユーザによってデータベースに存在しない住所情報（例えば、住居番号）が入力された場合であっても、誤った住居番号に近接する住居番号の基準点を読み出して地図表示するので、例えば、上位レベルである街区の基準点を読み出して地図表示する場合よりも、ユーザが目的とした位置により近い位置の地図を表示することが可能になる。その結果、使い勝手の良い地図検索をユーザに提供することが可能になる。
【００８９】
また、本実施形態によれば、誤って入力された住居番号に対して加減算処理を実行する前に、街区パターンと住居番号の結線ポリゴンの相似性の度合を判定し、判定結果が所定の基準を満たす場合に、加減算処理を実行するようにしている。従って、地図検索の精度をより向上させることが可能になる。
【００９０】
また、本実施形態によれば、住所情報の一部をユーザが誤って入力した場合であっても、エラーメッセージなどが表示されることないので、ユーザに煩わしさを与えることもない。
【００９１】
［第２の実施形態］
たとえば、第１の実施形態では、街区パターンと住居番号の結線ポリゴンの相似性の度合が、所定の条件を満たす場合に、ユーザの入力した住居番号に対して加減算処理を実行する構成について説明した。しかし、加減算処理を実行する条件は、これに限られず、例えば、住居番号の結線ポリゴンが所定形状（例えば、凸ポリゴン）である場合は、加減算処理を実行するように構成してもよい。また、住居番号の所定形状（例えば、凸ポリゴン）でない場合にのみ、住居番号の結線ポリゴンと街区パターンとの相似性を判定するように、第１の実施形態を変形することもできる。また、図１０を用いて、結線ポリゴンが凸ポリゴンであるか否かを判定する処理を組み込んだ場合の実施形態について説明する。なお、第１の実施形態と同じ構成については説明を省略する。
【００９２】
サーバ１０は、端末装置２０から送信された、ユーザの入力した入力住所情報を含む地図検索依頼を受信する（Ｓ５００）。
【００９３】
サーバ１０は、地図検索依頼に含まれる入力住所情報に基づいて、基準点の座標情報を住所情報記憶手段１０３から抽出する（Ｓ５０１）。なお、本実施形態では、入力住所情報を検索キーに住所情報記憶手段１０３を検索する機能を備え、入力住所情報が住所情報記憶手段１０３に存在しない場合は、住所情報記憶手段１０３に存在する上位階層の住所情報に対応する座標情報を抽出結果として出力するように予め構成される検索ツールを利用する場合について説明する。この検索ツールによる抽出結果には、座標情報と当該座標情報が対応する住所情報の階層レベルを示す階層フラグとを含むことができる。
【００９４】
サーバ１０は、抽出結果を得ると、例えば、当該抽出結果に含まれる階層フラグが街区を示すか否かを判断することにより、抽出結果が街区の基準点の座標情報であるか否かを判定する（Ｓ５０２）。そして、街区の基準点の座標情報である場合は（Ｓ５０２；ＹＥＳ）、次に、入力住所情報に住居番号が含まれているか否かを判定する（Ｓ５０３）。なぜなら、抽出結果が街区の座標情報であることの理由としては、最初から街区までしか住所情報が入力されていない場合と、入力された住居番号が住所情報記憶手段に存在しなかった場合とが考えられる。後者の場合、住居番号の上位階層である街区の座標が抽出されるからである。よって、本実施形態では、街区の基準点の座標情報である場合は（Ｓ５０２；ＹＥＳ）、次に、入力住所情報に住居番号が含まれているか否かを判定する（Ｓ５０３）こととし、これにより、入力された住居番号が住所情報記憶手段に存在するのか否かを判定するようにしている。なお、抽出結果が、街区の基準点の座標情報でない場合は（Ｓ５０２；ＮＯ）、当該座標情報基づいて、地図画像情報を抽出する（Ｓ５１０）。
【００９５】
サーバ１０は、住居番号が含まれていると判定した場合（Ｓ５０３；ＹＥＳ），すなわち、入力された住居番号が住所情報記憶手段に存在しないと判定し、上位街区に含まれる全ての住居番号と、当該住居番号の基準点の座標情報を、住所情報記憶手段から抽出する。そして、抽出した各基準点を住居番号の番号順に結ぶことによって住居番号の結線ポリゴンを生成する（Ｓ５０４）。一方、入力住所情報が含まれていない場合（Ｓ５０３；ＮＯ）、もともと入力住所情報が含まれていないために、街区の座標情報が抽出されたことがわかるため、当該街区の座標情報を、地図画像情報の検索に用いる（Ｓ５１０）。
【００９６】
サーバ１０は、生成した結線ポリゴンが、凸ポリゴン（結線ポリゴンの内角が１８０度未満）であるか否かを判定する（Ｓ５０５）。凸ポリゴンに関する判定結果が、是である場合は（Ｓ５０５；ＹＥＳ）、加減算処理の条件を満たすと判定する（Ｓ５０５；ＹＥＳ：Ｓ５０８；ＹＥＳ）。
【００９７】
一方、サーバ１０は、凸ポリゴンに関する判定結果が、否である場合は（Ｓ５０５；ＮＯ）、ユーザより入力された街区の形状を表すパターン情報を、当該街区の情報に基づいて、パターン情報記憶手段から抽出する（Ｓ５０６）。
【００９８】
そして、サーバ１０は、抽出したパターン情報に基づいて形成される街区パターンと、生成した住居番号の結線ポリゴンとの相似性の度合いを判定する（Ｓ５０６）。相似性の度合の判定の処理については、上記実施形態において説明した処理を採用することができるので、ここでは説明を省略する。
【００９９】
サーバ１０は、相似性の度合が加減算処理の条件を満たすか否かを判定し（Ｓ５０８）、判定結果が是である場合（Ｓ５０８；ＹＥＳ）、加減算処理を実行し、地図画像情報を検索するための座標情報を求める（Ｓ５０９）。一方、判定結果が否である場合（Ｓ５０８；ＮＯ）、加減算処理を実行しないので、Ｓ５０１にて取得した抽出結果を用いて地図画像情報を抽出する（Ｓ１１３）。
【０１００】
ここで、第１の実施形態では、ユーザより入力された住居番号に対する加減算処理において、加減算処理の計算結果が住所情報記憶手段に格納されている何れかの住居番号と、少なくとも加減算の一方向において一致するまで、この加減算処理を続行する場合について説明した。ここでは、加減算の両方向について一致する結果が得られる場合に、得られた両方向の住居番号の座標情報に基づいて中間座標を算出する場合について説明する。図１１は、住居番号に対する加減算処理の他の例を示すフローチャートである。
【０１０１】
サーバ１０は、変数Ｉに初期値（例えば、０）を設定した後（Ｓ７０１）、変数の値に定数（例えば、１）を加算する（Ｓ７０２）。次に、サーバ１０は、ユーザより入力された住居番号（以下、「入力住居番号」という。）から変数Ｉの値を減算し、当該減算して得られる住居番号（以下、「減算住居番号」という。）が、住所情報記憶手段１０４に存在するか否かを判定する（Ｓ７０３）。
【０１０２】
サーバ１０は、減算住居番号が住所情報記憶手段１０４に存在すると判定した場合（Ｓ７０３；ＹＥＳ）、住所情報記憶手段１０４から、減算住居番号に対応する基準点の座標情報（以下、「第１の座標情報」という。）を取得する（Ｓ７０４）。
【０１０３】
次に、サーバ１０は、入力住居番号に変数Ｉの値を加算し、当該加算して得られる住居番号（以下、「加算住居番号」という。）が、住所情報記憶手段１０４に存在するか否かを判定する（Ｓ７０５）。そして、加算住居番号が住所情報記憶手段１０４に存在すると判定した場合（Ｓ７０５；ＹＥＳ）、住所情報記憶手段１０４から、加算住居番号に対応する基準点の座標情報（以下、「第２の座標情報」という。）を取得する（Ｓ７０６）。
【０１０４】
サーバ１０は、第１の座標情報と第２の座標情報の中間座標を算出し（Ｓ７０７）、算出した中間座標を、地図画像情報の検索に用いる座標情報に設定する（Ｓ７０８）。なお、中間座標は、従来の技術を適用して算出することができる。
【０１０５】
一方、Ｓ７０５において、サーバ１０は、加算住居番号が住所情報記憶手段１０４に存在しないと判定した場合（Ｓ７０５；ＮＯ）、減算住居番号に対応する基準点の第１の座標情報を、検索用の座標情報に設定する（Ｓ７０９）。
【０１０６】
また、Ｓ７０３において、サーバ１０は、減算住居番号が住所情報記憶手段１０４に存在しないと判定した場合（Ｓ７０３；ＮＯ）、入力住居番号に変数Ｉの値を加算し、当該加算して得られる加算住居番号が、住所情報記憶手段１０４に存在するか否かを判定する（Ｓ７１１）。加算住居番号が住所情報記憶手段１０４に存在すると判定した場合（Ｓ７１１；ＹＥＳ）、住所情報記憶手段１０４から、加算住居番号に対応する基準点の第２の座標情報を取得し（Ｓ７１２）、この第２の座標情報を、地図画像情報の検索に用いる座標情報に設定する（Ｓ７１３）。
【０１０７】
一方、Ｓ７１１において、サーバ１０は、加算住居番号が住所情報記憶手段１０４に存在しないと判定した場合（Ｓ７１１；ＮＯ）、Ｓ７０２に戻り、地図画像情報の検索に用いるいずれかの座標情報（中間座標、第１の座標情報、第２の座標情報）が設定されるまで、Ｓ７０２〜Ｓ７１３の処理を繰り返す。なお、ここでは、入力住居番号に対する減算処理を実行（Ｓ７０３）した後、加算処理を実行（Ｓ７０５）しているが、加算処理を実行してから減算処理を実行するようにしてもよい。
【０１０８】
図１０に戻り、サーバ１０は、設定された座標情報に対応する地図画像情報を、地図情報記憶手段から抽出する。具体的には、Ｓ５０１にて抽出された座標情報（例、街区の座標情報や正しい入力住居番号の座標情報）、あるいは加減算処理にて算出された中間座標又は抽出された第１の座標情報／第２の座標情報を用いて、地図画像情報を検索する。
【０１０９】
サーバ１０は、抽出した地図画像情報を、端末装置２０へ送信する。図８（Ｂ）は、ユーザが誤って入力した住居番号に対して上述の加減算処理を実行した結果の一例を示している。具体的には、ユーザが、「○○県○○市△△２−２０−１０」と入力したところ、廃番等の理由により住居番号「１０」は住所情報記憶手段に存在していないため、住居番号「１０」に対して上述の加減算処理を実行した結果、住居番号「９」の基準点（図８（Ｂ）中のＢ）及び住居番号「１１」の基準点（図８（Ｂ）中のＤ）の中間座標（図８（Ｂ）中のＣ）が得られたことを示している。
【０１１０】
以上の実施形態によれば、ユーザより入力された住居番号に所定値を加減算して得られる、両方向の住居番号の座標情報に基づいて中間座標を算出し、この中間座標を地図画像情報検索に用いる座標情報に設定しているので、座標特定の精度をより高めることができる結果、ユーザが意図した地点により近い地点の座標を特定することができるようになる。
【０１１１】
［その他の実施形態］
なお、本発明は、上記実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において、他の様々な形で実施することができる。このため、上記実施形態はあらゆる点で単なる例示にすぎず、限定的に解釈されるものではない。
【０１１２】
また、上記実施形態では、ネットワークシステム１００においてサーバ１０と端末装置２０を上述したような機能を備えたものとしたが、本発明は、端末装置２０に、判定手段１０６の一部である結線ポリゴン作成手段１０８及び相似性判定手段１０９、さらに加減算処理手段１１０を持たせて判定処理を行うように構成し、サーバ装置１０では、記憶手段（データベース）１０４に格納されたデータに関連する処理を実行するように構成することもできる。また、本発明は、スタンドアロンの装置に対しても同様に適用することができる。
【０１１３】
また、上記実施形態では、「街区」と「住居番号」を含む住所情報を例に説明したが、本願発明が適用される住所情報はこれに限られず、上位階層に相当する住所情報が、ある区画された領域を示すものであり、下位階層に相当する住所情報が、当該区画された領域内に一定のルールに従って付与されるものであれば、これを適用することができる。
【符号の説明】
【０１１４】
１０   サーバ
２０   端末装置
１００ 地図情報検索システム
１０１ 主制御部
１０２ 通信手段
１０３ 入力住所情報受付手段
１０４ 記憶手段
１０５ 入力住所情報判定手段
１０６ 判定手段
１０７ パターン情報抽出手段
１０８ 住居番号の結線ポリゴン作成手段
１０９ 相似性判定手段
１１０ 加減算処理手段
１１１ 座標情報抽出手段
１１２ 地図情報抽出手段
２０１ 主制御部
２０２ 記憶手段
２０３ 入力手段
２０４ 表示手段
２０５ 通信手段
２０６ 入力住所情報送信手段
Ｎ     ネットワーク
【図１】
2011053982.tif 000003
【図２】
2011053982.tif 000004
【図３】
2011053982.tif 000005
【図４】
2011053982.tif 000006
【図５】
2011053982.tif 000007
【図６】
2011053982.tif 000008
【図７】
2011053982.tif 000009
【図８】
2011053982.tif 000010
【図９】
2011053982.tif 000011
【図１０】
2011053982.tif 000012
【図１１】
2011053982.tif 000013