(57)【要約】      （修正有）【課題】比較的簡単な処理によって、検索処理時に地図データベースの読み出し時間を短縮して検索速度を向上させることが可能な地図データベースを作成する。【解決手段】地図データベース作成装置２０は、地図データベース検索装置３０の検索処理における検索ロジックを取得し、データ検索処理の際に検索対象フィールドとして使用される地物の位置を特定する情報を含む項目に対応するデータが所定の規則で並ぶよう、複数のレコードの配列順序を決定して、地図データベースを作成する。地図データベースを記憶媒体に書き込む際には、地図データベース内の複数のレコードが格納される記憶媒体上の物理的な格納位置が、決定された配列順序に対応した格納位置となるよう制御する。【選択図】図１
2018136663.tif 000002
【特許請求の範囲】
【請求項１】
地図データベース検索装置がデータ検索処理の際に参照する地図データベースであって、地物に対応するレコードが複数集まって構成される前記地図データベースを作成して記憶媒体に格納する地図データベース作成装置であって、
前記データ検索処理の際に検索対象フィールドとして使用される前記地物の位置を示す情報を含む項目を特定する検索ロジックに関する情報を取得する検索ロジック取得部と、
前記検索ロジックに関する情報で特定された前記地物の位置を示す情報を含む項目に対応するデータが所定の規則で並ぶように複数のレコードの配列順序を決定して、前記地図データベースを作成する配列順序決定部と、
作成された前記地図データベースを前記記憶媒体に書き込む際に、前記地図データベース内の複数のレコードが格納される前記記憶媒体上の物理的な格納位置が、前記配列順序決定部で決定された前記配列順序に対応した格納位置となるよう制御する地図データベース書き込み部とを、
有する地図データベース作成装置。
【請求項２】
前記検索ロジック取得部は、前記検索ロジックに関する情報を、前記地図データベース検索装置を使用するユーザによる入力情報から取得するか、あるいは、前記地図データベース検索装置に問い合わせを行うことで前記地図データベース検索装置から取得するよう構成されている請求項１に記載の地図データベース作成装置。
【請求項３】
前記地図データベース書き込み部は、クラスタ化インデックスの手法を用いて、前記地図データベースを前記記憶媒体に書き込む際の物理的な格納位置の制御を行うよう構成されている請求項１から３のいずれか１つに記載のデータベース作成装置。
【請求項４】
前記地物の位置を示す情報が、前記地物の位置を表す北座標、東座標、南座標、西座標のいずれかである請求項１から３のいずれか１つに記載の地図データベース作成装置。
【請求項５】
地図データベース検索装置がデータ検索処理の際に参照する地図データベースであって、地物に対応するレコードが複数集まって構成される前記地図データベースを作成して記憶媒体に格納する地図データベース作成装置によって実行される地図データベース作成方法であって、
前記データ検索処理の際に検索対象フィールドとして使用される前記地物の位置を示す情報を含む項目を特定する検索ロジックに関する情報を取得する検索ロジック取得ステップと、
前記検索ロジックに関する情報で特定された前記地物の位置を示す情報を含む項目に対応するデータが所定の規則で並ぶように複数のレコードの配列順序を決定して、前記地図データベースを作成する配列順序決定ステップと、
作成された前記地図データベースを前記記憶媒体に書き込む際に、前記地図データベース内の複数のレコードが格納される前記記憶媒体上の物理的な格納位置が、前記配列順序決定ステップで決定された前記配列順序に対応した格納位置となるよう制御する地図データベース書き込みステップとを、
有する地図データベース作成方法。
【請求項６】
地図データベース検索装置がデータ検索処理の際に参照する地図データベースであって、地物に対応するレコードが複数集まって構成される前記地図データベースを作成して記憶媒体に格納するための地図データベース作成プログラムであって、
前記データ検索処理の際に検索対象フィールドとして使用される前記地物の位置を示す情報を含む項目を特定する検索ロジックに関する情報を取得する検索ロジック取得ステップと、
前記検索ロジックに関する情報で特定された前記地物の位置を示す情報を含む項目に対応するデータが所定の規則で並ぶように複数のレコードの配列順序を決定して、前記地図データベースを作成する配列順序決定ステップと、
作成された前記地図データベースを前記記憶媒体に書き込む際に、前記地図データベース内の複数のレコードが格納される前記記憶媒体上の物理的な格納位置が、前記配列順序決定ステップで決定された前記配列順序に対応した格納位置となるよう制御する地図データベース書き込みステップとを、
コンピュータにより実行させるための地図データベース作成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、地物の地理的な位置を示す位置情報を含む地図データベースを作成する地図データベース作成装置及び地図データベース作成方法並びに地図データベース作成プログラムに関する。
【背景技術】
【０００２】
従来、膨大なデータを管理するためにデータベースを作成及び管理するデータベース管理システムが知られている。データベースは、テーブル形式で表現することができる構造を有している。テーブル形式で表現されたデータベースは、レコード（行）とフィールド（列）によって構成され、１つのレコードは、複数のフィールドのそれぞれに含まれるデータの集まりによって構成される。例えば地図データベースの場合には、各地物が各レコードに対応付けられており、各レコードには、地物の名称、地物の位置情報、地物の表示画像データなどを始めとする複数のフィールドが設けられている。
【０００３】
また、従来、データベースを利用してデータの検索を行うデータベース検索システムが知られている。データベースはデータの検索に適した構造を有しており、データベース内の特定のフィールドに含まれる値を検索することで、その値を特定のフィールドに持つレコードを見つけ出すことが可能である。例えば地理情報に関連したデータの検索や地図画像の表示などを行う地理情報システム（ＧＩＳ：Geographic Information System）では、ある地物の名称が入力された場合、地図データベース内の地物の名称のフィールドを参照して、その地物の名称を含むレコードを見つけ出すことで、その地物に関連する位置情報や表示画像データなどを取得することが可能である。
【０００４】
また、従来のデータベース作成技術及びデータベースを用いた検索技術として、例えば下記の特許文献１、２に開示されている技術が知られている。
【０００５】
特許文献１には、補助記憶装置内の不均一のアドレス間隔の位置に記憶されているデータベースに対する検索要求が発生した時点で、検索要求を解析して検索処理で使用される複数のテーブル及び複数の列を判定して、複数のレコードを主記憶装置に読み出すとともに、検索処理で使用される複数の列のそれぞれに属するデータ要素を主記憶装置内の一定のアドレス間隔を有する位置に記憶して検索処理を実行するデータベース処理方法が開示されている。
【０００６】
また、特許文献２には、多次元データベース管理システムにおいて多次元データを高速に検索、集約するために、各次元が持つメンバをグループ分けして各グループに対応するエントリで構成されたインデクスを作成するとともに、各エントリに関連付けられたページに、グループ分けで対応付けられた次元メンバグループのデータを記憶装置に格納する多次元データ処理方法が開示されている。また、各エントリに関連付けられたページにおいて、各エントリに対応するデータを、各グループに割り当てた座標値をコード化したセルＩＤでソートした順に連続配置する多次元データ処理方法が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特公平７−２４０３６号公報（［発明の概要］）
【特許文献２】特開平９−２６５４７９号公報（段落［０００７］、［０００８］、［００１３］、［００１５］）
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１には、補助記憶装置に格納するデータベースの作成及び格納について何ら言及されていない。データベースの検索処理では、ハードディスクなどの補助記憶装置内に不均一のアドレス間隔の位置に記憶されているデータベースを読み出す場合には、データを読み出す際に実行されるランダムアクセスにおいてヘッドの移動に要する時間（シーク時間と呼ばれる）が、検索時間に大きく影響を与えるという課題がある。すなわち、検索時間を短縮して検索速度を向上させるためには、データベースからデータを読み出す際に実行されるランダムアクセス頻度を抑えてシーク時間を短縮することが重要であるが、特許文献１の開示技術は、この課題を解決するものではない。さらに、特許文献１には、各レコードが各地物に対応付けられており、各レコードに地物の位置情報が含まれるという、地図データベースのデータ構造に特有の特徴を活用する点については、何ら開示及び示唆されていない。
【０００９】
また、特許文献２の開示技術では、データベースを作成する際に多次元のメンバをグループ分けする必要がある。多次元のメンバはそれぞれが階層構造を持っており、このような複雑な構造を有するメンバをグループ分けすることは容易なことではない。各次元のメンバのそれぞれが有する階層構造を設定するためには、データ構造を詳細に解析する必要があり、特許文献２の開示技術ではデータベースを簡単かつ短時間に作成することは困難である。
【００１０】
また、特許文献２の開示技術は、データベース作成の基となるデータの階層構造に基づいてデータベースの作成を行うものであって、データベース検索装置によって実行される検索処理において、どのような検索処理が行われるか（どのフィールドが参照されるか）などの情報を考慮してデータベースの作成を行うものではない。さらに、特許文献２には、各レコードが各地物に対応付けられており、各レコードに地物の位置情報が含まれるという、地図データベースのデータ構造に特有の特徴を活用する点については、何ら開示及び示唆されていない。
【００１１】
上記の課題を考慮して、本発明は、地物の地理的な位置を示す位置情報を含む地図データベースに関して、比較的簡単な処理によって、検索処理時に地図データベースの読み出し時間を短縮して検索速度を向上させることが可能な地図データベースを作成する地図データベース作成装置及び地図データベース作成方法並びに地図データベース作成プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記の目的を達成するため、本発明の地図データベース作成装置は、地図データベース検索装置がデータ検索処理の際に参照する地図データベースであって、地物に対応するレコードが複数集まって構成される前記地図データベースを作成して記憶媒体に格納する地図データベース作成装置であって、
前記データ検索処理の際に検索対象フィールドとして使用される前記地物の位置を示す情報を含む項目を特定する検索ロジックに関する情報を取得する検索ロジック取得部と、
前記検索ロジックに関する情報で特定された前記地物の位置を示す情報を含む項目に対応するデータが所定の規則で並ぶように複数のレコードの配列順序を決定して、前記地図データベースを作成する配列順序決定部と、
作成された前記地図データベースを前記記憶媒体に書き込む際に、前記地図データベース内の複数のレコードが格納される前記記憶媒体上の物理的な格納位置が、前記配列順序決定部で決定された前記配列順序に対応した格納位置となるよう制御する地図データベース書き込み部とを、
有する。
【００１３】
また、上記の目的を達成するため、本発明の地図データベース作成方法は、地図データベース検索装置がデータ検索処理の際に参照する地図データベースであって、複数の項目を有するレコードが複数集まって構成される前記地図データベースを作成して記憶媒体に格納する地図データベース作成装置によって実行される地図データベース作成方法であって、
前記データ検索処理の際に検索対象フィールドとして使用される前記地物の位置を示す情報を含む項目を特定する前記検索ロジックに関する情報を取得する検索ロジック取得ステップと、
前記検索ロジックに関する情報で特定された前記地物の位置を示す情報を含む項目に対応するデータが所定の規則で並ぶように複数のレコードの配列順序を決定して、前記地図データベースを作成する配列順序決定ステップと、
作成された前記地図データベースを前記記憶媒体に書き込む際に、前記地図データベース内の複数のレコードが格納される前記記憶媒体上の物理的な格納位置が、前記配列順序決定ステップで決定された前記配列順序に対応した格納位置となるよう制御する地図データベース書き込みステップとを、
有する。
【００１４】
また、上記の目的を達成するため、本発明の地図データベース作成プログラムは、地図データベース検索装置がデータ検索処理の際に参照する地図データベースであって、地物に対応するレコードが複数集まって構成される前記地図データベースを作成して記憶媒体に格納するための地図データベース作成プログラムであって、
前記データ検索処理の際に検索対象フィールドとして使用される前記地物の位置を示す情報を含む項目を特定する前記検索ロジックに関する情報を取得する検索ロジック取得ステップと、
前記検索ロジックに関する情報で特定された前記地物の位置を示す情報を含む項目に対応するデータが所定の規則で並ぶように複数のレコードの配列順序を決定して、前記地図データベースを作成する配列順序決定ステップと、
作成された前記地図データベースを前記記憶媒体に書き込む際に、前記地図データベース内の複数のレコードが格納される前記記憶媒体上の物理的な格納位置が、前記配列順序決定ステップで決定された前記配列順序に対応した格納位置となるよう制御する地図データベース書き込みステップとを、
コンピュータにより実行させるための地図データベース作成プログラムである。
【発明の効果】
【００１５】
本発明は、地物の地理的な位置を示す位置情報を含む地図データベースに関して、比較的簡単な処理によって、検索処理時に地図データベースの読み出し時間を短縮して検索速度を向上させることが可能な地図データベースを作成できるという効果を奏する。
【００１６】
さらに、本発明は、地図データベースの作成及び格納に改良を加えるものであって、既存のデータベース製品や検索エンジン（例えば、ＧＩＳエンジン）、データ形式などに変更を加える必要はなく、既に広く普及している地図データベースシステムや地図データ検索システムによって利用可能な地図データベースを提供できるという効果を奏する。
【図面の簡単な説明】
【００１７】
【図１】本発明の第１の実施の形態におけるハードウェア構成の一例を示す図である。
【図２】本発明の第１の実施の形態における地図データベース作成処理の一例を示すフローチャートである。
【図３】本発明の第１の実施の形態の説明に用いられる、地図データベース作成の基となる地図データ群の一例を示す図である。
【図４】図３に示す地図データ群の位置を地図上に模式的に表した図である。
【図５】本発明の第１の実施の形態における地図データベース作成処理によって作成された地図データベースの一例を示す図である。
【図６】図６（ａ）は、本発明の第１の実施の形態において作成された地図データベースのレコード配列を線形配置で模式的に表現した図であり、図６（ｂ）は、従来の技術において作成された地図データベースのレコード配列を線形配置で模式的に表現した図である。
【図７】本発明の第１の実施の形態における地図データベース検索処理の一例を示すフローチャートである。
【図８】本発明の第１の実施の形態における地図データベース作成処理によって作成された地図データベースの別の一例を示す図である。
【図９】本発明の第１の実施の形態において作成された地図データベースにハードディスクに格納された状態の一例を示す図である。
【発明を実施するための形態】
【００１８】
以下、図面を参照しながら、本発明の第１及び第２の実施の形態について説明する。
【００１９】
＜第１の実施の形態＞
まず、本発明の第１の実施の形態について説明する。
【００２０】
図１は、本発明の第１の実施の形態におけるハードウェア構成の一例を示す図である。本発明の第１の実施の形態に係るハードウェア構成は、例えば図１に示すように、地図データベース記憶装置１０、地図データベース作成装置２０、地図データベース検索装置３０を有する。
【００２１】
地図データベース記憶装置１０は、複数のデータを含む地図データベースを記憶する機能を有する。地図データベースは、テーブル形式で表現することができる構造を有しており、テーブル形式で表現された地図データベースは、レコード（行）とフィールド（列）によって構成される。
【００２２】
地図データベースには、例えば、各地物が各レコードに対応付けられており、各レコードには、地物の名称、地物の位置情報、地物の表示画像データなどを始めとする複数のフィールドが設けられている。すなわち、特定の地物に対して、その地物に関連した様々なデータが１個のレコードとしてまとめられており、こうしたレコードが複数集まって地図データベースが構成されている。
【００２３】
通常、地図データベースでは、各地物の位置情報が絶対座標（緯度及び経度など）又は相対座標（ある地点からの相対距離など）として表現されており、位置情報によって地物の位置又は地物の範囲が特定される。地図データベース検索装置３０が地図データベースを参照して地図データの検索を行う場合には、例えば、地物の名称から、該当する地物の各種情報（例えば、位置情報や表示画像データなど）を取得したり、特定の位置情報から、その位置に存在する地物の各種情報（例えば、地物の名称や表示画像データなど）を取得したりすることが可能である。
【００２４】
地図データベース記憶装置１０は、例えば地図データベースを記憶する既存の補助記憶装置（外部記憶装置）によって実現可能である。具体的には、地図データベース記憶装置１０は、ハードディスクなどの磁気ディスク、データの書き込みが可能なＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disc）、ＢＤ（Blu-Ray Disc）などの光学ディスク、フラッシュメモリなどの半導体メモリを記憶媒体として使用する。なお、地図データベース記憶装置１０によって使用される記憶媒体は、いったん書き込まれたデータの書き換えが可能なものであってもよく、いったん書き込まれたデータの書き換えが不可能なものであってもよい。
【００２５】
なお、本発明によれば、ランダムアクセス頻度を抑えてヘッド移動時間（シーク時間）を短縮することで検索速度を向上できる地図データベースを作成することが可能であり、さらに、効率的な管理を行うことが可能なデータベース構造を実現することが可能である。本発明は、ランダムアクセス時にヘッド移動によるシーク時間が発生する磁気ディスクや光学ディスクを記憶媒体として使用する場合に格別な効果を奏するものであるが、ランダムアクセスによる遅延がほとんど発生しないと言われている半導体メモリを記憶媒体として使用する場合においても有用である。
【００２６】
地図データベース作成装置２０は、複数の地図データを含む地図データベースを作成して地図データベース記憶装置１０に記憶する機能（地図データベースを地図データベース記憶装置１０の記憶媒体に書き込む機能）を有し、また、地図データベースの作成時に、複数のデータの選別や並べ替え（ソート）を行う機能を有する。なお、地図データベース作成装置２０は、例えば既存のコンピュータによって実現可能であり、図１には不図示であるが、ユーザが地図データベース作成装置２０を操作するために用いるマウスやキーボードなどの操作入力装置やディスプレイなどの表示装置などが接続されていてもよい。
【００２７】
地図データベース検索装置３０は、地図データベース記憶装置１０の記憶媒体に記憶された地図データベースから所望の地図データ（例えば、所望の地物に関する情報）を読み出す機能を有する。具体的には、地図データベース検索装置３０は、地図データベース内のレコードを読み出す処理を行う際に、地図データベース検索装置３０上で指定された検索条件に合致する１つ又は複数のレコードを読み出す機能を有する。このとき、地図データベース検索装置３０は、あらかじめ設定された検索ロジックに基づいて、地図データベースを構成する複数のレコードの中から、検索条件に合致するレコードの特定及び読み出しを行う。
【００２８】
なお、地図データベース検索装置３０も、地図データベース作成装置２０と同様に、例えば既存のコンピュータによって実現可能であり、図１には不図示であるが、ユーザが地図データベース検索装置３０を操作するために用いるマウスやキーボードなどの操作入力装置やディスプレイなどの表示装置などが接続されていてもよい。
【００２９】
地図データベース作成装置２０は、作成した地図データベースを地図データベース記憶装置１０の記憶媒体に書き込むために、地図データベース記憶装置１０と有線又は無線で接続されている。同様に、地図データベース検索装置３０も、データベースから所望のレコードを読み出すために、地図データベース記憶装置１０と有線又は無線で接続されている。なお、地図データベース作成装置２０及び地図データベース検索装置３０と地図データベース記憶装置１０とは、常時接続されていてもよく、あるいは、必要に応じて接続が行われてもよい。例えば、地図データベース作成装置２０から地図データベース記憶装置１０の記憶媒体に地図データベースを書き込む際にのみ、地図データベース作成装置２０と地図データベース記憶装置１０とが接続されてもよい。また、地図データベース検索装置３０が地図データベース記憶装置１０の記憶媒体上の地図データベースを読み出す際にのみ、地図データベース検索装置３０と地図データベース記憶装置１０とが接続されてもよい。
【００３０】
なお、図１には、地図データベース作成装置２０と地図データベース検索装置３０とがそれぞれ異なる装置（コンピュータ）によって実現されている構成が図示されているが、地図データベース作成装置２０と地図データベース検索装置３０とが同一の装置（コンピュータ）によって実現されてもよい。
【００３１】
また、図１には、地図データベース作成装置２０及び地図データベース検索装置３０のそれぞれにおいて実現される機能がブロックによって示されている。図１中にブロックによって示されている各機能は、例えば、プログラム言語によって記述されたプログラムが、地図データベース作成装置２０及び地図データベース検索装置３０のＣＰＵ（Central Processing Unit：中央演算処理装置）によって実行されることで実現可能である。
【００３２】
図１の地図データベース作成装置２０は、地図データ取得部２１と、検索ロジック取得部２２と、配列順序決定部２３と、地図データベース書き込み部２４とを有する。
【００３３】
地図データ取得部２１は、地図データベース作成の基となる複数の地図データを取得する機能を有する。このとき、地図データ取得部２１は、複数の地図データを任意の方法で取得することが可能である。例えば、不図示のデータ記憶装置から複数の地図データを有線又は無線などを介して取得してもよい。また、ユーザがマウスやキーボードなどを用いて地図データベース作成装置２０に入力したデータを、地図データベース作成の基となる複数の地図データとして取得してもよい。さらに、地図データベース記憶装置１０に記憶されている作成済みの地図データベースから複数の地図データを取得してもよい。この場合、地図データベース作成装置２０は、後述のように配列順序決定部２３で決定した地図データの配列順序に従って作成した地図データベースを、地図データベース記憶装置１０の記憶媒体に書き戻す処理（既に記憶されている地図データベースを上書きしてもよく、新たな地図データベースとして書き込んでもよい）を行うことが可能である。
【００３４】
検索ロジック取得部２２は、地図データベース検索装置３０により実行される検索処理で使用される検索ロジックに関する情報を取得する機能を有する。検索ロジック取得部２２は、地図データベース作成装置２０におけるユーザ入力によって検索ロジックに関する情報を取得してもよく、あるいは、地図データベース検索装置３０に対して問い合わせを行うことで、地図データベース検索装置３０から検索ロジックに関する情報を取得してもよい。
【００３５】
検索ロジックに関する情報とは、地図データベース検索装置３０の検索アルゴリズムに依存する情報であり、例えば、地図データベース検索装置３０により実行される検索処理で参照される検索対象フィールド（あるいは、検索対象とするフィールドの優先度又は参照順序）を特定する情報である。
【００３６】
詳細については具体的な例を挙げて後述するが、地図データベース検索装置３０は、データベースを構成する特定のフィールド（列）を参照して検索処理を行うことが可能である。例えば、地図データベース検索装置３０は、地物の位置を示す情報（東座標、西座標、北座標、南座標など）を含むフィールドを参照して、地物の絞り込み検索を行うことが可能である。地図データベース検索装置３０が複数のフィールドのうちのどのフィールドを検索対象フィールドとするか（あるいは、どのフィールドを優先して検索するか）は、複数の地図データベース検索装置３０のそれぞれにおいて異なる場合があり、また、ユーザやアプリケーションによる設定によっても異なる場合がある。
【００３７】
本発明は、ある特定の地図データベース検索装置３０により実行される検索処理で参照される検索対象フィールドを検索ロジックに関する情報として取得したうえで、この検索ロジックに関する情報に基づいて地図データベースを作成して、地図データベース記憶装置１０の記憶媒体上の物理的なデータ格納位置を制御しながら地図データベースの書き込みを行うことで、検索処理時の検索速度を向上させる地図データベースを提供する。
【００３８】
配列順序決定部２３は、検索ロジック取得部２２が取得した検索ロジックに関する情報に基づいて、地図データ取得部２１により取得した複数の地図データの配列順序を決定することによって地図データベースを作成する機能を有する。詳細については具体的な例を挙げて後述するが、配列順序決定部２３における処理によって、例えば、地図データベース検索装置３０による検索処理で参照される検索対象フィールド内のデータが昇順又は降順となるようにレコードが配列されたデータベースが作成される。
【００３９】
地図データベース書き込み部２４は、配列順序処理部２３によって決定したデータの配列順序に従って作成された地図データベースを、地図データベース記憶装置１０の記憶媒体に書き込む機能を有する。このとき、地図データベース書き込み部２４は、記憶媒体上の物理的な格納位置が地図データベース内のレコードの配列順序と一致するように、記憶媒体上の物理的な格納位置を制御しながら地図データベース内のレコードを記憶媒体に書き込む。より具体的には、地図データベース内のレコードが、その配列順序どおりに、記憶媒体上の物理的に連続した格納位置に格納されるよう制御が行われる。なお、記憶媒体上の物理的な格納位置を制御しながら地図データベースを記憶媒体に書き込む処理は、例えば、リレーショナルデータベースマネジメントシステム（ＲＤＢＭＳ：Relational Database Management System）の機能によるクラスタ化インデックスと呼ばれる既存の技術や、単純に全データをあらかじめ目的の順序に並び替えたうえで順次書き込みする方法などによって実現することが可能である。
【００４０】
また、図１の地図データベース検索装置３０は、検索ロジック取得部３１と、検索条件取得部３２と、検索処理部３３とを有する。
【００４１】
検索ロジック取得部３１は、当該地図データベース検索装置３０により実行される検索処理で使用される検索ロジックに関する情報を取得する機能を有する。検索ロジックに関する情報は、上述のように、地図データベース検索装置３０により実行される検索処理で参照される検索対象フィールド（あるいは、検索対象とするフィールドの優先度又は参照順序）を特定する情報である。また、検索ロジックに関する情報には、地図データベース検索装置３０の検索処理における検索方法（例えば、昇順又は降順で検索など）を特定する情報が含まれていてもよい。
【００４２】
一例として、例えば地図データベースの検索処理を実行するアプリケーションの中には、例えば、位置情報をキーとしてその位置に存在する地物に関する情報を検索する場合には常に、最初に北座標フィールドの値を用いて地図データベース内のレコードの絞り込みを行うものが存在する。すなわち、このアプリケーションが実行される地図データベース検索装置３０は、最初に検索する検索対象フィールドとして、地図データベースの北座標フィールドを使用することから、検索ロジック「検索対象フィールドとして北座標フィールドを参照する」を用いて検索処理を実行する。
【００４３】
検索条件取得部３２は、地図データベースに格納されている複数のデータに対する検索条件を取得する機能を有する。検索条件は、例えば、投影座標、緯度経度、メッシュ番号などによって特定される位置又は範囲を示す情報であり、ユーザやアプリケーションによって設定される。特定の位置又は範囲を示す情報が検索条件として設定されることで、後述する検索処理部３３は、地図データベースに格納されている複数のレコードの中から、検索条件に合致したデータを含むレコードを見つけ出すことが可能となる。
【００４４】
検索処理部３３は、検索ロジックに関する情報及び検索条件に基づいて、地図データベース記憶装置１０の記憶媒体に記憶されている地図データベースから、検索条件に合致したレコードを特定して読み出す機能を有する。すなわち、検索処理部３３は、地図データベース記憶装置１０の記憶媒体に記憶されている地図データベースを参照し、検索条件に合致したデータを検索対象フィールド内に含むレコードを見つけ出して地図データベースから読み出す処理を行う。なお、検索処理部３３の検索処理によって読み出されたレコードは、例えば、地図データベース検索装置３０に接続されているディスプレイに検索結果として表示されてもよく、あるいは、アプリケーションに渡されて更なる任意の処理（例えば、画像データの表示など）が行われてもよい。また、検索処理部３３は、検索処理で得られたレコードの絞り込みを行うために、検索対象フィールド及び検索条件を変更して、更なる検索処理を実行してもよい。
【００４５】
次に、本発明の第１の実施の形態における処理の一例について説明する。本発明の第１の実施の形態における処理は、地図データベース作成装置２０によって実行される処理と、地図データベース検索装置３０によって実行される処理に大別することができる。以下、地図データベース作成装置２０によって実行される処理を地図データベース作成処理と呼び、地図データベース検索装置３０によって実行される処理を地図データベース検索処理と呼ぶ。
【００４６】
以下では、地図データベース検索装置３０が、地物の北座標フィールドの値を入力として、入力された地物の北座標に対応する地物の各種情報を取得するよう構成されており、地図データベース作成装置２０が、この地図データベース検索装置３０の検索処理における検索速度を向上させる地図データベースの作成を行うよう構成されている場合について説明する。
【００４７】
図２は、本発明の第１の実施の形態における地図データベース作成処理の一例を示すフローチャートである。
【００４８】
ステップＳ１１１において、地図データベース作成装置２０は、地図データベースを作成するための複数の地図データを取得する。ここでは、一例として、図３に示す１０個の地図データ群が取得されたとする。図３に示す１０個の地図データ群は、地図データベースを作成するための基となるデータであり、ある地物に関するデータには、北座標、東座標、南座標、西座標、図形形状、名称の各情報要素（その他の情報要素が存在してもよい）が関連付けられている。なお、１０個の地図データ群はそれぞれ、北座標、東座標、南座標、西座標の４つの相対座標値を有しており、これらの相対座標値によって規定される範囲内に地物が存在することを表している。
【００４９】
なお、図３に示す地図データ群は一例であり、地図データベース作成装置２０は、多数のデータ群を取得してもよく、図３に示す１０個の地図データ群はその一部を表しているにすぎない。ステップＳ１１１でデータを取得した段階ではデータの配列順序は重要ではない。
【００５０】
また、図４は、図３に示す１０個の地図データ群の位置を地図上に模式的に表した図である。図４には、紙面の縦方向に南北方向の座標軸が、紙面の横方向に東西方向の座標軸が設定されており、地図上における各地物の範囲（便宜上、図４には地物の名称の頭文字のみが記載されている）が示されている。
【００５１】
次に、ステップＳ１１２において、地図データベース作成装置２０は、地図データベース検索装置３０によって実行される検索処理における検索ロジックに関する情報を取得する。ここでは、地図データベース検索装置３０が地物の北座標フィールドの値を入力として、入力された地物の北座標に対応する地物の各種情報を取得するよう構成されており、検索ロジックとして「検索対象フィールドとして北座標を参照する」という情報が取得されたとする。
【００５２】
次に、ステップＳ１１３において、地図データベース作成装置２０は、ステップＳ１１２で取得した検索ロジックに関する情報「検索対象フィールドとして北座標を参照する」に基づいて、ステップＳ１１１で取得した複数の地図データの配列順序を決定する。例えば地図データベース作成装置２０は、地図データベース検索装置３０が検索処理において検索対象フィールドとして用いる北座標フィールドに含まれる値が昇順（降順でもよい）となるよう、図３に示す１０個の地図データ群の配列順序を決定して地図データベースを作成する。その結果、図５に示すように、１０個の地図データ群に含まれる北座標フィールドの値が昇順（降順でもよい）で配列された地図データベースが作成される。なお、図５に示す地図データベースのレコードには、便宜上、上から順にレコードＩＤ「１」〜「１０」が割り当てられている。
【００５３】
次に、ステップＳ１１４において、地図データベース作成装置２０は、作成した地図データベース内の複数のレコードを、ステップＳ１１３で決定した配列順序に従って地図データベース記憶装置１０の記憶媒体に書き込む。このとき、地図データベース作成装置２０は、複数のレコードがステップＳ１１３で決定した配列順序（北座標フィールドの値が昇順で配列されたレコード順）どおりに記憶媒体上に並ぶように、記憶媒体の物理的な格納位置を制御しながらレコードの書き込みを行う。これは、例えばクラスタ化インデックスの手法などを用いて実現することが可能であり、図６（ａ）に模式的に表されているように、ステップＳ１１３で決定した配列順序に従って、レコードＩＤ「１」〜「１０」の各レコードが隣接して記憶媒体に格納される。
【００５４】
次に、本発明の第１の実施の形態に係る地図データベース作成処理によって記憶媒体に格納された地図データベースを用いた地図データベース検索処理について説明する。図７は、本発明の第１の実施の形態における地図データベース検索処理の一例を示すフローチャートである。
【００５５】
ステップＳ２１１において、地図データベース検索装置３０は、検索ロジックに関する情報を取得する。この検索ロジックに関する情報は、地図データベース作成処理のステップＳ１１２において地図データベース作成装置２０が取得した情報「検索対象フィールドとして北座標を参照する」と同一である。
【００５６】
次に、ステップＳ２１２において、地図データベース検索装置３０は、検索条件を取得する。ここでは、検索条件は、検索対象フィールドである北座標フィールドに含まれる値に関する条件であり、一例として、北座標フィールドに含まれる値が＋５００以上であり＋８００以下の範囲であるレコードを検索するという条件が設定されたとする。なお、ＧＩＳでは、例えば、画面に表示するデータを抽出する場合や、地図上でクリックされた地物の情報を表示する場合などに地図データベースの検索処理が行われ、いずれの場合も通常は検索条件として範囲が指定される。
【００５７】
次に、ステップＳ２１３において、地図データベース検索装置３０は、検索ロジック及び検索条件に基づいて、検索条件に合致したデータを地図データベース記憶装置１０から読み出す。すなわち、地図データベース検索装置３０は、地図データベース記憶装置１０の記憶媒体に格納されている地図データベースの中から、北座標フィールドに含まれる値の範囲が＋５００以上であり＋８００以下であるレコードを検索する。この条件を満たすレコードは、レコード３（北座標の値「＋６００」）、レコード４（北座標の値「＋７００」）、レコード５（北座標の値「＋７５０」）であり、地図データベース検索装置３０は、記憶媒体にアクセスして、レコード３、レコード４、レコード５を読み出す。これら３個のレコードは、記憶媒体上の隣接した物理的な格納位置に格納されていることから、３個のレコードを読み出す際のランダムアクセスのシーク時間が最低限に抑えられ、その結果、検索速度の向上及び検索時間の短縮を実現することが可能となる。
【００５８】
なお、上述の例では、地図データベース検索装置３０が地物の北座標フィールドの値を入力として、入力された地物の北座標に対応する地物の各種情報を取得するよう構成されている場合について説明したが、例えば、地図データベース検索装置３０が地物の東座標フィールドの値を入力として、入力された地物の東座標に対応する地物の各種情報を取得するよう構成されている場合も同様の処理によって、検索速度の向上及び検索時間の短縮を実現できる地図データベースを作成することが可能である。
【００５９】
この場合、地図データベース作成装置２０は、例えば地図データベース検索装置３０が検索処理において検索対象フィールドとして用いる東座標フィールドに含まれる値が昇順（降順でもよい）となるよう、図１０に示す１０個の地図データ群の配列順序を決定して地図データベースを作成する。その結果、図８に示すように、１０個の地図データ群に含まれる東座標フィールドの値が昇順（降順でもよい）で配列された地図データベースが作成される。この地図データベースは、クラスタ化インデックスの手法などを用いて、東座標フィールドの値が昇順で配列されたレコード順に地図データベース記憶装置１０の記憶媒体の物理的な格納位置に格納される。地図データベース検索装置３０が、地物の東座標フィールドの値を入力として、この地図データベースから所望のレコードを検索した場合、検索速度の向上及び検索時間の短縮が実現される。また、地図データベース検索装置３０が、検索処理における検索対象フィールドとして、南座標フィールド又は西座標フィールドを用いる場合も同様である。
【００６０】
以下、図６（ａ）、（ｂ）並びに図９を参照しながら、本発明の第１の実施の形態に係る効果について説明する。本発明の第１の実施の形態では、各レコードが地物の位置を示す情報（例えば、北座標フィールドの値）に基づく配列順序となるよう地図データベースが作成され、この配列順序に従って記憶媒体上の隣接した物理的な格納位置に格納されることから、地物の位置を示す情報に基づいてレコードを読み出す際のランダムアクセスのシーク時間が最低限に抑えられ、その結果、検索速度の向上及び検索時間の短縮を実現することが可能である。
【００６１】
本発明の第１の実施の形態では、例えば図６（ａ）に模式的に示すように、北座標フィールドの値が昇順で配列されたレコード順に並ぶように、地図データベース内のレコードの配列順序が決定される。この本発明の第１の実施の形態に係る地図データベースをハードディスクに書き込んだ場合、図９に模式的に示すように、１０個のレコード１〜１０が配列順序どおりに、ハードディスク上の隣接するセクタに記録される。なお、簡略化のため、図９には、各レコードの格納位置を特定するために各レコードを識別する数字のみが記載されている。
【００６２】
一方、従来の技術には、地物の位置を示す情報に基づいて各レコードの配列順序を決定するという技術思想は存在しないことから、例えば図６（ｂ）に模式的に示すように、各レコード１〜１０がランダムな順序で、かつ物理的に離れた位置に配置された地図データベースが作成されることになる。なお、図６（ｂ）では、この従来の技術に係る地図データベースを、クラスタ化インデックスの手法などを用いてハードディスクに書き込んだとしても、各レコード１〜１０が隣接した物理的な格納位置に格納された状態は実現されない。
【００６３】
なお、本発明者は、関東全域に分布する地図データ（データ件数１５０万件）を含む地図データベースを使用して、実際に本発明の第１の実施の形態における地図データベース作成処理及び地図データベース検索処理を実施したところ、従来の技術（例えば、ＲＤＢＭＳの全表スキャンによる該当データの絞り込み）に比べて、地図表示速度及び地物検索速度が約３０％向上したことを確認している。
【００６４】
＜第２の実施の形態＞
また、地図データベース検索装置３０が、複数のフィールド（列）を順次検索することで目的のレコードの絞り込みを行う場合（例えば、地図データベースの検索処理において、北座標、東座標、南座標、西座標の順に絞り込み検索を行う場合）、地図データベース作成装置２０は、データベースを作成する際に、複数のフィールド（列）の複合インデックスを設定してもよい。
【００６５】
複合インデックスは、ＲＤＢＭＳにおいて複数の列に対して設定するインデックス（マルチカラムインデックス）である。第１の列及び第２の列の順に複合インデックスを作成した場合、まず第１の列ごと、同じ第１の列の中では第２の列ごとにインデックスを作成することで、第１の列のみの単一列のインデックスに比べて、第１の列で特定した後に第２の列で絞り込みを行う処理が速くなるという特徴を有しており、複数の列を順次検索して絞り込みを行う場合に有用である。また、複合インデックスは非クラスタ化インデックスであり、インデックスを使ってデータを絞り込んだ後、取得したポインタ（インデックス行からデータ行を指すロケータ）を使って実データを取得する処理が行われる。したがって、複合インデックスを設定した場合には、検索と同時にレコード全体を取得できるため、地物の表示画像データや名称などをより素早く取得することができる。
【００６６】
また、空間インデックスが存在し、まず目的データの所属するグリッドから検索するような場合においても、空間インデックスのテーブルのグリッドの物理レコード自体を、地図データベース検索装置３０が空間インデックスを検索する順序に倣って格納しておくことで、同様の効果を得ることができる。
【００６７】
本発明の適用対象は必ずしもＲＤＢＭＳに限定されるものではなく、地理的な位置とデータの格納順を揃えることでパフォーマンス向上の効果を得られる場合においても適用可能である。例えばファイルシステム上に地図画像のファイルが、メッシュ番号などの位置を判断できるファイル名にて整備されている場合、検索装置が利用するファイル名の位置検索条件に沿って物理データを格納することによって、シーク時間を低減することができる。
【産業上の利用可能性】
【００６８】
本発明は、地物の地理的な位置を示す位置情報を含む地図データベースに関して、比較的簡単な処理によって、検索処理時に地図データベースの読み出し時間を短縮して検索速度を向上させることが可能な地図データベースを作成することが可能である。
【符号の説明】
【００６９】
１０  地図データベース記憶装置
２０  地図データベース作成装置
２１  地図データ取得部
２２、３１  検索ロジック取得部
２３  配列順序決定部
２４  地図データベース書き込み部
３０  地図データベース検索装置
３２  検索条件取得部
３３  検索処理部
【図１】
2018136663.tif 000003
【図２】
2018136663.tif 000004
【図３】
2018136663.tif 000005
【図４】
2018136663.tif 000006
【図５】
2018136663.tif 000007
【図６】
2018136663.tif 000008
【図７】
2018136663.tif 000009
【図８】
2018136663.tif 000010
【図９】
2018136663.tif 000011