説明

住所データの検索方法及び住所データベース

【課題】検索住所文字列を含み、空間的包含関係を持つ住所の組み合わせのうち、規定の階層について包含される住所を排除して住所の検索を行うことができるようにする。
【解決手段】本発明で使用する住所データベースは、住所情報のレコードのID、部分住所名称(ShortAddress)、完全住所名称(LongAddress )、その住所が持つ位置情報の緯度情報(Latitude)、経度情報(Longitude)、その住所が持つ範囲情報の東西幅(Width)、南北幅(Height)、検索対象フラグ(Flag)のそれぞれを格納するフィールドを有する複数の住所情報のレコードにより構成される。そして、ShortAddressに対してキーワード検索を行い、検索結果が1件以上得られればそのレコードを検索結果とし、検索結果が得られなければ、LongAddress に対して同一のキーワードによる検索を行って、その結果を出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、住所データの検索方法及び住所データベースに係り、特に、住所の空間的包含関係にある組み合わせのうち、包含されている住所を排除して検索を行う住所データの検索方法及び該検索方法で使用する住所データベースに関する。
【背景技術】
【0002】
一般に、住所名称は、範囲のある地域を示す名称を階層状に並べて、例えば、“東京都”、“品川区”、“東品川”、“4丁目”、“12番”、“7号”というように構成される。これらの名称は、それぞれ代表的な位置(例えば、北緯34度東経134度)と範囲(例えば、位置を中心に東西20km、南北25km)とを持つ。また、通常、大きな範囲を指す住所名称は、より小さな範囲を指す住所名称を包含することとなる。そして、住所名称は、階層構造を持ち、大きな範囲の住所名称から徐々に狭い範囲の住所名称を連結して表現することにより、同名の住所名称であっても区別することができるように構成されている。
【0003】
図5は前述したような住所名称が階層構造を持つことを説明するためのモデル地図の例を示す図である。
【0004】
図5に示すような地図により表される地域について考える。図示例の場合、細い点線で囲まれた地域Aの住所名称が“×区”であり、この“×区”は、中心位置11と四辺形で示される凡その範囲12とを持つ。また、“×区”内の地域Bの住所名称が“△町”であり、この“△町”は、中心位置13と四辺形で示される凡その範囲14とを持つ。この場合、地域Bは、地域Aに空間的に包含されている。一方、地域Aの外部にある地域Cの住所名称が地域Bと同じ“△町”であり、中心位置15と四辺形で示される凡その範囲16を持つものとする。この場合、地域Bと地域Cとは同一の名称を持つが、位置と範囲とが異なる。この地域を判別するために、その地域を包含する地域名称を連結させる。すなわち、地域Bは、地域Aに包含されるので、“×区△町”となり、地域Cは、“□区△町”となる。このように、住所は、包含関係にある住所名称を連結することにより一意に判別することができる。前述したように、住所は、N分木構造をもつものと仮定することができる。
【0005】
図6は住所を表現する階層構造について説明する図であり、次に、これについて説明する。
【0006】
日本国内においては、図6に示すように、住所は、複数の階層21を持つ階層構造により表現され、階層毎の名称22を有して構成される。階層21は、通常、国、都道府県、市区町村、大字、丁目、番地、号により構成され、階層毎の名称22は、国が日本国、国の下位の都道府県の名称が、例えば、東京都、神奈川県等であり、都道府県の下位の市区町村の名称が、都道府県名が東京都である場合、品川区、世田谷区、江戸川区等である。また、大字、丁目、番地、号の名称は、市区町村の名称が品川区である場合、例えば、東品川、4丁目、12番地、7号等である。
【0007】
前述したような住所名称と住所に関係する住所データとを保存する場合、前述したような住所データの階層構造を考慮する必要があり、通常、住所データの階層構造を考慮してデータベース(DB)が作成されている。このように構成されるDBを使用して住所検索を行う従来技術として、例えば、特許文献1等に記載された技術が知られている。
【0008】
この従来技術は、図6に示した住所データの階層の名称の付与の方法とは異なるが、少なくとも、丁目または字からなるデータの階層と、街区、地番または戸番からなるデータの階層とを含む住所データをデータ記憶手段に予め記憶しておき、住所の少なくとも一部分を入力情報として受け付け、入力された前記一部分の情報が、所定の記号あるいはスペースで区切られた複数の数のとき、区切られた数の上位側のものから順次、前記データ記憶手段中のデータの階層を検索し、該当するデータが見つかった場合に、区切られた次の数字について同様に前記データ記憶手段の次の階層を検索することにより、入力された複数の数に対応する住所を検索するというものである。
【特許文献1】特開2003−329458号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
前述した従来技術は、検索の結果、検索住所文字列を含む住所かつ空間的包含関係を持つ住所の組み合わせの多数が得られることになる。しかし、包含関係のある住所のうち、包含される住所は、住所に対応する地域の位置、範囲を地図表示する装置で扱う場合等において、それほど意味のない場合が多い。すなわち、前記した従来技術は、例えば、地図表示装置に東京都全体を表示させるために、検索住所文字列“東京都”を含む住所を検索した場合、東京都内の市区町村、さらにその市区町村以下の“東京都”に包含される全ての住所が一致してしまい、ユーザにとって無意味で不要な膨大な住所が得られてしまうという問題点を生じさせている。
【0010】
本発明の目的は、前述した従来技術の問題点を解決し、検索住所文字列を含む住所で、かつ、空間的包含関係を持つ住所の組み合わせのうち、規定の階層について包含される住所を排除して住所の検索を行うことができるようにした地図表示のために使用して好適な住所データの検索方法及び該検索方法で使用する住所データベースを提供することにある。
【課題を解決するための手段】
【0011】
本発明によれば前記目的は、住所データベースと該住所データベースを検索する検索装置とを有し、該検索装置による住所データの検索方法において、前記住所データベースが、少なくとも、住所を一意に区別できる完全住所名称の住所文字列を格納するフィールドと、前記完全住所名称の住所文字列のある一部の文字列である部分住所名称の住所文字列を格納するフィールドとを有する複数の住所情報のレコードにより構成され、前記検索装置が、入力された文字列を使用して前記住所データベースを検索する際、前記住所データベースの部分住所名称の住所文字列を格納するフィールドを対象として検索を行い、検索結果が得られた場合、対応する完全住所名称の住所文字列を出力することにより達成される。
【0012】
また、前記目的は、前記データベースを、住所を一意に区別できる完全住所名称の住所文字列を格納するフィールド、前記完全住所名称の住所文字列のある一部の文字列である部分住所名称の住所文字列を格納するフィールド、その住所が持つ位置情報の緯度情報、経度情報を格納するフィールド、その住所が持つ範囲情報の東西幅、南北幅を格納するフィールド、検索対象フラグを格納するフィールドを有する複数の住所情報のレコードにより構成することにより達成される。
【発明の効果】
【0013】
本発明によれば、検索住所文字列を含み、空間的包含関係を持つ住所の組み合わせのうち、規定の階層について包含される住所を排除して住所の検索を行うことができ、検索された住所を含む地図を表示させて操作を行う場合に、効率的な操作を行うことができる。
【発明を実施するための最良の形態】
【0014】
以下、本発明による住所データの検索方法の実施形態を図面により詳細に説明する。
【0015】
図1は本発明の実施形態で使用する住所データベースのテーブル構成を説明する図であり、まず、これについて説明する。
【0016】
以下に説明する本発明の実施形態において、例えば、東京都内における“品川”というキーワードを含む位置と範囲とを持つ住所名称は、“品川区”(東京都品川区)、“東品川”(東京都品川区東品川)、“西品川”(東京都品川区西品川)、“南品川”(東京都品川区南品川)、“北品川”(東京都品川区北品川)があるとする。そうすると、“品川区”の範囲は、“東品川”、“西品川”、“南品川”、“北品川”の各位置と範囲とを含むことになる。以後、説明では、“品川区”のような地域の名称を部分住所名称と呼び、“東京都品川区”のように包含する地域の部分住所名称を連結し、一意に示すことのできる地域の名称を完全住所名称と呼ぶこととする。
【0017】
そして、本発明の実施形態で使用する住所データベースは、住所情報をレコード単位で格納して構成される。すなわち、住所データベースは、図1に示すように、複数の住所情報のレコードにより構成され、各住所情報のレコードは、その住所情報のレコードのIDを格納するフィールド、部分住所名称(以下、ShortAddressという)を格納するフィールド、完全住所名称(以下、LongAddress という)を格納するフィールド、その住所が持つ位置情報の緯度情報(Latitude)、経度情報(Longitude)を格納するフィールド、その住所が持つ範囲情報の東西幅(Width)、南北幅(Height)を格納するフィールド、検索対象フラグ(Flag)を格納するフィールドを有して構成される。
【0018】
ShortAddressのフィールドには、図6により説明した階層の名称が格納され、LongAddress のフィールドには、そのレコードのShortAddressのフィールドに格納された階層の名称より上位の階層の名称を含み、下位の階層の名称を含まない住所名称が格納される。このため、ShortAddressのフィールドに「東品川」が格納されている場合、そのレコードのLongAddress のフィールドには、「東京都品川区東品川」が格納されることになる。この住所データベースは、概念上、図6によりすでに説明したN分木構造を表現している。
【0019】
前述したように構成されるデータベースの2つの住所フィールドに対してそれぞれの住所検索を行った場合、検索条件によって不都合が生じる場合がある。すなわち、LongAddress に対して“品川”という単一のキーワードを用いて検索を行った場合、品川区内の全ての住所レコードが該当することになり、このため、ユーザに無意味な結果を表示することになる。一方、ShortAddressに対して“品川”、かつ、“東京”という条件で検索を行った場合、“東京都品川区”の住所を持つレコードが存在しないことになる。
【0020】
図2は本発明の実施形態による住所データの検索処理について説明するフローチャートであり、次に、これについて説明する。ここで説明する本発明の実施形態による検索方法は、前述した2つの住所フィールドに対する検索方法の問題を解決することができるものであり、2つのフィールドに対して検索処理を逐次実行するものである。
【0021】
(1)まず、検索文字列を取得する。例えば、文字列“品川”、複数の文字列をAND検索する場合には、文字列間にスペースなどの空白文字で区切った“東京 品川”を取得する(ステップS501)。
【0022】
(2)次に、ShortAddressに対して、ステップS501で取得した検索文字列をキーワードとして検索を行い、該当するレコード数とそのレコードとを取得し、検索により得られた該当レコード数が0件であるか否かを判定する(ステップS502、S503)。
【0023】
(3)ステップS503の判定で、該当レコード数が0件でなかった場合、すなわち、該当レコード数が1または複数あった場合、検索で取得された該当レコードを検索結果として出力する(ステップS505)。
【0024】
(4)ステップS503の判定で、該当レコード数が0件であった場合、次に、LongAddress に対して、ステップS501で取得した検索文字列をキーワードとして検索を行い、該当するレコード数とそのレコードとを取得し、取得された該当レコードを検索結果として出力する(ステップS504、S505)。
【0025】
前述した本発明の実施形態における処理は、処理プログラムとして構成することができ、この処理プログラムは、HD、DAT、FD、MO、DVD−ROM、CD−ROM等の記録媒体に格納して提供することができる。
【0026】
図3は本発明の実施形態により住所データを検索して地図を表示した場合の表示画面の例を説明する図である。ここで示す表示画面の例は、ある地域の詳細な地図や上空撮影した画像を重畳表示、拡大表示、縮小表示、平行移動して表示することができるシステムに本発明を適用した場合の例である。なお、地図上の位置、範囲のデータとデータベース上の位置、範囲の情報とは一致しているものとする。
【0027】
本発明が適用されたシステムが立ち上げられると、図3に示すように、地図表示部61と、検索キーワード入力部62と、検索ボタン63と、検索結果表示部64とを有する画面が表示される。このとき、地図表示部61、検索キーワード入力部62、検索結果表示部64には何も表示されていない。そして、ユーザが、目的の地域の地図を画面上の地図表示部61に表示させたいとき、まず、目的の地域の住所名称をキーワードとして検索キーワード入力部62に入力し、検索ボタン63をクリックする。これにより、システムは、図2に示すフローに従って検索処理を実行して得られた検索結果を検索結果表示部64に表示する。
【0028】
前述において、検索キーワード入力部62に「品川」が入力されたものとし、図1に例として示したデータベース上のテーブルを検索するものとする。この場合、検索結果として、ShortAddressのフィールドの「品川区」と「東品川」との2件が得られ、対応するLongAddress のフィールドに格納されている住所名称の「東京都品川区」と「東京都品川区東品川」とが図3の検索結果表示部64に示しているように表示されることになる。ユーザは、検索結果表示部64に表示された検索結果の1つをクリック等により指定することによって、指定した住所名称の位置と範囲とを地図表示部に表示することができる。図3に示す例では、「東京都品川区」が指定されたことにより、地図表示部61に「東京都品川区」の全域を示す地図が表示されている。ユーザが検索結果表示部64から「東京都品川区東品川」を指定した場合、「東京都品川区東品川」だけを含む地域の地図が地図表示部61に表示される。
【0029】
前述において、ユーザが、さらに、“丁目”、“番地”、“号”といった階層の詳しい地図を絞り込もうとする場合、ユーザは、地図表示部61に表示された地図を参照しながら“拡大”、“平行移動”といったユーザインタフェースを使用して所望の地図の表示を行わせることができる。
【0030】
なお、検索結果表示部64に表示された住所名称からその住所名称を含む地図を表示させるための処理は、本発明とは直接的には関係しないが、例えば、地図情報を格納した地図データベースの地図から、前述で検索結果として得られた住所名称の位置情報に基づいて取り出すようにすることができ、あるいは、既に、地図情報の検索方法として知られている公知の方法を用いることもできる。
【0031】
次に、前述の検索の動作を、検索の対象とするデータベース上のテーブルが図1に示すものであるとして具体的に説明する。既に説明したように、データベース上のテーブルは、図1に示すように、そのレコードが、“ID”、“ShortAddress(部分住所名称)”、“LongAddress(完全住所名称)”、“Latitude(緯度)”、“Longitude(経度)”、“Width(東西の範囲)”、“Height(南北の範囲)”、“Flag(検索対象フラグ)”の各フィールドを持つ。そして、検索の際、FlagフィールドがTrueのレコードのみを対象とする。これは、“丁目”、“番地”、“号”レベルの階層にあたる住所についてはキーワードで絞り込みを行うことが困難であるためである。このため、前述の例では、これらのFlagフィールドにFalse を格納して検索対象外としている。
【0032】
図4はスペースキーでキーワードを区切ることにより複数のキーワードを含む住所を検索した場合の検索結果の具体例について説明する図であり、次に、これについて説明する。前述の図3に示す例では、「品川」という1つのキーワードだけを入力して検索した場合を例に説明したが、ここでは、“東京”と“品川”との2つを含む住所がキーワードとして入力されたものとする。
【0033】
「東京」及び「品川」の2つを含む住所を検索したとき、“ShortAddress”のフィールドの文字列には、条件に一致するレコードがないため、“LongAddress” のフィールドの文字列を対象として検索が行われる。そして、この場合、Flagフィールドの値を無視して全件検索を行うこととする。この結果、検索結果データとして、図4に示すように、LongAddress のフィールドに格納された住所から「東京都品川区」、「東京都品川区東品川」、「東京都品川区東品川4丁目」、「東京都品川区東品川4丁目12番」、「東京都品川区東品川4丁目12番7号」の5つの住所が得られることになる。もちろん、FlagフィールドがTrueのレコードのみを対象として検索を行うことも可能であり、この場合、図3により説明した場合と同様に、「東京都品川区」、「東京都品川区東品川」の2つの住所だけが得られることになる。
【0034】
図3により説明したシステムに本発明の実施形態による検索方法を適用して、検索結果として図4に示すような結果が検索結果表示部64に表示されたとき、これらの検索結果を表示している検索結果表示部64内の1つをユーザがマウスでクリック等して指定すると、対応する住所を含む地図が画面表示部61に図示される。このとき、地図表示部の中心位置は住所の中心位置、表示範囲は住所の範囲全体となる。
【0035】
前述で説明したような本発明の実施形態によれば、LongAddress を対象に住所検索を行った場合、検索された住所全てがキーワードに該当してしまうが、ShortAddress を対象として住所検索を前処理として行うことにより、代表的な住所に絞った検索を行うことができ、これにより、検索キーワードを含む住所名称のうち、比較的広い範囲を持つ住所に絞った検索結果を得ることができる。そして、検索結果を用いて表示させた地図上で、検索結果よりも詳細な地図を表示させる場合、ユーザインタフェースを用いて地図表示部を見ながら移動、拡大等の操作を行うことができ、これにより、効率的な操作を行うことができる。
【0036】
前述した本発明の実施形態は、CPU、ハードディスク装置、主記憶装置、ディスプレイ、キーボード、マウス、通信制御部等を備えて構成されるよく知られているようなPC、ワークステーション等の情報処理装置内に構築することができ、前述したデータベースは、ハードディスク装置に格納されればよく、また、図2により説明した処理は、主記憶装置にロードされたプログラムを、同様に主記憶装置にロードされたOSの下でCPUに実行させればよい。
【図面の簡単な説明】
【0037】
【図1】本発明の実施形態で使用する住所データベースのテーブル構成を説明する図である。
【図2】本発明の実施形態による住所データの検索処理について説明するフローチャートである。
【図3】本発明の実施形態により住所データを検索して地図を表示した場合の表示画面の例を説明する図である。
【図4】スペースキーでキーワードを区切ることにより複数のキーワードを含む住所を検索した場合の検索結果の具体例について説明する図である。
【図5】住所名称が階層構造を持つことを説明するためのモデル地図の例を示す図である。
【図6】住所を表現する階層構造について説明する図である。
【符号の説明】
【0038】
61 地図表示部61
62 検索キーワード入力部
63 検索ボタン
64 検索結果表示部

