JP2004118293A - Device and method for generating index for moving locus data retrieval, device and method for retrieving moving locus data, index generation program for moving locus data retrieval, recording medium recording the same, moving locus data retrieval program and recording medium recording the same - Google Patents

Device and method for generating index for moving locus data retrieval, device and method for retrieving moving locus data, index generation program for moving locus data retrieval, recording medium recording the same, moving locus data retrieval program and recording medium recording the same Download PDF

Info

Publication number
JP2004118293A
JP2004118293A JP2002277202A JP2002277202A JP2004118293A JP 2004118293 A JP2004118293 A JP 2004118293A JP 2002277202 A JP2002277202 A JP 2002277202A JP 2002277202 A JP2002277202 A JP 2002277202A JP 2004118293 A JP2004118293 A JP 2004118293A
Authority
JP
Japan
Prior art keywords
search
trajectory data
moving
specified
index
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.)
Granted
Application number
JP2002277202A
Other languages
Japanese (ja)
Other versions
JP3984135B2 (en
Inventor
Yutaka Yanagisawa
柳沢 豊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2002277202A priority Critical patent/JP3984135B2/en
Publication of JP2004118293A publication Critical patent/JP2004118293A/en
Application granted granted Critical
Publication of JP3984135B2 publication Critical patent/JP3984135B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To give a restriction condition in accordance with an intuitive description method, to retrieve moving locus data and to retrieve moving locus data whose shape is similar with moving locus data stored in a database as a retrieval object. <P>SOLUTION: For the purpose of retrieving movement restriction data being a segment having a complicated shape, information on a region to which moving locus points of moving locus data being the retrieval object belong is recorded by using a divided compartment, and an index recording information on a pass order of the divided compartment through which moving locus data passes is generated. When a retrieval condition described by retrieval language describing a geometric relation between the segment and the region is given, the divided compartment matched with the region designated by the retrieval condition is specified. Moving locus data satisfying the retrieval condition are retrieved by using the index. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、データベースに格納される移動軌跡データの検索に用いられるインデックスを生成する移動軌跡データ検索用インデックス生成装置及びその方法と、そのインデックスを用いて、データベースに格納される移動軌跡データの中から検索条件を充足するものを検索する移動軌跡データ検索装置及びその方法と、その移動軌跡データ検索用インデックス生成装置の実現に用いられる移動軌跡データ検索用インデックス生成プログラム及びそのプログラムを記録した記録媒体と、その移動軌跡データ検索装置の実現に用いられる移動軌跡データ検索プログラム及びそのプログラムを記録した記録媒体とに関する。
【0002】
ナビゲーションシステムや、人物の位置を管理するシステムや、人物の移動軌跡から嗜好情報を読み取るシステムなどといったような様々なシステムで、移動物体の移動軌跡データを検索することが要求されている。その他にも、様々なシステムで、時間軸に沿って値の変化するデータ(広義の移動軌跡データ)を検索することが要求されている。
【0003】
これから、このような移動軌跡データの検索を実現する技術を構築していく必要がある。
【0004】
【従来の技術】
本発明に関連する先行技術として、時系列データベースシステム、時空間データベースシステム、ナビゲーションシステムがある。
【0005】
〔1〕時系列データベースシステム(例えば、特許文献1参照)
株価や為替に類する経済的指標値、降水量や気温、湿度に類する気候に関する測定値、人口や就業率、出生率に類する社会的指標値といったような、時間軸に沿って変化する可能性のある値を、一定周期あるいは不定期に計測したデータを一般に時系列データという。
【0006】
時系列データから周期性、規則性を発見し、未来の値の変化を予測する技術の開発がこれまでに行われている。この技術開発の中で、時系列データを蓄積し、条件に合致する時系列データを検索する機能を持つ時系列データベースシステムが開発されている。
【0007】
従来の時系列データベースシステムは、時間変化に伴うデータの値の増減変化の特徴を検索条件として与えて、その検索条件に合致するデータを検索する機能を有する。
【0008】
移動するユーザについて記述する移動軌跡データは、各時刻に対応するユーザの座標情報を記録したものであるから、時系列データの一種である。
【0009】
しかし、移動軌跡データは空間上の線分としての性質を持つことから、時間軸に対する値の増減変化を指定する検索方法のみでは、検索能力が十分ではない。幾何学的な線分の形状の変化や、線分周辺の別の図形との関係の変化についても条件として与え、その条件に合致するデータを取得する機能が必要である。
【0010】
しかしながら、既存の時系列データベースシステムは、この機能を有していない。
【0011】
〔2〕時空間データベースシステム(例えば、特許文献2参照)
空間上の図形を、図形間の関係や図形の形状を条件として与えることで検索することができる機能を有するデータベースシステムとして、空間データベースシステムと時空間データベースシステムとがある。これらのデータベースシステムは、GIS(Geographic Information System)の基盤技術としても用いられている。
【0012】
蓄積するデータとしては、標高や河川や道路や建築物などに類する静的な地理学的なデータと、人口分布や職業分布や植生や降雨量などに類する場所に依存した動的に変動するデータとがある。
【0013】
静的なデータと動的なデータとを組み合わせて分析することで、特定の地域にのみ見られる特有のデータパターンを発見したり、複数の分布図間に存在する図形的な関連性を発見することが可能である。
【0014】
例えば、植生分布、降雨量、崖崩れの発生区域の3つの分布図について、図形上での比較を行うことで、崖崩れが頻出する地点の近傍では年間降雨量が平均より多く、なおかつ植生分布図では樹木のない区域にある、などといった関係を発見するケースがこれにあたる。
【0015】
従来の時空間データベースシステムでは、図形として面積あるいは体積を持つ図形間の関係を計算することができる。
【0016】
しかし、面積あるいは体積を持つ図形間の関係計算は、一般に極めて膨大なコストを要する。このため、時空間データベースシステムで扱われるデータは、関係の演算に時間を要しても影響がない程度にデータの更新が少ない、いわゆる静的なデータである必要があった。
【0017】
これに対して、移動軌跡データはセンサ情報の一種であり、リアルタイムにデータが追加される性質を持つ。したがって、移動軌跡データベースは、動的に増加するデータに対しても十分に高速にデータを検索できる能力が必要である。
【0018】
しかしながら、既存の時空間データベースシステムは、この機能を有していない。
【0019】
〔3〕ナビゲーションシステム(例えば、特許文献3参照)
地図上の複数の点を指定し、指定した順序で通過する経路を検索できるシステムとして、カーナビゲーションシステム、パーソナルナビゲーションシステムがある。
【0020】
ナビゲーションシステムではデータとして、道路の形状、長さ、接続情報を保有し、カーナビゲーションシステムではさらに渋滞、工事、通行規制に関する情報を保有しており、複数のデータを複合的に用いてユーザの条件を満たす最適な経路を探す。
【0021】
しかしながら、ナビゲーションシステムの検索対象は二点間を結ぶ経路としての静的な道路データであり、形状が不定でリアルタイムにデータが追加される移動軌跡データを検索対象とすることはできない。
【0022】
【特許文献1】
特開平6−96234号公報
【特許文献2】
特開平7−93338号公報
【特許文献3】
特開平9−178499号公報
【非特許文献1】
M.Egenhofer,E.Clementini,and P.di Felice: Topological Relations between Regions with Holes,International Journal of Geographical Information Systems,Vol.8,No.2,pp.129−142(1994).
【0023】
【発明が解決しようとする課題】
以上説明したように、従来の技術では、次の2つの要求を満たすことができない。
【0024】
すなわち、向きのある複雑な形状を持つ線分である移動軌跡データに対して、直観的な記述方法に従って空間的および時間的な制約条件を与えて検索を行うことができない。
【0025】
そして、サンプルとして与えた移動軌跡データに空間上での形状が似ている移動軌跡データをデータベースから検索することができない。
【0026】
本発明はかかる事情に鑑みてなされたものであって、データベースに格納される複雑な形状を持つ線分である移動軌跡データを検索対象として、直観的な記述方法に従って制約条件を与えて移動軌跡データの検索を行うことができるようにするとともに、形状が似ている移動軌跡データの検索を行うことができるようにする新たな移動軌跡データ検索技術の提供を目的とする。
【0027】
【課題を解決するための手段】
この目的を達成するために、本発明では、(1)データベースに格納される移動軌跡データの検索に用いられるインデックスを生成してメモリ域(半導体メモリやハードディスクなどのようなメモリ域)に保持させる移動軌跡データ検索用インデックス生成装置と、(2)そのメモリ域に保持されるインデックスを用いて、データベースに格納される移動軌跡データの中から検索条件を充足するものを検索する移動軌跡データ検索装置とを用意する。
【0028】
〔1〕本発明の移動軌跡データ検索用インデックス生成装置の構成
本発明の移動軌跡データ検索用インデックス生成装置は、検索対象となる移動軌跡データの属する領域の情報と通過順序の情報とについて記録するインデックスを生成する処理を行うものであって、▲1▼移動軌跡データの存在する空間に対応付けられる区画を分割することで、移動軌跡点の属する領域の登録先となる分割区画を生成する手段と、▲2▼移動軌跡点が与えられる場合に、その移動軌跡点の属する分割区画を特定して、その特定した分割区画に対応付けて設けられる配列の末尾に、その移動軌跡点に関する情報へのポインタを登録する手段と、▲3▼特定した分割区画と、移動軌跡データの通過する分割区画の識別情報を記録するリンクリストの末尾の分割区画とが異なる場合に、リンクリストの末尾に、その特定した分割区画の識別情報を登録する手段と、▲4▼分割区画に対応付けて設けられる配列の長さが規定以上となる場合に、その配列を持つ分割領域を分割することで階層的な構造を持つ分割区画を生成するとともに、それに応じてリンクリストを生成しなおす手段とを備えるように構成する。
【0029】
以上の各処理手段はコンピュータプログラムで実現できるものであり、このコンピュータプログラムは、半導体メモリなどの記録媒体に記録して提供することができる。
【0030】
〔2〕本発明の移動軌跡データ検索装置の構成
本発明の移動軌跡データ検索装置は、データベースに格納される移動軌跡データを検索する処理を行うものであって、▲1▼検索対象となる移動軌跡データの各移動軌跡点の属する領域の情報を分割された区画を使って記録するとともに、その移動軌跡データの通過する分割区画の通過順序の情報を記録するインデックスを保持する手段と、▲2▼線分と領域との幾何学的な関係について記述する検索言語で記述された検索条件を入力する手段と、▲3▼インデックスを用いて、検索条件を充足する移動軌跡データを検索する手段と、▲4▼分割区画が階層的に構成される場合にあって、検索条件で指定される領域が分割区画に一致しない場合には、その領域を含む最小の分割区画を特定する手段とを備えるように構成する。
【0031】
このように構成されるときにあって、検索する手段は、分割区画が階層的に構成される場合にあって、検索条件で指定される領域が分割区画に一致しない場合には、先ず最初に、特定された最小の分割区画で指定領域が置き換えられた検索条件を充足する移動軌跡データを検索対象として、インデックスを用いて検索を行い、続いて、その中から本来の検索条件を充足する移動軌跡データを検索するように処理する。
【0032】
そして、検索する手段は、検索条件で時刻条件が指定される場合には、検索条件を充足するものとして検索した移動軌跡データの中から、その時刻条件を充足するものを検索するように処理する。
【0033】
以上の各処理手段(但し、保持する手段を除く)についてはコンピュータプログラムで実現できるものであり、このコンピュータプログラムは、半導体メモリなどの記録媒体に記録して提供することができる。
【0034】
〔3〕本発明により実現される移動軌跡データの検索処理
このように構成される本発明では、先ず最初に、本発明の移動軌跡データ検索用インデックス生成装置が動作して、移動軌跡データの存在する空間に対応付けられる区画を分割することで、移動軌跡点の属する領域の登録先となる分割区画を生成する。
【0035】
続いて、移動軌跡点が与えられると、その移動軌跡点の属する分割区画を特定して、その特定した分割区画に対応付けて設けられる配列の末尾に、その移動軌跡点に関する情報へのポインタを登録し、さらに、その特定した分割区画と、リンクリスト(移動軌跡データの通過した分割区画の識別情報の時系列データが記録されている)の末尾に記録されている分割区画とが異なる場合には、リンクリストの末尾に、その特定した分割区画の識別情報を登録する。
【0036】
そして、分割区画に対応付けて設けられる配列の長さが規定以上となる場合には、その配列を持つ分割領域を分割することで階層的な構造を持つ分割区画を生成するとともに、それに応じてリンクリストを生成しなおす。
【0037】
このようにして、本発明の移動軌跡データ検索用インデックス生成装置の処理により、移動軌跡データが通過する分割区画とその通過順序とについて記述するインデックスが生成されることになる。
【0038】
このインデックスの生成を受けて、移動軌跡データの検索要求が発行されると、本発明の移動軌跡データ検索装置が動作して、線分と領域との幾何学的な関係について記述する検索言語で記述された検索条件が与えられと、それを入力する。
【0039】
続いて、入力した検索条件で指定される領域に一致する分割区画を特定し、その一致する分割区画が存在しない場合には、入力した検索条件で指定される領域を含む最小の分割区画を特定する。
【0040】
そして、入力した検索条件で指定される領域に一致する分割区画を特定できた場合には、インデックスを用いた検索が可能であるので、インデックスを用いて、検索条件を充足する移動軌跡データを検索する。
【0041】
このとき、検索条件で時刻条件が指定される場合には、さらに、その時刻条件を充足するものを検索することで、最終的な検索結果となる移動軌跡データを検索する。
【0042】
一方、入力した検索条件で指定される領域に一致する分割区画を特定できない場合には、インデックスを用いた検索が不可能であるので、検索条件で指定される領域をその領域を含む最小の分割区画で置き換えることでインデックスの使用を可能にして、インデックスを用いて、その置き換えた検索条件を充足する移動軌跡データの検索を行い、その中から本来の検索条件を充足する移動軌跡データを検索する。
【0043】
このとき、検索条件で時刻条件が指定される場合には、さらに、その時刻条件を充足するものを検索することで、最終的な検索結果となる移動軌跡データを検索する。
【0044】
このようにして、本発明では、線分と領域との幾何学的な関係について記述する検索言語で指定される検索条件を充足する移動軌跡データを検索できるようにするためのインデックスを生成して、それを用いて検索条件を充足する移動軌跡データを検索することから、線分と領域との幾何学的な関係について記述する検索言語を使って検索条件を指定できるようになるとともに、向きのある複雑な形状を持つ線分である移動軌跡データを検索できるようになる。
【0045】
これにより、本発明によれば、直観的な記述方法に従って制約条件を与えて移動軌跡データの検索を行うことができるようになるとともに、形状が似ている移動軌跡データの検索を行うことができるようになる。
【0046】
なお、検索の結果として得られる答えに含まれるものは、データベースに格納されている(1本の)移動軌跡データの全体であったり、その一部分である。場合によっては、データベース中では1本の移動軌跡データであっても、答えとしては、その移動軌跡データの複数の部分が切り出されて答えとされる場合もある。
【0047】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して説明する。
【0048】
図1に、本発明を具備するデータベースシステム1の全体構成を図示する。
【0049】
この図に示すように、本発明のデータベースシステム1は、入力部10と、データ管理部11と、検索部12と、蓄積部13とから構成される。
【0050】
入力部10は、外部から受け取ったテキスト情報が移動軌跡データであるのか問い合わせ記述であるのかを判断して、移動軌跡データであった場合には、データを整形してデータ管理部11へ送信し、問い合わせ記述であった場合には、問い合わせ内容を解析して検索部12へその解析結果を送信する。
【0051】
データ管理部11は、入力部10から受け取ったデータに対してインデックスを作成する。インデックスはデータ管理部11で保持され、移動軌跡データは蓄積部13に送信される。
【0052】
蓄積部13は、外部から受信した移動軌跡データをハードディスク等の物理記憶デバイスに記録し、外部から要求のあった移動軌跡データを物理記憶デバイスから読み出して要求元に送信し、外部から指示された移動軌跡データの削除またはデータの置き換えを行う機能を有する。
【0053】
検索部12は、入力部10から受け取った問い合わせに対し、データ管理部11に問い合わせてインデックスを利用して問い合わせの条件を満たすデータの候補を選び、次に蓄積部13から候補となるデータを取得し、その中から実際に条件を満たすデータだけを選んで外部に検索結果として送信する機能を有する。
【0054】
〔1〕本発明で扱う移動軌跡データ
次に、本発明のデータベースシステム1で扱う移動軌跡データについて述べる。
【0055】
空間上を移動する物体の移動軌跡を、物体の識別子と時刻と空間上の座標(点データ)との組として記録したものを移動軌跡データと呼ぶ。
【0056】
移動軌跡データは、一般には連続でない時系列に沿った離散的な点データ列である。移動軌跡データに含まれる点データ列を点データの時刻順に結んだものは、空間上では有限の長さを持ち向きがある線分になる。
【0057】
図2に、移動軌跡データの一例を図示する。この図に示すように、移動軌跡データの各点は、時刻tと、座標(x,y)と、個々の移動軌跡データに対してシステムが割り振る識別子uとの組で表される。
【0058】
〔2〕検索部12で扱うことのできる条件記述式
次に、検索部12で扱うことのできる条件記述式について述べる。
【0059】
空間上の図形を検索する方法として、空間上の別の図形との間の位相幾何学的関係を用いる方法が従来より利用されている。
【0060】
閉領域(空間内にある境界を持ち、内部に穴のない連続な領域)間の位相幾何学的関係を記述する方法として、領域Rの境界∂Rと、領域の内部R°(閉領域のうち境界を含まない開領域)と、領域の外部R− (空間内の領域Rに含まれない部分)との関係を表す行列式を用いる方法(例えば、非特許文献1参照)がある。
【0061】
例えば、図3(a)に示す関係行列式T(R,R)は、図3(b)のように表される。ここで、“φ”は共通部分が空である(存在しない)ことを意味し、“¬φ”は共通部分があることを意味する。
【0062】
本発明のデータベースシステム1ではこれを拡張して、空間上のひとつの閉領域Rと有向線分Lとの関係を、領域の内部R°/領域の境界∂R/領域の外部R− と、線分の始点∂0 L/線分の終点∂1 L/線分の内部L°(始点と終点以外の線分上の点)との3×3の行列で表し、検索条件に指定できるようにする。
【0063】
例えば、図4(a)に示す関係行列式T(R,L)は図4(b)のように表される。ここで、“φ”は共通部分が空である(存在しない)ことを意味し、“¬φ”は共通部分があることを意味する。
【0064】
図5に示すように、二次元空間R2 では、閉領域Rと有向線分Lとの関係の可能な組み合わせは26種類である。図6に、この26種類の関係行列式を図示する。
【0065】
しかし、この26種類の関係は、次のCONNECT演算を利用すると、基本となる7種類の関係の組み合わせで記述できることになる。
【0066】
CONNECT演算*は、領域Rと二つの有向線分L, L’ があり、「∂1 L=∂0 L’ 」という関係があるときに限り、T(R,L)とT(R,L’)との二つの関係の間に定義できて、「T(R,L)*T(R,L’)」は図7に示すように定義される。
【0067】
図8に、このCONNECT演算の例を示す。例えば、図中に示す(a)と(b)のケースでは、同じ領域R1 に対して二つの有向線分L,L2 がそれぞれ別の関係を持ち、「∂1 1 =∂0 2 」であるときに、「T(R,L)*T(R,L)」という演算を計算できる。そして、図中に示す(d)と(e)のケースでも、同じ領域R1 に対して二つの有向線分L,L5 がそれぞれ別の関係を持ち、「∂1 4 =∂0 5 」であるときに、「T(R,L)*T(R,L)」という演算を計算できる。
【0068】
前述したように、図6に示す26種類の関係行列式は、CONNECT演算を利用すると、基本となる7種類の関係の組み合わせで記述できることになる。
【0069】
図9に、この基本となる7種類の関係を図示する。この基本となる7種類の関係とCONNECT演算とを用いることで、26種類すべての関係を表すことができる。
【0070】
図10に、その組み合わせの例を示す。図中のTI 〜TXXVIは、図6の各関係を表す行列式に対応する。
【0071】
このように、閉領域と有向線分との関係は、基本となる7種類の関係行列式とCONNECT演算とを用いて記述することができるのである。
【0072】
このようにして、本発明のデータベースシステム1への問い合わせは、次の形式で記述されることになる。
【0073】
<L>=Q(R,E0 *E1  ...*En 
但し、<L>は線分Lの集合
この式は、領域Rと関係E0 *E1 ....*En を持つ線分Lの集合<L>を求める問い合わせである。
【0074】
複数の領域との関係式は、線分と各領域との関係行列式の列で表すことができる。例えば、二つの領域R,R2 が存在し、R1 の境界上から出発してR2 の境界上に終点があるような関係は、次のように表される。
【0075】
(R,R,L)=〈T(R,L), T(R,L)〉=〈ED , EE 
但し、R1 °∩R2 °=“φ”、L1 ∪L2 =L、∂1 1 =∂0 2 とする。
【0076】
この式は、線分Lがまず領域R1 とED の関係を持ち(なおかつ他のすべての領域との間にEF の関係を持ち)、その直後にR2 との間にEE の関係を持つという関係を表している。
【0077】
複数の領域に対する関係問い合わせも、領域がひとつの場合と同様にして、次のように記述する。但し、各Ei は複数のEj をCONNECT演算で結合したものでもよい。
【0078】
<L>=Q((R,E),(R,E), ... ,(Rn , En ))
この条件式Qに加えて、時刻に関する次の条件記述を与えることができる。なお、∂0 Lの時刻をtS 、∂1 Lの時刻をtE 、移動軌跡データ上の任意の1点の時刻をti と表記している。
【0079】
(イ)独立時間指定P
Qとは無関係に、移動軌跡データの含まれる時区間や時刻を指定する。「tE −tS <2.0(分)」や、「8:00PM<tE <9:00PM」や、「11:00AM=ti 」などという記述がこれにあたる。これらは、例えば、
<L>=Q∩P0 ∩P1 ...
のようにAND条件として記述する。
【0080】
(ロ)従属時間指定S
Qの各関係行列と領域との組に対して時区間や時刻を指定する。例えば、
<L>=Q((R,E,〔tE =6:00PM〕),(R,E))
のように記述する。この例は、「線分がR1 とE0 の関係を持つとき、その部分移動軌跡データの終点の時刻が16:00PMである。その後、R2 とE1 の関係を持つ」という条件を表している。
【0081】
〔3〕データ管理部11でのインデックス生成処理
次に、データ管理部11により実行されるインデックス生成処理について述べる。
【0082】
データベースの管理者によって決められた定数H,W,m,n,θがあるものとする。また、移動軌跡データの各ポイントはp=(u,t,x,y)(ここで、uは軌跡のID、tは時刻、x,yはポイントの位置)で表され、各移動軌跡データの各ポイントが1つずつデータベースに追加されるものとする。
【0083】
ポイントpがデータベースに追加されるためにデータ管理部11に送られてきたとき、データ管理部11は、次の手順((i)〜(v))でインデックスを作成する。
【0084】
但し、追加されるpは、同じIDuを持つポイント群の中で、常に最後尾(pの時刻が他のポイント群の中で最後)になっているものとする。
【0085】
(i)インデックスの頂点τ0 が存在しない場合には、図11に示すように、頂点τ0 を作成し、pの位置(x,y)に対応付けられる位置を中心とした縦H×n、横W×mのサイズの矩形を生成する。さらに、この矩形を縦n分割、横m分割し、これらの分割された各分割矩形をRec(τ,i,j)で表す。
【0086】
この分割矩形Rec(τ,i,j)が移動軌跡データを構成する各ポイントの位置する領域に対応付けられることになる。
【0087】
ここで、Rec(τ,0,0)は便宜上もっとも左上の分割矩形を指すものとし、右下の分割矩形をRec(τ,(m−1),(n−1))で表す。また、τ0 はインデックスの頂点が親ノードであることを表している。
【0088】
(ii)pの座標(x,y)を含む分割矩形Rec(τ,i,j)を探す。
【0089】
後述するように、分割矩形Rec(τ,i,j)に閾値θを超える数のポイントが登録される場合には、検索性能が劣化するのを防止するために、その分割矩形Rec(τ,i,j)をn×mの分割形態で分割することになるので、子ノードセットを持つことになる。
【0090】
これから、探した出した分割矩形が子ノードセットを持つ場合には、子ノードの中からさらに対応する分割矩形Rec(Rec(τ,i,j),i’ ,j’ )を探す。同様にして子ノードを探索していって、子ノードを持たない分割矩形に到達するまで再帰的に探す。最後に見つかった分割矩形をRとする。
【0091】
(iii)探索した分割矩形Rに対応付けられる配列の末尾にpを加える。
【0092】
具体的には、pの情報は蓄積部13に格納することになるので、配列の末尾には、その格納先のアドレスを加えることになる。図11では、分割矩形Rec(τ,3,2)に対応付けられた配列の末尾にpを加える例を示している。
【0093】
このとき、配列の長さが閾値θ以上となる場合には、後述する(iv)を実行する。一方、そうでない場合には、pについてリンクリスト(移動軌跡データの分割矩形の通過順序を記録するもの)を作成する。
【0094】
リンクリストの作成手順は次の通り(▲1▼〜▲3▼)である。
【0095】
▲1▼pと同じIDuを持つポイントで、時刻値が直前のポイントp’ を探す。もしp’ が存在していなければ、リンクリストのトップノードを新たに作成して、pが所属する分割矩形Rをリンクリストのトップに追加して終了する。
【0096】
▲2▼p’ が存在する場合、p’ の所属するR’ とpの所属するRとが「R=R’ 」であるならば、同じ分割矩形内での移動であるので何も行わずに終了する。そうでなければ次に進む。
【0097】
▲3▼リンクリストの末尾にRを追加する。Rに親ノードRp がある場合には、「Rp =R’ 」かどうかを調べる。「Rp =R’ 」であれば処理を終了する。そうでなければ、R’ の親ノードR’ p について同様に「Rp =R’ p 」であるかどうかを調べる。これを再帰的に繰り返し、親ノードがなくなるまで繰り返す。
【0098】
この▲1▼〜▲3▼の作成手順に従って、最終的には、図12に示すように、IDuのポイント列(移動軌跡データ)の先頭から順番に、分割矩形の階層レベル毎にその移動軌跡データが通過した分割矩形を並べて作ったリンクリストと、τ0 をトップノードとした分割矩形の階層関係について記述するツリーとが生成される。リンクリストは、IDが同じp群に対してひとつだけ存在する。
【0099】
(iv)分割矩形Rの配列の長さが閾値θ以上となる場合には、多数のポイントが登録されることで検索性能が劣化することになるので、図13に示すように、分割矩形Rを親ノードとして、Rを縦n分割、横m分割し、これらをそれぞれRec(R, i, j)としてすべてRの子ノードとする。さらに、Rの配列に含まれているすべての点pを各子ノードに再配置して、Rの配列はクリアする。
【0100】
(v)分割矩形Rを分割した場合には、再配置された各ノードについて、リンクリストを生成しなおす。
【0101】
図14及び図15に、以上に説明したインデックス作成処理の処理フローを図示する。
【0102】
ここで、図14に示す処理フローが骨格となる処理フローであり、図15に示す処理フローは、図14に示す処理フローのステップ18で実行するリンクリストの作成処理の詳細な処理を示す。
【0103】
以上に説明したインデックスの作成処理では、インデックスの頂点τ0 を作成する際に、分割矩形を予めn×m個作成するという方法を用いているが、規定のサイズの矩形を中央に1つだけ作成するようにして、必要に応じて、頂点τ0 に含まれる分割矩形を増やしていくという方法を用いることも可能である。この方法を用いると、メモリを節約できるようになる。
【0104】
〔4〕検索部12での移動軌跡データ検索処理
次に、検索部12により実行される移動軌跡データの検索処理について述べる。
【0105】
検索部12は、入力部10から移動軌跡データの検索の問い合わせがあると、データ管理部11により生成されたインデックスを用いて検索を行う。
【0106】
前述したように、検索式は、
<L>=Q((R,E),(R,E), ... ,(Rn , En ))
のような表記で、線分Lの集合<L>を求める問い合わせとして入力される。
【0107】
このとき指定されるRとしては、先ず最初に、指定されるRがインデックス用に作られた各分割矩形に等しいケースについて述べ、そうでないケースについては後述することにする。なお、以下の文中のEA , EB などは、それぞれ図9のEA , EB などに対応する。
【0108】
検索対象となる移動軌跡データは離散的なポイント列であるため、実際のクエリでは「矩形の境界上」に厳密にポイントが一致するケースはほとんどない。そのため、前述のEA からEG のうち、境界部分に始点か終点のある問い合わせについては、これを厳密に満たすような移動軌跡データを検索しても、全く答が得られない可能性が高い。
【0109】
これから、実用上は基本要素であるEA からEG までを組み合わせた、図16に示す5つの関係を問い合わせに用いる。
【0110】
すなわち、実用上は、

Figure 2004118293
という5つの関係を問い合わせに用いれば足りる。
【0111】
次に、これらの問い合わせに対する答えを検索する方法について説明する。
【0112】
(I)Enter:
問い合わせ式がQ((R,Eenter ))の場合、先ず最初に、Rを通る移動軌跡データをインデックスを使って探す。次に、各移動軌跡データのリンクリストを使って、Rの直前に別の分割矩形R’ を通っているかどうかを調べる(Rがリンクリストの先頭でない限りは、Rの直前にRの四方のいずれかの分割矩形を通っている)。R’ が存在する場合は、その移動軌跡データを答えとして返す。
【0113】
(II)Exit :
問い合わせ式がQ((R,Eexit))の場合、先ず最初に、Rを通る移動軌跡データをインデックスを使って探す。次に、各移動軌跡データのリンクリストを使って、Rの直後に別の分割矩形R’ を通っているかどうかを調べる(Rがリンクリストの末尾でない限りは、Rの直後にRの四方のいずれかの分割矩形を通っている)。R’ が存在する場合は、その移動軌跡データを答えとして返す、
(III)Return :
問い合わせ式がQ((R,Ereturn))の場合、先ず最初に、Rを通る移動軌跡データをインデックスを使って探す。次に、各移動軌跡データのリンクリストを使って、Rから順番にリンクをたどり、またRに戻るようなルートがリンクリスト上にあるかどうかを調べる。もしそのようなルートが存在すれば、その移動軌跡データを答えとして返す。
【0114】
(IV) Cross:
問い合わせ式がQ((R,Ecross ))の場合、先ず最初に、RについてEenter の条件を調べ、その後、さらにEexitのケースについて調べる。両方を満たす移動軌跡データを答えとして返す。
【0115】
(V)Path :
問い合わせ式がQ((R,R,Epath))の場合、先ず最初に、R1 を通る移動軌跡データをインデックスを使って探す。次に、各移動軌跡データのリンクリストを使って、R1 から順番にリンクをたどりR2 にたどり着くようなルートがあるかどうかを調べる。もしそのルートが存在すれば、その移動軌跡データを答えとして返す。
【0116】
以上の処理によつて得られた答えの中から、条件式に含まれている時刻に関する条件を調べる、検索部12は、最終的に時刻条件も満たす移動軌跡データだけを答えとして返す。
【0117】
次に、検索式で指定される領域Rがインデックスのために作られた各分割矩形と一致しない場合の検索方法について述べる。
【0118】
(A)検索式で指定されるRがτ0 よりも大きい(インデックスが対象としている範囲を超えている)場合には、インデックスを使用することができないので、移動軌跡データすべてについて与えられた条件を直接調べることで、検索式を充足する移動軌跡データを検索する。
【0119】
(B)検索式で指定されるRがインデックスの分割矩形階層の最下層の分割矩形のいずれかに完全に含まれる場合には、次のように計算する。
【0120】
(B−1)Enter/Exit /Return /Crossの場合:
Rが含まれる最下層の分割矩形をR’ とすると、先ず最初に、インデックスを使って、R’ を通過する移動軌跡データを探す。その後に、リンクリストを使わず、それぞれの移動軌跡データについて条件のチェックを行う。
【0121】
(B−2)Path の場合:
1 が含まれる最下層の分割矩形をR’、R2 が含まれる最下層の分割矩形をR’とすると、先ず最初に、インデックスを使って、R’を通った後にR’を通る移動軌跡データを調べ、その後に、リンクリストを使わず、Q((R,R,Epath))を満たすかどうかを調べる。
【0122】
(C)検索式で指定されるRがインデックス分割矩形階層の最下層の分割矩形のいずれにも完全には含まれない場合には、Rを含むインデックス中の最小の分割矩形を使って、リンクリストを調べた後、インデックスを使わずに、検索式を充足する移動軌跡データを検索する。その調べ方については、Rが最下層の分割矩形に完全に含まれる場合と同様である。
【0123】
リンクリストは、特にPath を含むクエリを計算する上で有効である。例えば、R, ... ,Rn を順番に通過していくような多数の分割矩形を含むPath クエリでは、リンクリストをたどり、移動軌跡がR1 からRn まで順番に通過しているかどうかを簡単に調べることができる。
【0124】
図17ないし図21に、以上に説明した移動軌跡データ検索処理の処理フローを図示する。
【0125】
ここで、図17及び図18の処理フローが骨格となる処理フローであり、図19及び図20の処理フローは、図17及び図18の処理フローのステップ23/ステップ30で実行する移動軌跡データの検索処理の詳細な処理を示し、図21の処理フローは、図17及び図18の処理フローのステップ34で実行する移動軌跡データの検索処理の詳細な処理を示す。
【0126】
図17及び図18の処理フローについて簡単に説明するならば、ステップ21,22で、インデックスの最上位層の分割矩形(分割元となった矩形)と検索式で指定される領域Rの大きさを比較して、一致する場合には、図19及び図20の処理フローに従って、上述した(B)と同様の手順に従い、インデックス(リンクリストを含む)を使って、検索式を充足する移動軌跡データを検索する。
【0127】
そして、インデックスの最上位層の分割矩形(分割元となった矩形)と検索式で指定される領域Rの大きさとが一致しない場合には、ステップ25で、検索式で指定される領域Rの方が大きいのか否かを判断して、検索式で指定される領域Rの方が大きい場合には、インデックスを用いることができないので、上述した(A)で説明したように、インデックスを使わずに、検索式を充足する移動軌跡データを検索する。
【0128】
一方、ステップ25で、検索式で指定される領域Rの方が小さい場合には、ステップ28〜ステップ33の処理を繰り返していくことで、インデックスの1つ下位層の分割矩形と検索式で指定される領域Rの大きさとが一致するのか否かを判断して、一致する場合には、図19及び図20の処理フローに従って、上述した(B)と同様の手順に従い、インデックス(リンクリストを含む)を使って、検索式を充足する移動軌跡データを検索する。
【0129】
そして、ステップ28〜ステップ33の処理を繰り返していくことで、最終的に、検索式で指定される領域Rの大きさとインデックスの分割矩形とが一致しないことを判断するときには、検索式で指定される領域Rを含む最小の分割矩形R’ を特定して、ステップ34で、図21の処理フローに従って、その分割矩形R’ が検索式で指定されたものとして扱って、インデックスを使って検索を行い、ステップ35で、その検索した移動軌跡データの中から、インデックスを使わずに検索式を充足するものを検索する。
【0130】
すなわち、上述した(C)と同様の手順に従い、検索式で指定される領域Rを含む最小の分割矩形R’ を特定すると、その分割矩形R’ が検索式で指定されたものとして扱って、インデックスを使って検索を行い、その後、その検索した移動軌跡データの中から、インデックスを使わずに検索式を充足するものを検索するのである。
【0131】
ここで、図21の処理フローで、Enter/Exit /Return /Crossに分けて検索を行わないのは、最小の分割矩形R’ についてそのような条件を充足したとしても、検索式で指定される領域Rについてそのような条件を充足しているとは限らないからである。
【0132】
なお、いずれの検索ルートを通る場合にも、最終的な検索結果は、検索式で指定される時刻条件を充足するものを検索することで得ることになる。
【0133】
以上説明した実施形態例では、移動軌跡データとして2次元平面上のデータを扱っているが、本発明では、3次元空間上あるいはそれ以上の多次元空間内の移動軌跡データに対してもそのまま適用できるものである。この場合、移動軌跡データの各ポイントの座標を表すデータの個数がn次元空間内のデータである場合にはn個になる。
【0134】
また、本発明の取り扱う移動軌跡データは、移動する物体の移動軌跡データに限られるものではなく、複数のパラメータが連動して時間軸に沿って変化するような移動軌跡データに対してもそのまま適用できるものである。例えば、学生の身長、体重、胸囲、座高の4パラメータを各年に測定したケースでは、これらの4パラメータを軸とする四次元空間内の移動軌跡データとして扱うことができる。
【0135】
【発明の効果】
空間上を移動する物体の移動軌跡などを、物体の識別子と時刻と空間上の座標(点データ)との組として記録したものを移動軌跡データと呼ぶ。
【0136】
移動軌跡データは、一般には連続でない時系列に沿った離散的な点データ列である。移動軌跡データに含まれる点データ列を点データの時刻順に結んだものは、空間上では有限の長さを持ち向きがある線分になる。このような移動軌跡データを蓄積し検索する機能を有するデータベースシステムを、移動軌跡データベースシステムと呼ぶ。
【0137】
本発明では、このような移動軌跡データベースシステムに対して、空間上の複数の領域と移動軌跡データとの間の位相幾何学的な関係を検索条件として指定すると、移動軌跡データベースシステムが予め蓄積している移動軌跡データの通過するグリッドの順序を検出して作成するグリッドリンクと呼ぶインデックスを利用することで、指定された検索条件を満たす移動軌跡データを高速に検索することを実現する。
【図面の簡単な説明】
【図1】本発明を具備するデータベースシステムの全体構成図である。
【図2】移動軌跡データの一例を示す図である。
【図3】閉領域間の位相幾何学的関係を記述する行列式の説明図である。
【図4】閉領域と有向線分との間の位相幾何学的関係を記述する行列式の説明図である。
【図5】閉領域と有向線分との関係の説明図である。
【図6】閉領域と有向線分との間の位相幾何学的関係を記述する行列式の説明図である。
【図7】CONNECT演算の説明図である。
【図8】CONNECT演算の説明図である。
【図9】基本となる関係行列の説明図である。
【図10】基本となる関係行列とCONNECT演算とにより導出される関係行列の説明図である。
【図11】インデックスの説明図である。
【図12】リンクリストの説明図である。
【図13】矩形分割処理の説明図である。
【図14】データ管理部の実行する処理フローである。
【図15】データ管理部の実行する処理フローである。
【図16】実用上で基本となる閉領域と有向線分との関係の説明図である。
【図17】検索部の実行する処理フローである。
【図18】検索部の実行する処理フローである。
【図19】検索部の実行する処理フローである。
【図20】検索部の実行する処理フローである。
【図21】検索部の実行する処理フローである。
【符号の説明】
1  データベースシステム
10 入力部
11 データ管理部
12 検索部
13 蓄積部[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention provides an index generating apparatus and method for searching a moving path data for generating an index used for searching for moving path data stored in a database, and an index generating method for moving path data stored in a database using the index. Trajectory data search device and method for searching for trajectories satisfying search conditions from, and trajectory data search index generation program used for realizing the trajectory data search index generation device and recording medium recording the program The present invention also relates to a moving trajectory data search program used for realizing the moving trajectory data search device and a recording medium storing the program.
[0002]
Various systems such as a navigation system, a system for managing the position of a person, and a system for reading preference information from the trajectory of a person are required to search for the trajectory data of a moving object. In addition, various systems have been required to search for data (movement locus data in a broad sense) whose value changes along the time axis.
[0003]
From now on, it is necessary to build a technology for realizing such a search of the movement trajectory data.
[0004]
[Prior art]
Prior arts related to the present invention include a time-series database system, a spatio-temporal database system, and a navigation system.
[0005]
[1] Time-series database system (for example, see Patent Document 1)
May change over time, such as economic indicators like stock prices and exchange rates, climate indicators like rainfall, temperature, and humidity, and social indicators like population, employment, and birth rates. Data obtained by measuring values at regular intervals or irregularly is generally called time-series data.
[0006]
Techniques for discovering periodicity and regularity from time-series data and predicting future changes in values have been developed. In this technical development, a time-series database system having a function of accumulating time-series data and searching for time-series data matching a condition has been developed.
[0007]
The conventional time-series database system has a function of giving a feature of increase / decrease of the value of data with time as a search condition and searching for data matching the search condition.
[0008]
The moving trajectory data describing the moving user is a type of time-series data because the moving trajectory data records the coordinate information of the user corresponding to each time.
[0009]
However, since the movement trajectory data has the property of a line segment in space, the search ability is not sufficient only with a search method that specifies an increase or decrease in the value with respect to the time axis. A change in the shape of a geometrical line segment and a change in the relationship with another figure around the line segment are also given as conditions, and a function of acquiring data meeting the conditions is required.
[0010]
However, existing time-series database systems do not have this function.
[0011]
[2] Spatiotemporal database system (for example, see Patent Document 2)
There are a spatial database system and a spatiotemporal database system as a database system having a function of being able to search for a figure in space by giving a relation between figures and a shape of the figure as conditions. These database systems are also used as a basic technology of GIS (Geographic Information System).
[0012]
The data to be stored are static geographic data, such as elevations, rivers, roads, and buildings, and data that dynamically changes depending on places such as population distribution, occupational distribution, vegetation, and rainfall. There is.
[0013]
Analyze a combination of static and dynamic data to discover unique data patterns that are only found in specific areas or to discover the graphical relationships between multiple distribution maps It is possible.
[0014]
For example, by comparing the three distribution maps of vegetation distribution, rainfall, and the area where landslides occur, the figure shows that annual rainfall is higher than the average and vegetation distribution near points where landslides frequently occur. In the figure, this is the case of finding a relationship such as being in an area without trees.
[0015]
In a conventional spatiotemporal database system, a relationship between figures having an area or volume as a figure can be calculated.
[0016]
However, calculation of the relationship between figures having an area or volume generally requires an extremely large cost. For this reason, the data handled by the spatiotemporal database system needs to be so-called static data, which has a small update of data to the extent that it does not affect even if the calculation of the relationship takes time.
[0017]
On the other hand, the movement trajectory data is a type of sensor information, and has a property that data is added in real time. Therefore, the movement trajectory database needs to have the ability to search data sufficiently fast even for dynamically increasing data.
[0018]
However, existing spatiotemporal database systems do not have this function.
[0019]
[3] Navigation system (for example, see Patent Document 3)
A car navigation system and a personal navigation system are systems that can specify a plurality of points on a map and search for a route that passes in the specified order.
[0020]
The navigation system holds road shape, length, and connection information as data, and the car navigation system further holds information on traffic congestion, construction, and traffic regulations. Find the best route that satisfies.
[0021]
However, the search target of the navigation system is static road data as a route connecting two points, and it is not possible to search for travel trajectory data to which data is added in real time with an indefinite shape.
[0022]
[Patent Document 1]
JP-A-6-96234
[Patent Document 2]
JP-A-7-93338
[Patent Document 3]
JP-A-9-178499
[Non-Patent Document 1]
M. Egenhofer, E .; Clemententi, and P.C. di Felici: Topological Relations between Regions with Holes, International Journal of Geographical Information Systems, Vol. 8, No. 2, pp. 129-142 (1994).
[0023]
[Problems to be solved by the invention]
As described above, the conventional technology cannot satisfy the following two requirements.
[0024]
That is, it is not possible to perform a search by giving spatial and temporal constraints to moving trajectory data, which is a line segment having a complicated shape with a direction, according to an intuitive description method.
[0025]
Then, it is not possible to search the database for the locus data whose shape in space is similar to the locus data given as a sample.
[0026]
The present invention has been made in view of the above circumstances, and uses a moving trajectory data, which is a line segment having a complicated shape stored in a database, as a search target and gives a constraint condition according to an intuitive description method. It is an object of the present invention to provide a new movement trajectory data search technology that enables data search and search of movement trajectory data having a similar shape.
[0027]
[Means for Solving the Problems]
In order to achieve this object, according to the present invention, (1) an index used for searching for movement trajectory data stored in a database is generated and stored in a memory area (a memory area such as a semiconductor memory or a hard disk). (2) a moving path data search apparatus that searches for data satisfying a search condition from moving path data stored in a database using an index held in the memory area; And prepare.
[0028]
[1] Configuration of Moving-Track Data Search Index Generating Device of the Present Invention
The index generation device for moving trajectory data search according to the present invention performs a process of generating an index for recording information of an area to which moving trajectory data to be searched belongs and information of a passing order. Means for generating a divided section for registering the area to which the moving locus point belongs by dividing the section corresponding to the space where the locus data exists; and (2) moving the moving locus point when given. Means for specifying the divided section to which the locus point belongs, and registering a pointer to information on the moving locus point at the end of the array provided in association with the specified divided section; If the divided section at the end of the link list that records the identification information of the divided section through which the movement trajectory data passes is different, the specified divided section is added to the end of the link list. Means for registering the identification information of (4), when the length of an array provided in association with the divided section is longer than a specified length, the divided area having the array is divided to have a hierarchical structure. Means for generating a section and regenerating a link list accordingly.
[0029]
Each of the above processing means can be realized by a computer program, and this computer program can be provided by being recorded on a recording medium such as a semiconductor memory.
[0030]
[2] Configuration of moving locus data search device of the present invention
The trajectory data search device of the present invention performs a process of searching for trajectory data stored in a database, and (1) retrieves information of an area to which each trajectory point of the trajectory data to be searched belongs. Means for recording using the divided sections and holding an index for recording information on the passing order of the divided sections through which the movement trajectory data passes, and (2) the geometric relationship between the line segment and the area Means for inputting a search condition described in a search language to be described; (3) means for searching for movement trajectory data satisfying the search condition using an index; and (4) divided sections are hierarchically configured. In such a case, if the area specified by the search condition does not match the divided section, a means for specifying the smallest divided section including the area is provided.
[0031]
When configured in this way, the search means may be used first when the divided sections are hierarchically arranged and the area specified by the search condition does not match the divided sections. The search is performed using the index with the movement trajectory data that satisfies the search condition in which the specified area is replaced by the specified smallest divided section, and then the movement that satisfies the original search condition is performed from the index. Processing is performed to search for trajectory data.
[0032]
Then, when the time condition is designated by the search condition, the searching means performs processing to search the movement trajectory data searched for the one satisfying the search condition, for the one satisfying the time condition. .
[0033]
Each of the above processing means (excluding the holding means) can be realized by a computer program, and this computer program can be provided by being recorded on a recording medium such as a semiconductor memory.
[0034]
[3] Search processing of movement trajectory data realized by the present invention
In the present invention configured as described above, first, the movement trajectory data search index generation device of the present invention operates to divide the section corresponding to the space where the movement trajectory data exists, thereby obtaining the movement trajectory. A divided section to be a registration destination of the area to which the point belongs is generated.
[0035]
Subsequently, when a moving locus point is given, a divided section to which the moving locus point belongs is specified, and a pointer to information on the moving locus point is placed at the end of an array provided in association with the specified divided section. If the specified divided section is different from the divided section recorded at the end of the link list (in which the time-series data of the identification information of the divided section through which the movement trajectory data has passed is recorded), Registers the identification information of the specified divided section at the end of the link list.
[0036]
When the length of the array provided in association with the divided section is equal to or greater than the specified length, the divided area having the array is divided to generate a divided section having a hierarchical structure, and accordingly, Regenerate the linked list.
[0037]
In this way, by the processing of the moving trajectory data search index generation device of the present invention, an index describing the divided sections through which the moving trajectory data passes and the passing order is generated.
[0038]
When a search request for the movement trajectory data is issued in response to the generation of the index, the movement trajectory data search device of the present invention operates, using a search language that describes the geometric relationship between the line segment and the area. Given the described search condition, enter it.
[0039]
Next, a divided section that matches the area specified by the input search condition is specified. If no matching divided section exists, the smallest divided section including the area specified by the input search condition is specified. I do.
[0040]
If a divided section that matches the area specified by the input search condition can be specified, the search using the index is possible. Therefore, the search for the movement trajectory data that satisfies the search condition is performed using the index. I do.
[0041]
At this time, if a time condition is specified in the search condition, the search unit satisfies the time condition, thereby searching the movement trajectory data as the final search result.
[0042]
On the other hand, if it is not possible to specify a divided section that matches the area specified by the input search condition, the search using the index cannot be performed. The index can be used by replacing with the section, and using the index, the search is performed for the movement trajectory data that satisfies the replaced search condition, and the search is performed for the movement trajectory data that satisfies the original search condition. .
[0043]
At this time, if a time condition is specified in the search condition, the search unit satisfies the time condition, thereby searching the movement trajectory data as the final search result.
[0044]
As described above, in the present invention, an index is generated to enable the search for the movement trajectory data satisfying the search condition specified by the search language describing the geometric relationship between the line segment and the area. By using it to search for trajectory data that satisfies the search conditions, it becomes possible to specify the search conditions using a search language that describes the geometric relationship between the line segment and the area, It becomes possible to search for the movement trajectory data which is a line segment having a certain complicated shape.
[0045]
Thus, according to the present invention, it is possible to search for the movement trajectory data by giving a constraint condition in accordance with an intuitive description method, and to search for the movement trajectory data having a similar shape. Become like
[0046]
It should be noted that the answer obtained as a result of the search includes the entire or one (1) piece of the movement trajectory data stored in the database. In some cases, even if there is only one piece of movement trajectory data in the database, a plurality of parts of the movement trajectory data may be cut out as an answer.
[0047]
BEST MODE FOR CARRYING OUT THE INVENTION
Next, embodiments of the present invention will be described with reference to the drawings.
[0048]
FIG. 1 shows the overall configuration of a database system 1 having the present invention.
[0049]
As shown in this figure, the database system 1 of the present invention includes an input unit 10, a data management unit 11, a search unit 12, and a storage unit 13.
[0050]
The input unit 10 determines whether the text information received from the outside is moving locus data or an inquiry description. If the text information is moving locus data, the input unit 10 shapes the data and transmits it to the data managing unit 11. If it is a query description, the content of the query is analyzed and the analysis result is transmitted to the search unit 12.
[0051]
The data management unit 11 creates an index for the data received from the input unit 10. The index is held in the data management unit 11, and the movement trajectory data is transmitted to the storage unit 13.
[0052]
The storage unit 13 records the movement trajectory data received from the outside in a physical storage device such as a hard disk, reads out the movement trajectory data requested from the outside from the physical storage device, transmits the movement trajectory data to the request source, and receives an instruction from the outside. It has a function to delete the movement trajectory data or replace the data.
[0053]
In response to the inquiry received from the input unit 10, the search unit 12 inquires of the data management unit 11 to select a data candidate that satisfies the inquiry condition using the index, and then obtains the candidate data from the storage unit 13. Then, it has a function of selecting only data that actually satisfies the conditions from among them and transmitting the data to the outside as a search result.
[0054]
[1] Moving trajectory data handled in the present invention
Next, the movement trajectory data handled by the database system 1 of the present invention will be described.
[0055]
A trajectory of an object moving in space recorded as a set of an identifier of the object, time, and coordinates (point data) in space is referred to as moving trajectory data.
[0056]
The movement trajectory data is generally a sequence of discrete point data along a non-continuous time series. What connects the point data sequence included in the movement trajectory data in the order of the time of the point data is a line segment having a finite length and having a direction in space.
[0057]
FIG. 2 illustrates an example of the movement trajectory data. As shown in this figure, each point of the movement trajectory data is represented by a set of a time t, coordinates (x, y), and an identifier u assigned by the system to each movement trajectory data.
[0058]
[2] Condition description expressions that can be handled by the search unit 12
Next, condition description expressions that can be handled by the search unit 12 will be described.
[0059]
As a method of searching for a figure in space, a method using a topological relationship with another figure in space has been conventionally used.
[0060]
As a method of describing a topological relationship between closed regions (a continuous region having a boundary in a space and having no hole inside), a boundary ∂R of a region R and an inner R ° of the region (a closed region Open area that does not include the boundary), and R outside the area There is a method (for example, see Non-Patent Document 1) that uses a determinant that represents a relationship with a (part not included in the region R in the space).
[0061]
For example, the relation determinant T shown in FIG. 0 (R 1 , R 2 ) Is represented as shown in FIG. Here, “φ” means that the common part is empty (does not exist), and “¬φ” means that there is a common part.
[0062]
In the database system 1 of the present invention, this is extended so that the relationship between one closed region R and the directed line segment L on the space is expressed by the following equation. And the starting point of the line segment ∂ 0 L / End point of line segment∂ 1 It is represented by a 3 × 3 matrix of L / internal L ° of the line segment (points on the line segment other than the start point and end point), and can be designated as a search condition.
[0063]
For example, the relational determinant T (R 1 , L) are represented as shown in FIG. Here, “φ” means that the common part is empty (does not exist), and “¬φ” means that there is a common part.
[0064]
As shown in FIG. 2 Then, there are 26 possible combinations of the relationship between the closed region R and the directed line segment L. FIG. 6 illustrates these 26 types of relational determinants.
[0065]
However, if the following CONNECT operation is used, these 26 types of relationships can be described by a combination of the basic 7 types of relationships.
[0066]
The CONNECT operation * has an area R and two directed segments L and L ′, and “∂ 1 L = ∂ 0 L '”only when T (R 1 , L) and T (R 1 , L ′) between the two relations, “T (R 1 , L) * T (R 1 , L ') "are defined as shown in FIG.
[0067]
FIG. 8 shows an example of this CONNECT operation. For example, in the cases (a) and (b) shown in the figure, the same region R 1 Two directed segments L 1 , L 2 Have different relationships, "∂ 1 L 1 = ∂ 0 L 2 , "T (R 1 , L 1 ) * T (R 1 , L 2 ) "Can be calculated. In the cases (d) and (e) shown in the figure, the same region R 1 Two directed segments L 4 , L 5 Have different relationships, "∂ 1 L 4 = ∂ 0 L 5 , "T (R 1 , L 4 ) * T (R 1 , L 5 ) "Can be calculated.
[0068]
As described above, the 26 types of relational determinants shown in FIG. 6 can be described by a combination of the basic 7 types of relations when the CONNECT operation is used.
[0069]
FIG. 9 illustrates the seven basic relationships. By using these seven basic relationships and the CONNECT operation, all 26 relationships can be expressed.
[0070]
FIG. 10 shows an example of the combination. T in the figure I ~ T XXVI Corresponds to the determinant representing each relationship in FIG.
[0071]
As described above, the relationship between the closed region and the directed line segment can be described using the seven basic relational determinants and the CONNECT operation.
[0072]
In this way, the inquiry to the database system 1 of the present invention is described in the following format.
[0073]
<L> = Q (R, E 0 * E 1 * . . . * E n )
Where <L> is a set of line segments L
This equation gives the region R and the relation 0 * E 1 * . . . . * E n Is a query for obtaining a set <L> of line segments L having.
[0074]
The relational expression with a plurality of regions can be represented by a column of the relational determinant between the line segment and each region. For example, two regions R 1 , R 2 Exists, and R 1 Starting from the boundary of R 2 The relationship where the end point is on the boundary of is expressed as follows.
[0075]
T 1 (R 1 , R 2 , L) = <T 0 (R 1 , L 1 ), T 0 (R 2 , L 2 )> = <E D , E E
Where R 1 ° ∩R 2 ° = “φ”, L 1 ∪L 2 = L, ∂ 1 L 1 = ∂ 0 L 2 And
[0076]
This equation shows that the line segment L is first divided into the region R 1 And E D (And E with all other domains) F Immediately followed by R 2 Between E E Represents a relationship.
[0077]
A relation inquiry for a plurality of areas is described as follows, similarly to the case where there is only one area. However, each E i Is a multiple E j May be combined by a CONNECT operation.
[0078]
<L> = Q ((R 1 , E 0 ), (R 2 , E 1 ),. . . , (R n , E n ))
In addition to the conditional expression Q, the following conditional description regarding time can be given. Note that ∂ 0 Let the time of L be t S , ∂ 1 Let the time of L be t E , The time of an arbitrary point on the trajectory data is represented by t i It is written.
[0079]
(B) Independent time designation P
Regardless of the Q, a time section or time at which the movement trajectory data is included is specified. "T E -T S <2.0 (minutes) ”or“ 8:00 PM <t E <9:00 PM ”or“ 11:00 AM = t i "And so on. These are, for example,
<L> = Q∩P 0 ∩P 1 . . .
And described as an AND condition.
[0080]
(B) Dependent time designation S
A time interval and a time are designated for each set of the relation matrix of Q and the area. For example,
<L> = Q ((R 1 , E 0 , [T E = 6:00 PM]), (R 2 , E 1 ))
Describe as follows. This example shows that the line segment is R 1 And E 0 , The time of the end point of the partial movement trajectory data is 16:00 PM. Then, R 2 And E 1 Have a relationship of "."
[0081]
[3] Index generation processing in data management unit 11
Next, an index generation process executed by the data management unit 11 will be described.
[0082]
It is assumed that there are constants H, W, m, n, and θ determined by the administrator of the database. Further, each point of the movement trajectory data is represented by p = (u, t, x, y) (where u is the ID of the trajectory, t is time, and x and y are the positions of the points). Are added to the database one by one.
[0083]
When the point p is sent to the data management unit 11 to be added to the database, the data management unit 11 creates an index in the following procedure ((i) to (v)).
[0084]
However, it is assumed that the added p is always the last in the group of points having the same IDu (the time of p is the last in the other group of points).
[0085]
(I) Index vertex τ 0 Does not exist, as shown in FIG. 0 Is generated, and a rectangle having a size of height H × n and width W × m centered on the position corresponding to the position (x, y) of p is generated. Further, this rectangle is divided vertically into n and horizontally into m, and each of these divided rectangles is represented by Rec (τ 0 , I, j).
[0086]
This divided rectangle Rec (τ 0 , I, j) are associated with the area where each point constituting the movement trajectory data is located.
[0087]
Here, Rec (τ 0 , 0, 0) indicates the upper leftmost divided rectangle for convenience, and the lower right divided rectangle is represented by Rec (τ). 0 , (M-1), (n-1)). Also, τ 0 Indicates that the vertex of the index is the parent node.
[0088]
(Ii) A divided rectangle Rec (τ) including the coordinates (x, y) of p 0 , I, j).
[0089]
As described later, the divided rectangle Rec (τ 0 , I, j), the number of points exceeding the threshold value θ is registered in order to prevent the search performance from deteriorating. 0 , I, j) are divided in an n × m division form, and thus have a child node set.
[0090]
From now on, if the found divided rectangle has a child node set, the corresponding divided rectangle Rec (Rec (τc 0 , I, j), i ′, j ′). Similarly, child nodes are searched, and the search is performed recursively until a divided rectangle having no child nodes is reached. Let R be the last divided rectangle found.
[0091]
(Iii) Add p to the end of the array associated with the searched divided rectangle R.
[0092]
Specifically, since the information of p is stored in the storage unit 13, the address of the storage destination is added to the end of the array. In FIG. 11, the divided rectangle Rec (τ 0 , 3, 2) is added to the end of the array associated with p.
[0093]
At this time, if the length of the array is equal to or larger than the threshold value θ, (iv) described later is executed. On the other hand, if not, a link list (recording the passing order of the divided rectangles of the moving trajectory data) for p is created.
[0094]
The procedure for creating the link list is as follows ((1) to (3)).
[0095]
{Circle around (1)} Search for a point p ′ having the same IDu as p and having a time value immediately before. If p 'does not exist, a top node of the link list is newly created, and the divided rectangle R to which p belongs is added to the top of the link list, and the processing ends.
[0096]
{Circle around (2)} When p ′ exists, if R ′ to which p ′ belongs and R to which p belongs are “R = R ′”, no movement is performed because the movement is within the same divided rectangle. To end. Otherwise proceed to the next.
[0097]
(3) Add R to the end of the link list. R to parent node R p If there is, "R p = R '". "R p = R '", the process ends. Otherwise, parent node R 'of R' p For "R p = R ' p To see if it is. This is repeated recursively until there are no more parent nodes.
[0098]
According to the creation procedure of (1) to (3), finally, as shown in FIG. 12, the moving trajectory for each hierarchical level of the divided rectangle is sequentially arranged from the top of the IDu point sequence (moving trajectory data). A link list created by arranging the divided rectangles through which the data passed, and τ 0 And a tree that describes the hierarchical relationship of the divided rectangles with as the top node. There is only one linked list for p groups with the same ID.
[0099]
(Iv) If the length of the array of the divided rectangles R is greater than or equal to the threshold value θ, search performance will be degraded by registering a large number of points. Therefore, as shown in FIG. Is used as a parent node, R is vertically divided into n and horizontally divided into m, and these are respectively Rec (R, i, j) and are all child nodes of R. Further, all the points p included in the array of R are rearranged in each child node, and the array of R is cleared.
[0100]
(V) When the divided rectangle R is divided, a link list is generated again for each rearranged node.
[0101]
FIG. 14 and FIG. 15 show the processing flow of the index creation processing described above.
[0102]
Here, the processing flow shown in FIG. 14 is a skeleton processing flow, and the processing flow shown in FIG. 15 shows the detailed processing of the link list creation processing executed in step 18 of the processing flow shown in FIG.
[0103]
In the index creation processing described above, the vertex τ of the index 0 Is used to create n × m divided rectangles in advance, but only one rectangle of a prescribed size is created in the center, and if necessary, the vertex τ 0 It is also possible to use a method of increasing the number of divided rectangles included in. With this method, memory can be saved.
[0104]
[4] Movement trajectory data search processing in search unit 12
Next, a search process of the movement trajectory data executed by the search unit 12 will be described.
[0105]
The search unit 12 performs a search using the index generated by the data management unit 11 when the input unit 10 inquires about the search for the movement trajectory data.
[0106]
As mentioned earlier, the search expression is
<L> = Q ((R 1 , E 0 ), (R 2 , E 1 ),. . . , (R n , E n ))
Is input as an inquiry for obtaining a set <L> of line segments L.
[0107]
As the R to be specified at this time, first, a case where the specified R is equal to each of the divided rectangles created for the index will be described, and a case where this is not the case will be described later. E in the following sentence A , E B Etc. are E in FIG. A , E B And so on.
[0108]
Since the movement trajectory data to be searched is a sequence of discrete points, there is almost no case where the points exactly match “on the boundary of a rectangle” in an actual query. Therefore, the aforementioned E A To E G Of these, for queries with a start point or end point at the boundary, there is a high possibility that no answer will be obtained at all even if search is made for movement trajectory data that strictly satisfies this.
[0109]
From now on, E is a basic element in practical use. A To E G The five relationships shown in FIG.
[0110]
That is, in practice,
Figure 2004118293
It suffices to use these five relationships for inquiries.
[0111]
Next, a method of searching for answers to these inquiries will be described.
[0112]
(I) Enter:
When the query expression is Q ((R, Eenter)), first, the movement trajectory data passing through R is searched using the index. Next, by using the link list of each movement trajectory data, it is checked whether or not it passes through another divided rectangle R 'immediately before R (unless R is at the head of the link list, the four sides of R are immediately before R). Through one of the split rectangles). If R 'exists, its movement trajectory data is returned as an answer.
[0113]
(II) Exit:
When the inquiry formula is Q ((R, Exit)), first, the movement trajectory data passing through R is searched using the index. Next, using the link list of each movement trajectory data, it is checked whether or not it passes through another divided rectangle R 'immediately after R (unless R is at the end of the link list, four sides of R are immediately after R). Through one of the split rectangles). If R 'exists, return its trajectory data as an answer.
(III) Return:
When the query expression is Q ((R, Ereturn)), first, moving trajectory data passing through R is searched using an index. Next, using the link list of each movement trajectory data, the link is sequentially followed from R, and it is checked whether a route returning to R is on the link list. If such a route exists, the movement trajectory data is returned as an answer.
[0114]
(IV) Cross:
When the query expression is Q ((R, Ecross)), first, the condition of Eenter is checked for R, and then the case of Exit is checked. The trajectory data that satisfies both is returned as the answer.
[0115]
(V) Path:
The query expression is Q ((R 1 , R 2 , Epath)), first, R 1 Search for the trajectory data passing through using the index. Next, using the link list of each trajectory data, R 1 Follow links in order from R 2 Find out if there is a route to get to. If the route exists, the movement trajectory data is returned as an answer.
[0116]
From the answers obtained by the above processing, the condition relating to the time included in the conditional expression is examined. The search unit 12 finally returns only the movement trajectory data that satisfies the time condition as an answer.
[0117]
Next, a search method in a case where the region R specified by the search formula does not match each divided rectangle created for the index will be described.
[0118]
(A) R specified in the search formula is τ 0 If the index is larger than the index (exceeds the target range), the index cannot be used. Therefore, by directly examining the given conditions for all the trajectory data, the trajectory that satisfies the search formula Search for data.
[0119]
(B) When R specified by the search formula is completely included in any of the lowermost sub-rectangles in the sub-rectangle hierarchy of the index, the calculation is performed as follows.
[0120]
(B-1) Enter / Exit / Return / Cross:
Assuming that the lowermost subdivision rectangle including R is R ', first, the trajectory data passing through R' is searched using the index. After that, a condition is checked for each movement trajectory data without using the link list.
[0121]
(B-2) For Path:
R 1 Is the lowermost subdivision rectangle that contains 1 ', R 2 Is the lowermost subdivision rectangle that contains 2 ', First, using the index, 1 'R after passing 2 'Is checked, and then Q ((R 1 , R 2 , E path )).
[0122]
(C) If the R specified by the search formula is not completely included in any of the lowermost subdivision rectangles of the index subdivision rectangle hierarchy, the link using the smallest subdivision rectangle in the index including R is used. After examining the list, search for the movement trajectory data that satisfies the search expression without using the index. The method of checking is the same as when R is completely included in the lowermost divided rectangle.
[0123]
The linked list is particularly effective in calculating a query including Path. For example, R 1 ,. . . , R n Is a Path query including a number of divided rectangles that sequentially pass through the link list, 1 To R n You can easily check if you are passing through in order.
[0124]
FIG. 17 to FIG. 21 show a processing flow of the movement trajectory data search processing described above.
[0125]
Here, the processing flow of FIG. 17 and FIG. 18 is a skeleton processing flow, and the processing flow of FIG. 19 and FIG. 20 is the movement trajectory data executed in step 23 / step 30 of the processing flow of FIG. 21 shows the detailed processing of the search processing of the movement trajectory data executed in step 34 of the processing flows of FIGS. 17 and 18.
[0126]
Briefly describing the processing flows of FIGS. 17 and 18, in steps 21 and 22, the size of the division rectangle (rectangle as the division source) of the uppermost layer of the index and the region R specified by the search formula Are compared, and if they match, the trajectory that satisfies the search expression using the index (including the link list) in accordance with the processing flow of FIGS. Search for data.
[0127]
If the size of the region R specified by the search formula does not match the size of the region R specified by the search formula, the size of the region R specified by the search formula is determined in step 25. It is determined whether or not the index is larger, and if the area R specified by the search formula is larger, the index cannot be used. Therefore, as described in (A) above, the index is not used. Next, search is made for the movement trajectory data satisfying the search formula.
[0128]
On the other hand, if the region R specified by the search formula is smaller in step 25, the processes in steps 28 to 33 are repeated to specify the divided rectangle in the next lower layer of the index and the search formula. It is determined whether or not the size of the region R to be matched is equal to the size of the region R. If the size is equal to the size of the region R, the index (link list is changed) according to the processing flow of FIGS. ) To search for the movement trajectory data that satisfies the search formula.
[0129]
Then, by repeating the processing of steps 28 to 33, when it is finally determined that the size of the region R specified by the search formula does not match the divided rectangle of the index, it is determined by the search formula. The smallest divided rectangle R 'including the region R to be divided is specified, and in step 34, the divided rectangle R' is treated as specified by the search formula according to the processing flow of FIG. Then, in step 35, a search is made from the searched movement trajectory data for data that satisfies the search formula without using the index.
[0130]
That is, according to the same procedure as in the above (C), when the smallest divided rectangle R ′ including the region R specified by the search formula is specified, the divided rectangle R ′ is treated as that specified by the search formula, and A search is performed using the index, and then, from the searched movement trajectory data, one that satisfies the search formula without using the index is searched.
[0131]
Here, in the processing flow of FIG. 21, the reason why the search is not divided into Enter / Exit / Return / Cross is specified by the search formula even if such a condition is satisfied for the minimum divided rectangle R ′. This is because such a condition is not always satisfied for the region R.
[0132]
Regardless of the search route, the final search result is obtained by searching for a search that satisfies the time condition specified by the search formula.
[0133]
In the embodiment described above, data on a two-dimensional plane is used as the movement trajectory data. However, the present invention is applied to movement trajectory data in a three-dimensional space or in a multidimensional space more than that. You can do it. In this case, if the number of data representing the coordinates of each point of the movement trajectory data is data in an n-dimensional space, the number is n.
[0134]
In addition, the moving trajectory data handled by the present invention is not limited to the moving trajectory data of a moving object, and can be applied to moving trajectory data in which a plurality of parameters change along a time axis in conjunction with each other. You can do it. For example, in a case where four parameters of a student's height, weight, chest circumference, and sitting height are measured each year, it can be treated as movement trajectory data in a four-dimensional space having these four parameters as axes.
[0135]
【The invention's effect】
A trajectory of an object moving in space recorded as a set of an identifier of the object, time, and coordinates (point data) in space is referred to as moving trajectory data.
[0136]
The movement trajectory data is generally a sequence of discrete point data along a non-continuous time series. What connects the point data sequence included in the movement trajectory data in the order of the time of the point data is a line segment having a finite length and having a direction in space. A database system having a function of storing and searching for such trajectory data is referred to as a trajectory database system.
[0137]
In the present invention, when a topological relationship between a plurality of regions in space and the movement trajectory data is specified as a search condition in such a movement trajectory database system, the movement trajectory database system stores the information in advance. By using an index called a grid link created by detecting the order of the grid through which the moving trajectory data passes, it is possible to search for the moving trajectory data satisfying the specified search condition at high speed.
[Brief description of the drawings]
FIG. 1 is an overall configuration diagram of a database system provided with the present invention.
FIG. 2 is a diagram illustrating an example of movement locus data.
FIG. 3 is an explanatory diagram of a determinant describing a topological relationship between closed regions.
FIG. 4 is an explanatory diagram of a determinant describing a topological relationship between a closed region and a directed line segment.
FIG. 5 is an explanatory diagram of a relationship between a closed region and a directed segment.
FIG. 6 is an explanatory diagram of a determinant describing a topological relationship between a closed region and a directed line segment.
FIG. 7 is an explanatory diagram of a CONNECT operation.
FIG. 8 is an explanatory diagram of a CONNECT operation.
FIG. 9 is an explanatory diagram of a basic relation matrix.
FIG. 10 is an explanatory diagram of a basic relation matrix and a relation matrix derived by a CONNECT operation.
FIG. 11 is an explanatory diagram of an index.
FIG. 12 is an explanatory diagram of a link list.
FIG. 13 is an explanatory diagram of a rectangular division process.
FIG. 14 is a processing flow executed by a data management unit.
FIG. 15 is a processing flow executed by a data management unit.
FIG. 16 is an explanatory diagram of a relationship between a closed region and a directed segment which are fundamental in practical use.
FIG. 17 is a processing flow executed by a search unit.
FIG. 18 is a processing flow executed by a search unit.
FIG. 19 is a processing flow executed by a search unit.
FIG. 20 is a processing flow executed by a search unit.
FIG. 21 is a processing flow executed by a search unit.
[Explanation of symbols]
1 database system
10 Input section
11 Data Management Department
12 Search section
13 Storage unit

Claims (17)

データベースに格納される移動軌跡データの検索に用いられて、移動軌跡データの属する領域の情報と通過順序の情報とについて記録するインデックスを生成する移動軌跡データ検索用インデックス生成装置であって、
移動軌跡データの存在する空間に対応付けられる区画を分割することで、移動軌跡点の属する領域の登録先となる分割区画を生成する手段と、
移動軌跡点が与えられる場合に、その移動軌跡点の属する上記分割区画を特定して、その特定した分割区画に対応付けて設けられる配列の末尾に、その移動軌跡点に関する情報へのポインタを登録する手段と、
上記特定した分割区画と、移動軌跡データの通過する上記分割区画の識別情報を記録するリンクリストの末尾の分割区画とが異なる場合に、該リンクリストの末尾に、その特定した分割区画の識別情報を登録する手段とを備えることを、
特徴とする移動軌跡データ検索用インデックス生成装置。
An index generation device for a search for travel locus data, which is used to search for travel locus data stored in a database and generates an index for recording information of an area to which the travel locus data belongs and information of a passing order,
Means for generating a divided section to be a registration destination of an area to which a moving path point belongs by dividing a section corresponding to a space in which the moving path data exists;
When a moving locus point is given, the divided section to which the moving locus point belongs is specified, and a pointer to information on the moving locus point is registered at the end of an array provided in association with the specified divided section. Means to
If the specified divided section is different from the last divided section of the link list that records the identification information of the divided section through which the movement trajectory data passes, the identification information of the specified divided section is added to the end of the link list. And means for registering
An index generation device for moving trajectory data search which is a feature.
請求項1記載の移動軌跡データ検索用インデックス生成装置において、
上記配列の長さが規定以上となる場合に、その配列を持つ上記分割領域を分割することで階層的な構造を持つ分割区画を生成するとともに、それに応じて上記リンクリストを生成しなおす手段を備えることを、
特徴とする移動軌跡データ検索用インデックス生成装置。
The index generation device for moving trajectory data search according to claim 1,
When the length of the array is equal to or greater than a specified length, a means for generating a divided section having a hierarchical structure by dividing the divided area having the array and generating the link list accordingly. To prepare
An index generation device for moving trajectory data search which is a feature.
データベースに格納される移動軌跡データを検索する移動軌跡データ検索装置であって、
検索対象となる移動軌跡データの各移動軌跡点の属する領域の情報を分割された区画を使って記録するとともに、その移動軌跡データの通過する該分割区画の通過順序の情報を記録するインデックスを保持する手段と、
線分と領域との幾何学的な関係について記述する検索言語で記述された検索条件を入力する手段と、
上記インデックスを用いて、上記検索条件を充足する移動軌跡データを検索する手段とを備えることを、
特徴とする移動軌跡データ検索装置。
A moving locus data search device for searching for moving locus data stored in a database,
The information of the area to which each of the moving locus points of the moving locus data to be searched belongs is recorded using the divided sections, and an index for recording the information of the passing order of the divided sections through which the moving locus data passes is held. Means to
Means for inputting a search condition described in a search language that describes a geometric relationship between the line segment and the region;
Means for searching for movement trajectory data that satisfies the search condition using the index,
Characteristic movement trajectory data search device.
請求項3記載の移動軌跡データ検索装置において、
上記分割区画が階層的に構成される場合にあって、上記検索条件で指定される領域が上記分割区画に一致しない場合には、その領域を含む最小の上記分割区画を特定する手段を備え、
上記検索する手段は、上記インデックスを用いて、上記最小の分割区画で指定領域が置き換えられた上記検索条件を充足する移動軌跡データを検索して、その中から上記検索条件を充足する移動軌跡データを検索することを、
特徴とする移動軌跡データ検索装置。
The movement trajectory data search device according to claim 3,
In the case where the divided sections are configured in a hierarchical manner, and when an area specified by the search condition does not match the divided section, a unit for specifying the smallest divided section including the area is provided.
The searching means uses the index to search for trajectory data that satisfies the search condition in which the specified area has been replaced with the smallest divided section, and from the trajectory data that satisfies the search condition, To search for
Characteristic movement trajectory data search device.
請求項3又は4記載の移動軌跡データ検索装置において、
上記検索する手段は、上記検索条件で時刻条件が指定される場合には、上記検索条件を充足するものとして検索した移動軌跡データの中から、その時刻条件を充足するものを検索することを、
特徴とする移動軌跡データ検索装置。
The moving trajectory data search device according to claim 3 or 4,
The search means, when a time condition is specified in the search condition, from the movement trajectory data searched as satisfying the search condition, to search for one that satisfies the time condition,
Characteristic movement trajectory data search device.
データベースに格納される移動軌跡データの検索に用いられて、移動軌跡データの属する領域の情報と通過順序の情報とについて記録するインデックスを生成してメモリ域に保持させる移動軌跡データ検索用インデックス生成方法であって、
移動軌跡データの存在する空間に対応付けられる区画を分割することで、移動軌跡点の属する領域の登録先となる分割区画を生成する過程と、
移動軌跡点が与えられる場合に、その移動軌跡点の属する上記分割区画を特定して、その特定した分割区画に対応付けて設けられる配列の末尾に、その移動軌跡点に関する情報へのポインタを登録する過程と、
上記特定した分割区画と、移動軌跡データの通過する上記分割区画の識別情報を記録するリンクリストの末尾の分割区画とが異なる場合に、該リンクリストの末尾に、その特定した分割区画の識別情報を登録する過程とを備えることを、
特徴とする移動軌跡データ検索用インデックス生成方法。
An index generation method for generating a trajectory data search, which is used to search for trajectory data stored in a database, generates an index for recording information of an area to which the trajectory data belongs and information of a passing order, and stores the index in a memory area. And
A step of generating a divided section to be a registration destination of an area to which a moving path point belongs by dividing a section corresponding to a space in which the moving path data exists;
When a moving locus point is given, the divided section to which the moving locus point belongs is specified, and a pointer to information on the moving locus point is registered at the end of an array provided in association with the specified divided section. The process of
If the specified divided section is different from the last divided section of the link list that records the identification information of the divided section through which the movement trajectory data passes, the identification information of the specified divided section is added to the end of the link list. And registering the
Index generation method for moving trajectory data search as a feature.
請求項6記載の移動軌跡データ検索用インデックス生成方法において、
上記配列の長さが規定以上となる場合に、その配列を持つ上記分割領域を分割することで階層的な構造を持つ分割区画を生成するとともに、それに応じて上記リンクリストを生成しなおす過程を備えることを、
特徴とする移動軌跡データ検索用インデックス生成方法。
The index generation method for moving trajectory data search according to claim 6,
When the length of the array is equal to or greater than a specified value, a process of generating a divided section having a hierarchical structure by dividing the divided area having the array and generating the link list accordingly is performed. To prepare
Index generation method for moving trajectory data search as a feature.
データベースに格納される移動軌跡データを検索する移動軌跡データ検索方法であって、
線分と領域との幾何学的な関係について記述する検索言語で記述された検索条件を入力する過程と、
メモリ域に保持されて、検索対象となる移動軌跡データの各移動軌跡点の属する領域の情報を分割された区画を使って記録するとともに、その移動軌跡データの通過する該分割区画の通過順序の情報を記録するインデックスを用いて、上記検索条件を充足する移動軌跡データを検索する過程とを備えることを、
特徴とする移動軌跡データ検索方法。
A moving path data search method for searching for moving path data stored in a database,
Inputting a search condition described in a search language that describes a geometric relationship between a line segment and an area;
The information of the area to which each of the trajectory points of the trajectory data to be searched belongs is stored in the memory area, and the information of the area to which the trajectory point belongs is recorded using the divided sections. Using an index for recording information to search for movement trajectory data satisfying the search condition,
Characteristic movement trajectory data search method.
請求項8記載の移動軌跡データ検索方法において、
上記分割区画が階層的に構成される場合にあって、上記検索条件で指定される領域が上記分割区画に一致しない場合には、その領域を含む最小の上記分割区画を特定する過程を備え、
上記検索する過程では、上記インデックスを用いて、上記最小の分割区画で指定領域が置き換えられた上記検索条件を充足する移動軌跡データを検索して、その中から上記検索条件を充足する移動軌跡データを検索することを、
特徴とする移動軌跡データ検索方法。
The moving trajectory data search method according to claim 8,
In the case where the divided sections are configured in a hierarchical manner, when the area specified by the search condition does not match the divided section, the method includes a step of specifying the smallest divided section including the area.
In the searching step, using the index, search for the movement trajectory data that satisfies the search condition in which the specified area has been replaced by the smallest divided section, and from the movement trajectory data that satisfies the search condition, To search for
Characteristic movement trajectory data search method.
請求項8又は9記載の移動軌跡データ検索方法において、
上記検索する過程では、上記検索条件で時刻条件が指定される場合には、上記検索条件を充足するものとして検索した移動軌跡データの中から、その時刻条件を充足するものを検索することを、
特徴とする移動軌跡データ検索方法。
The moving trajectory data search method according to claim 8 or 9,
In the searching step, when a time condition is specified in the search condition, from the movement trajectory data searched as satisfying the search condition, to search for one satisfying the time condition,
Characteristic movement trajectory data search method.
データベースに格納される移動軌跡データの検索に用いられて、移動軌跡データの属する領域の情報と通過順序の情報とについて記録するインデックスを生成する移動軌跡データ検索用インデックス生成装置の実現に用いられる移動軌跡データ検索用インデックス生成プログラムであって、
移動軌跡データの存在する空間に対応付けられる区画を分割することで、移動軌跡点の属する領域の登録先となる分割区画を生成する手段と、
移動軌跡点が与えられる場合に、その移動軌跡点の属する上記分割区画を特定して、その特定した分割区画に対応付けて設けられる配列の末尾に、その移動軌跡点に関する情報へのポインタを登録する手段と、
上記特定した分割区画と、移動軌跡データの通過する上記分割区画の識別情報を記録するリンクリストの末尾の分割区画とが異なる場合に、該リンクリストの末尾に、その特定した分割区画の識別情報を登録する手段として、コンピュータを機能させるための移動軌跡データ検索用インデックス生成プログラム。
Movement used for realizing an index generation device for a search for movement trajectory data, which is used for searching for movement trajectory data stored in a database and generates an index for recording information of an area to which the movement trajectory data belongs and information of a passing order. An index generation program for trajectory data search,
Means for generating a divided section to be a registration destination of an area to which a moving path point belongs by dividing a section corresponding to a space in which the moving path data exists;
When a moving locus point is given, the divided section to which the moving locus point belongs is specified, and a pointer to information on the moving locus point is registered at the end of an array provided in association with the specified divided section. Means to
If the specified divided section is different from the last divided section of the link list that records the identification information of the divided section through which the movement trajectory data passes, the identification information of the specified divided section is added to the end of the link list. An index generation program for moving trajectory data search for causing a computer to function as means for registering a computer.
請求項11記載の移動軌跡データ検索用インデックス生成プログラムにおいて、
さらに、上記配列の長さが規定以上となる場合に、その配列を持つ上記分割領域を分割することで階層的な構造を持つ分割区画を生成するとともに、それに応じて上記リンクリストを生成しなおす手段として、コンピュータを機能させるためのプログラムを含むことを、
特徴とする移動軌跡データ検索用インデックス生成プログラム。
The index generation program for moving trajectory data search according to claim 11,
Further, when the length of the array is equal to or longer than a specified length, the divided area having the array is divided to generate a divided section having a hierarchical structure, and the link list is generated again accordingly. As a means, including a program for causing a computer to function,
Index generation program for moving trajectory data search.
データベースに格納される移動軌跡データを検索する移動軌跡データ検索装置の実現に用いられる移動軌跡データ検索プログラムであって、
線分と領域との幾何学的な関係について記述する検索言語で記述された検索条件を入力する手段と、
検索対象となる移動軌跡データの各移動軌跡点の属する領域の情報を分割された区画を使って記録するとともに、その移動軌跡データの通過する該分割区画の通過順序の情報を記録するインデックスを用いて、上記検索条件を充足する移動軌跡データを検索する手段として、コンピュータを機能させるための移動軌跡データ検索プログラム。
A trajectory data search program used for realizing a trajectory data search device that searches for trajectory data stored in a database,
Means for inputting a search condition described in a search language that describes a geometric relationship between the line segment and the area;
The information of the area to which each of the moving locus points of the moving locus data to be searched belongs is recorded using the divided sections, and an index for recording the information of the passing order of the divided sections through which the moving locus data passes is used. In addition, a moving path data search program for causing a computer to function as means for searching for moving path data that satisfies the above search conditions.
請求項13記載の移動軌跡データ検索プログラムにおいて、
さらに、上記分割区画が階層的に構成される場合にあって、上記検索条件で指定される領域が上記分割区画に一致しない場合には、その領域を含む最小の上記分割区画を特定する手段として、コンピュータを機能させるためのプログラムを含み、
かつ、上記検索する手段は、上記インデックスを用いて、上記最小の分割区画で指定領域が置き換えられた上記検索条件を充足する移動軌跡データを検索して、その中から上記検索条件を充足する移動軌跡データを検索することを、
特徴とする移動軌跡データ検索プログラム。
The moving trajectory data search program according to claim 13,
Further, in a case where the divided sections are configured in a hierarchical manner, if the area specified by the search condition does not match the divided section, as a means for specifying the smallest divided section including the area. , Including programs for operating the computer,
In addition, the searching means uses the index to search for movement trajectory data that satisfies the search condition in which the specified area has been replaced with the smallest divided section, and moves from the movement trajectory data that satisfies the search condition. Searching for trajectory data
Characteristic movement trajectory data search program.
請求項13又は14記載の移動軌跡データ検索プログラムにおいて、
上記検索する手段は、上記検索条件で時刻条件が指定される場合には、上記検索条件を充足するものとして検索した移動軌跡データの中から、その時刻条件を充足するものを検索することを、
特徴とする移動軌跡データ検索プログラム。
The moving trajectory data search program according to claim 13 or 14,
The search means, when a time condition is specified in the search condition, from the movement trajectory data searched as satisfying the search condition, to search for one that satisfies the time condition,
Characteristic movement trajectory data search program.
請求項11又は12記載の移動軌跡データ検索用インデックス生成プログラムを記録した記録媒体。A recording medium on which is recorded the moving trajectory data search index generation program according to claim 11. 請求項13ないし15のいずれか1項に記載の移動軌跡データ検索プログラムを記録した記録媒体。A recording medium on which the moving trajectory data search program according to claim 13 is recorded.
JP2002277202A 2002-09-24 2002-09-24 Moving locus data search information generation apparatus and method, movement locus data search apparatus and method, movement locus data search information generation program and recording medium recording the program, movement locus data search program and program thereof Recorded recording medium Expired - Fee Related JP3984135B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002277202A JP3984135B2 (en) 2002-09-24 2002-09-24 Moving locus data search information generation apparatus and method, movement locus data search apparatus and method, movement locus data search information generation program and recording medium recording the program, movement locus data search program and program thereof Recorded recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002277202A JP3984135B2 (en) 2002-09-24 2002-09-24 Moving locus data search information generation apparatus and method, movement locus data search apparatus and method, movement locus data search information generation program and recording medium recording the program, movement locus data search program and program thereof Recorded recording medium

Publications (2)

Publication Number Publication Date
JP2004118293A true JP2004118293A (en) 2004-04-15
JP3984135B2 JP3984135B2 (en) 2007-10-03

Family

ID=32272866

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002277202A Expired - Fee Related JP3984135B2 (en) 2002-09-24 2002-09-24 Moving locus data search information generation apparatus and method, movement locus data search apparatus and method, movement locus data search information generation program and recording medium recording the program, movement locus data search program and program thereof Recorded recording medium

Country Status (1)

Country Link
JP (1) JP3984135B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013152556A (en) * 2012-01-24 2013-08-08 Nippon Telegr & Teleph Corp <Ntt> Device, method, and program for analyzing trajectory pattern
JP2014170276A (en) * 2013-03-01 2014-09-18 Nippon Telegr & Teleph Corp <Ntt> Trajectory data analysis device, trajectory data analysis method, and program
KR101797207B1 (en) 2017-01-24 2017-11-13 (주)터보소프트 Method of Processing Moving Object Trajectory Data With User Defined Functions
CN116703430A (en) * 2023-08-09 2023-09-05 山东未来网络研究院(紫金山实验室工业互联网创新应用基地) Commodity channeling early warning method and system based on identification analysis

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013152556A (en) * 2012-01-24 2013-08-08 Nippon Telegr & Teleph Corp <Ntt> Device, method, and program for analyzing trajectory pattern
JP2014170276A (en) * 2013-03-01 2014-09-18 Nippon Telegr & Teleph Corp <Ntt> Trajectory data analysis device, trajectory data analysis method, and program
KR101797207B1 (en) 2017-01-24 2017-11-13 (주)터보소프트 Method of Processing Moving Object Trajectory Data With User Defined Functions
CN116703430A (en) * 2023-08-09 2023-09-05 山东未来网络研究院(紫金山实验室工业互联网创新应用基地) Commodity channeling early warning method and system based on identification analysis
CN116703430B (en) * 2023-08-09 2024-02-06 山东未来网络研究院(紫金山实验室工业互联网创新应用基地) Commodity channeling early warning method and system based on identification analysis

Also Published As

Publication number Publication date
JP3984135B2 (en) 2007-10-03

Similar Documents

Publication Publication Date Title
Yang et al. Fast map matching, an algorithm integrating hidden Markov model with precomputation
Sandu Popa et al. Spatio-temporal compression of trajectories in road networks
Sharifzadeh et al. The optimal sequenced route query
Hashemi et al. Assessment of logical consistency in OpenStreetMap based on the spatial similarity concept
Gidófalvi et al. Mining long, sharable patterns in trajectories of moving objects
Yu et al. Road network generalization considering traffic flow patterns
Chen et al. CEM: A convolutional embedding model for predicting next locations
Zhang et al. Efficient cache-supported path planning on roads
JP3984134B2 (en) Moving track data search index generation device and method thereof, moving track data search device and method thereof, moving track data search index generation program and recording medium recording the program, moving track data search program and program thereof Recorded recording medium
Qi et al. Efficient point-based trajectory search
Ali et al. The maximum trajectory coverage query in spatial databases
Shekhar et al. Benchmarking spatial big data
Li et al. Efficient k NN query for moving objects on time-dependent road networks
CN108022006B (en) Data-driven accessibility probability and region generation method
Ding et al. Efficient maintenance of continuous queries for trajectories
Ding et al. Mining spatio-temporal reachable regions with multiple sources over massive trajectory data
JP3984135B2 (en) Moving locus data search information generation apparatus and method, movement locus data search apparatus and method, movement locus data search information generation program and recording medium recording the program, movement locus data search program and program thereof Recorded recording medium
Xu et al. Continuous k nearest neighbor queries over large multi-attribute trajectories: a systematic approach
Vieira et al. Spatio-temporal databases: Complex motion pattern queries
Wang et al. A novel dual-index design to efficiently support snapshot location-based query processing in mobile environments
Trasarti Mastering the Spatio-Temporal Knowledge Discovery Process.
Camossi et al. Querying multigranular spatio-temporal objects
Xu et al. GMOBench: Benchmarking generic moving objects
Heendaliya et al. Continuous predictive line queries for on-the-go traffic estimation
Xu et al. A Framework to Support Continuous Range Queries over Multi-Attribute Trajectories

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040811

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061121

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070118

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20070118

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070703

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070705

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100713

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100713

Year of fee payment: 3

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100713

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110713

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120713

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees