JPWO2006059629A1 - エリア情報の管理装置・方法・プログラム - Google Patents
エリア情報の管理装置・方法・プログラム Download PDFInfo
- Publication number
- JPWO2006059629A1 JPWO2006059629A1 JP2006547969A JP2006547969A JPWO2006059629A1 JP WO2006059629 A1 JPWO2006059629 A1 JP WO2006059629A1 JP 2006547969 A JP2006547969 A JP 2006547969A JP 2006547969 A JP2006547969 A JP 2006547969A JP WO2006059629 A1 JPWO2006059629 A1 JP WO2006059629A1
- Authority
- JP
- Japan
- Prior art keywords
- area
- information
- data structure
- storage unit
- leaf node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Remote Sensing (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
指定した位置に対応する情報を提供する場合に、従来技術では、同一位置に複数の異なる情報提供エリアを定義できない、また、エリアを定義するデータを4分木データで格納する場合には、対象となるすべてのエリアを同一の解像度で格納する必要があるために格納方法の最適化が図れない、などの問題が存在する。 「R*-tree」に基づく多段のインデックス構造を利用し、最小包囲矩形(MBR)で表現された各エリアの中から候補となるエリアを高速に検索する。さらに、検索されたエリアから改良された4分木データを利用してエリアを特定し、ユーザおよびサービス提供者に関する情報に基づき、特定されたエリアに関連するサービスや情報を提供する。
Description
本願発明は、所定の位置に関連するサービス等が提供される場合に、所定の位置から当該位置に関連するサービス等を検索する装置・方法・プログラムに関する。
ユーザのいる位置情報に関連したサービスを提供する方法として様々な方法が存在する。
例えば、NTTドコモの「iモード」対応電話機で利用できる位置情報サービスである「i-エリア」がある。
これは基地局からの携帯電話の現在地情報により全国を数百ヶ所余りに分割したエリアごとの情報を受けることができる。
このように分割したエリアごとの情報提供が可能なため、エリアに特化した天気予報、地図、交通情報、グルメや買い物情報などといったサービスが存在する。
同様のサービスとしてauのGPS位置情報サービス「eznavigation」、Jフォンの地図情報サービス「J-Navi」、NTTドコモのPHSの「いまどこサービス」、「mopera位置情報サービス」、DDIポケットの「位置情報サービス」、東京電話アステル(TTNet)の「Pナビ」などが存在する。
例えば、NTTドコモの「iモード」対応電話機で利用できる位置情報サービスである「i-エリア」がある。
これは基地局からの携帯電話の現在地情報により全国を数百ヶ所余りに分割したエリアごとの情報を受けることができる。
このように分割したエリアごとの情報提供が可能なため、エリアに特化した天気予報、地図、交通情報、グルメや買い物情報などといったサービスが存在する。
同様のサービスとしてauのGPS位置情報サービス「eznavigation」、Jフォンの地図情報サービス「J-Navi」、NTTドコモのPHSの「いまどこサービス」、「mopera位置情報サービス」、DDIポケットの「位置情報サービス」、東京電話アステル(TTNet)の「Pナビ」などが存在する。
しかしながら、これらは、広範囲のエリアに共通する情報、例えば、当該エリアの天気予報、地図、交通情報などは提供することが出来る。
しかし、これらは、携帯電話の基地局の情報をもとに、その基地局がどのエリアに属するかという位置情報によって情報を提供する。
この位置情報は、緯度経度のような詳細なポイントを示す情報ではなく、通信事業者が規定したエリアコードのみである。また、基地局の位置に対応する位置情報を利用するため、場合によっては、ユーザの利用場所と異なることもある。
さらに、事前に規定されたエリアのみを利用するため、より狭いエリアに特化したサービス情報の提供は出来ない。
また、携帯端末を所持したモバイルユーザに対して、位置・時間・数量限定で情報アクセスを許可するシステムが開発されている(http://www.spacetag.jp/)。
しかし、当該システムでも、情報の有効空間として中心座標(緯度・経度)と有効半径により定められる円形を利用しているため、より複雑な形状のエリアに対して情報・サービスを提供することが困難であるという問題がある。
また、時空間情報のみを用いて(時空間をインデックスとして)情報を管理しているため、実空間の具体的なオブジェクトに対して明示的に情報をリンクすることができないという問題点が残されている。
しかし、これらは、携帯電話の基地局の情報をもとに、その基地局がどのエリアに属するかという位置情報によって情報を提供する。
この位置情報は、緯度経度のような詳細なポイントを示す情報ではなく、通信事業者が規定したエリアコードのみである。また、基地局の位置に対応する位置情報を利用するため、場合によっては、ユーザの利用場所と異なることもある。
さらに、事前に規定されたエリアのみを利用するため、より狭いエリアに特化したサービス情報の提供は出来ない。
また、携帯端末を所持したモバイルユーザに対して、位置・時間・数量限定で情報アクセスを許可するシステムが開発されている(http://www.spacetag.jp/)。
しかし、当該システムでも、情報の有効空間として中心座標(緯度・経度)と有効半径により定められる円形を利用しているため、より複雑な形状のエリアに対して情報・サービスを提供することが困難であるという問題がある。
また、時空間情報のみを用いて(時空間をインデックスとして)情報を管理しているため、実空間の具体的なオブジェクトに対して明示的に情報をリンクすることができないという問題点が残されている。
さらに、GPSや、携帯電話のみならず、様々な無線通信デバイスを使用して得られる正確な位置情報に基づき、小まめなサービス及びそれらに関連する情報を提供することも検討されている。
例えば、米国特許6,212,392号において開示されている方法では、携帯電話を利用する無線通信システムにおいて、セルに対応付けられた位置情報を利用している。
この方法は、無線通信デバイスが指定エリア内にあるか否かを判定する方法であり、4分木データに基づくエリア表現を用いて、サービス提供者がエリアの定義および管理を行うことが出来る。
しかし当該方法ではデータ構造のもつ制約から、エリアの重複が許されないため、同一地点(領域)に複数の異なるサービスを割当てることができないという欠点がある。
米国特許6,212,392号
i-エリア
http://www.spacetag.jp/
H. Samet. The Quadtree and Related Hierarchical Data Structures. ACM Computing Surveys, Vol. 16, No. 2, 1984
N. Beckmann, H.-P. Kriegel, R. Schneider and B. Seeger. TheR*-tree: An Efficient and Robust Access Method for Points and Rectangles. Proceedings of ACM SIGMOD, pp.322-331, 1990
V. Gaede and O. Gunther. Multidimensional Access Methods. ACM Computing Surveys, Vol. 30, No. 2, June 1998
U.S. Patent Document. Method for determining if the location of a wireless communication device is within a specified area. Patent No. US 6,212,392 B1
A. Guttman. R-Trees: a dynamic index structure for spatial searching. Proceedings of the 13th ACM SIGMOD Conference, pp.47-57, 1984
例えば、米国特許6,212,392号において開示されている方法では、携帯電話を利用する無線通信システムにおいて、セルに対応付けられた位置情報を利用している。
この方法は、無線通信デバイスが指定エリア内にあるか否かを判定する方法であり、4分木データに基づくエリア表現を用いて、サービス提供者がエリアの定義および管理を行うことが出来る。
しかし当該方法ではデータ構造のもつ制約から、エリアの重複が許されないため、同一地点(領域)に複数の異なるサービスを割当てることができないという欠点がある。
本発明の目的は、以上のような従来技術に存在する問題を解決することである。以上の問題点をまとめると以下のようになる。
(1)複数の異なるサービス提供者が提供するエリア情報を統一的に管理すると、同一地域に複数の異なるサービスが割当てられる場合がある。また、同一のサービス提供者が複数のサービスを定義したいという要求も発生する。従来のエリア(空間データ)管理手法として用いられている4分木データでは、同一地点に複数の異なるサービス提供エリアを定義することができない、また、同一エリアに存在する複数のサービス情報を扱うことができない、という問題がある。
(2)4分木データでは事前に表現レベル数を指定する必要があるため、対象となるすべてのエリアを同一の解像度、すなわち同一の近似精度で表現することになる。サービスの種類によってはそれほど高精度で近似する必要がないことが在るにもかかわらず、4分木を用いてエリア情報を管理する場合にはサービスエリアごとに異なる表現レベルを設定できないという問題がある。
(1)複数の異なるサービス提供者が提供するエリア情報を統一的に管理すると、同一地域に複数の異なるサービスが割当てられる場合がある。また、同一のサービス提供者が複数のサービスを定義したいという要求も発生する。従来のエリア(空間データ)管理手法として用いられている4分木データでは、同一地点に複数の異なるサービス提供エリアを定義することができない、また、同一エリアに存在する複数のサービス情報を扱うことができない、という問題がある。
(2)4分木データでは事前に表現レベル数を指定する必要があるため、対象となるすべてのエリアを同一の解像度、すなわち同一の近似精度で表現することになる。サービスの種類によってはそれほど高精度で近似する必要がないことが在るにもかかわらず、4分木を用いてエリア情報を管理する場合にはサービスエリアごとに異なる表現レベルを設定できないという問題がある。
所定の位置に依存したサービスおよび情報提供の実現において、
(1)サービス提供範囲(エリア)の設定・更新・変更などの管理、及び、
(2)モバイルユーザ(携帯端末)の位置とエリアの対応付け、
は重要であり必要不可欠な技術である。
本発明では、サービス提供エリアを柔軟かつ容易に管理するために多次元インデックスの1つである「R*-tree」に基づくデータ構造を用いたエリア(n次元空間でも良い)表現を構築する方法を提供する。
また、個々のエリア表現に4分木(Quadtree)データ構造等を利用し、モバイルユーザの所持するGPSや携帯電話などの端末から得られた位置情報から、そのユーザが事前に定義されたどのサービス提供エリアに存在するかを高速に探索し、そのエリアを一意に同定する識別子を得る方法を示す。
さらに、得られたエリア識別子に基づき、ユーザのプロファイル情報やサービス提供者に関する情報、その他に隣接エリアとの空間的な位置関係なども参照しながら、エリアに関連付けられた様々なサービスやオブジェクトに関する情報を選択的に探索し、ユーザに提示する方法を提供する。
(1)サービス提供範囲(エリア)の設定・更新・変更などの管理、及び、
(2)モバイルユーザ(携帯端末)の位置とエリアの対応付け、
は重要であり必要不可欠な技術である。
本発明では、サービス提供エリアを柔軟かつ容易に管理するために多次元インデックスの1つである「R*-tree」に基づくデータ構造を用いたエリア(n次元空間でも良い)表現を構築する方法を提供する。
また、個々のエリア表現に4分木(Quadtree)データ構造等を利用し、モバイルユーザの所持するGPSや携帯電話などの端末から得られた位置情報から、そのユーザが事前に定義されたどのサービス提供エリアに存在するかを高速に探索し、そのエリアを一意に同定する識別子を得る方法を示す。
さらに、得られたエリア識別子に基づき、ユーザのプロファイル情報やサービス提供者に関する情報、その他に隣接エリアとの空間的な位置関係なども参照しながら、エリアに関連付けられた様々なサービスやオブジェクトに関する情報を選択的に探索し、ユーザに提示する方法を提供する。
1.請求項1:
請求項1では、エリア管理データ構造、及び、エリア関連情報格納部を有し、任意の位置情報に対応するエリア関連情報を出力する装置を開示している。ここで、エリア管理データ構造は、エリアを包含するエリア集合に対応するルートノード、中間ノード、及び、葉ノードを含むインデックスデータ構造、並びに、葉ノードに対応するデータ格納部を有し、また、エリア関連情報格納部は、エリアに対応するエリア関連情報を格納し、以下の(a)から(d)の手段を有している。
(a)前記位置情報を受け入れる手段、
(b)前記インデックスデータ構造を検索し前記位置情報に対応する前記葉ノードを特定する手段、
(c)前記特定された葉ノードに対応する前記データ格納部を検索し、前記位置情報に対応する前記エリアを特定する手段、
及び、
(d)前記エリア関連情報格納部を検索し前記特定されたエリアに対応するエリア関連情報を出力する手段。
請求項1では、エリア管理データ構造、及び、エリア関連情報格納部を有し、任意の位置情報に対応するエリア関連情報を出力する装置を開示している。ここで、エリア管理データ構造は、エリアを包含するエリア集合に対応するルートノード、中間ノード、及び、葉ノードを含むインデックスデータ構造、並びに、葉ノードに対応するデータ格納部を有し、また、エリア関連情報格納部は、エリアに対応するエリア関連情報を格納し、以下の(a)から(d)の手段を有している。
(a)前記位置情報を受け入れる手段、
(b)前記インデックスデータ構造を検索し前記位置情報に対応する前記葉ノードを特定する手段、
(c)前記特定された葉ノードに対応する前記データ格納部を検索し、前記位置情報に対応する前記エリアを特定する手段、
及び、
(d)前記エリア関連情報格納部を検索し前記特定されたエリアに対応するエリア関連情報を出力する手段。
2.請求項2:
請求項2では、請求項1の装置において、エリアが近似多角形で近似されている場合について開示している。ここで、インデックスデータ構造の葉ノードは前記近似多角形の第一の最小包囲矩形に基づくデータを含み、また、中間ノードは一つ以上の前記第一の最小包囲矩形からなる集合を包含する第二の最小包囲矩形に基づくデータを含んでいる。データ格納部は前記エリアの近似多角形の4分木データに基づいて構成されている。
請求項2では、請求項1の装置において、エリアが近似多角形で近似されている場合について開示している。ここで、インデックスデータ構造の葉ノードは前記近似多角形の第一の最小包囲矩形に基づくデータを含み、また、中間ノードは一つ以上の前記第一の最小包囲矩形からなる集合を包含する第二の最小包囲矩形に基づくデータを含んでいる。データ格納部は前記エリアの近似多角形の4分木データに基づいて構成されている。
3.請求項3:
請求項3では、請求項1の装置において、エリアが一つ以上の矩形で近似されている場合について開示している。ここで、インデックスデータ構造の葉ノードは一つ以上の矩形からなる第一の最小包囲矩形に基づくデータを含み、また、中間ノードは一つ以上の前記第一の最小包囲矩形からなる集合を包含する第二の最小包囲矩形に基づくデータを含んでいる。データ格納部はエリアの矩形に基づいて構成されている。
請求項3では、請求項1の装置において、エリアが一つ以上の矩形で近似されている場合について開示している。ここで、インデックスデータ構造の葉ノードは一つ以上の矩形からなる第一の最小包囲矩形に基づくデータを含み、また、中間ノードは一つ以上の前記第一の最小包囲矩形からなる集合を包含する第二の最小包囲矩形に基づくデータを含んでいる。データ格納部はエリアの矩形に基づいて構成されている。
4.請求項4:
請求項4では、請求項1の装置において、前記エリアが一つ以上の直線からなる折れ線で近似されている場合について開示している。ここで、インデックスデータ構造の葉ノードは直線の第一の最小包囲矩形に基づくデータを含み、また、中間ノードは一つ以上の第一の最小包囲矩形からなる集合を包含する第二の最小包囲矩形に基づくデータを含んでいる。データ格納部は一つ以上の直線に基づいて構成されている。
請求項4では、請求項1の装置において、前記エリアが一つ以上の直線からなる折れ線で近似されている場合について開示している。ここで、インデックスデータ構造の葉ノードは直線の第一の最小包囲矩形に基づくデータを含み、また、中間ノードは一つ以上の第一の最小包囲矩形からなる集合を包含する第二の最小包囲矩形に基づくデータを含んでいる。データ格納部は一つ以上の直線に基づいて構成されている。
5.請求項5:
請求項5では、請求項1の装置において、エリアが曲線で近似され、さらに、この曲線が一つ以上の直線からなる折れ線で近似されている場合について開示している。ここで、インデックスデータ構造の葉ノードは直線の第一の最小包囲矩形に基づくデータを含み、また、中間ノードは一つ以上の第一の最小包囲矩形からなる集合を包含する第二の最小包囲矩形に基づくデータを含んでいる。データ格納部は一つ以上の直線に基づいて構成されている。
請求項5では、請求項1の装置において、エリアが曲線で近似され、さらに、この曲線が一つ以上の直線からなる折れ線で近似されている場合について開示している。ここで、インデックスデータ構造の葉ノードは直線の第一の最小包囲矩形に基づくデータを含み、また、中間ノードは一つ以上の第一の最小包囲矩形からなる集合を包含する第二の最小包囲矩形に基づくデータを含んでいる。データ格納部は一つ以上の直線に基づいて構成されている。
6.請求項6:
請求項6では、請求項1の装置において、エリアがスプライン補間によって曲線近似されている場合について開示している。ここで、インデックスデータ構造の葉ノードはスプライン補間された曲線のの第一の最小包囲矩形に基づくデータを含み、また、中間ノードは一つ以上の前記第一の最小包囲矩形からなる集合を包含する第二の最小包囲矩形に基づくデータを含んでいる。データ格納部はスプライン補間された曲線に基づいて構成されている。
請求項6では、請求項1の装置において、エリアがスプライン補間によって曲線近似されている場合について開示している。ここで、インデックスデータ構造の葉ノードはスプライン補間された曲線のの第一の最小包囲矩形に基づくデータを含み、また、中間ノードは一つ以上の前記第一の最小包囲矩形からなる集合を包含する第二の最小包囲矩形に基づくデータを含んでいる。データ格納部はスプライン補間された曲線に基づいて構成されている。
7.請求項7:
請求項7では、基本的なデータ構造は請求項1と同様であるが、エリア管理データ構造のインデックスデータ構造がサービス利用者の指定する一つ以上のエリア属性に基づき収集されたエリア情報に基づいて構築されている。
請求項7では、基本的なデータ構造は請求項1と同様であるが、エリア管理データ構造のインデックスデータ構造がサービス利用者の指定する一つ以上のエリア属性に基づき収集されたエリア情報に基づいて構築されている。
8.請求項8:
請求項8では、請求項1から7の装置において、二つ以上の前記インデックスデータ構造、及び、最下位のインデックスデータ構造のデータ格納部を含み、上位のインデックスデータ構造の葉ノードで特定されるエリアが、下位のインデックスデータ構造の前記ルートノードに対応する構造を有する場合について開示している。さらに、以下の手段によって、位置情報に対応するエリアを特定している。
(a)上位インデックスデータ構造を検索し位置情報に対応する葉ノードを特定する手段、
(b)特定された葉ノードに対応する下位のインデックスデータ構造を検索し位置情報に対応する葉ノードを特定する手段、
(c)最下位のインデックスデータ構造の葉ノードが得られるまで繰り返し、得られた最下位のインデックスデータ構造の葉ノードに対応するデータ格納部を検索し、位置情報に対応するエリアを特定する手段。
請求項8では、請求項1から7の装置において、二つ以上の前記インデックスデータ構造、及び、最下位のインデックスデータ構造のデータ格納部を含み、上位のインデックスデータ構造の葉ノードで特定されるエリアが、下位のインデックスデータ構造の前記ルートノードに対応する構造を有する場合について開示している。さらに、以下の手段によって、位置情報に対応するエリアを特定している。
(a)上位インデックスデータ構造を検索し位置情報に対応する葉ノードを特定する手段、
(b)特定された葉ノードに対応する下位のインデックスデータ構造を検索し位置情報に対応する葉ノードを特定する手段、
(c)最下位のインデックスデータ構造の葉ノードが得られるまで繰り返し、得られた最下位のインデックスデータ構造の葉ノードに対応するデータ格納部を検索し、位置情報に対応するエリアを特定する手段。
9.請求項9:
請求項9では、請求項8の装置において、さらに、インデックスデータ構造を構築するための第一のエリアの空間座標解像度が、他のインデックスデータ構造を構築するための第二のエリアの空間座標解像度から独立に設定されることを開示している。
請求項9では、請求項8の装置において、さらに、インデックスデータ構造を構築するための第一のエリアの空間座標解像度が、他のインデックスデータ構造を構築するための第二のエリアの空間座標解像度から独立に設定されることを開示している。
10.請求項10:
請求項10では、請求項8の装置において、以下の手段により、上位インデックスデータ構造の第二のエリアの追加または拡張について開示している。
(a)下位のインデックスデータ構造の第一のエリア情報の変更要求を受け入れる手段、
(b)前記第一のエリアに対応する上位インデックスデータ構造の第二のエリアが存在するか否か判断する手段、
(c)前記第二のエリアが存在しない場合、前記第一のエリアに対応する上位インデックスデータ構造の第二のエリアを追加する手段、
(d)前記第二のエリアが存在するが、前記第一のエリアの全てを包含しない場合、前記第二のエリアを拡張する手段。
請求項10では、請求項8の装置において、以下の手段により、上位インデックスデータ構造の第二のエリアの追加または拡張について開示している。
(a)下位のインデックスデータ構造の第一のエリア情報の変更要求を受け入れる手段、
(b)前記第一のエリアに対応する上位インデックスデータ構造の第二のエリアが存在するか否か判断する手段、
(c)前記第二のエリアが存在しない場合、前記第一のエリアに対応する上位インデックスデータ構造の第二のエリアを追加する手段、
(d)前記第二のエリアが存在するが、前記第一のエリアの全てを包含しない場合、前記第二のエリアを拡張する手段。
11.請求項11:
請求項11では、請求項8の装置において、以下の手段により、下位のエリア属性に基づくインデックスデータ構造を削除することについて開示している。
(a)下位のインデックスデータ構造の第一のエリア情報の変更要求、及び、第一のエリアの属性を受け入れる手段、
(b)第一のエリアの属性に対応する下位のエリア属性に基づくインデックスデータ構造が存在している場合には、第一のエリア情報の変更を行い、また下位のエリア属性に基づくインデックスデータ構造を削除する手段。
請求項11では、請求項8の装置において、以下の手段により、下位のエリア属性に基づくインデックスデータ構造を削除することについて開示している。
(a)下位のインデックスデータ構造の第一のエリア情報の変更要求、及び、第一のエリアの属性を受け入れる手段、
(b)第一のエリアの属性に対応する下位のエリア属性に基づくインデックスデータ構造が存在している場合には、第一のエリア情報の変更を行い、また下位のエリア属性に基づくインデックスデータ構造を削除する手段。
12.請求項12:
請求項12では、請求項1から11の装置において、エリア関連情報を出力する手段が、さらに、サービス利用者に関する情報、サービス提供者、又は、エリアの属性に関する情報のうち少なくとも一つを考慮して検索することを開示している。
請求項12では、請求項1から11の装置において、エリア関連情報を出力する手段が、さらに、サービス利用者に関する情報、サービス提供者、又は、エリアの属性に関する情報のうち少なくとも一つを考慮して検索することを開示している。
13.請求項13:
請求項13は、請求項1の装置を、コンピュータを制御して、任意の位置情報に対応するエリア関連情報を出力するプログラムを開示している。
請求項13は、請求項1の装置を、コンピュータを制御して、任意の位置情報に対応するエリア関連情報を出力するプログラムを開示している。
14.請求項14:
請求項14は、請求項7の装置を、コンピュータを制御して、任意の位置情報に対応するエリア関連情報を出力するプログラムを開示している。
請求項14は、請求項7の装置を、コンピュータを制御して、任意の位置情報に対応するエリア関連情報を出力するプログラムを開示している。
15.請求項15:
請求項15では、請求項8の装置を、コンピュータを制御して、任意の位置情報に対応するエリア関連情報を出力するプログラムを開示している。
請求項15では、請求項8の装置を、コンピュータを制御して、任意の位置情報に対応するエリア関連情報を出力するプログラムを開示している。
16.請求項16:
請求項16では、請求項1の装置において、任意の位置情報に対応するエリア関連情報を出力する方法を開示している。
請求項16では、請求項1の装置において、任意の位置情報に対応するエリア関連情報を出力する方法を開示している。
(1)多次元インデックスの1つである「R-tree」はCAD等の分野で幅(広がり)をもつ物体群を対象とし、かつデータ更新の多い動的な環境での利用に適したデータ構造である。
検索効率を更に向上させた「R*-tree」に基づくデータ構造を用いてサービス提供エリアを表現・管理することにより、モバイルユーザの位置がどのエリアに属しているかという空間探索を高速に効率よく実行することができる。
(2)対象物体の表現に用いる包囲矩形の重複が可能である「R*-tree」を用いることにより、サービス提供エリアの重複定義が可能となるため、複数の異なるサービスを提供する提供者、あるいは複数のサービス提供者が利用できるエリア情報の管理システムとなる。
(3)エリア情報の管理において、街の区画、区画内にある建物、建物内のフロア、フロア内の各店舗、店舗内での特定の場所など、様々なタイプおよび粒度のエリアを定義することができ、それらに対して柔軟かつ容易にサービスを割当てることができる。
検索効率を更に向上させた「R*-tree」に基づくデータ構造を用いてサービス提供エリアを表現・管理することにより、モバイルユーザの位置がどのエリアに属しているかという空間探索を高速に効率よく実行することができる。
(2)対象物体の表現に用いる包囲矩形の重複が可能である「R*-tree」を用いることにより、サービス提供エリアの重複定義が可能となるため、複数の異なるサービスを提供する提供者、あるいは複数のサービス提供者が利用できるエリア情報の管理システムとなる。
(3)エリア情報の管理において、街の区画、区画内にある建物、建物内のフロア、フロア内の各店舗、店舗内での特定の場所など、様々なタイプおよび粒度のエリアを定義することができ、それらに対して柔軟かつ容易にサービスを割当てることができる。
以下に本願発明の最良の実施形態を示す。
図1は本願発明の一実施例について説明している。現在自分のいる位置情報に基づくサービスを受けたいユーザは、GPS20その他の手段によって、ユーザのいる現在の位置情報を取得する。
ユーザのいる現在の位置情報を取得する手段の一例としてGPSについ
て説明する。GPSとは、人工衛星を利用して自分が地球上のどこにいるのかを正確に割り出すシステムであり、高度約2万kmの6つの円軌道に4つずつ配された米国防総省が管理するGPS衛星からの電波を利用し、緯度、経度などを高精度で割り出すことができるシステムである。
位置情報を取得したユーザは情報受信装置30から無線基地局40を経由して、ネットワーク上のエリア関連情報提供装置50をアクセスすることが出来る。
ここで所定の位置情報に対応する一つ以上のサービス情報を取得できる。また、サービス提供者は自己の提供するサービスとそのサービス提供エリアに関する情報とを組とした情報を、サービス提供者端末機60を使用してエリア関連情報提供装置50に登録する。
ユーザのいる現在の位置情報を取得する手段の一例としてGPSについ
て説明する。GPSとは、人工衛星を利用して自分が地球上のどこにいるのかを正確に割り出すシステムであり、高度約2万kmの6つの円軌道に4つずつ配された米国防総省が管理するGPS衛星からの電波を利用し、緯度、経度などを高精度で割り出すことができるシステムである。
位置情報を取得したユーザは情報受信装置30から無線基地局40を経由して、ネットワーク上のエリア関連情報提供装置50をアクセスすることが出来る。
ここで所定の位置情報に対応する一つ以上のサービス情報を取得できる。また、サービス提供者は自己の提供するサービスとそのサービス提供エリアに関する情報とを組とした情報を、サービス提供者端末機60を使用してエリア関連情報提供装置50に登録する。
図2は、本願発明を実施するエリア関連情報提供装置50を示している。エリア関連情報提供装置50の中には、記憶部110、メインメモリー120、出力部130、中央制御部(CPU)140、位置情報入力部150、エリア情報入力部160、ユーザ情報入力部170が含まれている。
サービス提供者は、提供するサービス内容とそれに対応するサービス提供エリアに関する情報を、ネットワーク等を経由しエリア情報入力部160から、予め入力しておく。ユーザも自己の性別・年齢・嗜好情報等の個人的な情報をネットワーク等を経由しユーザ情報入力部170から予め入力しておくことが出来る。
中央制御部140は、これらの情報を記憶部110に記憶する。ユーザは、現在の位置情報をネットワーク等を経由して位置情報入力部150から入力する。中央制御部140は記憶部110に記憶されている位置情報に対応するサービス情報を読み出し出力部130から結果を出力する。
サービス提供者は、提供するサービス内容とそれに対応するサービス提供エリアに関する情報を、ネットワーク等を経由しエリア情報入力部160から、予め入力しておく。ユーザも自己の性別・年齢・嗜好情報等の個人的な情報をネットワーク等を経由しユーザ情報入力部170から予め入力しておくことが出来る。
中央制御部140は、これらの情報を記憶部110に記憶する。ユーザは、現在の位置情報をネットワーク等を経由して位置情報入力部150から入力する。中央制御部140は記憶部110に記憶されている位置情報に対応するサービス情報を読み出し出力部130から結果を出力する。
図3aは、本願発明によるユーザの位置に基づくエリア関連情報提供装置50の機能ブロック図を示している。210は位置情報入力部、220はエリア情報入力部、225はユーザ情報入力部、230はエリア情報検索部、240はエリア情報格納部、250はエリア情報管理部、255はユーザ情報管理部、260はエリア関連情報検索部、270はエリア関連情報格納部、275はユーザ関連情報格納部、280はエリア関連情報出力部を示す。以下、これらの詳細について説明する。
実施例1では、サービス提供エリアのデータを「ベクトル化処理法」によって構築し、これらのデータを検索する方法について説明する。
実施例1では、サービス提供エリアのデータを「ベクトル化処理法」によって構築し、これらのデータを検索する方法について説明する。
(1)位置情報入力部(ブロック210):
ユーザからの位置情報の入力部である。
ユーザは、GPSなどを利用して、自分のいる位置を検出し、その位置情報をネットワークを経由してエリア関連情報提供装置の位置情報入力部(ブロック210)へ入力する。
(2)エリア情報入力部(ブロック220):
サービス提供者により提供されるサービスエリアに関する情報(形状、位置など)の入力部である。
サービス提供者は、デジタイザあるいはグラフィカルユーザインターフェース等を利用してサービス提供エリアのベクトル化処理を行い、当該データ及びこれらに対応するサービス内容とを入力する。
(3)ユーザ情報入力部(ブロック225):
ユーザは自己の性別・年齢・嗜好情報・ユーザが参加しているキャンペーンプログラムのリスト等の個人的な情報を予め入力しておく。
これにより、ユーザが入力した位置情報に基づくサービス情報が選択されたとき、ユーザの必要とする情報のみを選択して出力することが出来る。
ユーザからの位置情報の入力部である。
ユーザは、GPSなどを利用して、自分のいる位置を検出し、その位置情報をネットワークを経由してエリア関連情報提供装置の位置情報入力部(ブロック210)へ入力する。
(2)エリア情報入力部(ブロック220):
サービス提供者により提供されるサービスエリアに関する情報(形状、位置など)の入力部である。
サービス提供者は、デジタイザあるいはグラフィカルユーザインターフェース等を利用してサービス提供エリアのベクトル化処理を行い、当該データ及びこれらに対応するサービス内容とを入力する。
(3)ユーザ情報入力部(ブロック225):
ユーザは自己の性別・年齢・嗜好情報・ユーザが参加しているキャンペーンプログラムのリスト等の個人的な情報を予め入力しておく。
これにより、ユーザが入力した位置情報に基づくサービス情報が選択されたとき、ユーザの必要とする情報のみを選択して出力することが出来る。
(4)エリア情報格納部(ブロック240):
エリア情報格納部は、図3bに示すように、第1のエリア情報格納部、及び、第2のエリア情報格納部を有している。第1のエリア情報格納部には広範なエリア情報が格納されており、ユーザの位置を広い範囲で検出することが出来る。
第2のエリア情報格納部には狭い範囲のエリア情報が格納されており、ユーザの位置を狭い範囲で検出し具体的なサービスエリアを特定することが出来る。
実施例1では、第1のエリア情報格納部には、図4aに示す「R*-treeを用いたインデ
ックス構造」(以下本願明細書では「インデックス構造」と呼ぶ)が格納される。
また、第2のエリア情報格納部には、図4bに示される「4分木データ」が格納される。
エリア情報格納部は、図3bに示すように、第1のエリア情報格納部、及び、第2のエリア情報格納部を有している。第1のエリア情報格納部には広範なエリア情報が格納されており、ユーザの位置を広い範囲で検出することが出来る。
第2のエリア情報格納部には狭い範囲のエリア情報が格納されており、ユーザの位置を狭い範囲で検出し具体的なサービスエリアを特定することが出来る。
実施例1では、第1のエリア情報格納部には、図4aに示す「R*-treeを用いたインデ
ックス構造」(以下本願明細書では「インデックス構造」と呼ぶ)が格納される。
また、第2のエリア情報格納部には、図4bに示される「4分木データ」が格納される。
(5)エリア情報管理部(ブロック250):
ここでは、サービス提供者により定義されるサービスの内容、及び、サービスエリアに関する情報(形状、位置など)が適正であるか否か確認し、これらのデータの登録・削除・更新の管理を行う。
(6)ユーザ情報管理部(ブロック255):
ここでは、ユーザにより入力されるユーザ情報の管理を行う。すなわちユーザの登録、ユーザにより入力された個人的な情報が規則に従っているか等の確認を行い、これらのデータの登録・削除・更新の管理を行う。
(7)エリア情報検索部(ブロック230):
ユーザの所持する情報受信装置によって特定された位置情報に基づき、ユーザが存在
するエリアをエリア情報格納部から探索し、該当するエリアを一意に特定する識別子を取得する。
一つの位置に複数のサービス提供エリアが重複して定義されている場合には、そ
の位置情報から複数のエリア識別子が得られる。
ここでは、サービス提供者により定義されるサービスの内容、及び、サービスエリアに関する情報(形状、位置など)が適正であるか否か確認し、これらのデータの登録・削除・更新の管理を行う。
(6)ユーザ情報管理部(ブロック255):
ここでは、ユーザにより入力されるユーザ情報の管理を行う。すなわちユーザの登録、ユーザにより入力された個人的な情報が規則に従っているか等の確認を行い、これらのデータの登録・削除・更新の管理を行う。
(7)エリア情報検索部(ブロック230):
ユーザの所持する情報受信装置によって特定された位置情報に基づき、ユーザが存在
するエリアをエリア情報格納部から探索し、該当するエリアを一意に特定する識別子を取得する。
一つの位置に複数のサービス提供エリアが重複して定義されている場合には、そ
の位置情報から複数のエリア識別子が得られる。
(8)エリア関連情報検索部(ブロック260):
ブロック230で得られたエリア識別子に基づき、当該エリアに関連付けられた様々
な情報を探索する。一つの位置に複数のサービスが提供されている場合には、その位置情報から取得された複数のエリア識別子に基づき検索することが出来る。さらに、ブロック275に格納されているユーザ関連情報に基づき、ユーザあるいはサービス提供者の条件に合致する情報のみを選択して提供することが出来る。
(9)エリア関連情報格納部(ブロック270):
サービス提供者によって入力された各エリアで提供されるサービスなどの関連情報が
格納される。
これらの情報はブロック250のエリア情報管理部を経由して格納される。
(10)ユーザ関連情報格納部(ブロック275):
ユーザによって入力された各ユーザの個人情報が格納される。これらの情報はブロッ
ク255のユーザ情報管理部を経由して格納される。
(11)エリア関連情報出力部(ブロック280):
検索結果が出力され、ネットワークを経由してユーザへ送信される。
ブロック230で得られたエリア識別子に基づき、当該エリアに関連付けられた様々
な情報を探索する。一つの位置に複数のサービスが提供されている場合には、その位置情報から取得された複数のエリア識別子に基づき検索することが出来る。さらに、ブロック275に格納されているユーザ関連情報に基づき、ユーザあるいはサービス提供者の条件に合致する情報のみを選択して提供することが出来る。
(9)エリア関連情報格納部(ブロック270):
サービス提供者によって入力された各エリアで提供されるサービスなどの関連情報が
格納される。
これらの情報はブロック250のエリア情報管理部を経由して格納される。
(10)ユーザ関連情報格納部(ブロック275):
ユーザによって入力された各ユーザの個人情報が格納される。これらの情報はブロッ
ク255のユーザ情報管理部を経由して格納される。
(11)エリア関連情報出力部(ブロック280):
検索結果が出力され、ネットワークを経由してユーザへ送信される。
[各部の説明]
以下、各部について詳細に説明する。
以下、各部について詳細に説明する。
1.最小包囲矩形(MBR:Minimum Bounding Rectangle):
先ず、MBRについて説明する。MBRとは、所定のエリアを、ベクトル化処理を行
うことにより、当該エリアに外接する矩形で表現することを言う。
すなわち、図5に示されるように、エリアの境界線(図5左端)を複数の直線と頂点からなる多角形により近似し(図5中央)、この近似多角形を最小包囲矩形(MBR:Minimum Bounding Rectangle)により外接する矩形で表現すること(図5右端)を言う。
近似の精度は、データ量および許容できる誤差などから任意に設定できる。
先ず、MBRについて説明する。MBRとは、所定のエリアを、ベクトル化処理を行
うことにより、当該エリアに外接する矩形で表現することを言う。
すなわち、図5に示されるように、エリアの境界線(図5左端)を複数の直線と頂点からなる多角形により近似し(図5中央)、この近似多角形を最小包囲矩形(MBR:Minimum Bounding Rectangle)により外接する矩形で表現すること(図5右端)を言う。
近似の精度は、データ量および許容できる誤差などから任意に設定できる。
2.インデックス構造:
図6には、領域A、領域B、領域CそれぞれのMBR、及び、それらを包括するMBRとして領域1が示されている。また、領域D、領域E、領域FそれぞれのMBR、及び、それらを包括するMBRとして領域2が示されている。図6に示される領域A〜F、領
域1、及び、領域2の8つのMBRにより表現されるデータを、図4aに示す「インデックス構造」に格納する。ここで、領域1〜2を格納するノードを中間ノードと呼び、管理・格納の対象となる領域A〜Fを格納するノードを葉ノードと呼ぶ。
図4aに示される「インデックス構造」では対象となる全てのデータのMBRを多分木構造で管理し、その最上部はルートノード(根ノード)である。二段目には中間ノードとして「領域1」および「領域2」が示されており、それぞれ図6の「領域1」および「領域2」に対応している。三段目のブロックには、葉ノードとして「領域A」から「領域F」が示されて、それぞれ図6の「領域A」から「領域F」に対応する。
図6には、領域A、領域B、領域CそれぞれのMBR、及び、それらを包括するMBRとして領域1が示されている。また、領域D、領域E、領域FそれぞれのMBR、及び、それらを包括するMBRとして領域2が示されている。図6に示される領域A〜F、領
域1、及び、領域2の8つのMBRにより表現されるデータを、図4aに示す「インデックス構造」に格納する。ここで、領域1〜2を格納するノードを中間ノードと呼び、管理・格納の対象となる領域A〜Fを格納するノードを葉ノードと呼ぶ。
図4aに示される「インデックス構造」では対象となる全てのデータのMBRを多分木構造で管理し、その最上部はルートノード(根ノード)である。二段目には中間ノードとして「領域1」および「領域2」が示されており、それぞれ図6の「領域1」および「領域2」に対応している。三段目のブロックには、葉ノードとして「領域A」から「領域F」が示されて、それぞれ図6の「領域A」から「領域F」に対応する。
中間ノードは、下位に位置する「葉ノード」のMBRの集合を包含するMBRと、そ
れら複数の「葉ノード」へのポインタを有している。各葉ノードは、対象となるエリアのMBRとそれに対応する4分木データへのポインタを有している。図4aに示した例では、「中間ノード」には(式1)で示す情報が、「葉ノード」には(式2)で示す情報が含まれている。
(式1) 中間ノード=(I,葉ノードへのポインタ)
(式2) 葉ノード=(I,4分木データへのポインタ)
ここで、I = (IS,IE)、但しIS=(IS1, IS2, ..., ISn )、IE=(IE1, IE2, ..., IEn)である。
ISはn次元空間におけるMBRの一方のコーナーの座標を表し、IEはISに対応する他方のコーナーの座標を表している。
二次元空間で考えると、I = (IS,IE)であり、IS=(IS1, IS2 )、IE=(IE1, IE2 )となる。
れら複数の「葉ノード」へのポインタを有している。各葉ノードは、対象となるエリアのMBRとそれに対応する4分木データへのポインタを有している。図4aに示した例では、「中間ノード」には(式1)で示す情報が、「葉ノード」には(式2)で示す情報が含まれている。
(式1) 中間ノード=(I,葉ノードへのポインタ)
(式2) 葉ノード=(I,4分木データへのポインタ)
ここで、I = (IS,IE)、但しIS=(IS1, IS2, ..., ISn )、IE=(IE1, IE2, ..., IEn)である。
ISはn次元空間におけるMBRの一方のコーナーの座標を表し、IEはISに対応する他方のコーナーの座標を表している。
二次元空間で考えると、I = (IS,IE)であり、IS=(IS1, IS2 )、IE=(IE1, IE2 )となる。
領域1を示す中間ノードには、領域1のMBRを表す座標としてP(x1,y1)、及び、
Q(x2,y2)(図6参照)が格納される。
領域Aを示す葉ノードには、領域AのMBRを表す座標としてR(x3,y3)、及び、S(x4,y4)(図6参照)が格納される。
ここで、ユーザが入力した位置情報について検索し、先ず、領域1にあるのか領域2にあるのかを検索する。
次に検索された領域に対応する中間ノードに含まれている「葉ノードへのポインタ」に従い、その下位にある全ての葉ノードについて検索する。
全ての葉ノードの検索をした結果、該当する葉ノードに含まれる「4分木データへのポインタ」に従い、4分木データ(図4b)を検索する。
Q(x2,y2)(図6参照)が格納される。
領域Aを示す葉ノードには、領域AのMBRを表す座標としてR(x3,y3)、及び、S(x4,y4)(図6参照)が格納される。
ここで、ユーザが入力した位置情報について検索し、先ず、領域1にあるのか領域2にあるのかを検索する。
次に検索された領域に対応する中間ノードに含まれている「葉ノードへのポインタ」に従い、その下位にある全ての葉ノードについて検索する。
全ての葉ノードの検索をした結果、該当する葉ノードに含まれる「4分木データへのポインタ」に従い、4分木データ(図4b)を検索する。
3.4分木データ:
「インデックス構造」は、MBRで表現されているために、入力された位置が含まれる領域を高速に絞り込むことはできるが、サービス提供者が提供する個々のサービスエリアを特定することは出来ない。絞り込まれたエリアを正確に特定するために、葉ノードに含まれる4分木データへのポインタによって指定される「4分木データ」をさらに検索する。
4分木データとは、一種のデータ圧縮手法を用いた構造であり、かつ所定の位置が近似多角形の内側に位置するか否かを所定の精度で判別するのに適した構造を有する。近似多角形の情報は4分木データで表現すると図4bに示すようなツリー構造で表現できる。
「インデックス構造」は、MBRで表現されているために、入力された位置が含まれる領域を高速に絞り込むことはできるが、サービス提供者が提供する個々のサービスエリアを特定することは出来ない。絞り込まれたエリアを正確に特定するために、葉ノードに含まれる4分木データへのポインタによって指定される「4分木データ」をさらに検索する。
4分木データとは、一種のデータ圧縮手法を用いた構造であり、かつ所定の位置が近似多角形の内側に位置するか否かを所定の精度で判別するのに適した構造を有する。近似多角形の情報は4分木データで表現すると図4bに示すようなツリー構造で表現できる。
4分木データの最上位もルートノードとよばれ、図6に示される領域Aを一意に特定する「エリア識別子」が格納される。図7は領域Aに対応するサービス提供エリアの近似多角形とそのMBRを例示した図である。
図4bに示される4分木データの2段目には、図7左図に示されるMBRを4分割した第一象限(I)、第二象限(II)、第三象限(III)、第四象限(IV)に対応するデータが格納される。
三段目には、図7右図に示されるように第一象限(I)をさらに4分割した場合の各ブロック(1-1、1-2、1-3、1-4)が対応するデータが格納される。
格納されているデータには、近似された多角形の内側であるか、外側であるかによって、1(ワン)または0(ゼロ)が与えられる。図7右図を参照して説明すると、「1-1」は全ての領域が多角形の外側であるので、0(ゼロ)が与えられる。
「1-2」は外側の領域が内側の領域より多いので、0(ゼロ)が与えられる。
「1-3」は内側の領域が外側の領域より多いので、1(ワン)が与えられる。4段目には、「1-4」をさらに4分割したデータが格納される。すなわち、それぞれのノードには、0(ゼロ)、0(ゼロ)、1(ワン)、1(ワン)が格納される。ここで、4分木をどこまで分割するかは、データ量などからサービス提供者が任意に定めることができる。
図4bに示される4分木データの2段目には、図7左図に示されるMBRを4分割した第一象限(I)、第二象限(II)、第三象限(III)、第四象限(IV)に対応するデータが格納される。
三段目には、図7右図に示されるように第一象限(I)をさらに4分割した場合の各ブロック(1-1、1-2、1-3、1-4)が対応するデータが格納される。
格納されているデータには、近似された多角形の内側であるか、外側であるかによって、1(ワン)または0(ゼロ)が与えられる。図7右図を参照して説明すると、「1-1」は全ての領域が多角形の外側であるので、0(ゼロ)が与えられる。
「1-2」は外側の領域が内側の領域より多いので、0(ゼロ)が与えられる。
「1-3」は内側の領域が外側の領域より多いので、1(ワン)が与えられる。4段目には、「1-4」をさらに4分割したデータが格納される。すなわち、それぞれのノードには、0(ゼロ)、0(ゼロ)、1(ワン)、1(ワン)が格納される。ここで、4分木をどこまで分割するかは、データ量などからサービス提供者が任意に定めることができる。
4.位置情報に基づくエリア関連情報の検索:
(a)エリア識別子の検索(ブロック230)
エリア識別子の検索は図3aのブロック230に対応する。特定された位置情報に基づき、ユーザが存在するエリアをエリア情報格納部から探索し、該当するエリアを一意に同定するエリア識別子を取得する。以下に検索方法を示す。
(イ)GPSあるいは携帯端末などから得られた位置情報をユーザから受け取りエリア情報格納部への格納に用いる座標系にデータ変換する。
(ロ)インデックス構造(図4a)に対してGuttmanの探索アルゴリズム(非特許文献7)を実行し、位置情報に該当するMBRデータを格納する葉ノードを全て検索し、4分木データへのポインターを読み出す。
(ハ)ステップ(ロ)で得られた葉ノードのポインタにより示される「4分木データ」に対して探索アルゴリズムを実行する。
MBRデータは近似した多角形を包含する矩形を表すデータであるので、入力された位置情報が、MBRデータに含まれる多角形(サービスエリア)の内側にあるか否かを4分木データを用いて確認する。
(a)エリア識別子の検索(ブロック230)
エリア識別子の検索は図3aのブロック230に対応する。特定された位置情報に基づき、ユーザが存在するエリアをエリア情報格納部から探索し、該当するエリアを一意に同定するエリア識別子を取得する。以下に検索方法を示す。
(イ)GPSあるいは携帯端末などから得られた位置情報をユーザから受け取りエリア情報格納部への格納に用いる座標系にデータ変換する。
(ロ)インデックス構造(図4a)に対してGuttmanの探索アルゴリズム(非特許文献7)を実行し、位置情報に該当するMBRデータを格納する葉ノードを全て検索し、4分木データへのポインターを読み出す。
(ハ)ステップ(ロ)で得られた葉ノードのポインタにより示される「4分木データ」に対して探索アルゴリズムを実行する。
MBRデータは近似した多角形を包含する矩形を表すデータであるので、入力された位置情報が、MBRデータに含まれる多角形(サービスエリア)の内側にあるか否かを4分木データを用いて確認する。
(ニ)位置情報から得られる位置が、エリアの内側に存在する場合に、4分木のルートノードに格納されたエリア識別子を探索結果として返す。同様の検索をステップ(ロ)で得られた全ての葉ノードに対して繰り返し、当該位置情報の属する全てのエリア識別子を取得する。
なお、当該位置情報が全てのエリアの外側に存在する場合には「NULL」を返す。
なお、当該位置情報が全てのエリアの外側に存在する場合には「NULL」を返す。
(b)エリア関連情報の検索(ステップ260):
エリア関連情報の検索は図3aのブロック260に対応する。
(a)エリア識別子の検索で得られたエリア識別子に基づき、当該エリアに関連付けられた様々な情報を探索する。
一つの位置情報から複数のエリア識別子が検索された場合には、複数のサービス又は関連する情報を検索する。
ここで、ユーザ関連情報格納部(ブロック275)に格納されている当該ユーザの個人情報をもとに、検索された情報の中から、当該ユーザあるいはサービス提供者の条件と合致する情報のみを選択することが出来る。
エリア関連情報の検索は図3aのブロック260に対応する。
(a)エリア識別子の検索で得られたエリア識別子に基づき、当該エリアに関連付けられた様々な情報を探索する。
一つの位置情報から複数のエリア識別子が検索された場合には、複数のサービス又は関連する情報を検索する。
ここで、ユーザ関連情報格納部(ブロック275)に格納されている当該ユーザの個人情報をもとに、検索された情報の中から、当該ユーザあるいはサービス提供者の条件と合致する情報のみを選択することが出来る。
以下に例について示す。
同一地点にいるユーザAおよびBからの情報検索依頼により、その位置情報に対応するエリアとして複数のエリア1、2、3が特定されたとする。各
エリアには、それぞれ企業1、2、3がサービス提供者として登録されているものとする。
また、ユーザAが参加しているキャンペーンリストとして{企業1、3、5、6}が、ユーザBが参加しているキャンペーンとして{企業2、3、4、7}が、ユーザ関連情報格納部に記憶されているとする。
このとき、ユーザAに対しては企業1、3に対応するエリア1、3の関連情報が選択され検索結果として出力される。同様に、ユーザBに対しては企業2、3に対応するエリア2、3の関連情報が出力される。
同一地点にいるユーザAおよびBからの情報検索依頼により、その位置情報に対応するエリアとして複数のエリア1、2、3が特定されたとする。各
エリアには、それぞれ企業1、2、3がサービス提供者として登録されているものとする。
また、ユーザAが参加しているキャンペーンリストとして{企業1、3、5、6}が、ユーザBが参加しているキャンペーンとして{企業2、3、4、7}が、ユーザ関連情報格納部に記憶されているとする。
このとき、ユーザAに対しては企業1、3に対応するエリア1、3の関連情報が選択され検索結果として出力される。同様に、ユーザBに対しては企業2、3に対応するエリア2、3の関連情報が出力される。
他の例では、ユーザAは20歳代の男性、ユーザBは40歳代の女性、であることが
ユーザ関連情報格納部に記憶されているとする。
また、エリア1,2に対応する関連情報として「男性に提供」、エリア3に対応する関連情報に「30歳以上に提供」というアクセス制御情報が含まれているとする。
このとき、ユーザAに対しては企業1に対応するエリア1の関連情報が選択され検索結果として出力される(「30歳以上」という条件から、エリア3は選択されない)。
同様に、ユーザBに対しては、企業3に対応するエリア3の関連情報が出力される(「男性」という条件から、エリア2は選択されない)。
ユーザ関連情報格納部に記憶されているとする。
また、エリア1,2に対応する関連情報として「男性に提供」、エリア3に対応する関連情報に「30歳以上に提供」というアクセス制御情報が含まれているとする。
このとき、ユーザAに対しては企業1に対応するエリア1の関連情報が選択され検索結果として出力される(「30歳以上」という条件から、エリア3は選択されない)。
同様に、ユーザBに対しては、企業3に対応するエリア3の関連情報が出力される(「男性」という条件から、エリア2は選択されない)。
(c)検索結果の出力(ステップ280):
検索結果の出力は図3aのブロック280に対応する。検索結果を出力し、ネットワ
ークを経由してユーザへ送信する。
検索結果の出力は図3aのブロック280に対応する。検索結果を出力し、ネットワ
ークを経由してユーザへ送信する。
5.アルゴリズム:
本願発明による位置情報に基づく関連情報の検索方法のアルゴリズム(図8)につい
て説明する。
ステップ10:位置情報、及び、ユーザ識別子を受け入れるステップ。
ユーザは、ユーザの存在する位置情報、及び、当該ユーザ識別子を情報受信装置からネットワーク経由して送信する。エリア関連情報提供装置はこれらの情報を受入れる。
ステップ20:位置データに含まれる全ての葉ノードを検索するステップ。
インデックス構造(図4a)に対してGuttmanの探索アルゴリズムを実行し、当該位置データに対応するMBRデータを有する葉ノードを全て検索する。
本願発明による位置情報に基づく関連情報の検索方法のアルゴリズム(図8)につい
て説明する。
ステップ10:位置情報、及び、ユーザ識別子を受け入れるステップ。
ユーザは、ユーザの存在する位置情報、及び、当該ユーザ識別子を情報受信装置からネットワーク経由して送信する。エリア関連情報提供装置はこれらの情報を受入れる。
ステップ20:位置データに含まれる全ての葉ノードを検索するステップ。
インデックス構造(図4a)に対してGuttmanの探索アルゴリズムを実行し、当該位置データに対応するMBRデータを有する葉ノードを全て検索する。
ステップ30:4分木データに対する探索結果からエリア識別子を取得するステップ
検出された全ての葉ノード対応する4分木データに対して探索アルゴリズムを実行し、葉ノードのポインタで指定される4分木データに対して、ユーザの位置が、サービス提供者の指定するエリアの内側にあるかどうかの判別を行う。内側にあるときには、当該4分木データのルートノードに格納されているエリア識別子を返す。
ユーザの位置が、エリアの外側に存在する場合には「NULL」を返す。
検出された全ての葉ノード対応する4分木データに対して探索アルゴリズムを実行し、葉ノードのポインタで指定される4分木データに対して、ユーザの位置が、サービス提供者の指定するエリアの内側にあるかどうかの判別を行う。内側にあるときには、当該4分木データのルートノードに格納されているエリア識別子を返す。
ユーザの位置が、エリアの外側に存在する場合には「NULL」を返す。
ステップ40:得られたエリア識別子に基づき、そのエリアに関連付けられた情報を探索するステップ。
当該エリアに関連する様々な情報、例えば、当該位置付近の地図、時刻表,乗り換え案内、電車の事故状況、気象情報、道路の混雑状態などの情報、あるいは、エリアで提供される様々なサービス、例えば、当該エリアのある商店で提供されている商品、価格、在庫状況などの情報が検索される。
ステップ50:ユーザ関連情報に基づく関連情報の選択位置情報と共に送信されたユーザ識別子を用いて、予め格納されている当該ユーザの個人情報およびサービス提供者に関する情報を参照し、当該ユーザに対して提供され得るサービスまたは関連情報を選択的に検索することが出来る。
ステップ60:検索結果を出力するステップ。
ステップ50で検索されたこれらの情報を情報受信装置の表示部へ出力する。
当該エリアに関連する様々な情報、例えば、当該位置付近の地図、時刻表,乗り換え案内、電車の事故状況、気象情報、道路の混雑状態などの情報、あるいは、エリアで提供される様々なサービス、例えば、当該エリアのある商店で提供されている商品、価格、在庫状況などの情報が検索される。
ステップ50:ユーザ関連情報に基づく関連情報の選択位置情報と共に送信されたユーザ識別子を用いて、予め格納されている当該ユーザの個人情報およびサービス提供者に関する情報を参照し、当該ユーザに対して提供され得るサービスまたは関連情報を選択的に検索することが出来る。
ステップ60:検索結果を出力するステップ。
ステップ50で検索されたこれらの情報を情報受信装置の表示部へ出力する。
実施例2、及び、実施例3では、サービス提供エリアのデータ構築について「複数の矩形による組み合わせ処理」を用いる例について説明する。
実施例2では、第1のエリア情報格納部には、それぞれのエリアを近似する複数の矩形を全て包含するMBRを管理する「インデックス構造」が格納され、第2のエリア情報格納部には複数の矩形の組み合わせによって近似されたエリア情報が格納される。第2のエリア情報格納部には「矩形集合データ」(式4、後述)を使用する。
実施例3では、第1のエリア情報格納部に、エリアを近似する複数の矩形をそれぞれ個別に管理する「インデックス構造」が格納され、第2のエリア情報格納部に相当するものは使用しない。
実施例2では、第1のエリア情報格納部には、それぞれのエリアを近似する複数の矩形を全て包含するMBRを管理する「インデックス構造」が格納され、第2のエリア情報格納部には複数の矩形の組み合わせによって近似されたエリア情報が格納される。第2のエリア情報格納部には「矩形集合データ」(式4、後述)を使用する。
実施例3では、第1のエリア情報格納部に、エリアを近似する複数の矩形をそれぞれ個別に管理する「インデックス構造」が格納され、第2のエリア情報格納部に相当するものは使用しない。
以下、実施例2について説明する。図9a左端に示される図形を近似する場合に、図9a右端に示されるように、複数の矩形で近似することが出来る。近似の精度を向上させるためには、矩形の数を増やせばよいが、その分多くの矩形に関する情報を保持する必要がある。
図9a右端図では、矩形Aから矩形Eまでの合計5個の矩形によって近似されている。
さらに、図9b右端図に示すように、これらの矩形Aから矩形Eを全て包含するMBRを定義することが出来る。
図9a右端図では、矩形Aから矩形Eまでの合計5個の矩形によって近似されている。
さらに、図9b右端図に示すように、これらの矩形Aから矩形Eを全て包含するMBRを定義することが出来る。
図4aで示される葉ノードには、(式3)で定義される情報が含まれている。
(式3) 葉ノード=(I,矩形集合データへのポインタ)
ここで、当該葉ノードはサービスエリアを近似するm個の矩形をすべて包含するMBRの情報を格納する。図9b右端図で説明すると破線で囲まれた部分がこれに相当する。
ここで、I = (IS,IE)、但しIS=(IS1, IS2, ...,ISn )、IE=(IE1, IE2, ...,IEn )である。
ISはn次元空間における当該MBRの一方のコーナーの座標を表し、IEはISに対応する他方のコーナーの座標を表している。
二次元空間で考えると、I = (IS,IE)であり、図9bで示すと、IS=V(x7,y7)、IE=W(x8,y8)である。
また、「矩形集合データ」は(式4)に示すように、エリア識別子とm個の矩形データとの組からなる。
(式4) 矩形集合データ=(エリア識別子,(I1, I2 , ...,Im))
但し、IJ はJ番目の矩形のMBRの座標を表す。
ここでIJ = (IJS,IJE) と表すことが出来る。
n次元空間を考えると、IJS=(IJS1, IJS2, ...,IJSn )、IJE=(IJE1, IJE2, . ..,IJEn)である。
IJSはJ番目の矩形のMBRの一方のコーナーの座標を表し、IJEはIJSに対応する他方のコーナーの座標を表している。
(式3) 葉ノード=(I,矩形集合データへのポインタ)
ここで、当該葉ノードはサービスエリアを近似するm個の矩形をすべて包含するMBRの情報を格納する。図9b右端図で説明すると破線で囲まれた部分がこれに相当する。
ここで、I = (IS,IE)、但しIS=(IS1, IS2, ...,ISn )、IE=(IE1, IE2, ...,IEn )である。
ISはn次元空間における当該MBRの一方のコーナーの座標を表し、IEはISに対応する他方のコーナーの座標を表している。
二次元空間で考えると、I = (IS,IE)であり、図9bで示すと、IS=V(x7,y7)、IE=W(x8,y8)である。
また、「矩形集合データ」は(式4)に示すように、エリア識別子とm個の矩形データとの組からなる。
(式4) 矩形集合データ=(エリア識別子,(I1, I2 , ...,Im))
但し、IJ はJ番目の矩形のMBRの座標を表す。
ここでIJ = (IJS,IJE) と表すことが出来る。
n次元空間を考えると、IJS=(IJS1, IJS2, ...,IJSn )、IJE=(IJE1, IJE2, . ..,IJEn)である。
IJSはJ番目の矩形のMBRの一方のコーナーの座標を表し、IJEはIJSに対応する他方のコーナーの座標を表している。
二次元平面として、図9b左端図で説明すると、ここで示される図形は矩形Aから矩形Eまでの5つの矩形から構成されているので、これらの矩形が矩形I1, I2 , ...,I5
に対応する。図形AがI1に対応するとして説明すると、I1 = (I1S,I1E)と表すことが出来、矩形Aの一方のコーナー座標、I1S=T(x5,y5)であり、他方のコーナー座標、I1E=U(x6,y6)と表すことが出来る。
従って、葉ノードのポインタで指定される矩形集合データの中に複数の矩形情報が含まれており、矩形集合データの中で、ユーザのいる位置が各矩形の内側にあるかどうかの判別を行う。何れかの矩形の内側ある場合に、当該矩形集合データに格納されているエリア識別子を返す。
エリアの外側に存在する場合には「NULL」を返す。
に対応する。図形AがI1に対応するとして説明すると、I1 = (I1S,I1E)と表すことが出来、矩形Aの一方のコーナー座標、I1S=T(x5,y5)であり、他方のコーナー座標、I1E=U(x6,y6)と表すことが出来る。
従って、葉ノードのポインタで指定される矩形集合データの中に複数の矩形情報が含まれており、矩形集合データの中で、ユーザのいる位置が各矩形の内側にあるかどうかの判別を行う。何れかの矩形の内側ある場合に、当該矩形集合データに格納されているエリア識別子を返す。
エリアの外側に存在する場合には「NULL」を返す。
図3aで示される機能ブロック図の中で実施例1との違いを説明する。
(1)エリア情報入力部(ブロック220):
サービス提供者は、デジタイザあるいはグラフィカルユーザインターフェース等を利用してサービス提供エリアの形状を近似する(図9a)。
ベクトル化とは異なり、定義すべきサービスエリアの形状をいくつかの矩形の組合せにより近似する。矩形の大きさ、配置などはサービス提供者が任意に設定できる。
(2)エリア情報格納部(ブロック240):
サービス提供エリアに関する情報をエリア情報格納部に格納する。この場合は、形状近似に用いられる複数の矩形をすべて包含するMBRをインデックス構造におけるMBRデータとして、(式3)に示すように、当該MBRデータ、及び、矩形集合データへのポインタをインデックス構造の葉ノードに格納する。当該ポインタで指定される矩形集合データには、(式4)に示すように、該当するエリアのエリア識別子と、エリアの形状近似に用いられる複数の矩形データとの組が含まれる。
(1)エリア情報入力部(ブロック220):
サービス提供者は、デジタイザあるいはグラフィカルユーザインターフェース等を利用してサービス提供エリアの形状を近似する(図9a)。
ベクトル化とは異なり、定義すべきサービスエリアの形状をいくつかの矩形の組合せにより近似する。矩形の大きさ、配置などはサービス提供者が任意に設定できる。
(2)エリア情報格納部(ブロック240):
サービス提供エリアに関する情報をエリア情報格納部に格納する。この場合は、形状近似に用いられる複数の矩形をすべて包含するMBRをインデックス構造におけるMBRデータとして、(式3)に示すように、当該MBRデータ、及び、矩形集合データへのポインタをインデックス構造の葉ノードに格納する。当該ポインタで指定される矩形集合データには、(式4)に示すように、該当するエリアのエリア識別子と、エリアの形状近似に用いられる複数の矩形データとの組が含まれる。
(3)エリア情報検索部(ブロック230):
位置情報に基づきユーザが存在する位置に対応するエリア識別子をエリア情報格納部から探索する。
実施例2では、インデックス構造に対してGuttmanの探索アルゴリズム(非特許文献7)を実行し、位置データに該当するMBRデータを格納する葉ノードを見つけ出す。葉ノードのポインタで指定される矩形集合データの中に含まれている複数の矩形データの中で、ユーザのいる位置が各矩形の内側にあるかどうかの判別を行う。
何れかの矩形の内側ある場合には、矩形集合データ(式4)の中に格納されているエリア識別子を取得する。
位置情報に基づきユーザが存在する位置に対応するエリア識別子をエリア情報格納部から探索する。
実施例2では、インデックス構造に対してGuttmanの探索アルゴリズム(非特許文献7)を実行し、位置データに該当するMBRデータを格納する葉ノードを見つけ出す。葉ノードのポインタで指定される矩形集合データの中に含まれている複数の矩形データの中で、ユーザのいる位置が各矩形の内側にあるかどうかの判別を行う。
何れかの矩形の内側ある場合には、矩形集合データ(式4)の中に格納されているエリア識別子を取得する。
[アルゴリズム]
実施例2による位置情報に基づく関連情報の検索方法のアルゴリズム(図10a)について説明する。
ステップ10:位置情報、及び、ユーザ識別子を受け入れるステップ。
ユーザは、ユーザの存在する位置情報、及び、当該ユーザ識別子を情報受信装置からネットワーク経由して送信する。エリア関連情報提供装置はこれらの情報を受入れる。
ステップ20:位置データに含まれる全ての葉ノードを検索するステップ。
インデックス構造(図4a)に対してGuttmanの探索アルゴリズムを実行し、当該位置
データに対応するMBRデータを格納する葉ノードを全て検索し、当該MBR内に存在する場合には、「矩形集合データ」へのポインタを取得する。
実施例2による位置情報に基づく関連情報の検索方法のアルゴリズム(図10a)について説明する。
ステップ10:位置情報、及び、ユーザ識別子を受け入れるステップ。
ユーザは、ユーザの存在する位置情報、及び、当該ユーザ識別子を情報受信装置からネットワーク経由して送信する。エリア関連情報提供装置はこれらの情報を受入れる。
ステップ20:位置データに含まれる全ての葉ノードを検索するステップ。
インデックス構造(図4a)に対してGuttmanの探索アルゴリズムを実行し、当該位置
データに対応するMBRデータを格納する葉ノードを全て検索し、当該MBR内に存在する場合には、「矩形集合データ」へのポインタを取得する。
ステップ30:葉ノードのポインタで指定される「矩形集合データ」の中に含まれている矩形データに対して、ユーザの位置が各矩形の内側にあるか否かの判別を行う。
サービス提供者の指定するエリアの内側にあるときには、当該矩形集合データに格納されているエリア識別子を取得する。
ステップ40:得られたエリア識別子に基づき、そのエリアに関連付けられた情報を探索するステップ。当該エリアに関連する様々な情報については、実施例1と同様である。
ステップ50:検索結果を出力するステップ。
ステップ30で検索されたこれらの情報を情報受信装置の表示部へ出力する。
サービス提供者の指定するエリアの内側にあるときには、当該矩形集合データに格納されているエリア識別子を取得する。
ステップ40:得られたエリア識別子に基づき、そのエリアに関連付けられた情報を探索するステップ。当該エリアに関連する様々な情報については、実施例1と同様である。
ステップ50:検索結果を出力するステップ。
ステップ30で検索されたこれらの情報を情報受信装置の表示部へ出力する。
実施例3では、サービス提供エリアのデータ構築について「複数の矩形による組み合わせ処理」を用いる例について説明する。
第1のエリア情報格納部には、エリアを近似する複数の矩形をそれぞれ個別に管理する「インデックス構造」が格納され、第2のエリア情報格納部は使用しない。
実施例3では、サービス提供エリアを近似するm個の矩形をそれぞれ独立したMBRとみなし、インデックス構造の葉ノードには、矩形毎に(式5)で定義される情報が格納される。
図9a右端図を例にとると、サービス提供エリアは、矩形Aから矩形Eまでの5個の矩形によって近似されているので、これらに対応する5個の葉ノードが作成される。
(式5) 葉ノード=(I,エリア識別子)
ここで、I = (IS,IE)と表すことが出来る。ISは葉ノード内の矩形のMBRの一方のコーナーの座標を表し、IEはISに対応する他方のコーナーの座標を表している。n次元空間を考えると、IS=(IS1, IS2, ...,ISn )、IE=(IE1, IE2, ...,IEn)である。
二次元空間で考え、図9a右端図の矩形Aを例にとると、IS=T(x5,y5)、IE=U(x6, y6)である。
第1のエリア情報格納部には、エリアを近似する複数の矩形をそれぞれ個別に管理する「インデックス構造」が格納され、第2のエリア情報格納部は使用しない。
実施例3では、サービス提供エリアを近似するm個の矩形をそれぞれ独立したMBRとみなし、インデックス構造の葉ノードには、矩形毎に(式5)で定義される情報が格納される。
図9a右端図を例にとると、サービス提供エリアは、矩形Aから矩形Eまでの5個の矩形によって近似されているので、これらに対応する5個の葉ノードが作成される。
(式5) 葉ノード=(I,エリア識別子)
ここで、I = (IS,IE)と表すことが出来る。ISは葉ノード内の矩形のMBRの一方のコーナーの座標を表し、IEはISに対応する他方のコーナーの座標を表している。n次元空間を考えると、IS=(IS1, IS2, ...,ISn )、IE=(IE1, IE2, ...,IEn)である。
二次元空間で考え、図9a右端図の矩形Aを例にとると、IS=T(x5,y5)、IE=U(x6, y6)である。
[アルゴリズム]
実施例3による位置情報に基づく関連情報の検索方法のアルゴリズム(図10b)について説明する。
ステップ10:位置情報、及び、ユーザ識別子を受け入れるステップ。
ユーザは、ユーザの存在する位置情報、及び、当該ユーザ識別子を情報受信装置からネットワーク経由して送信する。エリア関連情報提供装置はこれらの情報を受入れる。
ステップ20:葉ノードを検索し、エリア識別子を取得するステップ。
インデックス構造(図4a)に対してGuttmanの探索アルゴリズムを実行し、位置デー
タに対応するMBRデータを格納する葉ノードを検索し、ユーザの位置が矩形の内側にあるか否かの判別を行う。
内側にあるときには、当該葉ノードに格納されているエリア識別子を取得する。
実施例3による位置情報に基づく関連情報の検索方法のアルゴリズム(図10b)について説明する。
ステップ10:位置情報、及び、ユーザ識別子を受け入れるステップ。
ユーザは、ユーザの存在する位置情報、及び、当該ユーザ識別子を情報受信装置からネットワーク経由して送信する。エリア関連情報提供装置はこれらの情報を受入れる。
ステップ20:葉ノードを検索し、エリア識別子を取得するステップ。
インデックス構造(図4a)に対してGuttmanの探索アルゴリズムを実行し、位置デー
タに対応するMBRデータを格納する葉ノードを検索し、ユーザの位置が矩形の内側にあるか否かの判別を行う。
内側にあるときには、当該葉ノードに格納されているエリア識別子を取得する。
ステップ30:得られたエリア識別子に基づき、そのエリアに関連付けられた情報を探索するステップ。
当該エリアに関連する情報については、実施例1と同様である。
ステップ40:検索結果を出力するステップ。
ステップ30で検索されたこれらの情報を情報受信装置の表示部へ出力する。
実施例3では、位置情報に基づきユーザが存在する位置をエリア情報格納部から探索する際、インデックス構造に対してGuttmanの探索アルゴリズムを実行し、位置データに対応するMBRを格納する葉ノードが見つかった時点で、ユーザ位置がサービス提供エリア内に存在すると判定でき、直ちにエリア識別子を取得することが可能となる。
当該エリアに関連する情報については、実施例1と同様である。
ステップ40:検索結果を出力するステップ。
ステップ30で検索されたこれらの情報を情報受信装置の表示部へ出力する。
実施例3では、位置情報に基づきユーザが存在する位置をエリア情報格納部から探索する際、インデックス構造に対してGuttmanの探索アルゴリズムを実行し、位置データに対応するMBRを格納する葉ノードが見つかった時点で、ユーザ位置がサービス提供エリア内に存在すると判定でき、直ちにエリア識別子を取得することが可能となる。
実施例1、実施例2、及び、実施例3では、提供されるサービスエリアが、ある広がりを持った二次元平面として説明しているが、実施例4、及び、実施例5では、サービスエリアが、二次元平面ではなく直線、又は、曲線で近似することが出来る場合について説明する。実施例4では、サービスエリアが直線で近似することが出来る場合について説明する。
第1のエリア情報格納部には、所定のエリアを近似した直線のMBR、及び、当該直
線データへのポインタを一組として管理する「インデックス構造」が格納される。また、第2のエリア情報格納部には、エリア識別子を含む「直線データ」(式7、後述)が格納される。
第1のエリア情報格納部には、所定のエリアを近似した直線のMBR、及び、当該直
線データへのポインタを一組として管理する「インデックス構造」が格納される。また、第2のエリア情報格納部には、エリア識別子を含む「直線データ」(式7、後述)が格納される。
実施例4の好適実施例としては、直線で近似できるような道路を走行している車から、その場所を含むエリアに提供されるサービス等の情報を入手する場合が、考えられる。
この場合、ユーザは主に道路に沿って移動するため、その位置情報としては、ある程度予測可能な線上に存在することが多いと考えられる。サービス提供エリアとして、面積をもつ領域データではなく、道路などに対応する直線データによる定義で十分な場合もある。
サービスエリアを定義するための特殊な形状としては、直線、折れ線、曲線が考えられる。
この場合、ユーザは主に道路に沿って移動するため、その位置情報としては、ある程度予測可能な線上に存在することが多いと考えられる。サービス提供エリアとして、面積をもつ領域データではなく、道路などに対応する直線データによる定義で十分な場合もある。
サービスエリアを定義するための特殊な形状としては、直線、折れ線、曲線が考えられる。
図11は、直線で近似できるエリアを示している。ここでも実施例1と同様に、最小包囲矩形(MBR)を適用することが出来る。地点a及び地点bを結ぶ直線を定め、地点a及び地点bを含む最小包囲矩形(MBR)を定義する。現実には道路はある幅を有しており、また、位置情報の取得に関してある程度の誤差を許容する必要があるので、許容できる誤差範囲を定める。
葉ノードに格納する情報を(式6)によって定義される。
(式6) 葉ノード =(I,直線データへのポインタ)
ここでは、実施例1と同様に、I = (IS,IE)、但しIS=(IS1, IS2, ...,ISn )、IE=(IE1, IE2, ...,IEn )である。
ISはn次元空間におけるMBRの一方のコーナーの座標を表し、IEはISに対応する他方のコーナーの座標を表している。
葉ノードに格納する情報を(式6)によって定義される。
(式6) 葉ノード =(I,直線データへのポインタ)
ここでは、実施例1と同様に、I = (IS,IE)、但しIS=(IS1, IS2, ...,ISn )、IE=(IE1, IE2, ...,IEn )である。
ISはn次元空間におけるMBRの一方のコーナーの座標を表し、IEはISに対応する他方のコーナーの座標を表している。
「直線データ」は、データ型、フラグ、及び、エリア識別子を含むデータの組からなり、実施例4では(式7)で定義される。
(式7) 直線データ =(データ型、フラグ、エリア識別子)
ここで、データ型とは直線データであることを示す情報、フラグとは直線の傾きがプラスであるかマイナスであるかを示す情報、エリア識別子は当該エリアを一意に特定する識別子である。
(式6)および(式7)によって与えられるMBRの情報、データ型、及び、フラグの情報により、MBRの対角線を結ぶ直線は計算によって求めることが出来る。
対角線は傾きがプラスの場合とマイナスの場合との2つの直線が計算されるが、傾きを指定することにより一意に特定できる。
また、許容誤差範囲を予め決めておけば、ユーザの位置が当該直線の許容範囲内にあるかどうかは検出できる。
これにより、ユーザの位置が所定のサービスが提供される直線的なエリア上に存在するかどうかが判定される。
許容範囲内にあることが分かれば、その葉ノードのポインタで指定される直線データに定義されているエリア識別子を取得し、次のステップへ行くことが出来る。
(式7) 直線データ =(データ型、フラグ、エリア識別子)
ここで、データ型とは直線データであることを示す情報、フラグとは直線の傾きがプラスであるかマイナスであるかを示す情報、エリア識別子は当該エリアを一意に特定する識別子である。
(式6)および(式7)によって与えられるMBRの情報、データ型、及び、フラグの情報により、MBRの対角線を結ぶ直線は計算によって求めることが出来る。
対角線は傾きがプラスの場合とマイナスの場合との2つの直線が計算されるが、傾きを指定することにより一意に特定できる。
また、許容誤差範囲を予め決めておけば、ユーザの位置が当該直線の許容範囲内にあるかどうかは検出できる。
これにより、ユーザの位置が所定のサービスが提供される直線的なエリア上に存在するかどうかが判定される。
許容範囲内にあることが分かれば、その葉ノードのポインタで指定される直線データに定義されているエリア識別子を取得し、次のステップへ行くことが出来る。
次に、サービスエリアを複数の直線で近似する場合について説明する。
実際には、道路上のサービスエリアを近似するためには、一つの直線だけではなく幾つかの直線を組合わせる場合が多い。
図12に示されるように、複数の直線で近似する場合には複数の最小包囲矩形(MBR)を適用する。この場合には、各直線に対応する各矩形が、図4aで示す各葉ノードに対応する。これにより、一つの直線で表現される一つの最小包囲矩形(MBR)が、一つの葉ノードに対応することにより、ある範囲に含まれる複数の直線全体を近似することができる。
近似の精度を向上させるためには、直線の数を増やせばよいが、その分多くの矩形が必要となる。
図12では、地点aから地点dまでを合計3つの直線によって近似している。
実際には、道路上のサービスエリアを近似するためには、一つの直線だけではなく幾つかの直線を組合わせる場合が多い。
図12に示されるように、複数の直線で近似する場合には複数の最小包囲矩形(MBR)を適用する。この場合には、各直線に対応する各矩形が、図4aで示す各葉ノードに対応する。これにより、一つの直線で表現される一つの最小包囲矩形(MBR)が、一つの葉ノードに対応することにより、ある範囲に含まれる複数の直線全体を近似することができる。
近似の精度を向上させるためには、直線の数を増やせばよいが、その分多くの矩形が必要となる。
図12では、地点aから地点dまでを合計3つの直線によって近似している。
図3aで示される機能ブロック図の中で実施例1との違いを説明する。
(1)エリア情報入力部(ブロック220):
サービス提供者は、デジタイザあるいはグラフィカルユーザインターフェース等を利用してサービス提供エリアを直線で近似する(図12)。
直線で定義されたサービスエリアを含む複数の矩形の組合せにより近似する。矩形の大きさ、配置などはサービス提供者が任意に設定できる。
(2)エリア情報格納部(ブロック240):
サービス提供エリアに関する情報をエリア情報格納部に格納する。
この場合は、第1のエリア情報格納部には、所定のエリアを近似した直線のMBR、及び、当該直線データへのポインタを一組として管理する「インデックス構造」が格納される。
また、第2のエリア情報格納部には、直線で近似されたエリアを定義する情報、及び、エリア識別子を含む「直線データ」が格納される。
(1)エリア情報入力部(ブロック220):
サービス提供者は、デジタイザあるいはグラフィカルユーザインターフェース等を利用してサービス提供エリアを直線で近似する(図12)。
直線で定義されたサービスエリアを含む複数の矩形の組合せにより近似する。矩形の大きさ、配置などはサービス提供者が任意に設定できる。
(2)エリア情報格納部(ブロック240):
サービス提供エリアに関する情報をエリア情報格納部に格納する。
この場合は、第1のエリア情報格納部には、所定のエリアを近似した直線のMBR、及び、当該直線データへのポインタを一組として管理する「インデックス構造」が格納される。
また、第2のエリア情報格納部には、直線で近似されたエリアを定義する情報、及び、エリア識別子を含む「直線データ」が格納される。
(3)エリア情報検索部(ブロック230):
位置情報に基づきユーザが存在する位置に対応するエリア識別子をエリア情報格納部から探索する。
実施例4では、インデックス構造に対してGuttmanの探索アルゴリズム(非特許文献7)を実行し、位置情報に該当するMBRを格納する葉ノードを全て検索し、直線データへのポインタを読み出す。
次にMBRの情報、直線データとして格納されているデータ型、及び、フラグの情報、さらに、許容誤差の情報により、ユーザの位置が当該直線の許容範囲内にあるかどうかが検出できる。
これにより、ユーザの位置が所定のサービスが提供されるエリア上に存在するかどうかが判定される。
存在することが判定されると、そこに格納されているエリア識別子を取得し、エリア関連情報の検索へ進む。
位置情報に基づきユーザが存在する位置に対応するエリア識別子をエリア情報格納部から探索する。
実施例4では、インデックス構造に対してGuttmanの探索アルゴリズム(非特許文献7)を実行し、位置情報に該当するMBRを格納する葉ノードを全て検索し、直線データへのポインタを読み出す。
次にMBRの情報、直線データとして格納されているデータ型、及び、フラグの情報、さらに、許容誤差の情報により、ユーザの位置が当該直線の許容範囲内にあるかどうかが検出できる。
これにより、ユーザの位置が所定のサービスが提供されるエリア上に存在するかどうかが判定される。
存在することが判定されると、そこに格納されているエリア識別子を取得し、エリア関連情報の検索へ進む。
[アルゴリズム]
なお、アルゴリズムは、実施例1(図8)と同様になる。ここで、ステップ30において、葉ノードのポインタで指定される「直線データ」で求められる近似された直線エリアの内側にあるか否かの判別を行い、該当する場合にはエリア識別子を取得する。
なお、アルゴリズムは、実施例1(図8)と同様になる。ここで、ステップ30において、葉ノードのポインタで指定される「直線データ」で求められる近似された直線エリアの内側にあるか否かの判別を行い、該当する場合にはエリア識別子を取得する。
実施例5では、サービスエリアが曲線で近似することが出来る場合について説明する。
第1のエリア情報格納部には、所定のエリアを近似した曲線のMBR、及び、当該曲線データへのポインタを含むデータを一組として管理する「インデックス構造」が格納される。
また、第2のエリア情報格納部には、エリア識別子を含む「曲線データ」(式9、後述)が格納される。
現実のエリア情報の管理においては、直線ではなく曲線によって近似される場合も必要となる。曲線的なエリアを近似する方法の一つとして、当該曲線を所定数の区間に分割し、各区間をそれぞれ直線で表現する方法、すなわち、曲線を折れ線で近似する方法がある。
この場合、実施例4で述べた方法を各直線に対して定義されるMBRに適用することにより、曲線的なエリアを近似することができる。
以下では、別の方法として、曲線的なエリアを折れ線で近似するのではなく、曲線によって近似する場合について説明する。
曲線的なエリア上の複数の点をすべて通る曲線を近似する方法としては種々の方法が知られている。スプライン近似は離散データを区間多項式で近似する。すなわち、各データの間を所定の関数で近似することが出来る。
一般に2点間の座標と所定の係数を与えることによって曲線が近似できる。
第1のエリア情報格納部には、所定のエリアを近似した曲線のMBR、及び、当該曲線データへのポインタを含むデータを一組として管理する「インデックス構造」が格納される。
また、第2のエリア情報格納部には、エリア識別子を含む「曲線データ」(式9、後述)が格納される。
現実のエリア情報の管理においては、直線ではなく曲線によって近似される場合も必要となる。曲線的なエリアを近似する方法の一つとして、当該曲線を所定数の区間に分割し、各区間をそれぞれ直線で表現する方法、すなわち、曲線を折れ線で近似する方法がある。
この場合、実施例4で述べた方法を各直線に対して定義されるMBRに適用することにより、曲線的なエリアを近似することができる。
以下では、別の方法として、曲線的なエリアを折れ線で近似するのではなく、曲線によって近似する場合について説明する。
曲線的なエリア上の複数の点をすべて通る曲線を近似する方法としては種々の方法が知られている。スプライン近似は離散データを区間多項式で近似する。すなわち、各データの間を所定の関数で近似することが出来る。
一般に2点間の座標と所定の係数を与えることによって曲線が近似できる。
図13に示す曲線を近似する場合について、スプライン関数補間による近似方法を説明する。
(1)与えられた曲線を所定数に分割する。
(2)各区間におけるスプライン関数の係数を求める。
(3)全区間の曲線を、分割点の座標及び(2)で導出された係数で近似する。
ここで、近似すべき曲線のMBRに対応する葉ノードを(式8)によって定義する。
(式8) 葉ノード=(I,曲線データへのポインタ)
ここでは、実施例1と同様に、I = (IS,IE)、但しIS=(IS1, IS2, ...,ISn )、IE=(IE1, IE2, ...,IEn )である。
ISはn次元空間における矩形のMBRの一方のコーナーの座標を表し、IEはISに対応する他方のコーナーの座標を表している。
「曲線データ」はデータ型、係数、及び、エリア識別子を含むデータの組からなり、実施例5では(式9)で定義される。
(式9) 曲線データ=(データ型、係数、エリア識別子)
ここで、データ型とは曲線データであることを示す情報、係数はスプライン補間係数、エリア識別子は当該エリアを一意に特定する識別子である。
(1)与えられた曲線を所定数に分割する。
(2)各区間におけるスプライン関数の係数を求める。
(3)全区間の曲線を、分割点の座標及び(2)で導出された係数で近似する。
ここで、近似すべき曲線のMBRに対応する葉ノードを(式8)によって定義する。
(式8) 葉ノード=(I,曲線データへのポインタ)
ここでは、実施例1と同様に、I = (IS,IE)、但しIS=(IS1, IS2, ...,ISn )、IE=(IE1, IE2, ...,IEn )である。
ISはn次元空間における矩形のMBRの一方のコーナーの座標を表し、IEはISに対応する他方のコーナーの座標を表している。
「曲線データ」はデータ型、係数、及び、エリア識別子を含むデータの組からなり、実施例5では(式9)で定義される。
(式9) 曲線データ=(データ型、係数、エリア識別子)
ここで、データ型とは曲線データであることを示す情報、係数はスプライン補間係数、エリア識別子は当該エリアを一意に特定する識別子である。
(式8)および(式9)によって与えられるMBRの情報、データ型、及び、係数の情報により、MBRの対角線を通る曲線は計算によって一意に特定される。また、許容誤差範囲を予め決めておけば、ユーザの位置が当該曲線の許容範囲内にあるかどうかは検出できる。
これにより、ユーザの位置が所定のサービスが提供されるエリア上に存在するかどう
かが判定される。
許容範囲内にあることが分かれば、その葉ノードのポインタで指定される曲線データに格納されているエリア識別子を取得し、エリア関連情報の検索へ行くことが出来る。
これにより、ユーザの位置が所定のサービスが提供されるエリア上に存在するかどう
かが判定される。
許容範囲内にあることが分かれば、その葉ノードのポインタで指定される曲線データに格納されているエリア識別子を取得し、エリア関連情報の検索へ行くことが出来る。
実際には、道路上のサービスエリアを近似するためには、一つの曲線だけではなく幾つかの曲線を組合わせる場合が多い。
図14に示されるように、複数の曲線で近似する場合には複数の最小包囲矩形(MBR)を適用する。この場合には、曲線の各部分に対応する各矩形が、図4aで示す各葉ノードに対応する。
これにより、一つの曲線の一部が表現される一つの最小包囲矩形(MBR)が、一つの葉ノードに対応することにより、ある範囲に含まれる一つの曲線全体を近似することができる。
近似の精度を向上させるためには、曲線の分割数を増やせばよいが、その分多くの矩形が必要となる。図14では、地点aから地点dまでを合計3つの曲線で全体の曲線を近似している。
図14に示されるように、複数の曲線で近似する場合には複数の最小包囲矩形(MBR)を適用する。この場合には、曲線の各部分に対応する各矩形が、図4aで示す各葉ノードに対応する。
これにより、一つの曲線の一部が表現される一つの最小包囲矩形(MBR)が、一つの葉ノードに対応することにより、ある範囲に含まれる一つの曲線全体を近似することができる。
近似の精度を向上させるためには、曲線の分割数を増やせばよいが、その分多くの矩形が必要となる。図14では、地点aから地点dまでを合計3つの曲線で全体の曲線を近似している。
図3aで示される機能ブロック図の中で実施例1との違いを説明する。
(1)エリア情報入力部(ブロック220):
サービス提供者は、デジタイザあるいはグラフィカルユーザインターフェース等を利用して曲線からなるサービス提供エリアを所定数に分割する(図14)。次に、分割された曲線の各区間を含むMBRを定義する。各MBR内の曲線をMBRの2点の座標及び各区間における所定の係数で近似する。曲線の分割、矩形の大きさ、配置などはサービス提供者が任意に設定できる。
(2)エリア情報格納部(ブロック240):
サービス提供エリアに関する情報をエリア情報格納部に格納する。この場合は、第1のエリア情報格納部には、所定のエリアを近似した曲線のMBR、及び、当該曲線データへのポインタを一組として管理する「インデックス構造」が格納される。また、第2のエリア情報格納部には、エリア識別子を含む「曲線データ」が格納される。
(1)エリア情報入力部(ブロック220):
サービス提供者は、デジタイザあるいはグラフィカルユーザインターフェース等を利用して曲線からなるサービス提供エリアを所定数に分割する(図14)。次に、分割された曲線の各区間を含むMBRを定義する。各MBR内の曲線をMBRの2点の座標及び各区間における所定の係数で近似する。曲線の分割、矩形の大きさ、配置などはサービス提供者が任意に設定できる。
(2)エリア情報格納部(ブロック240):
サービス提供エリアに関する情報をエリア情報格納部に格納する。この場合は、第1のエリア情報格納部には、所定のエリアを近似した曲線のMBR、及び、当該曲線データへのポインタを一組として管理する「インデックス構造」が格納される。また、第2のエリア情報格納部には、エリア識別子を含む「曲線データ」が格納される。
(3)エリア情報検索部(ブロック230):
位置情報に基づきユーザが存在する位置に対応するエリア識別子をエリア情報格納部から探索する。
実施例5では、インデックス構造に対してGuttmanの探索アルゴリズム(非特許文献7)を実行し、位置情報に該当するMBRを格納する葉ノードを全て検索し、曲線データへのポインタを読み出す。
次にMBRの情報、曲線データとして格納されているデータ型、及び、係数の情報、さらに、許容誤差の情報により、ユーザの位置が当該曲線の許容範囲内にあるかどうかは検出できる。これにより、ユーザの位置が所定のサービスが提供されるエリア上に存在するかどうかが判定される。
存在することが判定されると、そこに格納されているエリア識別子を取得し、エリア関連情報の検索へ進む。
位置情報に基づきユーザが存在する位置に対応するエリア識別子をエリア情報格納部から探索する。
実施例5では、インデックス構造に対してGuttmanの探索アルゴリズム(非特許文献7)を実行し、位置情報に該当するMBRを格納する葉ノードを全て検索し、曲線データへのポインタを読み出す。
次にMBRの情報、曲線データとして格納されているデータ型、及び、係数の情報、さらに、許容誤差の情報により、ユーザの位置が当該曲線の許容範囲内にあるかどうかは検出できる。これにより、ユーザの位置が所定のサービスが提供されるエリア上に存在するかどうかが判定される。
存在することが判定されると、そこに格納されているエリア識別子を取得し、エリア関連情報の検索へ進む。
[アルゴリズム]
なお、アルゴリズムは、実施例1(図8)と同様になる。ここで、ステップ30において、葉ノードのポインタで指定される「曲線データ」を使用して求められる近似される曲線エリアの内側にあるか否かの判別を行い、該当する場合にはエリア識別子を取得する。
なお、アルゴリズムは、実施例1(図8)と同様になる。ここで、ステップ30において、葉ノードのポインタで指定される「曲線データ」を使用して求められる近似される曲線エリアの内側にあるか否かの判別を行い、該当する場合にはエリア識別子を取得する。
(1)多段インデックス構造の構成:
実施例1から5において、エリア情報格納部(240)が、単一のインデックス構造、すなわち、第一のエリア情報格納部、及び、第二のエリア情報格納部からなる場合について説明した。
実施例6では、さらに前述のインデックス木を多段に積み重ねた場合のデータ構造について説明する。
ここでは説明を簡単にする為に2段のインデックス木について説明するが、本願発明は、多段のインデックス構造についても適用出来る。
図15に示すように、上段、及び、下段共にルートノード、中間ノード、及び、葉ノードからなるR*-tree構造が構築できる。
上段の葉ノードに格納されているポインターによって下段のルートノードが指定される。
以下、実施例6では便宜的に上段を地域管理インデックス、また、下段をエリア管理インデックスと呼ぶ。
実施例1から5において、エリア情報格納部(240)が、単一のインデックス構造、すなわち、第一のエリア情報格納部、及び、第二のエリア情報格納部からなる場合について説明した。
実施例6では、さらに前述のインデックス木を多段に積み重ねた場合のデータ構造について説明する。
ここでは説明を簡単にする為に2段のインデックス木について説明するが、本願発明は、多段のインデックス構造についても適用出来る。
図15に示すように、上段、及び、下段共にルートノード、中間ノード、及び、葉ノードからなるR*-tree構造が構築できる。
上段の葉ノードに格納されているポインターによって下段のルートノードが指定される。
以下、実施例6では便宜的に上段を地域管理インデックス、また、下段をエリア管理インデックスと呼ぶ。
(2)エリア属性情報に基づくインデックス木(エリア属性インデックス木):
実施例6では、エリア属性情報に基づくインデックス木について開示する。
各エリアに割り当てられた属性に着目し、特定の属性値をもつエリア集合に対してインデックス木を構築することにより、目的に応じた容易かつ迅速な検索が可能となる。
各エリアの登録者、エリアにおけるサービス提供者、サービスの種類などの情報が属性となる。
具体的な属性値としては、例えば、所定のレストラン、所定の映画館等がある。これに対して実施例1から実施例5で説明したインデックス木は地理的位置情報に基づくインデックス木である。
これらを区別するために、以下の説明では地理的位置情報に基づくインデックス木を「位置情報インデックス木」と、またエリア属性情報に基づくインデックス木を「エリア属性インデックス木」と呼ぶ。
従って、位置情報インデックス木は「位置情報地域管理インデックス木」及び「位置情報エリア管理インデックス木」からなり、また、エリア属性インデックス木は、「エリア属性地域管理インデックス木」及び「エリア属性エリア管理インデックス木」からなる。
図20のエリア属性DB(410)には、エリア属性情報(属性タイプ、属性値など)が格納されている。
実施例6では、エリア属性情報に基づくインデックス木について開示する。
各エリアに割り当てられた属性に着目し、特定の属性値をもつエリア集合に対してインデックス木を構築することにより、目的に応じた容易かつ迅速な検索が可能となる。
各エリアの登録者、エリアにおけるサービス提供者、サービスの種類などの情報が属性となる。
具体的な属性値としては、例えば、所定のレストラン、所定の映画館等がある。これに対して実施例1から実施例5で説明したインデックス木は地理的位置情報に基づくインデックス木である。
これらを区別するために、以下の説明では地理的位置情報に基づくインデックス木を「位置情報インデックス木」と、またエリア属性情報に基づくインデックス木を「エリア属性インデックス木」と呼ぶ。
従って、位置情報インデックス木は「位置情報地域管理インデックス木」及び「位置情報エリア管理インデックス木」からなり、また、エリア属性インデックス木は、「エリア属性地域管理インデックス木」及び「エリア属性エリア管理インデックス木」からなる。
図20のエリア属性DB(410)には、エリア属性情報(属性タイプ、属性値など)が格納されている。
(3)各地域での空間解像度:
各地域での空間解像度はそれぞれ独立に設定することが出来る。
これにより、地域によって必要とする情報の密度が異なる場合には、エリアを定義する局所座標系の空間解像度を変更することにより全体のメモリー効率を改善することが出来、また、それらの管理が容易になる。
図21に示すように、地域Aでは細かい解像度でエリア定義を行い、地域Cは粗い解像度でエリア定義を行う地域、また地域Bは中間程度の解像度でエリア定義を行う地域として、それぞれ設定することが出来る。
一例を示すと、対象とするエリアの密集している大都市のエリア管理と対象とするエリアの分散している郊外のエリア管理とを同じ空間解像度をもつ地域として実現することはメモリー管理上無駄が生じる。
そこで郊外のエリア管理を行う地域における空間解像度を粗く設定する。
各地域での空間解像度はそれぞれ独立に設定することが出来る。
これにより、地域によって必要とする情報の密度が異なる場合には、エリアを定義する局所座標系の空間解像度を変更することにより全体のメモリー効率を改善することが出来、また、それらの管理が容易になる。
図21に示すように、地域Aでは細かい解像度でエリア定義を行い、地域Cは粗い解像度でエリア定義を行う地域、また地域Bは中間程度の解像度でエリア定義を行う地域として、それぞれ設定することが出来る。
一例を示すと、対象とするエリアの密集している大都市のエリア管理と対象とするエリアの分散している郊外のエリア管理とを同じ空間解像度をもつ地域として実現することはメモリー管理上無駄が生じる。
そこで郊外のエリア管理を行う地域における空間解像度を粗く設定する。
(4)登録地域の拡張:
インデックス木の構成時に定義した範囲を超えてエリアの範囲を拡張する場合がある。
例えば、ショッピングモールの拡張、市町村の合併などによりエリアが拡張する場合がある。
さらに当初の地域を超えてエリアが新規に登録される場合も考えられる。
この場合には、エリア管理インデックス木だけでなく、そのエリアを包含する地域を管理する地域管理インデックス木も変更する必要がある。
図22及び23を参照して説明する。
初期状態として、図22aに示す地域A内にエリアa1が定義(登録)されているとする。
その後、図22bに示すように、地域Aに含まれるエリアa1が地域Aの範囲を超えて拡大した場合には、拡大後のエリアa1'を包含するように地域Aを拡張する。この場合には、上段のR*-tree構造の葉ノードの中で地域Aに対応する葉ノードに含まれるMBRデータを変更し、下段のR*-tree構造でエリアa1に対応するノードの変更を行う。
インデックス木の構成時に定義した範囲を超えてエリアの範囲を拡張する場合がある。
例えば、ショッピングモールの拡張、市町村の合併などによりエリアが拡張する場合がある。
さらに当初の地域を超えてエリアが新規に登録される場合も考えられる。
この場合には、エリア管理インデックス木だけでなく、そのエリアを包含する地域を管理する地域管理インデックス木も変更する必要がある。
図22及び23を参照して説明する。
初期状態として、図22aに示す地域A内にエリアa1が定義(登録)されているとする。
その後、図22bに示すように、地域Aに含まれるエリアa1が地域Aの範囲を超えて拡大した場合には、拡大後のエリアa1'を包含するように地域Aを拡張する。この場合には、上段のR*-tree構造の葉ノードの中で地域Aに対応する葉ノードに含まれるMBRデータを変更し、下段のR*-tree構造でエリアa1に対応するノードの変更を行う。
続いて、エリアが新規に登録される場合について説明する。
図23に示すように、登録されるエリアa2が地域Aに収まらない場合、エリアを包含するように地域を拡張する。
このとき同様に、上段のR*-tree構造の葉ノードの中で地域Aに対応する葉ノードに含まれるMBRデータを変更し、下段のR*-tree構造でエリアa2に対応するノードの追加を行う。
また、地域として未定義の場所にエリアbが新規に登録される場合、図23に示すように、地域Bが新たな地域として定義され、上段および下段それぞれのR*-tree構造に対応するノードが追加される。
さらに、別の地域設定の方法を図24に示す。
ここでは、システム管理者あるいはサービス提供者が、地理的要因などを考慮して、事前に初期地域(以下、「種地域」という)を設定する。種地域に収まるようにエリアが登録される場合、上述と同様の処理が行われる。
種地域の外にエリアcが登録されるとき、新たな地域Cが定義され登録される。
また、登録されるエリアdが種地域Dに収まらない場合、地域の拡張が行われる。
図23に示すように、登録されるエリアa2が地域Aに収まらない場合、エリアを包含するように地域を拡張する。
このとき同様に、上段のR*-tree構造の葉ノードの中で地域Aに対応する葉ノードに含まれるMBRデータを変更し、下段のR*-tree構造でエリアa2に対応するノードの追加を行う。
また、地域として未定義の場所にエリアbが新規に登録される場合、図23に示すように、地域Bが新たな地域として定義され、上段および下段それぞれのR*-tree構造に対応するノードが追加される。
さらに、別の地域設定の方法を図24に示す。
ここでは、システム管理者あるいはサービス提供者が、地理的要因などを考慮して、事前に初期地域(以下、「種地域」という)を設定する。種地域に収まるようにエリアが登録される場合、上述と同様の処理が行われる。
種地域の外にエリアcが登録されるとき、新たな地域Cが定義され登録される。
また、登録されるエリアdが種地域Dに収まらない場合、地域の拡張が行われる。
(5)システム構成図:
図19は実施例6のエリア管理システムのシステム構成図を示す。
エリア情報DB(310)には各エリアを定義する形状、位置などの情報及びそのエリアの識別子が格納されている。
エリア管理部(315)はエリア情報DB(310)の管理を行う。エリア管理制御部(320)はエリア管理部を管理し間接的にエリア情報DB(310)を制御する。
地域情報DB(330)には、複数のエリアを含むより広範囲の地域を定義する情報及びその地域の識別子が格納されている。
地域管理部(335)は地域情報DB(330)の管理を行う。地域管理制御部(345)は地域管理部を管理し間接的に地域情報DB(330)を制御する。
エリア情報操作部(340)でサービス提供者又はシステム管理者がエリア情報DB(310)又は地域情報DB(330)の内容を登録・削除・変更する場合の入力を行う。
利用者は、エリア検索操作部(360)を通して位置情報を入力し検索結果であるエリア識別子を得る。検索実行部(350)は実際の検索を実行する。
図19は実施例6のエリア管理システムのシステム構成図を示す。
エリア情報DB(310)には各エリアを定義する形状、位置などの情報及びそのエリアの識別子が格納されている。
エリア管理部(315)はエリア情報DB(310)の管理を行う。エリア管理制御部(320)はエリア管理部を管理し間接的にエリア情報DB(310)を制御する。
地域情報DB(330)には、複数のエリアを含むより広範囲の地域を定義する情報及びその地域の識別子が格納されている。
地域管理部(335)は地域情報DB(330)の管理を行う。地域管理制御部(345)は地域管理部を管理し間接的に地域情報DB(330)を制御する。
エリア情報操作部(340)でサービス提供者又はシステム管理者がエリア情報DB(310)又は地域情報DB(330)の内容を登録・削除・変更する場合の入力を行う。
利用者は、エリア検索操作部(360)を通して位置情報を入力し検索結果であるエリア識別子を得る。検索実行部(350)は実際の検索を実行する。
図20は、エリア属性を考慮した検索等を行うためのシステム構成部分を破線部分の内側で示している。
エリア属性DB(410)には、位置情報を含まないデータが格納されている。非空間検索実行(420)では位置情報を用いないでエリア属性に基づく検索を行う。
動的エリア管理格納部(430)にはエリア情報が一時的に格納される。
空間検索実行部(440)では、エリア属性から検索された各アイテムに対して、位置情報に関する検索を行う。
検索制御部(450)は空間検索実行部(440)、及び、非空間検索実行(420)の制御を行う。
エリア属性DB(410)には、位置情報を含まないデータが格納されている。非空間検索実行(420)では位置情報を用いないでエリア属性に基づく検索を行う。
動的エリア管理格納部(430)にはエリア情報が一時的に格納される。
空間検索実行部(440)では、エリア属性から検索された各アイテムに対して、位置情報に関する検索を行う。
検索制御部(450)は空間検索実行部(440)、及び、非空間検索実行(420)の制御を行う。
(6)アルゴリズム:
ここでは、先ず、エリア属性を利用しない場合について説明し、次に、エリア属性を使用する場合について説明する。
ここでは、先ず、エリア属性を利用しない場合について説明し、次に、エリア属性を使用する場合について説明する。
1.エリア属性を使用しない場合:
(a)地域・エリア登録アルゴリズム:
ここでは、エリア属性を使用しない場合であって、サービス提供者が、位置情報インデックス木に、「エリア」を新たに登録する場合について説明する。
地域の登録は、システム管理者による事前設定、あるいはシステムによる自動設定・登録(地域拡張処理)で行う。
これにより、位置情報インデックス木の構築または更新が行われる(図25)。
10:登録するエリア情報の入力:
サービス提供者が登録する位置情報・形状などのエリア情報を入力する。
20:エリアを包含する地域の登録:
当該「エリア」を包含する「地域」が登録されている場合にはステップ30へ行く。
(i)当該「エリア」を含む「地域」が登録されていない場合、
対応する「地域」を新たに設定し登録する。また、位置情報地域管理インデックス木にノードを追加する。
(ii)当該「エリア」の一部のみを含む「地域」が登録されている場合には、当該エリアが対応する地域に包含されるように、「地域の拡張」を行う。また、同時に位置情報地域管理インデックス木のノード情報(データ)を更新する。
30:位置情報エリア管理インデックス木へのノードの追加:
位置情報エリア管理インデックス木に対応するノードを追加する。
40:エリア情報の格納:
エリア情報をエリア情報格納部(図19、310)へ格納する。
(a)地域・エリア登録アルゴリズム:
ここでは、エリア属性を使用しない場合であって、サービス提供者が、位置情報インデックス木に、「エリア」を新たに登録する場合について説明する。
地域の登録は、システム管理者による事前設定、あるいはシステムによる自動設定・登録(地域拡張処理)で行う。
これにより、位置情報インデックス木の構築または更新が行われる(図25)。
10:登録するエリア情報の入力:
サービス提供者が登録する位置情報・形状などのエリア情報を入力する。
20:エリアを包含する地域の登録:
当該「エリア」を包含する「地域」が登録されている場合にはステップ30へ行く。
(i)当該「エリア」を含む「地域」が登録されていない場合、
対応する「地域」を新たに設定し登録する。また、位置情報地域管理インデックス木にノードを追加する。
(ii)当該「エリア」の一部のみを含む「地域」が登録されている場合には、当該エリアが対応する地域に包含されるように、「地域の拡張」を行う。また、同時に位置情報地域管理インデックス木のノード情報(データ)を更新する。
30:位置情報エリア管理インデックス木へのノードの追加:
位置情報エリア管理インデックス木に対応するノードを追加する。
40:エリア情報の格納:
エリア情報をエリア情報格納部(図19、310)へ格納する。
(b)エリア検索アルゴリズム:
次に、エリア属性を使用しない場合であって、サービス利用者が位置情報を入力した場合、位置情報インデックス木を用いその位置において利用可能なサービス等を検索するアルゴリズムについて説明する(図26)。
10:利用者による検索要件(位置情報)の入力:
サービス利用者が現在自分のいる位置情報を入力する。
20:対応する地域の検索:
位置情報地域管理インデックス木を検索し位置情報に対応する「地域」を検出する。該当する地域が存在すれば、ステップ30へ行く。該当する地域がなければ検索処理を終了する。
30:検出された「地域」に対応するエリア管理部への位置情報の送信:
該当する地域が検索されると、検索された地域に対応するエリア管理部へ当該位置情報を送信する。
40:位置情報エリア管理インデックス木の検索:
エリア管理部でエリア定義に用いられている空間座標解像度に基づき位置情報エリア管理インデックス木を用いてエリア検索を行う。
50:検索されたエリア識別子の返信。
次に、エリア属性を使用しない場合であって、サービス利用者が位置情報を入力した場合、位置情報インデックス木を用いその位置において利用可能なサービス等を検索するアルゴリズムについて説明する(図26)。
10:利用者による検索要件(位置情報)の入力:
サービス利用者が現在自分のいる位置情報を入力する。
20:対応する地域の検索:
位置情報地域管理インデックス木を検索し位置情報に対応する「地域」を検出する。該当する地域が存在すれば、ステップ30へ行く。該当する地域がなければ検索処理を終了する。
30:検出された「地域」に対応するエリア管理部への位置情報の送信:
該当する地域が検索されると、検索された地域に対応するエリア管理部へ当該位置情報を送信する。
40:位置情報エリア管理インデックス木の検索:
エリア管理部でエリア定義に用いられている空間座標解像度に基づき位置情報エリア管理インデックス木を用いてエリア検索を行う。
50:検索されたエリア識別子の返信。
2.エリア属性を使用する場合:
エリア属性としては、特定のレストラン名、特定の映画館名などがある。ここでは、これらのエリア属性を使用した実施例について説明する(図27)。
(a)地域・エリア登録アルゴリズム:
ここでは、エリア属性を使用する場合であって、サービス提供者がエリアを新たに登録する場合について説明する。
10:登録するエリア情報、及び、エリアの属性情報の入力:
サービス提供者が登録する位置情報・形状などのエリア情報、及び、エリアの属性情報を入力する。
20:エリアを包含する地域の登録:
当該「エリア」を包含する「地域」が登録されている場合にはステップ30へ行く。
(i)当該「エリア」を含む「地域」が登録されていない場合、対応する「地域」を新たに設定し登録する。また、エリア属性地域管理インデックス木にノードを追加する。
(ii)当該「エリア」の一部のみを含む「地域」が登録されている場合には、当該エリアが対応する地域に包含されるように、「地域の拡張」を行う。また、同時にエリア属性地域管理インデックス木のノード情報(データ)を更新する。
エリア属性としては、特定のレストラン名、特定の映画館名などがある。ここでは、これらのエリア属性を使用した実施例について説明する(図27)。
(a)地域・エリア登録アルゴリズム:
ここでは、エリア属性を使用する場合であって、サービス提供者がエリアを新たに登録する場合について説明する。
10:登録するエリア情報、及び、エリアの属性情報の入力:
サービス提供者が登録する位置情報・形状などのエリア情報、及び、エリアの属性情報を入力する。
20:エリアを包含する地域の登録:
当該「エリア」を包含する「地域」が登録されている場合にはステップ30へ行く。
(i)当該「エリア」を含む「地域」が登録されていない場合、対応する「地域」を新たに設定し登録する。また、エリア属性地域管理インデックス木にノードを追加する。
(ii)当該「エリア」の一部のみを含む「地域」が登録されている場合には、当該エリアが対応する地域に包含されるように、「地域の拡張」を行う。また、同時にエリア属性地域管理インデックス木のノード情報(データ)を更新する。
30:同じエリア属性に基づくインデックス木の削除:
指定されたエリア属性と同じエリア属性に基づくエリア属性エリア管理インデックス木が存在する場合にはこれを削除する。
エリア属性エリア管理インデックス木が存在している場合には検索を迅速に行うことが出来る。しかしエリア属性エリア管理インデックス木のデータが更新された場合は、更新前のエリア属性エリア管理インデックス木は最新のデータを反映していないために使用できない。従ってこれを削除する必要がある。
40:エリア情報の格納:
エリア情報をエリア情報格納部(図19、310)へ格納する。
指定されたエリア属性と同じエリア属性に基づくエリア属性エリア管理インデックス木が存在する場合にはこれを削除する。
エリア属性エリア管理インデックス木が存在している場合には検索を迅速に行うことが出来る。しかしエリア属性エリア管理インデックス木のデータが更新された場合は、更新前のエリア属性エリア管理インデックス木は最新のデータを反映していないために使用できない。従ってこれを削除する必要がある。
40:エリア情報の格納:
エリア情報をエリア情報格納部(図19、310)へ格納する。
(b)エリア検索アルゴリズム:
次に、サービス利用者が、エリア属性、及び、位置情報を使用し、その位置において利用可能なサービス等を検索するアルゴリズムについて説明する。なお、エリア属性としては、複数のエリア属性を入力することが出来る。
図18に示すように、エリア属性として、「レストラン」及び「映画館」を指定し、双方の条件を満足するサービスエリアを抽出することが出来る(図28)。
また、その後同じエリア属性に基づく検索があった場合に効率よく検索できるように、新たなエリア属性インデックス木を構築する(図29)。
次に、サービス利用者が、エリア属性、及び、位置情報を使用し、その位置において利用可能なサービス等を検索するアルゴリズムについて説明する。なお、エリア属性としては、複数のエリア属性を入力することが出来る。
図18に示すように、エリア属性として、「レストラン」及び「映画館」を指定し、双方の条件を満足するサービスエリアを抽出することが出来る(図28)。
また、その後同じエリア属性に基づく検索があった場合に効率よく検索できるように、新たなエリア属性インデックス木を構築する(図29)。
10:サービス利用者による検索要件(位置情報及びエリア属性)の入力:
サービス利用者が現在自分のいる位置情報及びエリア属性を入力する。
20:同じエリア属性インデックス木の存在の確認:
同じエリア属性インデックス木が既に存在している場合には、新たなエリア属性インデックス木を作成する必要は無いので、ステップ30へ行く。
存在していない場合には、新たなエリア属性インデックス木を構築する。
新たなエリア属性インデックス木を構築するアルゴリズムは別途説明する。
30:対応する地域の検索
エリア属性地域管理インデックス木を検索し位置情報に対応する「地域」を検出する。
該当する地域が存在すれば、ステップ40へ行く。該当する地域がなければ検索処理を終了する。
40:検出された「地域」に対応するエリア管理部への位置情報の送信:
該当する地域が検索されると、検索された地域に対応するエリア管理部へ当該位置情報を送信する。
50:エリア属性エリア管理インデックス木の検索:
エリア管理部でエリア定義に用いられている空間座標解像度に基づきエリア属性エリア管理インデックス木を用いてエリア検索を行う。
60:検索されたエリア識別子の返信。
サービス利用者が現在自分のいる位置情報及びエリア属性を入力する。
20:同じエリア属性インデックス木の存在の確認:
同じエリア属性インデックス木が既に存在している場合には、新たなエリア属性インデックス木を作成する必要は無いので、ステップ30へ行く。
存在していない場合には、新たなエリア属性インデックス木を構築する。
新たなエリア属性インデックス木を構築するアルゴリズムは別途説明する。
30:対応する地域の検索
エリア属性地域管理インデックス木を検索し位置情報に対応する「地域」を検出する。
該当する地域が存在すれば、ステップ40へ行く。該当する地域がなければ検索処理を終了する。
40:検出された「地域」に対応するエリア管理部への位置情報の送信:
該当する地域が検索されると、検索された地域に対応するエリア管理部へ当該位置情報を送信する。
50:エリア属性エリア管理インデックス木の検索:
エリア管理部でエリア定義に用いられている空間座標解像度に基づきエリア属性エリア管理インデックス木を用いてエリア検索を行う。
60:検索されたエリア識別子の返信。
(c)新たなエリア属性インデックス木を構築するアルゴリズム:
前述の(b)において、同じエリア属性インデックス木が既に存在していない場合に新たなエリア属性インデックス木を構築するアルゴリズムについて説明する(図29)。
10:エリア属性に関する検索:
エリア属性に基づき検索を行い、該当するエリアを抽出する。
20:対応する地域管理インデックス木の利用:
(i)地域管理インデックス木を含まないエリア属性インデックス木を構築する場合(図16)には、ステップ30へ行く。
(ii)地域管理インデックス木を含むエリア属性インデックス木を構築する場合(図17)には、既に存在するエリア属性地域管理インデックス木を取得する。
30:エリア属性エリア管理インデックス木の構築:
40:終了。
前述の(b)において、同じエリア属性インデックス木が既に存在していない場合に新たなエリア属性インデックス木を構築するアルゴリズムについて説明する(図29)。
10:エリア属性に関する検索:
エリア属性に基づき検索を行い、該当するエリアを抽出する。
20:対応する地域管理インデックス木の利用:
(i)地域管理インデックス木を含まないエリア属性インデックス木を構築する場合(図16)には、ステップ30へ行く。
(ii)地域管理インデックス木を含むエリア属性インデックス木を構築する場合(図17)には、既に存在するエリア属性地域管理インデックス木を取得する。
30:エリア属性エリア管理インデックス木の構築:
40:終了。
10:ネットワーク
20:GPS
30:情報受信装置
40:無線基地局
50:エリア関連情報提供装置
60:サービス提供者端末機
110:記憶部
120:メインメモリー
130:出力部
140:中央制御部(CPU)
150:操作部
160:位置情報入力部
170:サービス情報入力部
310:エリア情報DB
315:エリア管理部
320:エリア管理制御部
330:地域情報DB
335:地域管理部
345:地域管理制御部
340:エリア情報操作部
360:エリア検索操作部
350:検索実行部
410:エリア属性DB
420:非空間検索実行
430:動的エリア管理格納部
440:空間検索実行部
450:検索制御部
20:GPS
30:情報受信装置
40:無線基地局
50:エリア関連情報提供装置
60:サービス提供者端末機
110:記憶部
120:メインメモリー
130:出力部
140:中央制御部(CPU)
150:操作部
160:位置情報入力部
170:サービス情報入力部
310:エリア情報DB
315:エリア管理部
320:エリア管理制御部
330:地域情報DB
335:地域管理部
345:地域管理制御部
340:エリア情報操作部
360:エリア検索操作部
350:検索実行部
410:エリア属性DB
420:非空間検索実行
430:動的エリア管理格納部
440:空間検索実行部
450:検索制御部
Claims (16)
- エリア管理データ構造、及び、エリア関連情報格納部を有し、任意の位置情報に対応するエリア関連情報を出力する装置であって、
前記エリア管理データ構造は、エリアを包含するエリア集合に対応するルートノード、中間ノード、及び、葉ノードを含むインデックスデータ構造、並びに、前記葉ノードに対応するデータ格納部を有し、また、
前記エリア関連情報格納部は、前記エリアに対応するエリア関連情報を格納し、以下の(a)から(d)の手段を有する装置、
(a)前記位置情報を受け入れる手段、
(b)前記インデックスデータ構造を検索し前記位置情報に対応する前記葉ノードを特定する手段、
(c)前記特定された葉ノードに対応する前記データ格納部を検索し、前記位置情報に対応する前記エリアを特定する手段、
及び、
(d)前記エリア関連情報格納部を検索し前記特定されたエリアに対応するエリア関連情 報を出力する手段。 - 前記エリアが近似多角形で近似され、
前記インデックスデータ構造の前記葉ノードは前記近似多角形の第一の最小包囲矩形に基づくデータを含み、また、
前記中間ノードは一つ以上の前記第一の最小包囲矩形からなる集合を包含する第二の最小包囲矩形に基づくデータを含み、
前記データ格納部は、前記エリアの近似多角形の4分木データに基づいて構成される
請求の範囲第1項に記載の装置。 - 前記エリアが一つ以上の矩形で近似され、
前記インデックスデータ構造の前記葉ノードは前記一つ以上の矩形からなる第一の最小包囲矩形に基づくデータを含み、また、
前記中間ノードは一つ以上の前記第一の最小包囲矩形からなる集合を包含する第二の最小包囲矩形に基づくデータを含み、
前記データ格納部は、前記エリアの矩形に基づいて構成される
請求の範囲第1項に記載の装置。 - 前記エリアが一つ以上の直線からなる折れ線で近似され、
前記インデックスデータ構造の前記葉ノードは前記直線の第一の最小包囲矩形に基づくデータを含み、また、
前記中間ノードは一つ以上の前記第一の最小包囲矩形からなる集合を包含する第二の最小包囲矩形に基づくデータを含み、
前記データ格納部は、前記一つ以上の直線に基づいて構成される
請求の範囲第1項に記載の装置。 - 前記エリアが曲線で近似され、さらに、前記曲線が一つ以上の直線からなる折れ線で近似され、
前記インデックスデータ構造の前記葉ノードは前記直線の第一の最小包囲矩形に基づくデータを含み、また、
前記中間ノードは一つ以上の前記第一の最小包囲矩形からなる集合を包含する第二の最小包囲矩形に基づくデータを含み、
前記データ格納部は、前記一つ以上の直線に基づいて構成される
請求の範囲第1項に記載の装置。 - 前記エリアがスプライン補間によって曲線近似され、
前記インデックスデータ構造の前記葉ノードは前記スプライン補間された曲線のの第一の最小包囲矩形に基づくデータを含み、また、
前記中間ノードは一つ以上の前記第一の最小包囲矩形からなる集合を包含する第二の最小包囲矩形に基づくデータを含み、
前記データ格納部は、前記スプライン補間された曲線に基づいて構成される
請求の範囲第1項に記載の装置。 - サービス利用者の指定する一つ以上のエリア属性に基づき収集されたエリア情報から構築されたエリア属性に基づくエリア管理データ構造、及び、エリア関連情報格納部を有し、任意の位置情報に対応するエリア関連情報を出力する装置であって、
前記エリア属性に基づくエリア管理データ構造は、前記指定された一つ以上のエリア属性に基づき収集されたエリアを包含するエリア集合に対応するルートノード、中間ノード、及び、葉ノードを含むエリア属性に基づくインデックスデータ構造、並びに、前記葉ノードに対応するデータ格納部を有し、また、
前記エリア関連情報格納部は、前記エリアに対応するエリア関連情報を格納し、以下の(a)から(d)の手段を有する装置、
(a)前記位置情報を受け入れる手段、
(b)前記エリア属性に基づくインデックスデータ構造を検索し前記位置情報に対応する前記葉ノードを特定する手段、
(c)前記特定された葉ノードに対応する前記データ格納部を検索し、前記位置情報に対応する前記エリアを特定する手段、及び、
(d)前記エリア関連情報格納部を検索し前記特定されたエリアに対応するエリア関連情報を出力手段。 - 二つ以上の前記インデックスデータ構造、及び、最下位のインデックスデータ構造のデータ格納部を含み、上位のインデックスデータ構造の葉ノードで特定されるエリアが、下位のインデックスデータ構造の前記ルートノードに対応する構造を有し、
さらに、
(a)前記上位インデックスデータ構造を検索し前記位置情報に対応する前記葉ノードを特定する手段、
(b)前記特定された葉ノードに対応する下位のインデックスデータ構造を検索し前記位置情報に対応する葉ノードを特定する手段、及び、
(c)最下位のインデックスデータ構造の葉ノードが得られるまで繰り返し、前記得られた最下位のインデックスデータ構造の葉ノードに対応する前記データ格納部を検索し、前記位置情報に対応する前記エリアを特定する手段
を有する請求の範囲第1〜7項のいずれかに記載の装置。 - さらに、前記インデックスデータ構造を構築するための第一のエリアの空間座標解像度が、他のインデックスデータ構造を構築するための第二のエリアの空間座標解像度から独立に設定されている
請求の範囲第8項に記載の装置。 - さらに、
(a)下位のインデックスデータ構造の第一のエリア情報の変更要求を受け入れる手段、
(b)前記第一のエリアに対応する上位インデックスデータ構造の第二のエリアが存在するか否か判断する手段、
(c)前記第二のエリアが存在しない場合、前記第一のエリアに対応する上位インデックスデータ構造の第二のエリアを追加する手段、及び、
(d)前記第二のエリアが存在するが、前記第一のエリアの全てを包含しない場合、全てを包含するように前記第二のエリアを拡張する手段
を有する請求の範囲第8項に記載の装置。 - さらに、
(a)下位のインデックスデータ構造の第一のエリア情報の変更要求、及び、前記第一のエリアの属性を受け入れる手段、及び、
(b)前記第一のエリアの属性に対応する下位のエリア属性に基づくインデックスデータ構造が存在している場合には、前記第一のエリア情報の変更を行い、また下位のエリア属性に基づくインデックスデータ構造を削除する手段、
を有する請求の範囲第8項に記載の装置。 - 前記エリア関連情報を出力する手段は、さらに、前記サービス利用者に関する情報、サービス提供者、又は、前記エリアの属性に関する情報のうち少なくとも一つを考慮して検索する
請求の範囲第1〜11項のいずれかに記載の装置。 - エリア管理データ構造、及び、エリア関連情報格納部を有するプログラムであって、
前記エリア管理データ構造は、エリアを包含するエリア集合に対応するルートノード、中間ノード、及び、葉ノードを含むインデックスデータ構造、並びに、前記葉ノードに対応するデータ格納部を有し、
前記エリア関連情報格納部は、前記エリアに対応するエリア関連情報を格納し、
さらに、(a)前記位置情報を受け入れるステップ、
(b)前記インデックスデータ構造を検索し前記位置情報に対応する前記葉ノードを特定するステップ、
(c)前記特定された葉ノードに対応する前記データ格納部を検索し、前記位置情報に対応する前記エリアを特定するステップ、及び、
(d)前記エリア関連情報格納部を検索し前記特定されたエリアに対応するエリア関連情報を出力するステップ
をコンピュータを制御して実行させ、任意の位置情報に対応するエリア関連情報を出力する
プログラム。 - サービス利用者の指定する一つ以上のエリア属性に基づき収集されたエリア情報から構築されたエリア属性に基づくエリア管理データ構造、及び、エリア関連情報格納部を有するプログラムであって、
前記エリア属性に基づくエリア管理データ構造は、前記指定された一つ以上のエリア属性に基づき収集されたエリアを包含するエリア集合に対応するルートノード、中間ノード、及び、葉ノードを含むエリア属性に基づくインデックスデータ構造、並びに、前記葉ノードに対応するデータ格納部を有し、
前記エリア関連情報格納部は、前記エリアに対応するエリア関連情報を格納し、さらに、(a)前記位置情報を受け入れるステップ、
(b)前記エリア属性に基づくインデックスデータ構造を検索し前記位置情報に対応する前記葉ノードを特定するステップ、
(c)前記特定された葉ノードに対応する前記データ格納部を検索し、前記位置情報に対応する前記エリアを特定するステップ、及び、
(d)前記エリア関連情報格納部を検索し前記特定されたエリアに対応するエリア関連情報を出力ステップ
をコンピュータを制御して実行させ、任意の位置情報に対応するエリア関連情報を出力する
プログラム。 - 二つ以上の前記インデックスデータ構造、及び、最下位のインデックスデータ構造のデータ格納部を含むプログラムであって、
上位のインデックスデータ構造の葉ノードで特定されるエリアが、下位のインデックスデータ構造の前記ルートノードに対応する構造を有し、さらに、
(a)前記上位インデックスデータ構造を検索し前記位置情報に対応する前記葉ノードを特定するステップ、
(b)前記特定された葉ノードに対応する下位のインデックスデータ構造を検索し前記位置情報に対応する葉ノードを特定するステップ、及び、
(c)最下位のインデックスデータ構造の葉ノードが得られるまで繰り返し、前記得られた最下位のインデックスデータ構造の葉ノードに対応する前記データ格納部を検索し、前記位置情報に対応する前記エリアを特定するステップ
をコンピュータを制御して実行させる
請求の範囲第13または14項に記載のプログラム。 - エリア管理データ構造、及び、エリア関連情報格納部を有する装置において、前記エリア管理データ構造は、エリアを包含するエリア集合に対応するルートノード、中間ノード、及び、葉ノードを含むインデックスデータ構造、並びに、前記葉ノードに対応するデータ格納部を有し、また、
前記エリア関連情報格納部は、前記エリアに対応するエリア関連情報を格納し、以下の(a)から(d)のステップによって、任意の位置情報に対応するエリア関連情報を出力する方法、
(a)前記位置情報を受け入れるステップ、
(b)前記インデックスデータ構造を検索し前記位置情報に対応する前記葉ノードを特定するステップ、
(c)前記特定された葉ノードに対応する前記データ格納部を検索し、前記位置情報に対応する前記エリアを特定するステップ、及び、
(d)前記エリア関連情報格納部を検索し前記特定されたエリアに対応するエリア関連情報を出力するステップ。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004346002 | 2004-11-30 | ||
JP2004346002 | 2004-11-30 | ||
PCT/JP2005/021965 WO2006059629A1 (ja) | 2004-11-30 | 2005-11-30 | エリア情報の管理装置・方法・プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2006059629A1 true JPWO2006059629A1 (ja) | 2008-06-05 |
Family
ID=36565063
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006547969A Withdrawn JPWO2006059629A1 (ja) | 2004-11-30 | 2005-11-30 | エリア情報の管理装置・方法・プログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US7619913B2 (ja) |
EP (1) | EP1840762A1 (ja) |
JP (1) | JPWO2006059629A1 (ja) |
CN (1) | CN101069178A (ja) |
WO (1) | WO2006059629A1 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101903746A (zh) * | 2007-12-28 | 2010-12-01 | 电子地图有限公司 | 用于组合来自第一数字地图数据库的第一分区和来自第二数字地图数据库的第二分区的方法和设备 |
JP5333815B2 (ja) * | 2008-02-19 | 2013-11-06 | 株式会社日立製作所 | k最近傍検索方法、k最近傍検索プログラム及びk最近傍検索装置 |
US8504073B2 (en) | 2008-08-12 | 2013-08-06 | Teaneck Enterprises, Llc | Customized content delivery through the use of arbitrary geographic shapes |
US7921223B2 (en) | 2008-12-08 | 2011-04-05 | Lemi Technology, Llc | Protected distribution and location based aggregation service |
CN102779121A (zh) * | 2011-05-09 | 2012-11-14 | 腾讯科技(深圳)有限公司 | 一种事件内容信息获取方法及系统 |
US8682345B2 (en) * | 2011-09-28 | 2014-03-25 | Qualcomm Incorporated | Utilizing relationships between places of relevance |
JP5845818B2 (ja) * | 2011-10-31 | 2016-01-20 | 富士通株式会社 | 領域検索方法、領域検索プログラムおよび情報処理装置 |
US9613323B2 (en) | 2012-01-05 | 2017-04-04 | International Business Machines Corporation | Organizational agility determination across multiple computing domains |
JP6167531B2 (ja) * | 2013-01-24 | 2017-07-26 | 富士通株式会社 | 領域検索方法、領域インデックス構築方法および領域検索装置 |
JP5509376B1 (ja) * | 2013-08-05 | 2014-06-04 | ソノー電機工業株式会社 | ユーザの位置を基準にローカルな観光情報を検索する方法 |
CN103414995B (zh) * | 2013-08-16 | 2016-05-18 | 五八同城信息技术有限公司 | 基于四叉树的区域边界探测方法 |
US10402360B2 (en) | 2016-06-10 | 2019-09-03 | Johnson Controls Technology Company | Building management system with automatic equipment discovery and equipment model distribution |
CN107330761B (zh) * | 2017-06-29 | 2019-08-09 | 北京三快在线科技有限公司 | 基于地理位置的服务信息提供方法和装置以及计算设备 |
CN109657022B (zh) * | 2018-12-08 | 2020-06-30 | 拉扎斯网络科技(上海)有限公司 | 商户查找方法、装置、电子设备和存储介质 |
CN110580273B (zh) * | 2019-09-11 | 2023-02-28 | 四川易利数字城市科技有限公司 | 地图gis数据处理存储方法、装置、可读存储介质 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3598183B2 (ja) * | 1996-10-16 | 2004-12-08 | 株式会社東芝 | 多次元データ管理方法、多次元データ管理装置、多次元データ管理プログラムを記録した媒体 |
KR100219161B1 (ko) * | 1996-10-23 | 1999-09-01 | 윤종용 | 지도데이타 인덱스구축/검색방법 및 이를 적용한 지도데이타베이스운용시스템 |
JP3607107B2 (ja) * | 1998-03-13 | 2005-01-05 | 株式会社東芝 | データ管理装置 |
US6212392B1 (en) * | 1999-02-26 | 2001-04-03 | Signal Soft Corp. | Method for determining if the location of a wireless communication device is within a specified area |
JP2001195425A (ja) | 2000-01-17 | 2001-07-19 | Nippon Telegr & Teleph Corp <Ntt> | 多次元空間データ構造を記録した記録媒体、多次元空間データ探索方法、多次元空間データ更新方法および前記方法を実施するプログラムを記録した記録媒体 |
JP3630057B2 (ja) * | 2000-01-26 | 2005-03-16 | 日本電気株式会社 | 検索用データ構造構築方法、その装置、及び機械可読プログラム記録媒体 |
JP3659318B2 (ja) * | 2000-05-09 | 2005-06-15 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 空間データマイニング装置 |
JP3708809B2 (ja) | 2000-08-30 | 2005-10-19 | 日本電信電話株式会社 | 多次元空間データ構造を記録した記録媒体、多次元空間データ更新方法、多次元空間データ探索方法および前記方法を実施するプログラムを記録した記録媒体 |
US6944679B2 (en) * | 2000-12-22 | 2005-09-13 | Microsoft Corp. | Context-aware systems and methods, location-aware systems and methods, context-aware vehicles and methods of operating the same, and location-aware vehicles and methods of operating the same |
US6732231B1 (en) * | 2001-02-28 | 2004-05-04 | Emc Corporation | System and method for management of mirrored storage devices storing device serial numbers |
JP2003263435A (ja) | 2002-03-11 | 2003-09-19 | Space Tag Inc | 情報配信システムおよび記録媒体 |
JP2004005339A (ja) | 2002-04-01 | 2004-01-08 | Space Tag Inc | 情報配信システム |
-
2005
- 2005-11-30 CN CNA2005800410537A patent/CN101069178A/zh active Pending
- 2005-11-30 WO PCT/JP2005/021965 patent/WO2006059629A1/ja active Application Filing
- 2005-11-30 JP JP2006547969A patent/JPWO2006059629A1/ja not_active Withdrawn
- 2005-11-30 EP EP05811286A patent/EP1840762A1/en not_active Withdrawn
- 2005-11-30 US US11/720,325 patent/US7619913B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7619913B2 (en) | 2009-11-17 |
WO2006059629A1 (ja) | 2006-06-08 |
EP1840762A1 (en) | 2007-10-03 |
CN101069178A (zh) | 2007-11-07 |
US20080133484A1 (en) | 2008-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPWO2006059629A1 (ja) | エリア情報の管理装置・方法・プログラム | |
CN109478184B (zh) | 识别、处理和显示数据点聚类 | |
USRE44876E1 (en) | Proximity search methods using tiles to represent geographical zones | |
US20020188581A1 (en) | High-performance location management platform | |
US20090292464A1 (en) | System and method for providing geographic markers on electronic objects and real-world objects | |
CN115130021A (zh) | 用于提供位置信息的装置、系统和方法 | |
CN101427102A (zh) | 具有用于确定目的地的地址点的地图数据库 | |
JP2002157253A (ja) | 情報提供サーバ、クライアント及び情報提供検索実行プログラムを記録した記録媒体 | |
CN107092623B (zh) | 一种兴趣点查询方法及装置 | |
JP3501957B2 (ja) | 位置関連情報検索方式 | |
US10133751B2 (en) | Facilitating location-aware analysis | |
CN111858613B (zh) | 一种业务数据的检索方法 | |
Almendros-Jiménez et al. | Integrating and querying OpenStreetMap and linked geo open data | |
KR100404305B1 (ko) | 디지털 수치 지도와 이동 통신 단말을 이용한 시설물 관리및 고객 관리 시스템 및 방법 | |
KR102078619B1 (ko) | 위치기반 정보탐색 방법 및 시스템 | |
CN113722580A (zh) | 地址信息处理方法、装置、电子设备和计算机可读介质 | |
US9436715B2 (en) | Data management apparatus and data management method | |
JP2000090036A (ja) | 位置関連情報の提供方法およびその収集蓄積方法ならびにそれらの方法を実行するためのプログラムを記録した記録媒体 | |
JP5900487B2 (ja) | 移動体管理システム、移動体管理サーバ、移動体管理方法および移動体管理プログラム | |
US20240289400A1 (en) | Frequent pattern mining method based on spatial index | |
Khine | The Efficient Geospatial Index Structure for Spatial Keyword Query with Myanmar Language on Mobile Devices | |
Najjar et al. | Location-Dependent Database Access | |
JP2023161771A (ja) | 路線統計データ管理装置、路線統計データ管理方法及び路線統計データ管理プログラム | |
CN116628113A (zh) | 目标地址确定方法、装置、设备及存储介质 | |
CN107346313B (zh) | 虚拟面挖掘的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20090203 |