【特許請求の範囲】
【請求項1】
住所データベースと該住所データベースを検索する検索装置とを有し、該検索装置による住所データの検索方法において、前記住所データベースは、少なくとも、住所を一意に区別できる完全住所名称の住所文字列を格納するフィールドと、前記完全住所名称の住所文字列のある一部の文字列である部分住所名称の住所文字列を格納するフィールドとを有する複数の住所情報のレコードにより構成され、前記検索装置は、入力された文字列を使用して前記住所データベースを検索する際、前記住所データベースの部分住所名称の住所文字列を格納するフィールドを対象として検索を行い、検索結果が得られた場合、対応する完全住所名称の住所文字列を出力することを特徴とする住所データの検索方法。
【請求項2】
前記住所データベースの部分住所名称の住所文字列を格納するフィールドを対象として検索を行って検索結果が得られなかった場合、前記検索装置は、前記住所データベースの部分住所名称の住所文字列を格納するフィールドを対象として検索を行うことを特徴とする請求項1記載の住所データの検索方法。
【請求項3】
前記住所データベースの住所情報のレコードに、そのレコードを検索対象とするか否かを示す検索対象フラグを格納するフィールドを設け、検索時、この検索対象フラグが参照されることを特徴とする請求項1または2記載の住所データの検索方法。
【請求項4】
前記出力された検索結果の住所文字列が、その住所を含む地図を表示するために使用されることを特徴とする請求項1、2または3記載の住所データの検索方法。
【請求項5】
請求項1ないし4のうち1記載の住所データの検索方法に使用する住所データベースであって、住所を一意に区別できる完全住所名称の住所文字列を格納するフィールド、前記完全住所名称の住所文字列のある一部の文字列である部分住所名称の住所文字列を格納するフィールド、その住所が持つ位置情報の緯度情報、経度情報を格納するフィールド、その住所が持つ範囲情報の東西幅、南北幅を格納するフィールド、検索対象フラグを格納するフィールドを有する複数の住所情報のレコードにより構成されることを特徴とする住所データベース。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate