(57)【要約】【課題】検索住所文字列を含み、空間的包含関係を持つ住所の組み合わせのうち、規定の階層について包含される住所を排除して住所の検索を行うことができるようにする。【解決手段】本発明で使用する住所データベースは、住所情報のレコードのＩＤ、部分住所名称（ShortAddress）、完全住所名称（LongAddress ）、その住所が持つ位置情報の緯度情報（Latitude）、経度情報(Longitude）、その住所が持つ範囲情報の東西幅(Width）、南北幅（Height）、検索対象フラグ（Flag）のそれぞれを格納するフィールドを有する複数の住所情報のレコードにより構成される。そして、ShortAddressに対してキーワード検索を行い、検索結果が１件以上得られればそのレコードを検索結果とし、検索結果が得られなければ、LongAddress に対して同一のキーワードによる検索を行って、その結果を出力する。【選択図】      図１
2006072802.tif 000002
【特許請求の範囲】
【請求項１】
住所データベースと該住所データベースを検索する検索装置とを有し、該検索装置による住所データの検索方法において、前記住所データベースは、少なくとも、住所を一意に区別できる完全住所名称の住所文字列を格納するフィールドと、前記完全住所名称の住所文字列のある一部の文字列である部分住所名称の住所文字列を格納するフィールドとを有する複数の住所情報のレコードにより構成され、前記検索装置は、入力された文字列を使用して前記住所データベースを検索する際、前記住所データベースの部分住所名称の住所文字列を格納するフィールドを対象として検索を行い、検索結果が得られた場合、対応する完全住所名称の住所文字列を出力することを特徴とする住所データの検索方法。
【請求項２】
前記住所データベースの部分住所名称の住所文字列を格納するフィールドを対象として検索を行って検索結果が得られなかった場合、前記検索装置は、前記住所データベースの部分住所名称の住所文字列を格納するフィールドを対象として検索を行うことを特徴とする請求項１記載の住所データの検索方法。
【請求項３】
前記住所データベースの住所情報のレコードに、そのレコードを検索対象とするか否かを示す検索対象フラグを格納するフィールドを設け、検索時、この検索対象フラグが参照されることを特徴とする請求項１または２記載の住所データの検索方法。
【請求項４】
前記出力された検索結果の住所文字列が、その住所を含む地図を表示するために使用されることを特徴とする請求項１、２または３記載の住所データの検索方法。
【請求項５】
請求項１ないし４のうち１記載の住所データの検索方法に使用する住所データベースであって、住所を一意に区別できる完全住所名称の住所文字列を格納するフィールド、前記完全住所名称の住所文字列のある一部の文字列である部分住所名称の住所文字列を格納するフィールド、その住所が持つ位置情報の緯度情報、経度情報を格納するフィールド、その住所が持つ範囲情報の東西幅、南北幅を格納するフィールド、検索対象フラグを格納するフィールドを有する複数の住所情報のレコードにより構成されることを特徴とする住所データベース。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、住所データの検索方法及び住所データベースに係り、特に、住所の空間的包含関係にある組み合わせのうち、包含されている住所を排除して検索を行う住所データの検索方法及び該検索方法で使用する住所データベースに関する。
【背景技術】
【０００２】
一般に、住所名称は、範囲のある地域を示す名称を階層状に並べて、例えば、“東京都”、“品川区”、“東品川”、“４丁目”、“１２番”、“７号”というように構成される。これらの名称は、それぞれ代表的な位置（例えば、北緯３４度東経１３４度）と範囲（例えば、位置を中心に東西２０ｋｍ、南北２５ｋｍ）とを持つ。また、通常、大きな範囲を指す住所名称は、より小さな範囲を指す住所名称を包含することとなる。そして、住所名称は、階層構造を持ち、大きな範囲の住所名称から徐々に狭い範囲の住所名称を連結して表現することにより、同名の住所名称であっても区別することができるように構成されている。
【０００３】
図５は前述したような住所名称が階層構造を持つことを説明するためのモデル地図の例を示す図である。
【０００４】
図５に示すような地図により表される地域について考える。図示例の場合、細い点線で囲まれた地域Ａの住所名称が“×区”であり、この“×区”は、中心位置１１と四辺形で示される凡その範囲１２とを持つ。また、“×区”内の地域Ｂの住所名称が“△町”であり、この“△町”は、中心位置１３と四辺形で示される凡その範囲１４とを持つ。この場合、地域Ｂは、地域Ａに空間的に包含されている。一方、地域Ａの外部にある地域Ｃの住所名称が地域Ｂと同じ“△町”であり、中心位置１５と四辺形で示される凡その範囲１６を持つものとする。この場合、地域Ｂと地域Ｃとは同一の名称を持つが、位置と範囲とが異なる。この地域を判別するために、その地域を包含する地域名称を連結させる。すなわち、地域Ｂは、地域Ａに包含されるので、“×区△町”となり、地域Ｃは、“□区△町”となる。このように、住所は、包含関係にある住所名称を連結することにより一意に判別することができる。前述したように、住所は、Ｎ分木構造をもつものと仮定することができる。
【０００５】
図６は住所を表現する階層構造について説明する図であり、次に、これについて説明する。
【０００６】
日本国内においては、図６に示すように、住所は、複数の階層２１を持つ階層構造により表現され、階層毎の名称２２を有して構成される。階層２１は、通常、国、都道府県、市区町村、大字、丁目、番地、号により構成され、階層毎の名称２２は、国が日本国、国の下位の都道府県の名称が、例えば、東京都、神奈川県等であり、都道府県の下位の市区町村の名称が、都道府県名が東京都である場合、品川区、世田谷区、江戸川区等である。また、大字、丁目、番地、号の名称は、市区町村の名称が品川区である場合、例えば、東品川、４丁目、１２番地、７号等である。
【０００７】
前述したような住所名称と住所に関係する住所データとを保存する場合、前述したような住所データの階層構造を考慮する必要があり、通常、住所データの階層構造を考慮してデータベース（ＤＢ）が作成されている。このように構成されるＤＢを使用して住所検索を行う従来技術として、例えば、特許文献１等に記載された技術が知られている。
【０００８】
この従来技術は、図６に示した住所データの階層の名称の付与の方法とは異なるが、少なくとも、丁目または字からなるデータの階層と、街区、地番または戸番からなるデータの階層とを含む住所データをデータ記憶手段に予め記憶しておき、住所の少なくとも一部分を入力情報として受け付け、入力された前記一部分の情報が、所定の記号あるいはスペースで区切られた複数の数のとき、区切られた数の上位側のものから順次、前記データ記憶手段中のデータの階層を検索し、該当するデータが見つかった場合に、区切られた次の数字について同様に前記データ記憶手段の次の階層を検索することにより、入力された複数の数に対応する住所を検索するというものである。
【特許文献１】特開２００３−３２９４５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
前述した従来技術は、検索の結果、検索住所文字列を含む住所かつ空間的包含関係を持つ住所の組み合わせの多数が得られることになる。しかし、包含関係のある住所のうち、包含される住所は、住所に対応する地域の位置、範囲を地図表示する装置で扱う場合等において、それほど意味のない場合が多い。すなわち、前記した従来技術は、例えば、地図表示装置に東京都全体を表示させるために、検索住所文字列“東京都”を含む住所を検索した場合、東京都内の市区町村、さらにその市区町村以下の“東京都”に包含される全ての住所が一致してしまい、ユーザにとって無意味で不要な膨大な住所が得られてしまうという問題点を生じさせている。
【００１０】
本発明の目的は、前述した従来技術の問題点を解決し、検索住所文字列を含む住所で、かつ、空間的包含関係を持つ住所の組み合わせのうち、規定の階層について包含される住所を排除して住所の検索を行うことができるようにした地図表示のために使用して好適な住所データの検索方法及び該検索方法で使用する住所データベースを提供することにある。
【課題を解決するための手段】
【００１１】
本発明によれば前記目的は、住所データベースと該住所データベースを検索する検索装置とを有し、該検索装置による住所データの検索方法において、前記住所データベースが、少なくとも、住所を一意に区別できる完全住所名称の住所文字列を格納するフィールドと、前記完全住所名称の住所文字列のある一部の文字列である部分住所名称の住所文字列を格納するフィールドとを有する複数の住所情報のレコードにより構成され、前記検索装置が、入力された文字列を使用して前記住所データベースを検索する際、前記住所データベースの部分住所名称の住所文字列を格納するフィールドを対象として検索を行い、検索結果が得られた場合、対応する完全住所名称の住所文字列を出力することにより達成される。
【００１２】
また、前記目的は、前記データベースを、住所を一意に区別できる完全住所名称の住所文字列を格納するフィールド、前記完全住所名称の住所文字列のある一部の文字列である部分住所名称の住所文字列を格納するフィールド、その住所が持つ位置情報の緯度情報、経度情報を格納するフィールド、その住所が持つ範囲情報の東西幅、南北幅を格納するフィールド、検索対象フラグを格納するフィールドを有する複数の住所情報のレコードにより構成することにより達成される。
【発明の効果】
【００１３】
本発明によれば、検索住所文字列を含み、空間的包含関係を持つ住所の組み合わせのうち、規定の階層について包含される住所を排除して住所の検索を行うことができ、検索された住所を含む地図を表示させて操作を行う場合に、効率的な操作を行うことができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明による住所データの検索方法の実施形態を図面により詳細に説明する。
【００１５】
図１は本発明の実施形態で使用する住所データベースのテーブル構成を説明する図であり、まず、これについて説明する。
【００１６】
以下に説明する本発明の実施形態において、例えば、東京都内における“品川”というキーワードを含む位置と範囲とを持つ住所名称は、“品川区”（東京都品川区）、“東品川”（東京都品川区東品川）、“西品川”（東京都品川区西品川）、“南品川”（東京都品川区南品川）、“北品川”（東京都品川区北品川）があるとする。そうすると、“品川区”の範囲は、“東品川”、“西品川”、“南品川”、“北品川”の各位置と範囲とを含むことになる。以後、説明では、“品川区”のような地域の名称を部分住所名称と呼び、“東京都品川区”のように包含する地域の部分住所名称を連結し、一意に示すことのできる地域の名称を完全住所名称と呼ぶこととする。
【００１７】
そして、本発明の実施形態で使用する住所データベースは、住所情報をレコード単位で格納して構成される。すなわち、住所データベースは、図１に示すように、複数の住所情報のレコードにより構成され、各住所情報のレコードは、その住所情報のレコードのＩＤを格納するフィールド、部分住所名称（以下、ShortAddressという）を格納するフィールド、完全住所名称（以下、LongAddress という）を格納するフィールド、その住所が持つ位置情報の緯度情報（Latitude）、経度情報(Longitude）を格納するフィールド、その住所が持つ範囲情報の東西幅(Width）、南北幅（Height）を格納するフィールド、検索対象フラグ（Flag）を格納するフィールドを有して構成される。
【００１８】
ShortAddressのフィールドには、図６により説明した階層の名称が格納され、LongAddress のフィールドには、そのレコードのShortAddressのフィールドに格納された階層の名称より上位の階層の名称を含み、下位の階層の名称を含まない住所名称が格納される。このため、ShortAddressのフィールドに「東品川」が格納されている場合、そのレコードのLongAddress のフィールドには、「東京都品川区東品川」が格納されることになる。この住所データベースは、概念上、図６によりすでに説明したＮ分木構造を表現している。
【００１９】
前述したように構成されるデータベースの２つの住所フィールドに対してそれぞれの住所検索を行った場合、検索条件によって不都合が生じる場合がある。すなわち、LongAddress に対して“品川”という単一のキーワードを用いて検索を行った場合、品川区内の全ての住所レコードが該当することになり、このため、ユーザに無意味な結果を表示することになる。一方、ShortAddressに対して“品川”、かつ、“東京”という条件で検索を行った場合、“東京都品川区”の住所を持つレコードが存在しないことになる。
【００２０】
図２は本発明の実施形態による住所データの検索処理について説明するフローチャートであり、次に、これについて説明する。ここで説明する本発明の実施形態による検索方法は、前述した２つの住所フィールドに対する検索方法の問題を解決することができるものであり、２つのフィールドに対して検索処理を逐次実行するものである。
【００２１】
（１）まず、検索文字列を取得する。例えば、文字列“品川”、複数の文字列をＡＮＤ検索する場合には、文字列間にスペースなどの空白文字で区切った“東京  品川”を取得する（ステップＳ５０１）。
【００２２】
（２）次に、ShortAddressに対して、ステップＳ５０１で取得した検索文字列をキーワードとして検索を行い、該当するレコード数とそのレコードとを取得し、検索により得られた該当レコード数が０件であるか否かを判定する（ステップＳ５０２、Ｓ５０３）。
【００２３】
（３）ステップＳ５０３の判定で、該当レコード数が０件でなかった場合、すなわち、該当レコード数が１または複数あった場合、検索で取得された該当レコードを検索結果として出力する（ステップＳ５０５）。
【００２４】
（４）ステップＳ５０３の判定で、該当レコード数が０件であった場合、次に、LongAddress に対して、ステップＳ５０１で取得した検索文字列をキーワードとして検索を行い、該当するレコード数とそのレコードとを取得し、取得された該当レコードを検索結果として出力する（ステップＳ５０４、Ｓ５０５）。
【００２５】
前述した本発明の実施形態における処理は、処理プログラムとして構成することができ、この処理プログラムは、ＨＤ、ＤＡＴ、ＦＤ、ＭＯ、ＤＶＤ−ＲＯＭ、ＣＤ−ＲＯＭ等の記録媒体に格納して提供することができる。
【００２６】
図３は本発明の実施形態により住所データを検索して地図を表示した場合の表示画面の例を説明する図である。ここで示す表示画面の例は、ある地域の詳細な地図や上空撮影した画像を重畳表示、拡大表示、縮小表示、平行移動して表示することができるシステムに本発明を適用した場合の例である。なお、地図上の位置、範囲のデータとデータベース上の位置、範囲の情報とは一致しているものとする。
【００２７】
本発明が適用されたシステムが立ち上げられると、図３に示すように、地図表示部６１と、検索キーワード入力部６２と、検索ボタン６３と、検索結果表示部６４とを有する画面が表示される。このとき、地図表示部６１、検索キーワード入力部６２、検索結果表示部６４には何も表示されていない。そして、ユーザが、目的の地域の地図を画面上の地図表示部６１に表示させたいとき、まず、目的の地域の住所名称をキーワードとして検索キーワード入力部６２に入力し、検索ボタン６３をクリックする。これにより、システムは、図２に示すフローに従って検索処理を実行して得られた検索結果を検索結果表示部６４に表示する。
【００２８】
前述において、検索キーワード入力部６２に「品川」が入力されたものとし、図１に例として示したデータベース上のテーブルを検索するものとする。この場合、検索結果として、ShortAddressのフィールドの「品川区」と「東品川」との２件が得られ、対応するLongAddress のフィールドに格納されている住所名称の「東京都品川区」と「東京都品川区東品川」とが図３の検索結果表示部６４に示しているように表示されることになる。ユーザは、検索結果表示部６４に表示された検索結果の１つをクリック等により指定することによって、指定した住所名称の位置と範囲とを地図表示部に表示することができる。図３に示す例では、「東京都品川区」が指定されたことにより、地図表示部６１に「東京都品川区」の全域を示す地図が表示されている。ユーザが検索結果表示部６４から「東京都品川区東品川」を指定した場合、「東京都品川区東品川」だけを含む地域の地図が地図表示部６１に表示される。
【００２９】
前述において、ユーザが、さらに、“丁目”、“番地”、“号”といった階層の詳しい地図を絞り込もうとする場合、ユーザは、地図表示部６１に表示された地図を参照しながら“拡大”、“平行移動”といったユーザインタフェースを使用して所望の地図の表示を行わせることができる。
【００３０】
なお、検索結果表示部６４に表示された住所名称からその住所名称を含む地図を表示させるための処理は、本発明とは直接的には関係しないが、例えば、地図情報を格納した地図データベースの地図から、前述で検索結果として得られた住所名称の位置情報に基づいて取り出すようにすることができ、あるいは、既に、地図情報の検索方法として知られている公知の方法を用いることもできる。
【００３１】
次に、前述の検索の動作を、検索の対象とするデータベース上のテーブルが図１に示すものであるとして具体的に説明する。既に説明したように、データベース上のテーブルは、図１に示すように、そのレコードが、“ＩＤ”、“ShortAddress（部分住所名称）”、“LongAddress(完全住所名称）”、“Latitude（緯度）”、“Longitude(経度）”、“Width(東西の範囲）”、“Height（南北の範囲）”、“Flag（検索対象フラグ）”の各フィールドを持つ。そして、検索の際、FlagフィールドがTrueのレコードのみを対象とする。これは、“丁目”、“番地”、“号”レベルの階層にあたる住所についてはキーワードで絞り込みを行うことが困難であるためである。このため、前述の例では、これらのFlagフィールドにFalse を格納して検索対象外としている。
【００３２】
図４はスペースキーでキーワードを区切ることにより複数のキーワードを含む住所を検索した場合の検索結果の具体例について説明する図であり、次に、これについて説明する。前述の図３に示す例では、「品川」という１つのキーワードだけを入力して検索した場合を例に説明したが、ここでは、“東京”と“品川”との２つを含む住所がキーワードとして入力されたものとする。
【００３３】
「東京」及び「品川」の２つを含む住所を検索したとき、“ShortAddress”のフィールドの文字列には、条件に一致するレコードがないため、“LongAddress” のフィールドの文字列を対象として検索が行われる。そして、この場合、Flagフィールドの値を無視して全件検索を行うこととする。この結果、検索結果データとして、図４に示すように、LongAddress のフィールドに格納された住所から「東京都品川区」、「東京都品川区東品川」、「東京都品川区東品川４丁目」、「東京都品川区東品川４丁目１２番」、「東京都品川区東品川４丁目１２番７号」の５つの住所が得られることになる。もちろん、FlagフィールドがTrueのレコードのみを対象として検索を行うことも可能であり、この場合、図３により説明した場合と同様に、「東京都品川区」、「東京都品川区東品川」の２つの住所だけが得られることになる。
【００３４】
図３により説明したシステムに本発明の実施形態による検索方法を適用して、検索結果として図４に示すような結果が検索結果表示部６４に表示されたとき、これらの検索結果を表示している検索結果表示部６４内の１つをユーザがマウスでクリック等して指定すると、対応する住所を含む地図が画面表示部６１に図示される。このとき、地図表示部の中心位置は住所の中心位置、表示範囲は住所の範囲全体となる。
【００３５】
前述で説明したような本発明の実施形態によれば、LongAddress を対象に住所検索を行った場合、検索された住所全てがキーワードに該当してしまうが、ShortAddress を対象として住所検索を前処理として行うことにより、代表的な住所に絞った検索を行うことができ、これにより、検索キーワードを含む住所名称のうち、比較的広い範囲を持つ住所に絞った検索結果を得ることができる。そして、検索結果を用いて表示させた地図上で、検索結果よりも詳細な地図を表示させる場合、ユーザインタフェースを用いて地図表示部を見ながら移動、拡大等の操作を行うことができ、これにより、効率的な操作を行うことができる。
【００３６】
前述した本発明の実施形態は、ＣＰＵ、ハードディスク装置、主記憶装置、ディスプレイ、キーボード、マウス、通信制御部等を備えて構成されるよく知られているようなＰＣ、ワークステーション等の情報処理装置内に構築することができ、前述したデータベースは、ハードディスク装置に格納されればよく、また、図２により説明した処理は、主記憶装置にロードされたプログラムを、同様に主記憶装置にロードされたＯＳの下でＣＰＵに実行させればよい。
【図面の簡単な説明】
【００３７】
【図１】本発明の実施形態で使用する住所データベースのテーブル構成を説明する図である。
【図２】本発明の実施形態による住所データの検索処理について説明するフローチャートである。
【図３】本発明の実施形態により住所データを検索して地図を表示した場合の表示画面の例を説明する図である。
【図４】スペースキーでキーワードを区切ることにより複数のキーワードを含む住所を検索した場合の検索結果の具体例について説明する図である。
【図５】住所名称が階層構造を持つことを説明するためのモデル地図の例を示す図である。
【図６】住所を表現する階層構造について説明する図である。
【符号の説明】
【００３８】
６１  地図表示部６１
６２  検索キーワード入力部
６３  検索ボタン
６４  検索結果表示部
【図１】
2006072802.tif 000003
【図２】
2006072802.tif 000004
【図３】
2006072802.tif 000005
【図４】
2006072802.tif 000006
【図５】
2006072802.tif 000007
【図６】
2006072802.tif 000008