JP2001513925A - 2次元またはそれ以上の次元のデータベース照会を最適化するシステムおよび方法 - Google Patents

2次元またはそれ以上の次元のデータベース照会を最適化するシステムおよび方法

Info

Publication number
JP2001513925A
JP2001513925A JP53775598A JP53775598A JP2001513925A JP 2001513925 A JP2001513925 A JP 2001513925A JP 53775598 A JP53775598 A JP 53775598A JP 53775598 A JP53775598 A JP 53775598A JP 2001513925 A JP2001513925 A JP 2001513925A
Authority
JP
Japan
Prior art keywords
sub
data
database
data object
objects
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
JP53775598A
Other languages
English (en)
Other versions
JP4231943B2 (ja
JP2001513925A5 (ja
Inventor
ブライアン イー. スマート
Original Assignee
テルコンター
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 テルコンター filed Critical テルコンター
Publication of JP2001513925A publication Critical patent/JP2001513925A/ja
Publication of JP2001513925A5 publication Critical patent/JP2001513925A5/ja
Application granted granted Critical
Publication of JP4231943B2 publication Critical patent/JP4231943B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2264Multidimensional index structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99934Query formulation, input preparation, or translation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99948Application of database or data structure, e.g. distributed, multimedia, or image

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Remote Sensing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Processing Or Creating Images (AREA)

Abstract

(57)【要約】 空間データオブジェクトを空間データベースに記憶しそこから検索するための方法およびシステムが論じられている。このシステムは、多層座標系における多次元オブジェクトの位置を求めることによりそれらのオブジェクトをデータベースに記憶する。各オブジェクトは特定の座標に割り当てられた後、その座標系内の重なり合った多数のセクションの1つにさらに割り当てられる。各オブジェクトはその全体寸法と位置に応じて座標系の特定のセクションに割り当てられる。

Description

【発明の詳細な説明】 2次元またはそれ以上の次元のデータベース照会を 最適化するシステムおよび方法 発明の背景 発明の分野 本発明は、コンピュータ・データベースに関する。特に、本発明は、2次元お よび3次元空間におけるオブジェクトの位置、サイズ、および形状を記述する情 報を含むデータベースレコードに索引を付ける方法に関する。 関連技術の説明 データ構造の目的は、大量の情報を編成してコンピュータがデータ構造の内容 を選択的に処理できるようにすることである。このための動機は単純である。す なわち、いつでも、時間的要件、プロセッサ速度、メイン・メモリ、ディスク・ アクセス時間の点で一度にすべて処理できる以上のデータがある。データおよび アプリケーションの性質に応じて、データ編成戦略は、同様のプロパティを備え たサブセットに内容を区分すること、または高速ランダム・アクセス用の索引付 けおよびハッシングをサポートするため にデータの順序付けを行うことを含むことができる。データベースおよびデータ ベース管理システムでは、このような概念を拡張し、構造化データの永続的記憶 およびトランザクション制御編集を行えるようにしている。 2次元マップを記述するような空間データは、効率のよい編成の必要性の点で はまったく変わりはない。マップ・データは、この点では特に要求が厳しいもの である。中位のサイズの地域社会の総合的な街路マップは、数万ないし数十万個 の個々の街路セグメントからなることがある。ロサンジェルスまたはニューヨー クの広域マップは、数百万個のセグメントを含むことがある。各マップ・データ ・オブジェクトの内容もいくらかかさばる可能性がある。たとえば、個々の街路 セグメントのレコードは、その終点の座標、使用法の分類、街路名、街路住所範 囲、街路の左右側、法人都市名、郵便番号を含むことができる。 しかし、その中心部の空間データは、2次元空間内でオブジェクトを編成しよ うと試みるので、特に厄介な問題を提起する。空間座標は、互いに独立している がほとんどの空間照会にとって同様に重要な2つ(またはそれ以上)の値からな る。確立されたデータ構造およびデータベース方法は、多次元空間の表現ではな く、単一の値を効率よく処理するように設計されている。 このような困難については、数十万個の空間オブジェクトからなるデータベー ス(家屋を取り囲む都市のマップ)からマップ・データの小さいウィンドウ(た とえば、家屋を取り囲む平方マイル)を提示するアプリケーションの作成という 問題を検討することによって例示することができる。これを行うための動機は実 際には2つの面がある。第1に、コンピュータ・モニタの典型的な解像度が限ら れており、所与の量の情報しか表すことができないことである。第2に、すべて のデータがモニタ内におさまる場合でも、この大量の情報を計算するためのデー タ処理時間(取出し、変換、クリッピング、描画)は、平均的なパーソナル・コ ンピュータにとっては長すぎるものになるだろう。 この問題を解決するためには、モニタ上に生成される「ウィンドウ」内に現れ る街路セグメントをすべて検出し、現れない街路セグメントについてはできるだ け多くのセグメントを回避することが有利である。したがって、x座標(または 経度)値およびy座標(または緯度)値の特定の範囲内にあるすべてのオブジェ クトが収集される。この問題は、一般に、矩形ウィンドウ検索と呼ばれ、より基 本的なタイプの空間照会の1つである。この方法は、以下に示す編成方法のそれ ぞれの有効性を評価するための方法として以下の項で使用する。 最も厳重に調査され、一般的に使用されている空間データ構造(地理データお よび幾何データを編成するために使用するデータ構造)は、タイルベースの階層 ツリーという概念を頼りにしている。このコンテキストにおけるタイルとは、座 標空間の矩形(またはその他の規則正しい形状または不規則な形状の)区画であ り、座標系のどの単一点も複数のタイル内に存在することがないように各区画は タイル同士を分離する明瞭な線を有する。階層ツリーは、座標空間全体を表すル ートから開始して、その空間をより小さいタイルに再帰的に分解することにより 、座標空間を分割するための構造の1つである。このシステムにおけるタイル間 の「ハード・エッジ」とは、空間内のあらゆる点が正確に階層の各レベルの1つ のタイル内に存在することを意味する。いかなる点も複数のタイルに共存するこ とはできない。 周知の階層ツリーの一例は、クワッドツリー・データ構造である。一例のクワ ッドツリーは、地球の表面を表すことができるだろう。クワッドツリーのルート には、地球の表面全体を表すノードが存在する。次にこのルートは、緯度空間お よび経度空間の各象限を表す4つの子、すなわち、グリニッジより東で赤道より 北、グリニッジより東で赤道より南、グリニッジより西で赤道より北、最後に、 グ リニッジより西で赤道より南という子を有することになる。グリニッジ子午線お よび赤道上の点は、1つの象限または残りの部分に属するものとして任意に定義 される。これらの子のそれぞれは、より多くの象限、すなわち、その子の子など にさらに分割され、クワッドツリーに記憶すべきデータの量および密度をサポー トするのに必要な区分度に至るまで分割される。 クワッドツリー構造の主な問題は、その構造がアンバランスになっていること である。ツリー内の各ノードのデータ記憶容量は制限されているので、その制限 を上回る場合、ノードは4つの子に分割しなければならず、データ内容はツリー の下の方の凹部に押し込まれる。その結果、クワッドツリーの深さは、データ密 度が低ければ浅くなり、データ密度が高ければ深くなる。たとえば、地球の表面 上の人口の中心を検出するために使用するクワッドツリーは、大洋中央および極 地域では非常に浅くなり(たとえば、少数のノードを有する)、米国の東部およ び南部などの地域では非常に深くなる(たとえば、多数のノードを有する)。 クワッドツリーは本質的にアンバランスなものなので、クワッドツリーの矩形 ウィンドウ検索行動は予測が難しい。ソフトウェアにとっては、必要なデータを 検出するた めに訪れなければならない可能性のある多くのノードがどの程度の深さにあるか を予測することは困難なことである。大規模な空間データベースでは、クワッド ツリー階層で他のノードに移行するための各ステップは、通常、時間のかかるデ ィスク・シークを必要とする。さらに、必要なデータをすべて検出するためには 、ツリーの複数のブランチをたどらなければならないだろう。第2に、データ構 造の内容が動的なものである場合、効率のよい空間管理は問題を含むことになる 。というのは、各ノードは一定量の空間と一定の地域範囲の両方を有するからで ある。現実のデータ方式では、この2つが対応することはめったにない。このよ うな問題を最小限にしようと試みるために、クワッドツリーの変形がいくつか存 在する。しかし、依然として効率の悪さが持続する。 これまで、各空間オブジェクトが単一組の座標を含む場合に複数の点を含むデ ータ構造についてのみ説明してきた。線、曲線、円、多角形は、次元を有するの で、さらに複雑さを増す。したがって、タイリング方式が極めて不自然なもので ない限り、これらのオブジェクトはもはやタイル・ベースのデータ構造にきちん とおさまらなくなる。ある座標領域から他の座標領域へハード・エッジのタイル 境界を横切るようなオブジェクトの部分が必ず存在すること になる。ただし、これは、オブジェクトの記述の単純さにかかわらず真実である ことに留意されたい。たとえば、線分はその2つの終点によって記述され、円は その中心点と半径によって記述される。 この問題を取り巻く単純で一般的に使用される方法は、タイル境界を横切るオ ブジェクトを複数のオブジェクトに分割することである。したがって、その終点 が2つの隣接タイル内に含まれる線分は2つの線分に分割され、1つのタイルか ら始まり、そのもう一方の端部までの間に50個のタイルを通過する線分は、そ れが接触する各タイルごとの1つずつ、合計52個の線分に分解される。 この手法は、読取り専用である所与のアプリケーションにとっては有効な戦略 になりうる。しかし、これは、動的内容を備えたデータ構造によっては不十分な 戦略である。新しいデータ・オブジェクトの追加は比較的単純であるが、データ の削除および変更はより難しい。元のオブジェクトが完全な状態のままであると 保証されるわけではないので、問題が発生する。線分を移動または除去する必要 がある場合、データベースが予想通りに動作するようにその線分を何とかして再 構成しなければならない。これには、追加のデータベースブックキーピング、よ り複雑なアルゴリズム、それに付随する設計の単純さおよびパフォーマン スの低下が必要になる。 多次元オブジェクトの編成に関するもう1つの一般的な問題は、これらのオブ ジェクトの多くがいったん分解してしまうと数学的に記述するのが難しくなるこ とである。たとえば、1つの円が4つの隣接する矩形タイルに重なるようにする 方法は多数ある。配置によっては、同じサイズの円が2つ、3つ、または4つの 異形片になる可能性がある。過度に断片化された線分の場合と同様、そのオブジ ェクトの本来の「自然な」特徴は完全に失われる。 代替戦略は、タイル境界を横切るオブジェクトを多様に参照する迂遠的方法( indirection)を使用することである。しかし、各参照ごとにそのオブジェクト を回復するための余分なステップが必要であり、同じ照会によって同じオブジェ クトを複数回検索することができるが、解決するためには追加の複雑さが必要に なる。データベース内のオブジェクトの数が大きくなると、この余分な迂遠レベ ルは費用がかかりすぎ、実行可能なシステムを作成することができなくなる。 クワッドツリーで使用するもう1つの戦略は、タイル境界を横切るオブジェク トをそれらが最終的におさまるまでツリーのより高いレベルに押し込むことであ る。この戦略の難しさは、より高いノードに含まれるマップ・オブジェ クトの数が増加した場合、データベース操作によって上位ノードのすべてのオブ ジェクトを検査しないと、有用な情報を含む可能性の高いより小さいノードに探 索を向けることができないことである。この結果、データを検出するために膨大 な遅れ時間が発生する。 従来のDBMSにおける照会の最適化 前述のように、空間内のオブジェクトの位置、サイズ、形状を記述するデータ は一般に空間データと呼ばれる。空間データの集合は空間データベースと呼ばれ る。様々なタイプの空間データベースの例としては、マップ(街路マップ、地形 図、土地利用図など)、2次元および3次元の建築図面、集積回路設計図などが ある。 従来のデータベース管理システム(DBMS)では、所与のフィールドに特定 のデータ値を有するレコードの検索を最適化するために索引付け方法を使用して いる。データベース内の各レコードごとに、対応する値を含むレコードに戻るた めのポインタとともに関心のあるフィールドの値をツリーまたは同様の索引付け データ構造内のキーとして記憶する。 データベース表1は、架空の企業の元従業員に関する情報を含む単純なデータ ベース表の例を示している。表内の 各行は単一レコードに対応する。各レコードは単一の元従業員に関する情報を含 む。表内の列は、その氏名や雇用開始日および雇用終了日を含む各元従業員に関 する様々な事実を記憶する各レコード内のフィールドに対応する。 データベース表1 元従業員データベース表 照会例1は、1993年中に就業を開始したすべての元従業員の氏名を検出す るSQL照会を示している。元従業員データベース内のレコードの数が大きく、 定期的または適時に照会を実行する必要がある場合、この照会をより効率よく実 行させるために開始日フィールド上に索引を作成 すると有用である可能性がある。Bツリーなどの順次索引付けデータ構造を使用 すると、データベース表2に示すように、索引付けされたフィールドの順にデー タベース表が効果的に再整理される。このような順次索引付け方法の重要な特徴 は、索引付きフィールド内に特定の値を含むレコードと、索引付きフィールド内 に所定の範囲の値を有するレコードの両方について、非常に効率のよい探索が可 能になることである。 照会例1 1993年中に雇用されたすべての元従業員を検出するためのSQL データベース表2 開始日順に索引が付けられた元従業員表 分析のため、コンピュータ・アルゴリズムとそのサポート・データ構造の効 率をOrder関数で表すが、この関数はアルゴリズムの近似行動を関連オブジェク トの総数の関数として記述するものである。Orderを表すために使用する簡略表 記はO0である。データ処理アルゴリズムの場合、Order関数は処理するオブジェ クトの数に基づくものになる。 たとえば、最良ソート・アルゴリズムは通常、O(N×log(N))とい うコストで行われ、式中、Nはソートするレコードの数である。オブジェクトを 管理するために使用するデータ構造(たとえば、データベース内の索引) の場合、Order関数は管理するオブジェクトの数に基づくものになる。たとえば 、最良データベース索引付け方法は通常、O(log(N))という探索コスト を有し、式中、Nはデータベースに記憶されるレコードの数である。所与のアル ゴリズムは、別個であるが通常はまれな最悪ケースのコストも有するが、これは 他のOrder関数によって示すことができる。オブジェクトの総数とは無関係な定 数関数は関数O(K)によって示される。 Bツリーおよび同様の索引順次アクセス方式(すなわちISAM)は一般に、 O(log(N))というコストによって所与のキー値へのランダム・アクセス を可能にするものであり、式中、Nは表内のレコードの数であり、また、O(K )という平均コストで後続レコードへの順次アクセスを可能にし、式中、Kは索 引によりレコードを読み取るという不利益を表す小さい定数である(Kを最小限 にするために、索引クラスタおよびキャッシュを含む様々な戦略を使用すること ができる)。したがって、照会例1を実行するための全コストはO(log(N )+(M×K))になり、式中、Mは照会を満足するレコードの数である。Nが 大きく、MがNに対して小さい場合、索引を使用して照会を実行するためのコス トは、表全体を走査するためのO(N)というコストより実質的に小さくなる。 デ ータ・表1は、NおよびMの様々な値について何らかのOrder関数による計算値 を示すことによってこの事実を示すものである。この例は、極めて単純であるが 、索引を使用して照会を最適化するという広く使用され一般的に受け入れられて いるデータベース管理の慣行を代表するものである。 式1 索引によりデータベース表から連続レコードを検索するためのコスト 照会例2は、1993年中に就業していたすべての元従業員の氏名を検出する SQL照会を示している。照会例1とは異なり、任意の条件境界、この場合は任 意の時間範囲に関して照会例2を大幅に改善する索引を従来の方法のみ を使用して構築することは不可能である。データベース理論の観点から見ると、 この照会の難しさは、以下の2通りの事実の相互作用によるものである。すなわ ち、2つの条件が別々のフィールド値に関するものであり、2つの条件のうちの 一方を満足するすべてのレコードを検査して、もう一方の条件も満足するかどう かを確認する必要があることと、各条件が不等式であり、したがって、検査しな ければならないレコードのセットがテスト値の一方の前または後に現れる(どち らのフィールド値を最初に検査するかによる)すべてのレコードを含むことであ る。 照会例2 1993年中に就業していたすべての元従業員を検出するためのSQL データベース表2によって表されている索引を使用して 照会例2を満足するプロセスについて検討する。2つのフィールドのいずれかに 基づく索引を使用して照会例2を実行するためのコストは、O(K×N/2)と いう平均コストと、O(K×N)という最悪ケース・コストになるだろう。換言 すれば、照会は平均すると表の半分を調べなければならず、2つの条件のうちの 最初の条件を満足するレコードのすべてを検出するためには表全体を検査する必 要がある場合もある。索引なしで表全体を走査するためのコストはO(N)なの で、索引を使用する価値は完全に失われる(表3を参照)。実際には、このよう なタイプの状況が検出されると、照会最適化プログラム(照会を満足するために 実行される実際の一連のステップを決定する前処理機能)は、通常、表全体を走 査するために索引の使用を放棄する。 式2 開始値または終了値に関する従来のデータベース索引を使用する間隔に重なるす べてのレコードを検索するためのコスト データ・表1 NおよびMの様々な値に関するOrder関数の結果の比較。この例のために1.5 というK値を使用する。 より抽象的な観点から見ると、この例の難しさは、従来のデータベース表現が 考慮に入れていないより多くの情報が実際に存在することである。事実、開始日 と終了日は、含まれる時間範囲である単一データ項目の2通りのファセットであ る。空間的に表現すると、開始日フィールドと終了日フィールドは時間線上の2 つの位置を定義し、これらの位置間の差によってサイズが定義される。単純な1 次元データの場合でも、従来のデータベース管理では位置とサイズの両方に基づ いて照会を最適化することができない。 2次元空間データの概説 空間データベースは、関連オブジェクトの数が膨大であるため、効率のよいデ ータベース管理を特に厳しく要求している。中位のサイズの地域社会の総合的な 街路マップは、数万ないし数十万個の個々の街路ブロックからなる可能性があり 、カリフォルニア州ロサンジェルスまたはニューヨーク州ニューヨークの広域マ ップは、百万個以上の街路ブロックを含む可能性がある。同様に、最新の集積回 路の設計図も数百万個のコンポーネントを含む。 図1は、X軸とY軸を有する座標平面を示している。以下に示す例のため、平 面のサイズは200×200座標単位になるように選択し、X軸とY軸の両方に ついて最小座標値および最大座標値をそれぞれ−100および100とする。た だし、以下の例について述べる原理は、平面、円柱表面、球面の各座標系を含み かつこれに限定されない任意のサイズのいかなる有界2次元座標系についても適 用可能であることに留意されたい。最小緯度値および最大緯度値が−90度およ び+90度であり、最小経度値および最大経度値が−180度および+180度 である地球表面の緯度/経度座標系はこのような球座標系の一例である。 図2は、図1の平面上における点の分布を示している。前述のように、点は最 も単純なタイプの空間データ・オブ ジェクトである。その空間記述は座標位置情報のみからなる。一般に点オブジェ クトに関連する非空間記述の例としては、その位置にある事業所の名前とタイプ 、たとえば、「レオンズ ビービーキュー」または「レストラン」を含む可能性 がある。 図3は、マップを表す線形および多角形空間データ・オブジェクトの分布を示 している(ただし、「Hwy 1」および「Hwy 2」というテキスト・ストリングはそ れ自体は空間データ・オブジェクトではなく、むしろそれに対応するオブジェク トに近接配置されたラベルであることに留意されたい)。線形および多角形デー タ・オブジェクトの空間記述はより複雑なものになる。というのは、座標系にお けるそれぞれの位置に加え、サイズおよび形状情報を含むからである。一般に線 形マップ・オブジェクトに関連する非空間記述の例としては、その線が表す街路 の名前と住所範囲、たとえば、「100-199 メインストリート」を含む可能性があ る。また、一般に多角形マップ・オブジェクトに関連する非空間記述の例として は、多角形オブジェクトの名前とタイプ、たとえば、「ミシガン湖」、「大きい 湖」になる。 図4は、様々な線形および多角形空間データ・オブジェクトの最小境界矩形( MBR)を示している。ある空間デ ータ・オブジェクトの最小境界矩形は、そのオブジェクトを完全に含み、座標軸 に直交する最小矩形である。最小境界矩形は、通常、その空間記述に現れる最小 座標値および最大座標値の単純な検査によって非常に容易に計算できるものであ る。空間データ記憶検索方法では、最小境界矩形を使用して、オブジェクトの近 似位置およびサイズを表す場合が多い。というのは、その単純な内容(2対の座 標)が非常に効率のよい処理に向いているからである。 従来のデータベース管理システムにおける2次元空間データの記憶 データベース表3は、図2の点の一部を正規のデータベース表に表す方法を示 している。データベース表3の点は、図2に示す点のうち、*マーカで示した点 のサブセットに対応する。照会例3は、矩形ウィンドウ内のすべての点を取り出 すSQL照会を示している。矩形ウィンドウ照会は、一般に使用される幾何照会 タイプのうちの最も単純なタイプである。検査によって、「エミリーズ ブック ストア」がこの照会によってデータベース表3から選択される唯一のレコードで あることが明らかになる。図5は、図2に示す点の上に重ねられた照会例3に対 応する矩形ウィンドウを示している。 データベース表3 いくつかの事業所の位置を含む従来のデータベース表 照会例3 ウィンドウ内のすべての事業所を検出するためのSQL この例が示す主な問題は、単純な索引を構築する従来の照会最適化方法では有 用と言えるほど十分にうまく機能しないことである。Xフィールド値に基づいて 索引を構築する方法について検討する。この索引を使用して照会例3を満足する と、その結果、図6に示す2本の太い垂直バーが示すようにデータベース表のオ ーバーサンプリングが発生する。この照会を実行する場合、実際に陰影付きウィ ンドウ内におさまるかなり小さいサブセットを検出するために、この2本のバー 間にあるすべての点オブジェクトのレコードを検査することが必要になる。デー タベース表3の「スーパー セーバー」レコードは、不必要に検査されそうなレ コードの一例である。 照会を開始するのに必要な作業は対数であるが、オーバーサンプリングが行わ れる点オブジェクトの予想数は、式3が示すように、データベース内の点オブジ ェクトの数の線形関数になる。これは、データベース内のオブジェクトの数が増 すにつれて、この照会のパフォーマンスが直線的に低下する傾向があることを意 味する。データ・ボリュームが大きくなると、この線形行動は好ましいO(lo g(N))よりかなり悪くなり、このスタイルの解決がまったく無効になる。Y に基づく索引の場合も同じ問題が発生する。この問題の根本的原因は、2次元空 間座標が互いに 独立しているがほとんどの空間照会の場合に同じように重要な2つの値(XとY )からなることである。従来のデータベース管理技法は、2次元データの処理に はあまり適していない。 式3 ほとんど均一なXの分布を想定し、従来のデータベース索引付け方法を使用して 2次元矩形ウィンドウ照会を実行するための平均コスト 関連の2次元空間データ構造の説明 従来のデータベース管理方法が空間データに関して問題を抱えているので、そ の結果、空間データ構造と呼ばれる様々な専用データ記憶検索方法が開発された 。ハナン サ メットによる空間データ構造の設計及び分析(The Design and Analysis of Spat ial Data Structures) には、このような方法の多くに関する検討内容が記載され ている。一般に使用される空間データ構造の多くは、タイル・ベースの階層ツリ ーの概念を頼りにしている。 図7は空間の矩形再帰的分解を示しているが、図8はその分解によって形成さ れたタイルを編成して「ツリー」(探索のために設計された階層データ構造)を 形成する方法を示している。このタイプのデータ構造はクワッドツリーと呼ばれ る。図9は、このクワッドツリーの「リーフノード」に分散された図2の点を示 している。 図10は、照会例3の矩形ウィンドウ検索が接触するクワッドツリーのサブセ ットを示している。ただし、クワッドツリー内で検査しなければならない2つの 下位レベル・ノードと、図6に示すように従来のデータベース索引付けを使用し て検査しなければならない長いストライプとのコントラストに留意されたい。図 10の2つのノードからの点のうち、すべての検査済みの点は、少なくともこの 矩形の近傍にあり、図6のストライプの内側のいくつかの点は文字通り座標系の 向こう側のエッジ(底部)にある。この例は単純なので検査済みの点の数の差は 大きくないが、点オブジェクトの数が非常に大きい場合はパフォーマンス・ コントラストが劇的なものになる。クワッドツリーは、座標系の両方の軸に沿っ て同時に索引を付けるので、位置ベースのデータを記憶するのに非常に適したも のである。 クワッドツリーの最も基本的な実施態様では、階層内の各タイルは、そのタイ ルに関連する情報を含む「レコード」に対応する。そのタイルがルートまたはブ ランチ・レベルにある場合、対応するレコードは、各子タイルに関するレコード の座標およびそのレコードを指すポインタを含むことになる。タイルがリーフ・ レベルにある場合、対応するレコードは、タイルの外周内に幾何学的に含まれる 空間データ・オブジェクトのサブセット(点、線、または多角形オブジェクトお よびその属性)を含む。クワッドツリー・データベースの「レコード」は、ルー トがファイルの先頭になり、幅優先または深さ優先の順序でディスク・ファイル に記憶される。また、一部の空間データ・オブジェクトを階層のより高いレベル に保持し、ほとんどまたは完全に空であるリーフおよびブランチ用のレコードは 実際には作成しないような様々な変形例が存在する。たとえば、図9のリーフ1 33および144はどちらも空である。 クワッドツリー・データ構造の利点は、データの空間密度がかなり均一である 場合にO(log(N))というコストを示し、その結果、うまくバランスの取 れたツリーが 得られることである。このバランスは、ブランチの量を制御する構成アルゴリズ ムによって推進される。クワッドツリー内のブランチの量(したがって、最大深 さ)は、空間データ・オブジェクトの局所密度と、リーフ・レベル・レコードに 収容可能なこのようなオブジェクトの最大数との相互作用によって推進される。 具体的には、リーフ・レコード内のデータ記憶が一杯になると、そのリーフは4 つの子に分割され、それに応じてその空間データ・オブジェクトは幾何学的封じ 込めによって再配分される。これが行われるたびに、ツリーの局所高さは1だけ 大きくなる。しかし、このアルゴリズムの行動の結果、局所データ密度が非常に 高くなり、そのため、ツリーの深さが過大になったことによりクワッドツリーの パフォーマンスがO(N)というコストに向かって低下する。 また、座標系内のハード・エッジ・タイルの非階層的使用法は多種多様である 。このような方法の1つでは、タイルを順序付けるために空間充填曲線を使用す る。図11は、ペアノ−ヒルベルト曲線を使用して4×4のタイリングを順序付 ける方法を示している。この結果得られるタイルは、一方の側に50ユニットに なる。このように順序付けられたタイルは、クワッドツリー内のリーフと同様の レコードに記憶することができ、各レコードに記憶されたデ ータはタイルの外周内に含まれるサブセットに対応する。レコードは、タイル番 号をレコード位置に変換する表によって簡単に索引を付けることができる。 また、このタイルは、タイルのメンバーシップを割り当てるための単純な計算 フレームワークとして使用することができる。データベース表4は、図11から の対応タイル番号フィールドによって強化された事業所位置データベース表を示 している。タイル番号は、その点を含むタイルのXおよびYの列番号および行番 号の2進表現を計算し、周知のペアノ−ヒルベルト・ビットインタリーブ・アル ゴリズムを適用してシーケンス内のタイル番号を計算することによって決定され る。タイル番号フィールド上の索引を構築することにより、従来のデータベース にレコードを記憶する場合でも、そのレコードを幾何学的照会によって効率よく 探索することができる。たとえば、タイル番号8または9によってマークされた レコードだけを検査することにより、照会例3に示す矩形ウィンドウSQL照会 を満足できることを計算することは可能である。 データベース表4 タイル・フィールドによって強化された事業位置データベース表 このシステムの予想コストの分析によって、このシステムと同様のすべてのシ ステムが共用するタイル細分性の重要性が示される。式1に示すデータベース照 会用のOrder関数から補外すると、この方法のorder関数が式4によって示される 。固定サイズのウィンドウ検索矩形の場合、タイルの予想数は式5によって示さ れる(ウィンドウ検索が少なくとも1つのタイル境界を横切る可能性を反映する ために各括弧内で1が加算されている)。したがって、所与の平均サイズ・ウィ ンドウ検索の場合、式4のAの値はタイリングの細分性の逆幾何関数になり、こ れはタイリングの細 分性を増加することによって最小限にすることができる。タイルあたりの点の予 想数は式6によって示される。したがって、所与の平均データ密度の場合、式4 のBの値は、おおよそ、タイリングの細分性の二次関数になり、これはタイリン グの細分性を減少することによって最小限にすることができる。したがって、所 与の平均検索ウィンドウ・サイズおよび平均データ密度の場合、式4の予想値は 、AおよびBの競争傾向によってシステムの最良最小行動が得られる点を見つけ るためにタイリングの細分性を調整することによって最小限にすることができる 。 式4 データベース表に埋め込まれたタイル番号を使用するウィンドウ検索の予想コス ト 式5 検索あたりのタイルの予想数 式6 タイルあたりの点の予想数 この技法では依然としてデータベースのオーバーサンプリングが行われるが、 サンプリングされるレコードの予想数は、タイル内のレコードの予想数に照会を 満足するために必要なタイルの平均数を掛ける関数になる。タイル・サイズを調 整することにより、X座標またはY座標のみに基づく単純な索引とは異なり、こ のデータベース索引付け方式のO(log(N))という特性を保持するように 、この方法の行動を制御することが可能である。2次元の「HHCODES」の オラクル社によるインプリメンテーションはこのタイプの方式の一例である。 すべてのタイル・ベース方式が抱える問題は、図12および図13が示すよう に、より高次元のオブジェクト(セグメント、ポリライン、多角形)は点のよう にきちんとは その方式に適合しないことである。図12は図3からの線形および多角形データ ・オブジェクトがクワッドツリー例の様々なノードに自然に分かれる様子を示し ている。ただし、クワッドツリーのより高いレベルにどれだけ多くのオブジェク トが存在するかに留意されたい。具体的には、下位レベルのタイル境界の1つを 横切るオブジェクトはツリー内の次に高いレベルに保持されなければならない。 というのは、そのタイルは、そのオブジェクトを完全にカバーする最小タイルで あるからである。これは、単一エンティティとして境界を横切る可能性のあるオ ブジェクトを収容するためにクワッドツリー・タイル階層が有する唯一の方法で ある。 図13は、階層ツリーを上へ移動するデータが矩形ウィンドウ検索例に及ぼす 劇的影響を示している。線形および多角形データは位置に加え、サイズを有する ので、一部の実質的なサブセットは必ずタイル境界をまたぐことになる。データ ベース内のオブジェクトの数が増大するにつれて、クワッドツリーの上位ノード 内に存在するオブジェクトの数も増大し、その結果、構造を使用するというパフ ォーマンス上の利点が損なわれることになる。この問題は、すべてのハード・タ イル境界方法(クワッドツリー、K−Dツリー、グリッドセル他)が分担してい る。 タイル境界をまたぐオブジェクトを管理するという問題に打ち勝つために使用 する主な方法は、1)タイル境界を横切るオブジェクトを複数の断片に分割し、 それによりデータ・オブジェクトを適合させること、2)オブジェクトが接触す る余分なタイルごとに1回ずつそのオブジェクトを複製すること、3)それが接 触する各タイルごとに1回ずつ各オブジェクトを間接的に参照することの3通り がある。特に、断片化は、読取り専用マップ・データ・アプリケーションで最も 頻繁に使用されるものである。これらの各方法はそれぞれの長所を有するが、そ のすべてが分担している弱点は、特に空間データベースの内容を動的に編集しな ければならないときにインプリメンテーションの複雑さが大幅に増すことである 。ただし、これらの技法は違反オブジェクトのそれぞれに適用する必要があり、 このオブジェクトは、図13の中間レベルおよび上位レベルのノードのオブジェ クト集団が示すように、データベースの相当な部分になる可能性があることにも 留意されたい。 Rツリー(またはレンジツリー)は、線形および多角形データの複雑さに対処 するように特に進化したデータ構造である。クワッドツリーと同様に、Rツリー は、1つのルートと、実際の空間データを含むリーフに至る複数のブランチ・レ ベルからなる階層探索構造である。平面のトップ ダウン正規分割から構築されるクワッドツリーとは異なり、Rツリーは、空間デ ータ・オブジェクトの不規則性に適合するようにボトムアップで構築される。リ ーフレベル・レコードは、同様のサイズおよび局所性を有するデータ・オブジェ クトをまとめて収集することによって形成される。各レコードごとに、レコード 内のセット・オブジェクトの最小座標値および最大座標値を定義する最小境界矩 形が計算される。次に、同様のサイズおよび局所性を有するリーフ・レコードは 小枝レベルのレコード内に収集されるが、このレコードは、それぞれの子レコー ドの最小境界矩形とその子レコードを指すポインタのリストと、集合全体を取り 囲む追加の最小境界矩形からなる。次に、このような小枝レコードをまとめて収 集して次のレベルのブランチを形成し、ツリーが単一ルート・レコードに収束す るまで繰り返す。うまくバランスの取れたRツリーはO(log(N))という 効率を示す。 Rツリーの難しさは、ツリーを構築するためにどのようにデータ内容がまとめ て「適合する」かによってその定義が決まるので、Rツリーを構築し維持するた めのアルゴリズムが複雑になり、そのデータ内容に非常に敏感になる傾向がある ことである。データ内容が変化しないようなRツリーの静的アプリケーションは 実現するのに最も容易なも のである。データが絶えず変更されるような動的アプリケーションはかなり難し いものである。これは、幾分、空間データの幾何学的記述を変更するような編集 操作が包含レコードの最小境界矩形を変更する可能性を暗に有するからであり、 それが親の小枝レコードの最小境界矩形に影響し、ルートに至るまで次々に影響 する可能性があるからである。したがって、どの操作もツリー構造の大幅な再編 成を引き起こす可能性があり、その構造はO(log(N))という効率を維持 するためにうまくバランスが取れた状態を保持しなければならない。 要約すると、様々な専用データ構造は、多次元空間データ記憶の特定の要件を 満足するように進化してきた。これらの技法は2次元空間データに関連する問題 の一部を効果的に解決するが、連続範囲の値を表すデータを扱うときに1次元の 方法が有するのと同じ固有の弱点も分担している。1次元の場合、問題データ・ オブジェクト・タイプは単一変数の閉区間、たとえば、時間区間である。2次元 の場合、線、円、多角形などの問題データ・オブジェクト・タイプは、2つの変 数の閉区間によって記述される。 3次元およびより高次元の空間データ構造の説明 3次元表面を記述する空間データには、効率よく編成す るための同様の要件がある。追加された複雑さとしては、3次元空間データが同 等の重みを有する3つの独立変数(X、Y、Z)からなることである。線、表面 、ボリュームの3次元の幾何学的記述も2次元の線および多角形より複雑なもの になり、このため、データはいくらかかさが増すことになる。 しかし、3次元の基本データベース編成問題は基本的には2次元空間のものと 同じであり、したがって、非常によく似た解決策に従うことになる。クワッドツ リーと同等で、3次元空間の正規立方分割を使用する3次元技術が存在する。オ ラクル社では、点オブジェクトを記憶するためのその「HHCODE」技術の3 次元バージョンも実現した。また、Rツリーと同等で、3次元最小境界枠を使用 してリーフおよびブランチの座標範囲を定義する3次元技術も存在する。これら の技術も、連続する3次元区間を表すデータを処理するときに1次元および2次 元技術と同じ制限を分担する。 また、同じ原理はより高次元のデータにも適用される。特に、オラクル社では 、最高11次元までの点オブジェクトに対処するためにその「HHCODE」技 術を拡張した。 前述のように、データベース内の多次元空間データを効 率よく編成し、索引を付けることに関連する問題がいくつかある。このため、空 間データを凝視するための改良された方法が有利になるだろう。この利点は、本 発明のシステムによって提供される。 発明の概要 前述のように、情報のデータベースは数百メガバイトのデータを含むことがで き、それにより、効率よく探索するのが非常に困難になる。しかし、本発明の方 法およびシステムによって記憶される多次元データは、従来のシステムよりかな り少ないプロセッサ・サイクルおよびディスク・シークで検索することができる 。 従来、大量の空間データを編成するための1つの方法は、まず、空間データの 上に座標系を重ねることであった。空間データベース内の各オブジェクトにはX 座標とY座標が割り当てられるはずである。線、多角形、その他の形状など、よ り大きいオブジェクトには、そのオブジェクトをその位置に保持するためのアン カーのように機能する座標系内の単一位置点が割り当てられるはずである。たと えば、線はその一方の端部に対応する位置点を有する可能性があり、そのオブジ ェクトの残りの部分はもう一方の端部のX座標とY座標、線の太さ、カラー、そ の他の特徴に 関する情報を含むはずである。このようにして、空間データベース内の各オブジ ェクトは、そのオブジェクトがデータベース内でどのくらいの大きさであっても 、単一位置点を有するはずである。 より大きい座標系を小区域に分割することにより、特定の小区域に各位置点を 割り当てることができるだろう。このような小区域は、1組の空間データを含む 座標系の上に重ねられた一連のタイルに似ているので、タイルと呼ばれる。した がって、各タイルは、特定の1組の空間データを保持するだろう。その結果、ど のタイルが所望の情報を保持しているかを知っているユーザだけがその特定のタ イルを探索すればよかった。コンピュータ・ユーザが空間データベース内の所望 の領域内の空間データを識別すると、システムは、メモリからこのいくつかのタ イルを読み取り、そのタイルからオブジェクトを収集するプロセスを開始した。 この方法では、それにより、システムがコンピュータ・ユーザのすべての要求に 対してデータベース全体のすベてのオブジェクトを分析するのを防止していた。 データ・オブジェクトにタイル番号を割り当てるというこのシステムは点のみ を含むデータにはうまく機能していたが、より大きいデータ・オブジェクトが関 連すると非常に遅くなった。より大きいデータ・オブジェクトは空間デ ータベース内の線、円、多角形になる可能性がある。空間データ・オブジェクト の編成に関連する多くの問題は、オブジェクトが多くのタイルを横切る場合にこ れらのオブジェクトを唯一のタイルに割り当てるという難しさを処置しなければ ならなかった。たとえば、3つのタイルを横切る長い線は多くの問題を提起する 可能性がある。その長い線には特定のタイルが一切割り当てられていないので、 その線は間違ったタイルかまたは一連のタイルに割り当てられる可能性がある。 線などのオブジェクトを複数のタイルに割り当てると、このような関連付けのす べてをコンピュータ・システム内で維持しなければならないので、膨大なコンピ ュータ・オーバヘッドが発生する。 一実施の形態によれば、空間データベース内のすべてのタイル間に一連のオー バラップを設けることにより、このような従来の問題が低減される。このような オーバラップ・タイルは、ここでは「シングル(shingle)」と呼ばれ、それぞ れの最も近い4つの隣接物にオーバラップするタイルを表す。どのシングルにつ いてもオーバラップの面積は、最大効率をもたらすようにあらかじめ決定するこ とができる。たとえば、マップ・データを保持する空間データベースは、10平 方マイルというシングル・サイズを有し、各シングル・オーバラップが5平方マ イルを含むよう にプログラミングすることが可能である。したがって、あらゆるシングルは、隣 接シングルのサイズに等しい、その最も近い4つの隣接物とのオーバラップを有 することになるだろう。このシングル・オーバラップにより、空間データベース 内のより多くのデータ・オブジェクトを唯一のシングルに割り当てることができ 、複数のハード・エッジ・タイル間で分割されない。前述のように、1つのオブ ジェクトを複数のタイル間で分割することは非常に不利なことである。というの は、特定のオブジェクトに割り当てられたすべてのタイルをシステムが追跡しな ければならないからである。 したがって、層状シングル構造の目的は、データベースへの空間照会を適時に かつ効率よく解明するための論理フレームワークを提供することである。空間デ ータ構造は、空間データ・セット内のオブジェクトに索引を付けるための編成を 可能にする概念構造である。層状シングル構造は、有用かつ効果的になるように 特定のコンピュータ・データ構造で実施する必要はない。層状シングル構造は、 空間におけるそれぞれの同様の位置およびサイズに基づくサブセットに線、四角 形、多角形などの1組の空間データ・オブジェクトを編成するための計算ツール の一部である。さらに、層状シングル構造は、データベースへの特定の空 間照会が要求する必要かつ十分な空間データ・オブジェクトを含むデータベース のサブセットを識別するためのメカニズムを提供することができる。 本発明のシステムおよび方法は、タイトル境界を横切る小さいオブジェクトが ツリーのより上位レベルへ移動するという従来システムで見られた問題を軽減す る。一実施の形態では小区域の層が生成され、オーバラップする領域ができるよ うにタイルが計算される。したがって、タイル間にはいかなるハード・エッジも 存在しないか、あるいは1つのオブジェクトが2つのタイル内に同時に存在する 可能性がある。このようなオーバラップした小区域はシングルと呼ばれる。シン グルは、たとえば、その最も近い近隣物の半分とオーバラップする可能性がある ので、大きいシングル領域におさまるオブジェクトは、可能な限り最低のレベル にとどまることになる。本発明のもう1つの利点は、空間データベースに対して 最高速アクセスを行えるように各層のシングル・オーバラップ・サイズを事前に プログラミングすることができるので、個々のデータベースの効率が改善される ことである。 街路などの多数の小さいオブジェクトを伴うデータベースは、フリーウェイな どの多数の大きいオブジェクトを有するデータベースより小さいシングル・オー バラップ・サ イズでプログラミングすることができる。シングルおよびオーバラップ領域のサ イズを平均データ・オブジェクトのサイズに応じて調整すると、より多くのデー タ・オブジェクトが本発明のデータベースアーキテクチャ内の単一の下位レベル に保持される。しかし、1つのシングル内におさまることができないデータ・オ ブジェクトは、次に高いレベルのシングルに記憶させることができる。 たとえば、第1のレベルのシングルは、5平方マイルの00個のシングル・サ イズを有し、マップ・データベースを10000個のシングルに分割する可能性 がある。しかし、第2のレベルのシングルは、10平方マイルのシングル・サイ ズを有し、マップ・データベースを2500個のシングルに分割する可能性があ る。これについては、図12を参照して以下により具体的に説明する。 本発明の一実施の形態は、マップ・データベース内の空間データ・オブジェク トを編成する方法であり、データ・オブジェクトを領域内の位置点としてある座 標系に対して基準付けする(referencing)こと、その領域を複数の小区域に分 割すること、およびオブジェクトのいずれの部分も所定の量だけその小区域の外 に延びていない限り、その位置点がその1つの小区域内に入っているデータ・オ ブジェクトをその小区域に割り当てることを含む。 本発明の他の実施の形態は、空間データ・オブジェクトをコンピュータ・メモ リに記憶する方法であり、(1)座標系内の各データ・オブジェクトのサイズを 決定するステップと、(2)各空間データ・オブジェクトを座標系内の位置点に 割り当てるステップと、(3)座標系内の各点が少なくとも1つの小区域に割り 当てられるように座標系のオーバラップ小区域の第1の層の境界を計算するステ ップと、(4)第1の層内の前記小区域のサイズより小さい各空間データ・オブ ジェクトに、各空間データ・オブジェクトの位置点に基づいて座標系の特定の小 区域を参照させるステップと、(5)特定の小区域に対するその参照とともに空 間データ・オブジェクトをコンピュータ・メモリに記憶するステップとを含む。 図面の簡単な説明 図1は、2次元空間における座標平面を示す図である。 図2は、図1の座標平面上の点空間データ・オブジェクトの分布を示すコンピ ュータ・データベースの図である。 図3は、図1の座標平面上のマップを表す線形および多角形空間データ・オブ ジェクトの分布を示すコンピュータ・データベースの図である。 図4は、コンピュータ・データベース内の線分、ポリラ イン、多角形に対応する最小境界矩形を示す図である。 図5は、図1の座標平面上の矩形ウィンドウ検索を示す図である。 図6は、図1の座標系を示す図であり、従来のコンピュータ・データベース索 引付け方式が座標平面内の空間分布データの探索に適用されている。 図7は、図1の座標平面の正規象限ベースの分解を示す図である。 図8は、コンピュータ・データベース用のクワッドツリータイプの空間データ 構造を形成するために図7の座標平面分解の象限および小象限を編成する方法を 示すツリーの図である。 図9は、コンピュータ・データベースの空間データ構造におけるクワッドツリ ー・ノードへの点データ・オブジェクトの分散を示す図である。 図10は、コンピュータ・データベースのクワッドツリーベースのデータ構造 に適用された矩形ウィンドウ検索の図であり、2次元点データを管理する場合に このデータ構造が有効であることを示す図である。 図11は、ペアノ−ヒルベルト空間充填曲線を計算することにより、コンピュ ータ・データベースが正規象限ベースのタイリング方式を使用して2次元データ を編成する方 法を示す図である。 図12は、線形および多角形空間データ・オブジェクトがクワッドツリーとし て編成されたコンピュータ・データベースの2次元データ構造におさまる様子を 示す図である。 図13は、クワッドツリーとして編成され、線形および多角形データを含むコ ンピュータ・データベースに適用された矩形ウィンドウ検索の図である。この図 は、2次元データをこのタイプのデータ構造に編成し、固有のサイズを有する空 間データを管理することが無効であることを示している。 図14は、座標平面に適用された3レベルの層状シングル構造を有するコンピ ュータ・データベースの編成を示す図である。 図15は、本発明の層状シングル構造を使用して編成されたコンピュータ・デ ータベースに分散された線形および多角形マップ・データ要素を示す図である。 図16は、本発明の層状シングル構造に適用されたコンピュータ・データベー ス用の矩形ウィンドウ検索の図であり、サイズを有する空間データを管理する場 合にこのデータ構造が有効であることを示す図である。好ましい実施の形態の詳細な説明 次に添付図面を参照するが、図面全体を通して同様の番号は同様の部分を示す 。また、便宜上、以下の説明は、概要、関数の説明、データベース表内のインプ リメンテーション例、経験的分析、数学的分析、結論という主な項として編成す る。1.概要 本発明は、大量のデータを編成するための方法およびシステムである。本発明 の実施の形態を示すために使用する例はマップ・データを編成するためのもので あるが、この技法は他のタイプのデータにも適用可能である。適用可能な他のデ ータ・タイプとしては、機械製図および建築図面、アニメーションおよびバーチ ャ・ル・リアリティ・データベース、ラスタ・ビットマップのデータベースなど がある。 さらに、添付図面では2次元のオブジェクトを表すデータを編成するために使 用可能な本発明の実施の形態を示しているが、本発明は3次元またはそれ以上の 次元のオブジェクトに関するデータの編成にも適用可能である。 したがって、前述のように、層状シングル構造の目的は、コンピュータ・デー タベースへの空間照会を適時にか つ効率よく解明するための論理フレームワークを提供することである。層状シン グル構造は、有用かつ効果的になるように特定のコンピュータ・データ構造で実 施する必要はない。層状シングル構造は、空間におけるそれぞれの同様の位置お よびサイズに基づくサブセットに線、四角形、多角形などの1組の空間データ・ オブジェクトを編成するための計算ツールの一部である。さらに、層状シングル 構造は、データベースへの特定の空間照会が要求する必要かつ十分な空間データ ・オブジェクトを含むデータベースのサブセットを識別するためのメカニズムを 提供する。さらに、層状シングル構造は、好ましい一実施の形態ではIntel(R) プロセッサ・ベースのコンピュータ・システムで動作することができる。し かし、Apple(R)、DEC(R)、IBM(R)が販売しているような他のコン ピュータ・システムも本発明の範囲内で機能することが予想される。 図14は、それが図1に示す座標平面例に適用されるはずなので、3レベルの 層状シングル構造を示す図である。この層状シングル構造は、図7に示す座標平 面の正規象限ベースの分解と同様のものである。しかし、各レベルのデータ構造 が別個のハードエッジ・タイルで編成されるのではなく、各レベルはオーバラッ プ・シングルからなる。隣接シングル間のオーバラップについては、以下に詳述 する が、図14では陰影付きバンド22で示す。ただし、他の構成は可能であるが、 座標軸に対して垂直の正規オーバラップ四角形または矩形によって形成されるシ ングル1〜18は、最も理解しやすく、実現しやすいものであることに留意され たい。 層状シングル構造の最も微細なレベル(図14のシングル1〜16)は、空間 データの大多数のための索引付け媒体として機能するように設計されている。し たがって、データ・オブジェクトの大多数がデータ構造のこのレベルのシングル に割り当てられることが望ましい。したがって、空間オブジェクトは、所定の量 を上回る量だけ、シングルの中央部分のエッジを越えて延びる(たとえば、その オーバラップは階層内の次に高い層に割り当てられることになる)。その最も微 細なレベルの細分性(シングルのザイズおよびオーバラップの量)は、そのレベ ルのシングルに「おさまる」空間データ・オブジェクトの数を最小限にする場合 (シングルのサイズを増大することによって実施する)と分割の程度を最大限に する場合(シングルのサイズを低減することによって実施する)の競争傾向間の バランスを取るように調整することができる。より粗大なレベル4のシングル( シングル17〜20からなる図14のシングル・レベル)は、その最も近い隣接 物とのシングル付きオ ーバラップを含み、最も微細なレベルにおさまらないオブジェクト(すなわち、 空間的に大きすぎて特定のタイル内におさまらないオブジェクト)のための代替 索引付け媒体として機能する。ただし、オーバラップの絶対サイズは、連続的に より粗大になる各レベルのタイル・サイズが増大するにつれて増大することに留 意されたい。最後に、大きすぎてデータ構造の他のタイル内におさまらないよう な少数のオブジェクトを割り当てるために使用する最上位レベルのシングル21 (図14)が存在する。 図15は、図3に示す線形および多角形オブジェクトのそれぞれを本発明の層 状シングル構造データ内に編成する方法を示す図である。以下に説明するように 、各シングルは同様の位置およびサイズを有するオブジェクトのサブセットを含 む。本発明のデータ構造によって提供される正規オーバラップ・タイルの利点は 、図15の本発明のデータ構造編成と図12のデータ構造編成を比較することに よって分かるだろう。このシングル付きオーバラップ・システムにより、従来技 術のデータ構造の任意のタイル境界上に位置していた小さいデータ・オブジェク ト(図12のタイル100、110、120、130、140内の集団の大部分 )は層状シングル構造の最低レベル内にとどまることができる。具体的には、所 与のレベルのオーバラップのサ イズより小さいオブジェクトは、そのレベルまたはそのレベルより下にある何ら かのシングルにおさまることが保証されている。さらに、シングル・オーバラッ プより大きい多くのオブジェクトは、それより下のレベル内におさまることがで きる。たとえば、図15のシングル1、6、9は、このようなオブジェクトでほ とんど占められている。ただし、同じオブジェクトの図12における位置に留意 されたい。データ・表2は、図15対図12のデータ・オブジェクト分割の数値 比較を示している。 図16と図13を対照すると、層状シングル構造によってもたらされる改良さ れた分割方式によって、従来技術に基づく同等の構造より矩形ウィンドウ照会パ フォーマンスが改善される理由が分かる。データ照会中に検査する必要があるタ イルの数、は図13の5から図16の7にわずかに増加しているが、検査しなけ ればならないデータ・オブジェクトの数はほぼ半分だけ(16対31)低下して いる。この低下は、まさに、各区画のサイズがわずかに増大したことによって、 より多くのオブジェクトがより微細な区画レベルにおさまることができるためで ある。前述のように、空間データ照会は、その照会のパラメータを満足する各タ イル内のあらゆるオブジェクトを検査しなければならない。したがって、図13 の場合、最上位レベル・タイル 100内の各データ・オブジェクトを検査して、それが空間データ照会のパラメ ータを満足するかどうかを判定しなければならない。本発明の方法によって編成 されると、このように多くのデータ・オブジェクトがより小さいタイル構造内に 存在できるので、空間データ照会中に検査すべきデータ・オブジェクトの数は少 なくなる。このため、本発明のシステムによって編成されるコンピュータ・デー タベースは、従来技術のシステムより高速で探索することができる。 ただし、実際には、図12および図13に示す従来技術に基づく同等の構造は めったに実現されないことに留意されたい。これは、上位レベルに固定されたオ ブジェクトの数が多すぎて、妥当なパフォーマンスを可能にするには負担になる からである。むしろ、ハード境界方法は、タイル境界で個々のデータ・オブジェ クトを断片化すること、オブジェクトが接触する各タイルごとに1回ずつそのオ ブジェクトを複製すること、オブジェクトが接触する各タイルごとに1回ずつそ のオブジェクトを間接的に参照することを含む、代替戦略を頼りにしている。 データ・表2 図12に示す層状シングル構造と図10に示すクワッドツリーのマップ・オブジ ェクトの分散の数値比較 2.関数の説明 本発明の好ましい実施の形態は、2通りの主なクラスの関数を提供する。第1 のクラスであるシングル割当て関数は、空間データ・オブジェクトの空間記述を 「シングルキー」に変換するものである。シングルキーは、層状シングル構造内 の特定のシングルを一意的に表す数値である。第2のクラスである照会制御関数 は、所与の共通幾何照会の照会指定を、照会を満足するために必要なデータを「 含む」必要かつ十分なシングルキーのリストに変換するものである。 付録Aには、Cプログラミング言語で作成された本発明 の好ましい一実施の形態が記載されている。所定の最小境界矩形の場合のシング ルキーを計算する1つのシングル割当て関数KeyForBox(0507行から始まる )と、矩形ウィンドウ照会を解決するために必要なすべてのシングルキーをまと めて計算して返す1つの照会制御関数セット、すなわち、KeyRectCreate(07 03行)、KeyRectRange(1030行)、KeyRectDestroy(1125行)が存在 する。KeyForBox関数呼出しとKeyRectCreate関数呼出しはどちらも、それぞれに 対応する空間記述パラメータが小数を伴う経度(X1およびX2)および緯度( Y1およびY2)座標で表されるものと予想する。また、これらの関数はどちら も、層状シングル構造にどちらのレベルを含めるべきかを制御するnLevelMaskと 、隣接シングル間のオーバラップの量を制御するnLevelLapという2つの追加パ ラメータを取る。付録Aに含まれるインライン・ドキュメンテーションには、パ ラメータの用法が詳細に記載されている。 ただし、KeyForBoxとKeyRectCreateのどちらの場合も、倍精度の経度/緯度座 標が直ちに固定小数点整数表現に変換され、360度分の経度が28ビットの整 数X座標で表され、180度分の緯度が27ビットの整数Y座標で表されること に留意されたい。この表現の分解能は概略で地上の最も近い1/2フィートの精 密さである。倍精度から固 定小数点へのこの変換により、シングル封じ込めとペアノ−ヒルベルト・シング ル順序付けの両方を計算するために非常に効率のよいモジュール2進算術演算を 使用することができる。 便宜上、この項の残りの部分は、以下のようにシングル割当て関数、照会制御 関数、従来のデータベース内でのインプリメンテーションという3つの項に分割 する。 2.1 シングル割当て関数 シングル割当て関数によって生成されるシングルキーは、1組の空間データの メンバをサブセットに分割するために使用するが、この場合、1つのサブセット のすべてのメンバは同じシングルキーを有する。これは、1つのサブセットの各 メンバを同じシングル上に「おさめる」ことができることを意味する(たとえば 、そのオブジェクトを含む最小境界枠のサイズがタイルより大きくない)。さら にこれは、1つのサブセットのすべてのメンバが同様の空間サイズと位置を有す ることを意味する。したがって、シングルキーによって記憶メカニズム内のデー タに索引を付けてクラスタ化すること(効率を改善するための共通のデータベー ス管理慣行)は非常に効果的である。というのは、通常、空間照会は同様の位置 およびサイズを有する複数の オブジェクトを1つのグループとして選択するからである。 手順表1は、特定の空間データ・オブジェクトに対応するシングルキーを導出 する1組の計算ステップを示している。この表内のステップは、付録AのKeyFor Box関数の0536〜0652行に対応する。これらのステップの一部について は、後続パラグラフで詳述する。 手順表1 正規オーバラップ四角形または矩形に基づいて層状シングル構造内の対応するシ ングルキーに空間記述を変換するために必要な計算ステップのシーケンス 手順表1に示すステップ1は、空間データ・オブジェクトの最小境界矩形を計 算することである。空間データ・オブジェクトの最小境界矩形は、座標軸に対し て垂直で、そのオブジェクトを完全に含む最小矩形である。最小境界矩形を表す 典型的な方法は、最小点(従来の座標系の左下隅)と最大点(右上隅)という2 つの点によるものである。図4は、いくつかの一般的なタイプの空間オブジェク トの最小境界矩形を示している。手順表2は、様々な一般的なタイプの空間デー タ・オブジェクトについて最小境界矩形を計算する方法を記述したものである。 場合によっては、精密な計算では費用がかかりすぎるときに、最小境界矩形のわ ずかな過大評価を使用することができる。 手順表2 いくつかの一般的なタイプの空間データ・オブジェクトについて最小境界矩形 を導出する方法の記述 手順表1のステップ3では、現行レベルのシングルの最小点(右下隅)が空間 オブジェクトの最小境界矩形に最も近くしかもそれ以下であるかどうかの判定が 行われる。層状シングル構造が(図14に示し、付録Aに記載したように)座標 平面の正規矩形または四角形タイリングに基づいている場合、候補シングルは最 小境界矩形の最小点を含むタイルに対応するシングルである。付録AのKeyForBo x関数の0590行および0591行では、2進モジュール算術演算を直接使用 して、シングルの最小点の座標が計算される(タイル封じ込めが暗示される)。 手順表1のステップ4では、候補シングルの最大点(右 上隅)が計算される。この点は、現行レベルの標準シングル幅をx座標に加え、 現行レベルの標準シングル高さをy座標に加えることによって、シングルの最小 点から直接決定することができる。付録Aでは、この計算はKeyForBox関数の0 598〜0601行で行われる。付録Aで使用する層状シングル構造はオーバラ ップ四角形に基づくものなので、各座標に同じ値が加えられる。 手順表1のステップ5では、シングルの最大コーナーが最小境界矩形(MBR )の最大コーナーと比較される。これは、シングルの最大x座標とMBRの最大 x座標ならびにシングルの最大y座標とMBRの最大y座標との区分比較によっ て実施される。シングルの各座標値がMBRの対応する値より大きい場合、シン グルの最大コーナーはMBRの最大コーナーより大きいと言われる。付録Aでは 、この計算はKeyForBox関数の0609〜0610行で行われる。 最小境界矩形におさまるシングルが見つからずにステップ2〜5の反復ループ が完了した場合のみ、手順表1のステップ6が行われる。したがって、最小境界 矩形によって表される空間オブジェクトはシングル構造の下位レベル(たとえば 、層)のいずれにもおさまらない。したがって、定義上、それは最上位レベルの シングル内におさまら なければならない。付録Aでは、このステップはKeyForBox関数の0651行お よび0652行で行われる。 手順表1に示すステップ7は、そのデータ・オブジェクトに「最良適合」であ ると判断されたシングル用のシングルキーを決定するものである。付録Aでは、 KeyForBox関数の0623〜0625行に示すKeyGenerator関数呼出しにより、 ペアノ−ヒルベルト空間充填曲線を使用してシングルキー番号を割り当てる。Ke yGenerator関数は付録Aの0043〜0485行に実現されている。KeyGenerat or関数に与えられるパラメータとしては、シングルの最小点の座標と、層状シン グル構造内の対応するレベルとを含む。ただし、異なるレベル間におけるシング ルキー番号の固有性は、付録Aの0482行のステートメントによって保証され ることに留意されたい。 2.2 照会制御関数 第2のクラスの関数は、コンピュータ・データベースへの空間照会を制御する ために使用する。このクラスの関数は、所与の共通幾何照会の照会指定を、照会 を満足するために必要なデータを含む必要かつ十分なシングル・キーのリストに 変換するものである。このシングルキーのリストは、個々のキーを網羅するリス トまたはキー範囲のリスト (その範囲の最小値と最大値を含みかつこれらの値の間にあるすべてのキーが必 要であることを暗示する)として表すことができる。 最も一般的なタイプの空間照会は、選択された外周によって定義される領域に オーバラップするすべてのオブジェクトを検出するものである。例としては、矩 形ウィンドウ照会と多角形オーバラップ照会がある。手順表3は、このタイプの 照会制御関数の一般的な用法を示している。 手順表3 領域オーバラップ照会制御関数の一般的用法におけるステップ データベースのいくつかの領域(たとえば、タイル)にオーバラップする照会 の場合、照会した領域にオーバラップする1組のシングルは、その領域にオーバ ラップする各階層レベルからのシングルの和集合である。所与のレベルのシング ルは、まずその領域の外周に接触するすべてのシングルを識別し、次に中央セク ションから欠落しているシングルで充填することによって検出することができる 。照会の外周に接触するすべてのシングルを検出するための方法の1つは、冗長 出現を除去するよう注意して、シングルの配置によって各コンポーネントの経路 を計算処理で追跡することである。中央セクションから欠落しているシングルを 充填するための方法は、外周上で検出されたシングル間を下から上へ、左から右 へ計算処理で走査することである。 付録Aのソフトウェア・プログラムは、0655〜1135行で1つの照会制 御関数セットを実現する。この関数セットは、所与の経度/緯度矩形にオーバラ ップするすべてのシングルを識別するものである。手順表4は、この関 数セットのアルゴリズム用法を示している。 付録Aのソフトウェア・コードの0792〜1020行に実現された内部関数 KeyRectGeneratorは、現行レベルの1組のシングルを計算するために使用する。 上記で概説した方法と同様に、この関数は矩形の各エッジに沿ってシングルを追 跡する。しかし、ペアノ−ヒルベルト空間充填曲線はシングルを順序付けるため に使用し、ペアノ−ヒルベルト曲線はその性質上、連続することが保証されてい るので、曲線がエッジ上の各シングルで矩形内に向かうかまたは矩形から外へ向 かうかに留意し、結果として得られるリストをソートして暗示された各範囲の最 小および最大を見つけ、曲線に中央部を充填させるだけで十分である。図17は 、ペアノ−ヒルベルト空間充填曲線が空間データベースの1つのレベル内の各タ イルを連続的にうねって進む様子を示している。 手順表4 KeyRectCreate、KeyRectRange、KeyRectDestroy関数セットのアルゴリズム用法 矩形検索の代わりに汎用多角形検索を実行するために同じ方法を拡張すること は可能である。汎用多角形検索は、照会の目的が任意の多角形の内部にあるかま たは任意の多角形の境界に接触しているすべてのデータベースオブジェクトを取 り出すことである点で、矩形ウィンドウ検索と同 様のものである。しかし、システム照会言語(SQL)の制約のため、照会例3 と同等の形式で汎用多角形照会を表すことは不可能である。 汎用多角形照会を実行するために手順表4のアルゴリズムを拡張するには、ど のシングルが入口点と出口点に対応するかならびに冗長なものがあればどれが冗 長であるかを同時に追跡しながら、外周シリングによって多角形の経路を追跡す るように配慮しなければならない。しかし、境界シングルが識別されると、同じ 最小および最大範囲編成が機能することに留意されたい。一般に、この方法は、 任意の閉領域にオーバラップするすべてのシングルを検出する場合に機能するだ ろう。 2.3 従来のデータベース内のインプリメンテーション データベース表5は 、図3からの街路セグメントの一部を表すデータ・オブジェクトを含むサンプル ・データベース表を示している。シングルという列は図15からの割当て済みシ ングルキーを含んでいる。X1/Y1およびX2/Y2という列は、選択された シングル内の各オブジェクト用の最小境界矩形の座標を含んでいる。 照会例4は、付録Aと同様の関数インタフェースがこの層状シングル構造につ いても存在していると想定し、矩形 照会ウィンドウにオーバラップする最小境界矩形を備えた各データ・オブジェク トの一部を検出するためにデータベース表5に照会する方法を示している。この 照会は、手順表4のステップ3〜5に対応する。このため、この照会は、矩形に オーバラップするすべてのセグメントを検出するために各キー範囲ごとに1回ず つ繰り返さなければならないだろう。 図16に示すように、照会例4のウィンドウに対応するキー範囲は、8〜9、 17〜20、21〜21である。ただし、データベース表5上のこのようなキー 範囲を使用してこの照会を実行した結果、シングル9に割り当てられたシングル ・オーバラップ・セグメントがどのように選択されるかに留意されたい。データ ベース表5にリストしていない図3からの他のオブジェクトもこのウィンドウに オーバラップする。 データベース表5 街路セグメントを含む従来のデータベース表。これらのオブジェクトは個々のセ グメント、すなわち、図5に表された層状シングル構造に分散されているように 図3に強調表示されたハイウェイHWY1およびHWY2に対応する。 手順表5 付録Aと同様の関数を使用して従来のデータベースインプリメンテーションを構 築し維持するための推奨手順 照会例4 キー範囲MinKey〜MaxKeyの場合にウィンドウ内のすべてのセグメントを検出する ためのSQL 3.経験的分析 図12および図15の先行比較で識別された分割の改善は、大量の実マップ・ データが与えられたときに本発明がどのように機能するかを測定することによっ て妥当性を検 査することができる。データ・表3は、このような測定の1つの結果を示してい る。このような測定を行うために使用するデータは、カリフォルニア州ロサンジ ェルス郡の米国Census BureauのTopographically Integrated Geographic Encod ing and Referencing(TIGER)データベースファイルからの街路セグメン トの抜粋である。CensusのTIGERファイルは、事実上の業界標準の街路マッ プ・データ・ソースを含む。ロサンジェルス郡というのは、そのサイズが大きく (この抜粋では426367個のセグメント)、包含範囲が多様(密集した都市 化の中心、不規則に広がる郊外、人口密度の低い山岳地域および砂漠地域)なの で、代表的な選択としては良好なものである。 データ・表3では、25%のオーバラップを有する層状シングル構造と従来技 術で見られるような同等のハード境界タイリングにおけるTIGER街路セグメ ントの自然分布を比較している。これらの統計は、付録Aに示すソフトウェア・ プログラムからのKeyForBox関数に各セグメントを供給することによって生成さ れたものである。25%のオーバラップを有するシングルの統計を生成するため 、nLevelLapパラメータに2という値を使用した(shingle_overlap=tile_size* 1/2nLevelLap)。ハード境界タイルの統計を生成するには、オーバラップ量を強 制的にゼロに するために、nLevelLapパラメータに32という値を使用した。 データ・表3のレベルという列は、タイル/シングル構造のレベルを示し、0 は最も微細な分割であり、14は最も粗大であり、15は最上位レベルの区画で ある。サイズという列は、結果として得られる象限分割のサイズ(幅と高さの両 方)を緯度/経度の度数(=180/2(15-Lev))で示す。シングルのサイズは、実際 にはサイズ列に示された値より25%大きい。ただし、付録Aのソフトウェア・ プログラムはシングルを緯度/経度空間の四角形として実現することに留意され たい。セグメントという列は、このレベルに自然に適合する(すなわち、タイル /シングル境界を横切らず、KeyForBox関数のpnLevelパラメータによって返され る)TIGER街路セグメントの総数を累積する。シングルおよタイルという列 は、KeyForBox関数によって返される固有のキー値の総数を累積する。Avという 列は、固有のタイル/シングルあたりのセグメントの平均数を計算する。Mxとい う列は、いずれか1つのタイル/シングルに関連していたセグメントの最大数を 示す。 データ表3 地球の表面全体のハード・タイル分解と、各レベルで25%のオーバラップを 有する同等のシングル構造におけるカリフォルニア州ロサンジェルス郡の428 367個のTIGER街路セグメントの分布の比較。最も微細なレベルのタイリ ング(レベル0)は各方向に180度/215であるかまたは北/南に0.4マイ ルをいくらか下回る。 データ・表3の25%のオーバラップを有するシングルという列は、層状シン グル構造がこのデータ・セットをどの程度効率よく編成するかを示している。た だし、この構造の下位レベルへのセグメントの浅い分布、すなわち、セグメント 95%以上がデータ構造の最下位レベルに定着していることに留意されたい。ま た、必要な追加レベルは非常に少なく、これらのレベルのシングルあたりのセグ メントの平均数および最大数も小さいことに留意されたい。 次に、データ・表3の25%のオーバラップを有するシングルの統計と対応す るハードタイル境界構造とを対照させる。これは、街路セグメントデータという この付加を受けてクワッドツリー・データ構造がどのように行動するかを示す概 略モデルとして機能する(しかし、クワッドツリー・ノードあたりの記憶空間に 対する構造上の依存状態のために、この対応関係は精密ではない)。より微細な 各レベルで導入される新しい境界によって切断されるセグメントの断片を増大す るような全体的な傾向を観察する。具体的には、レベル6〜1の場合、レベルが 1段ずつ下がるごとに、セグメント数が倍増する。この倍増は、より微細な各レ ベルがハード・タイル境界の全長を倍増し、したがって、所与のセグメントが横 切る可能性が倍増するために発生する(ただし、分割の細分性がロサンジェルス 郡の空間 範囲を超え始めるので、この傾向はレベル6より上では次第に消えていくことに 留意されたい)。さらに、レベル4以上には10000個以上のセグメントが位 置することに留意されたい。これらのセグメントがこの状態でクワッドツリーに 記憶された場合、クワッドツリーの主なブランチを実質的に混乱させ、パフォー マンスを大幅に妨げることになるだろう。たとえば、記憶されるデータの量が1 00倍に増加した場合、これに対応して、タイル境界交差セグメントの数も10 0倍に増大し(レベル4で500K、レベル5で250K、レベル6で125K など)、上位レベルのブランチにとって完全に過負荷になるだろう。 ハードタイル境界の列の不十分な統計は、このタイプのマップ・データをこの 形式で記憶する場合にクワッドツリーを使用できない理由を示している。むしろ 、この種の問題にうち勝つために、これまではデータ断片化、複製、または複数 間接参照などの戦略を使用してきた。データ・表4は、様々なタイル・サイズに ついてこれらの特殊ケースの方法の1つで処理しなければならないオブジェクト の数をまとめたものである。この表の統計は、タイルあたりのセグメントの数の 最小化と特殊ケースにより管理しなければならないセグメントの数の制限との兼 ね合いを明確に示している。 データ・表4 428367個のTIGER街路セグメントの同じセットについて、タイル間の 境界を横切るセグメントの累積数 4.数学的分析 経験的分析で識別された統計傾向の結果、式7および式8によって分かる空間 検索の対数コストが非常に予測可能なものになる。これらの式は、正規データベ ース表/索引が空間データ用の記憶/検索メカニズムとして使用され、索引はシ ングルキーに基づくという想定に基づくものである。式7は、データベース表に 点を記憶するためのタイルベースの方法の行動を設定した式4から導かれる。式 7における主な改良点は、複数レベルにわたるオブジェクトの広がりを反映する ために合計を累積しなければならないこ とである。式11は、主に、オーバラップによって照会ウィンドウが接触するタ イルの数が増加する傾向があるという事実を反映するためにオフセット係数を1 から2に変更することによって式5から導かれる。表13は、経度0.016度 ×緯度0.0145度の矩形ウィンドウ(カリフォルニア州ロサンジェルスの緯 度ではおよそ1マイルの四角形)の場合のALおよびBL用のプラグイン値を示し ている。 表13に示す値のうちの適度なサイズを巨大人口サイズと比較したものは、0 (log(N))パフォーマンス行動を可能にする係数である。たとえば、ロサ ンジェルス郡のみではなく米国のすべての郡に関するTIGERファイルのセッ ト全体を使用する場合、人口サイズの約100倍の増加は、式7の対数成分を2 だけ増加するものでなければならない(log10(400,000)=6.6; log10(40,000,000)=8.6)。式の他のすべての成分はだいた い同じ状態を維持するだろう。さらに、矩形ウィンドウ検索サイズが劇的に変化 する場合、行動はアンバランスな状態になるので、シングル・サイズを上下に調 整して補正することができる。付録Aに示すソフトウェア・プログラムは、非常 に詳細な街路マップ・データを処理するために調整されたものである。 ただし、式7は実際には大幅に改善可能な最悪のケースを表していることに留 意されたい。具体的には、AL×log(N)という式の一部分の値ALは、付録 Aに示すソフトウェア・インプリメンテーションで行われているように、コンピ ュータ・データベースにシングルを記憶するときにペアノ−ヒルベルト空間充填 曲線を使用してシングルを順序付けることによって、実質的に低減することがで きる。この曲線を使用すると、多くの隣接シングルに連続して番号が付けられる ことが保証される。たとえば、ペアノ−ヒルベルト曲線で順序付けられたフィー ルド内の隣接シングルを任意に3×3でグループ化する場合、多くても4つの連 続シーケンスができる可能性がある(図8および図17を参照)。 式7 データベース表内の本発明のシングル番号を使用するウィンドウ検索の予想コス ト 式8 レベル別の検索あたりのシングルの予想数 表13 カリフォルニア州ロサンジェルス郡周辺の1平方マイルの任意の矩形ウィンドウ 用のALの計算値。表7からBLマイルの値を測定する。 5.結論 本発明は、大量のデータを編成するための効率のよい方法およびシステムを提 供するものである。前述のように、情報のデータベースは、数百メガバイトのデ ータを含むことができ、それにより、効率よく探索するには非常に困難なものに なる。しかし、本発明の方法およびシステムによって記憶された多次元データは 、従来システムよりかなり少ないプロセッサ・サイクルおよびディスク・シーク で検索することができる。 より大きい座標系を小区域に分割することにより、各空間オブジェクトは特定 の小区域に割り当てられる。これらの小区域は、1組の空間データの上に重ねら れると一連のタイルに似ているので、タイルと呼ばれる。したがって、各タイル は、特定の1組の空間データを保持するだろう。その結果、どのタイルが所望の 情報を保持しているかを知っているユーザだけがその特定のタイルを探索すれば よかった。コンピュータ・ユーザが空間データベース内の所望の領域内に位置す る空間データを識別すると、システムは、メモリからこのいくつかのタイルを読 み取り、そのタイルからオブジェクトを収集するプロセスを開始することができ る。この方法では、それにより、システムがコンピュータ・ユーザのすべての要 求に対してデータベース全体 のすべてのオブジェクトを分析するのを防止する。 本発明では、空間データベース内のすべてのタイル間に一連のオーバラップを 設ける。このようなオーバラップ・タイルは、ここでは「シングル」と呼ばれ、 それぞれの最も近い隣接物にオーバラップするタイルを表す。どのシングルにつ いてもオーバラップの面積は、最大効率をもたらすようにあらかじめ決定される 。従来システムで行われていたように、このシングル・オーバラップにより、空 間データベース内のより多くのデータ・オブジェクトを唯一のシングルに割り当 てることができ、これらのオブジェクトは複数のハード・エッジ・タイル間で分 割されなくなる。前述のように、1つのオブジェクトを複数のタイル間で分割す ることは非常に不利なことである。というのは、特定のオブジェクトに割り当て られたすべてのタイルをシステムが追跡しなければならないからである。 本発明のシステムおよび方法は、タイトル境界を横切る小さいオブジェクトが 上位レベルへ移動するという問題を軽減する。本発明では、小区域の層が生成さ れるときに、オーバラップの領域ができるようにそれらが計算される。本発明で は、空間データベースに対して最高速アクセスを行えるように各層のシングル・ オーバラップ・サイズを事前にプログラミングすることができるので、個々のデ ータ ベースの効率が改善される。 街路などの多数の小さいオブジェクトを伴うデータベースは、フリーウェイな どの多数の大きいオブジェクトを有するデータベースより小さいシングル・サイ ズでプログラミングすることができる。タイルおよびシングルのサイズを平均デ ータ・オブジェクトのサイズに応じて調整すると、より多くのデータ・オブジェ クトが本発明のデータベースアーキテクチャ内の単一の下位レベルに保持される 。したがって、単一のシングル内におさまることができないデータ・オブジェク トは、次に高いレベルのシングルに記憶させることができる。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FI,FR,GB,GR,IE,IT,L U,MC,NL,PT,SE),OA(BF,BJ,CF ,CG,CI,CM,GA,GN,ML,MR,NE, SN,TD,TG),AP(GH,GM,KE,LS,M W,SD,SZ,UG,ZW),EA(AM,AZ,BY ,KG,KZ,MD,RU,TJ,TM),AL,AM ,AT,AU,AZ,BA,BB,BG,BR,BY, CA,CH,CN,CU,CZ,DE,DK,EE,E S,FI,GB,GE,GH,GM,GW,HU,ID ,IL,IS,JP,KE,KG,KP,KR,KZ, LC,LK,LR,LS,LT,LU,LV,MD,M G,MK,MN,MW,MX,NO,NZ,PL,PT ,RO,RU,SD,SE,SG,SI,SK,SL, TJ,TM,TR,TT,UA,UG,UZ,VN,Y U,ZW

Claims (1)

  1. 【特許請求の範囲】 1.マップ・データベース内の空間データ・オブジェクトを編成する方法であっ て、 領域内の位置点としてのデータ・オブジェクトに座標系を参照させることと、 前記領域を複数の小区域に分割することと、 前記オブジェクトのいずれの部分も所定の量だけ1つの小区域の外に延びてい ない限り、その位置点が前記小区域内に入っている前記データ・オブジェクトを 前記小区域に割り当てることを含む方法。 2.前記データ・オブジェクトが空間データ・オブジェクトである、請求項1に 記載の方法。 3.前記データ・オブジェクト用の最小境界矩形を決定することにより前記デー タ・オブジェクトの前記位置点が計算される、請求項1に記載の方法。 4.複数の小区域が複数の小区域層をさらに含む、請求項1に記載の方法。 5.前記小区域のそれぞれに固有のコードが割り当てられる、請求項1に記載の 方法。 6.前記所定の量が前記象限のサイズの半分に等しい、請求項1に記載の方法。 7.前記所定の量が前記象限のサイズの1/4に等しい、請求項1に記載の方法 。 8.前記所定の量が前記象限のサイズに等しい、請求項1に記載の方法。 9.前記データ・オブジェクトが、線、円、四角形、多角形を含むグループから 選択される、請求項1に記載の方 10.前記領域が複数の四角形の小区域に分割される、請求項1に記載の方法。 11.前記領域が複数の矩形の小区域に分割される、請求項1に記載の方法。 12.前記領域が複数の丸い小区域に分割される、請求項1に記載の方法。 13.前記領域が複数の六角形の小区域に分割される、請求項1に記載の方法。 14.空間データ・オブジェクトをコンピュータ・メモリに記憶する方法であっ て、 座標系内の各データ・オブジェクトのサイズを決定するステップと、 各空間データ・オブジェクトを前記座標系内の位置点に割り当てるステップ と、 前記座標系内の各点が少なくとも1つの小区域に割り 当てられるように前記座標系のオーバラップ小区域の第1の層の境界を計算する ステップと、 前記第1の層内の前記小区域のサイズより小さい各空間データ・オブジェク トに、各空間データ・オブジェクトの位置点に基づいて前記座標系の特定の小区 域を参照させるステップと、 特定の小区域に対するその参照とともに前記空間データ・オブジェクトを前 記コンピュータ・メモリに記憶するステップとを含む方法。 15.前記空間データ・オブジェクトがマップ・データの一部である、請求項1 4に記載の方法。 16.前記空間データ・オブジェクトが、線、円、四角形、多角形を含むグルー プから選択される、請求項14に記載の方法。 17.前記コンピュータ・メモリがコンピュータ・ハード・ディスクである、請 求項14に記載の方法。 18.前記参照ステップが空間データ象限を順序付けるためのペアノ−ヒルベル ト方法を含む、請求項14に記載の方法。 19.前記小区域がシングルであり、前記参照がシングル・コードである、請求 項14に記載の方法。 20.小区域間の前記オーバラップのサイズが前記小区域 のサイズに等しい、請求項14に記載の方法。 21.小区域間の前記オーバラップのサイズが前記小区域のサイズの半分に等し い、請求項14に記載の方法。 22.小区域間の前記オーバラップのサイズが前記小区域のサイズの1/4に等 しい、請求項14に記載の方法。 23.前記決定ステップが、前記空間データ・オブジェクト用の最小境界矩形を 計算することをさらに含む、請求項14に記載の方法。 24.前記割り当てステップが、前記空間データ・オブジェクト用の最小境界矩 形の左下隅の座標位置を決定することと、前記位置点を前記位置に記憶すること を含む、請求項23に記載の方法。 25.前記空間データ・オブジェクトが、機械製図および建築図面、アニメーシ ョンおよびバーチャル・リアリティ・データベース、ラスタ・ビットマップを含 むグループから選択される、請求項14に記載の方法。 26.前記座標系内の各点が少なくとも1つの小区域に割り当てられるように前 記座標系のオーバラップ小区域の第2の層の境界を計算するステップと、 前記第1の層内の前記小区域のサイズより大きい各空間データ・オブジェク トに、各空間データ・オブジェクトの位置点に基づいて前記第2の層の特定の小 区域を参 照させるステップをさらに含む、請求項14に記載の方法。 27.前記データ・オブジェクトが、線、円、四角形、多角形を含むグループか ら選択される、請求項14に記載の方法。 28.前記領域が複数の四角形の小区域に分割される、請求項14に記載の方法 。 29.前記領域が複数の矩形の小区域に分割される、請求項14に記載の方法。 30.前記領域が複数の丸い小区域に分割される、請求項14に記載の方法。 31.前記領域が複数の六角形の小区域に分割される、請求項14に記載の方法 。 32.1組の多次元オブジェクトを含み、各オブジェクトが座標系内の位置点を 含み、 各多次元オブジェクトに前記座標系の小地域を参照させるコードをさらに含 み、前記多次元オブジェクトが所定の量を上回るほど前記承知域の外に延びてい ない、多次元オブジェクトのデータベース。 33.前記多次元オブジェクトが、線、多角形、円、四角形を含むグループから 選択される、請求項32に記載のデータベース。 34.前記多次元オブジェクトの最小境界矩形を決定することにより前記位置点 が計算される、請求項32に記載のデータベース。 35.小地域が複数の小地域層を含む、請求項32に記載のデータベース。
JP53775598A 1997-02-27 1998-02-25 2次元またはそれ以上の次元のデータベース照会を最適化するシステムおよび方法 Expired - Lifetime JP4231943B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/807,471 US5963956A (en) 1997-02-27 1997-02-27 System and method of optimizing database queries in two or more dimensions
US08/807,471 1997-02-27
PCT/US1998/003493 WO1998038561A2 (en) 1997-02-27 1998-02-25 A system and method of optimizing database queries in two or more dimensions

Publications (3)

Publication Number Publication Date
JP2001513925A true JP2001513925A (ja) 2001-09-04
JP2001513925A5 JP2001513925A5 (ja) 2005-10-06
JP4231943B2 JP4231943B2 (ja) 2009-03-04

Family

ID=25196452

Family Applications (1)

Application Number Title Priority Date Filing Date
JP53775598A Expired - Lifetime JP4231943B2 (ja) 1997-02-27 1998-02-25 2次元またはそれ以上の次元のデータベース照会を最適化するシステムおよび方法

Country Status (7)

Country Link
US (4) US5963956A (ja)
EP (1) EP0974108B1 (ja)
JP (1) JP4231943B2 (ja)
AU (1) AU733949B2 (ja)
CA (1) CA2282022C (ja)
TW (1) TW405079B (ja)
WO (1) WO1998038561A2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012234415A (ja) * 2011-05-02 2012-11-29 Fujitsu Ltd インデックス管理方法、インデックス管理プログラムおよびインデックス管理装置
WO2013046669A1 (ja) * 2011-09-27 2013-04-04 日本電気株式会社 空間充填曲線処理システム、空間充填曲線処理方法およびプログラム
KR101405460B1 (ko) * 2009-12-04 2014-06-11 한국전자통신연구원 3d 공간색인 및 3d 컬링기법 기반의 전파분석 고속화 시스템 및 방법
JP2015526816A (ja) * 2012-08-07 2015-09-10 コーニンクレッカ フィリップス エヌ ヴェ ツリー型空間データ構造を使用した遺伝子データセットの母集団分類
US10095955B2 (en) 2014-09-05 2018-10-09 Kabushiki Kaisha Toshiba Object retrieval apparatus and object retrieval method
JP7189867B2 (ja) 2016-08-25 2022-12-14 コーニンクレッカ フィリップス エヌ ヴェ 空間データの保存又は取り出しのためのシステム、方法、コンピュータ・プログラム及び記録媒体
KR102508100B1 (ko) * 2022-07-22 2023-03-10 헬리오센 주식회사 비공간 정보와 3차원 공간정보 매핑데이터의 신뢰도를 향상시킨 고속 검색 시스템 및 방법

Families Citing this family (198)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL118959A (en) 1996-07-26 1999-07-14 Ori Software Dev Ltd Database apparatus
US6175835B1 (en) * 1996-07-26 2001-01-16 Ori Software Development, Ltd. Layered index with a basic unbalanced partitioned index that allows a balanced structure of blocks
US6208993B1 (en) * 1996-07-26 2001-03-27 Ori Software Development Ltd. Method for organizing directories
US6148261A (en) 1997-06-20 2000-11-14 American Calcar, Inc. Personal communication system to send and receive voice data positioning information
US6133853A (en) 1998-07-30 2000-10-17 American Calcar, Inc. Personal communication and positioning system
US6675173B1 (en) 1998-01-22 2004-01-06 Ori Software Development Ltd. Database apparatus
US6081624A (en) * 1998-06-01 2000-06-27 Autodesk, Inc. Spatial index compression through spatial subdivision encoding
US6370551B1 (en) * 1998-04-14 2002-04-09 Fuji Xerox Co., Ltd. Method and apparatus for displaying references to a user's document browsing history within the context of a new document
US6223182B1 (en) * 1998-06-30 2001-04-24 Oracle Corporation Dynamic data organization
US6732120B1 (en) * 1998-09-03 2004-05-04 Geojet Information Solutions Inc. System and method for processing and display of geographical data
US6772139B1 (en) * 1998-10-05 2004-08-03 Smith, Iii Julius O. Method and apparatus for facilitating use of hypertext links on the world wide web
EP1123581A4 (en) 1998-10-21 2005-08-10 American Calcar Inc POSITION CAMERA AND GPS DATA EXCHANGE DEVICE
DE69920258T3 (de) * 1998-11-16 2012-09-13 Cycore Ab Verfahren zur datenadministration
US6721759B1 (en) * 1998-12-24 2004-04-13 Sony Corporation Techniques for spatial representation of data and browsing based on similarity
US6389375B1 (en) * 1999-01-22 2002-05-14 Interlego Ag Virtual reality modelling
US6859769B1 (en) * 1999-01-26 2005-02-22 Analytical Graphics, Inc. Method and apparatus for creating elements and systems for description of position and motion of bodies in three-dimensional space to support orbital maneuver analysis
US6323874B1 (en) * 1999-02-08 2001-11-27 Silicon Graphics, Inc. System and method for rendering an image
US6353832B1 (en) * 1999-05-11 2002-03-05 Lucent Technologies Inc Selectivity estimation in spatial databases
US6401098B1 (en) * 1999-07-15 2002-06-04 American Management Systems, Inc. System for database creation, maintenance and access using event marking and two-dimensional partitioning
US6473809B1 (en) * 1999-08-03 2002-10-29 Matsushita Electric Industrial Co., Ltd. Scheduling method and apparatus for network-attached storage devices and other systems
US6374242B1 (en) * 1999-09-29 2002-04-16 Lockheed Martin Corporation Natural-language information processor with association searches limited within blocks
JP2003529054A (ja) 1999-10-19 2003-09-30 アメリカン カルカー インコーポレイティド ユーザの嗜好に基づいた効果的なナビゲーション技術
US7475057B1 (en) 1999-10-27 2009-01-06 American Calcar, Inc. System and method for user navigation
US6636849B1 (en) * 1999-11-23 2003-10-21 Genmetrics, Inc. Data search employing metric spaces, multigrid indexes, and B-grid trees
US6526418B1 (en) * 1999-12-16 2003-02-25 Livevault Corporation Systems and methods for backing up data files
KR20000023961A (ko) * 1999-12-22 2000-05-06 김정태 정보 모델링방법 및 데이터베이스 검색시스템
EP3367268A1 (en) * 2000-02-22 2018-08-29 Nokia Technologies Oy Spatially coding and displaying information
US6324470B1 (en) 2000-03-07 2001-11-27 Navigation Technologies Corporation Method and system for representing restricted driving maneuvers
US7343165B2 (en) * 2000-04-11 2008-03-11 American Calcar Inc. GPS publication application server
US20020010572A1 (en) * 2000-04-14 2002-01-24 Lyman Orton Integrated system for and method of supporting spatial decision making and land-use scenario analysis
AU2001278953A1 (en) 2000-07-28 2002-02-13 American Calcar, Inc. Technique for effective organization and communication of information
US6591270B1 (en) 2000-07-28 2003-07-08 Navigation Technologies Corporation Method for organizing map data
US7027072B1 (en) * 2000-10-13 2006-04-11 Silicon Graphics, Inc. Method and system for spatially compositing digital video images with a tile pattern library
US7689621B1 (en) * 2000-11-06 2010-03-30 Navteq North America, Llc Multi-dimensional spatial index for a geographic database
US7904486B2 (en) * 2000-12-15 2011-03-08 British Telecommunications Public Limited Company Method of indexing entities
US7358974B2 (en) * 2001-01-29 2008-04-15 Silicon Graphics, Inc. Method and system for minimizing an amount of data needed to test data against subarea boundaries in spatially composited digital video
US6804677B2 (en) * 2001-02-26 2004-10-12 Ori Software Development Ltd. Encoding semi-structured data for efficient search and browsing
US7283987B2 (en) * 2001-03-05 2007-10-16 Sap Ag Compression scheme for improving cache behavior in database systems
FR2822275B1 (fr) * 2001-03-13 2003-06-06 Opteway Procede pour rechercher un objet au sein d'un espace, procede et systeme de cartographie vectorielle integrant ce procede de recherche et appareil electronique mettant en oeu vre ce procede de cartographie vectorielle
US6732107B1 (en) * 2001-03-26 2004-05-04 Ncr Corporation Spatial join method and apparatus
US7167856B2 (en) * 2001-05-15 2007-01-23 Jonathan Keir Lawder Method of storing and retrieving multi-dimensional data using the hilbert curve
US20030033217A1 (en) * 2001-05-18 2003-02-13 International Business Machines Corporation Method and system for mapping shelf space
US7580927B1 (en) * 2001-05-29 2009-08-25 Oracle International Corporation Quadtree center tile/boundary tile optimization
US7219108B2 (en) * 2001-06-22 2007-05-15 Oracle International Corporation Query prunning using exterior tiles in an R-tree index
US7080065B1 (en) * 2001-06-22 2006-07-18 Oracle International Corporation Query pruning using interior rectangles in an R-tree index
US6879980B1 (en) * 2001-06-29 2005-04-12 Oracle International Corporation Nearest neighbor query processing in a linear quadtree spatial index
US6985144B2 (en) * 2001-10-30 2006-01-10 Hewlett-Packard Development Company, L.P. Layout design apparatus and method for three-dimensional graphical environments
US6919910B2 (en) * 2001-10-30 2005-07-19 Hewlett-Packard Development Company, L.P. Apparatus and method for distributing representative images in partitioned areas of a three-dimensional graphical environment
US7287033B2 (en) * 2002-03-06 2007-10-23 Ori Software Development, Ltd. Efficient traversals over hierarchical data and indexing semistructured data
US7152071B2 (en) * 2002-05-01 2006-12-19 Sun Microsystems, Inc. Shape-based geometric database and methods and systems for construction and use thereof
US7143098B2 (en) * 2002-05-10 2006-11-28 International Business Machines Corporation Systems, methods, and computer program products to reduce computer processing in grid cell size determination for indexing of multidimensional databases
US7383275B2 (en) * 2002-05-10 2008-06-03 International Business Machines Corporation Methods to improve indexing of multidimensional databases
US7373353B2 (en) 2002-05-10 2008-05-13 International Business Machines Corporation Reducing index size for multi-level grid indexes
US6891170B1 (en) * 2002-06-17 2005-05-10 Zyvex Corporation Modular manipulation system for manipulating a sample under study with a microscope
US6782319B1 (en) * 2002-11-26 2004-08-24 Navteq North America, Llc Method for organizing map data
US7272608B2 (en) 2002-11-27 2007-09-18 Zyvex Labs, Llc Isosurface extraction into splat hierarchy
US7272607B2 (en) 2002-11-27 2007-09-18 Zyvex Labs, Llc System and method for processing a hierarchical data tree
US7519603B2 (en) * 2002-11-27 2009-04-14 Zyvex Labs, Llc Efficient data structure
KR20040055901A (ko) * 2002-12-23 2004-06-30 한국전자통신연구원 점진적인 공간 데이터 서비스 시스템 및 방법
US6993538B2 (en) * 2003-01-28 2006-01-31 Microsoft Corporation System and process for identifying objects and/or points nearby a given object or point
DE60300019D1 (de) * 2003-02-18 2004-09-09 Tropf Hermann Datenbank und Methode für das Organisieren der Datenelemente
US20040181518A1 (en) * 2003-03-14 2004-09-16 Mayo Bryan Edward System and method for an OLAP engine having dynamic disaggregation
US7181467B2 (en) * 2003-03-27 2007-02-20 Oracle International Corporation Delayed distance computations for nearest-neighbor queries in an R-tree index
US7099882B2 (en) * 2003-04-29 2006-08-29 Navteq North America, Llc Method and system for forming, updating, and using a geographic database
US7034837B2 (en) * 2003-05-05 2006-04-25 Silicon Graphics, Inc. Method, system, and computer program product for determining a structure of a graphics compositor tree
US7177882B2 (en) * 2003-09-05 2007-02-13 Oracle International Corporation Georaster physical data model for storing georeferenced raster data
JP2007506981A (ja) 2003-09-23 2007-03-22 ザイベックス コーポレーション Fibで調製した試料を把持する素子を使用した顕微鏡検査のための方法、システム、および装置
US8972380B2 (en) * 2003-09-29 2015-03-03 International Business Machines Corporaton System and method for monitoring events against continual range queries
US7835953B2 (en) * 2003-09-29 2010-11-16 International Business Machines Corporation Method and structure for monitoring moving objects
US7225208B2 (en) * 2003-09-30 2007-05-29 Iron Mountain Incorporated Systems and methods for backing up data files
EP1704387B1 (en) * 2003-12-19 2013-03-27 DeCarta Inc. Geocoding locations near a specified city
US7668845B1 (en) * 2004-02-18 2010-02-23 Microsoft Corporation C-tree for multi-attribute indexing
TW200531420A (en) 2004-02-20 2005-09-16 Zyvex Corp Positioning device for microscopic motion
DE602005002379T2 (de) 2004-02-23 2008-06-12 Zyvex Instruments, LLC, Richardson Benutzung einer Sonde in einer Teilchenstrahlvorrichtung
US20050198008A1 (en) * 2004-03-02 2005-09-08 Adler David W. Index exploitation for spatial data
US7326293B2 (en) * 2004-03-26 2008-02-05 Zyvex Labs, Llc Patterned atomic layer epitaxy
US7313568B2 (en) * 2004-03-31 2007-12-25 International Business Machines Corporation Generating and analyzing business process-aware modules
US7457813B2 (en) * 2004-10-06 2008-11-25 Burnside Acquisition, Llc Storage system for randomly named blocks of data
US7400784B2 (en) * 2004-10-19 2008-07-15 Institut National De L'audiovisuel-Ina Search of similar features representing objects in a large reference database
WO2006046669A1 (ja) * 2004-10-28 2006-05-04 University Of Fukui データベース管理装置、方法、プログラム
US7389283B2 (en) * 2004-12-07 2008-06-17 International Business Machines Corporation Method for determining an optimal grid index specification for multidimensional data
US7877405B2 (en) * 2005-01-07 2011-01-25 Oracle International Corporation Pruning of spatial queries using index root MBRS on partitioned indexes
US20060227135A1 (en) * 2005-03-31 2006-10-12 Johnson Peter W System and method for N-dimensional parametric analysis
US7353034B2 (en) 2005-04-04 2008-04-01 X One, Inc. Location sharing and tracking using mobile phones or other wireless devices
US20060235742A1 (en) * 2005-04-18 2006-10-19 Castellanos Maria G System and method for process evaluation
US7991779B1 (en) * 2005-04-25 2011-08-02 Hewlett Packard Development Company, L.P. Method and apparatus for populating an index table
US20060242169A1 (en) * 2005-04-25 2006-10-26 Microsoft Corporation Storing and indexing hierarchical data spatially
US20060265352A1 (en) * 2005-05-20 2006-11-23 International Business Machines Corporation Methods and apparatus for information integration in accordance with web services
WO2007002800A2 (en) 2005-06-28 2007-01-04 Metacarta, Inc. User interface for geographic search
AU2005239672B2 (en) * 2005-11-30 2009-06-11 Canon Kabushiki Kaisha Sortable collection browser
US7903125B1 (en) * 2006-02-07 2011-03-08 Adobe Systems Incorporated Compact clustered 2-D layout
US20070192215A1 (en) * 2006-02-10 2007-08-16 Taylor Thomas B Computer-implemented registration for providing inventory fulfillment services to merchants
US20070198951A1 (en) * 2006-02-10 2007-08-23 Metacarta, Inc. Systems and methods for spatial thumbnails and companion maps for media objects
TW200731760A (en) * 2006-02-13 2007-08-16 Benq Corp Image capturing method and image-capturing device thereof
US7912296B1 (en) 2006-05-02 2011-03-22 Google Inc. Coverage mask generation for large images
US7965902B1 (en) 2006-05-19 2011-06-21 Google Inc. Large-scale image processing using mass parallelization techniques
US8015183B2 (en) * 2006-06-12 2011-09-06 Nokia Corporation System and methods for providing statstically interesting geographical information based on queries to a geographic search engine
US8762493B1 (en) * 2006-06-22 2014-06-24 Google Inc. Hierarchical spatial data structure and 3D index data versioning for generating packet data
US9721157B2 (en) 2006-08-04 2017-08-01 Nokia Technologies Oy Systems and methods for obtaining and using information from map images
US20080065685A1 (en) * 2006-08-04 2008-03-13 Metacarta, Inc. Systems and methods for presenting results of geographic text searches
WO2008019344A2 (en) * 2006-08-04 2008-02-14 Metacarta, Inc. Systems and methods for obtaining and using information from map images
US20080097954A1 (en) * 2006-10-20 2008-04-24 Microsoft Corporation Ranged lookups
WO2008055234A2 (en) * 2006-10-31 2008-05-08 Metacarta, Inc. Systems and methods for predictive models using geographic text search
US9146948B2 (en) * 2006-12-12 2015-09-29 International Business Machines Corporation Hilbert ordering of multidimensional tuples within computing systems
WO2009075689A2 (en) 2006-12-21 2009-06-18 Metacarta, Inc. Methods of systems of using geographic meta-metadata in information retrieval and document displays
US20080222080A1 (en) * 2007-03-06 2008-09-11 Nitrosecurity, Inc. Inferred index of circular tables in a database
US8244772B2 (en) * 2007-03-29 2012-08-14 Franz, Inc. Method for creating a scalable graph database using coordinate data elements
US7853480B2 (en) * 2007-05-21 2010-12-14 Amazon Technologies, Inc. System and method for providing export services to merchants
EP2015275B1 (en) * 2007-07-11 2017-12-13 Alcatel Lucent Method for tracking moving entities
US8943038B2 (en) * 2007-10-04 2015-01-27 Gefemer Research Acquisitions, Llc Method and apparatus for integrated cross platform multimedia broadband search and selection user interface communication
KR100907283B1 (ko) * 2007-10-31 2009-07-13 연세대학교 산학협력단 지속적으로 발생되는 데이터 객체들로 구성되는 비한정적데이터 집합인 데이터 스트림으로부터 클러스터를 찾는방법 및 장치
US20090132469A1 (en) * 2007-11-16 2009-05-21 Urban Mapping, Inc. Geocoding based on neighborhoods and other uniquely defined informal spaces or geographical regions
JP4921335B2 (ja) * 2007-12-10 2012-04-25 キヤノン株式会社 ドキュメント処理装置及び検索方法
US8429133B2 (en) * 2007-12-13 2013-04-23 Oracle International Corporation Partial key indexes
US8001139B2 (en) * 2007-12-20 2011-08-16 Yahoo! Inc. Using a bipartite graph to model and derive image and text associations
US7734714B2 (en) * 2008-01-11 2010-06-08 Spacecurve, Inc. Spatial Sieve Tree
US8185568B2 (en) * 2008-03-24 2012-05-22 Shlomo Selim Rakib Method of providing space filling patterns
US8260549B2 (en) 2008-04-01 2012-09-04 Decarta Inc. Transmission of routes between client and server using route IDs
US8489324B2 (en) * 2008-04-01 2013-07-16 Decarta Inc. Retrieval of vehicular traffic information optimized for wireless mobile environments
WO2009121299A1 (en) 2008-04-01 2009-10-08 Decarta Inc. Point of interest search along a route
US8510310B2 (en) * 2008-12-23 2013-08-13 Zhijing George Mou Method and system for multi-dimensional and geographic search
US20100185672A1 (en) * 2009-01-21 2010-07-22 Rising Iii Hawley K Techniques for spatial representation of data and browsing based on similarity
WO2010111833A1 (en) 2009-04-01 2010-10-07 Decarta Inc. Point of interest search along a route with return
EP2241983B1 (en) * 2009-04-17 2012-12-19 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Method for searching objects in a database
US8255418B2 (en) * 2009-05-05 2012-08-28 Real Estate Portal Usa, Llc Networked computer system providing an integrated suite of web services and a geographic information system (GIS) for real property and land parcels
US8532925B2 (en) * 2009-05-08 2013-09-10 Alpine Electronics, Inc. Spatial indexing method and apparatus for navigation system for indexing and retrieval of XML map data
US20130066881A1 (en) * 2009-05-15 2013-03-14 Hyundai Motor Company Indexing system of spatial information for combined soi object and content
US8290952B2 (en) * 2009-06-24 2012-10-16 Nokia Corporation Method and apparatus for retrieving nearby data
EP2483804B1 (en) 2009-10-02 2016-05-18 VRVIS Zentrum Für Virtual Reality Und Visualisierung Forschungs-GmbH Visual queries in data exploration
US20110087425A1 (en) * 2009-10-08 2011-04-14 Telenav, Inc. Navigation system with map compression and method of operation thereof
GB2477307A (en) * 2010-01-28 2011-08-03 Adsensa Ltd Embedding authentication data into an electronic document image
US20110196602A1 (en) * 2010-02-08 2011-08-11 Navteq North America, Llc Destination search in a navigation system using a spatial index structure
WO2011110903A1 (en) * 2010-03-07 2011-09-15 Onn Haran System and method for improving communications in ad-hoc vehicular networks
TWI398828B (zh) * 2010-04-06 2013-06-11 Univ Nat Sun Yat Sen A Method of Seeking Range Query in Hilbert Curve
US8788543B2 (en) * 2010-05-13 2014-07-22 International Business Machines Corporation Scalable, concurrent resizing of hash tables
US8352480B2 (en) * 2010-12-20 2013-01-08 Nokia Corporation Methods, apparatuses and computer program products for converting a geographical database into a map tile database
US20120311474A1 (en) * 2011-06-02 2012-12-06 Microsoft Corporation Map-based methods of visualizing relational databases
US8659600B2 (en) * 2011-07-13 2014-02-25 Pixar Generating vector displacement maps using parameterized sculpted meshes
US9069707B1 (en) 2011-11-03 2015-06-30 Permabit Technology Corp. Indexing deduplicated data
JP5867145B2 (ja) * 2012-02-20 2016-02-24 富士通株式会社 ファイル管理装置、ファイル管理システム、ファイル管理方法およびファイル管理プログラム
US9148699B2 (en) * 2012-06-01 2015-09-29 Texas Instruments Incorporated Optimized algorithm for construction of composite video from a set of discrete video sources
US8650220B2 (en) * 2012-06-05 2014-02-11 Google Inc. System and method for storing and retrieving geospatial data
US8812488B2 (en) * 2012-08-16 2014-08-19 Oracle International Corporation Constructing multidimensional histograms for complex spatial geometry objects
US8751526B1 (en) 2012-08-29 2014-06-10 Bentley Systems, Incorporated Efficient range unions in SQL
US9058347B2 (en) * 2012-08-30 2015-06-16 Facebook, Inc. Prospective search of objects using K-D forest
US9053191B2 (en) 2012-08-30 2015-06-09 Facebook, Inc. Retroactive search of objects using k-d tree
US8965900B2 (en) 2012-09-14 2015-02-24 Bentley Systems, Incorporated Efficiently finding spatially scored best entities
US9157751B2 (en) * 2012-11-09 2015-10-13 Here Global B.V. Navigation system and method
CN103116610A (zh) * 2013-01-23 2013-05-22 浙江大学 基于HBase的矢量空间大数据存储方法
CN103106276B (zh) * 2013-02-17 2016-03-30 南京师范大学 一种基于小角编码的矢量数据网格索引方法
US9367938B2 (en) * 2013-02-28 2016-06-14 Nokia Technologies Oy Method and apparatus for automated real-time detection of overlapping painted markup elements
US9953042B1 (en) 2013-03-01 2018-04-24 Red Hat, Inc. Managing a deduplicated data index
US9501526B2 (en) * 2013-04-17 2016-11-22 Excalibur Ip, Llc Efficient database searching
US9922062B2 (en) * 2013-07-16 2018-03-20 Clearag, Inc. High-performance gridded data storage, arrangement and extraction
US9317529B2 (en) 2013-08-14 2016-04-19 Oracle International Corporation Memory-efficient spatial histogram construction
US9990398B2 (en) 2013-09-20 2018-06-05 Oracle International Corporation Inferring dimensional metadata from content of a query
US9740718B2 (en) 2013-09-20 2017-08-22 Oracle International Corporation Aggregating dimensional data using dense containers
US9836519B2 (en) 2013-09-20 2017-12-05 Oracle International Corporation Densely grouping dimensional data
US10210197B2 (en) 2013-10-18 2019-02-19 New York Air Brake Corporation Dynamically scalable distributed heterogenous platform relational database
CN105637499B (zh) * 2013-10-18 2019-02-26 纽约气闸有限公司 动态可扩展分布式异构平台关系型的数据库系统装置
US20150113379A1 (en) * 2013-10-23 2015-04-23 Schlumberger Technology Corporation Representation of unstructured grids
CN106457043A (zh) * 2014-04-15 2017-02-22 金.Com有限公司 设备、游戏及其方法
US9720931B2 (en) 2014-05-09 2017-08-01 Sap Se Querying spatial data in column stores using grid-order scans
US9613055B2 (en) * 2014-05-09 2017-04-04 Sap Se Querying spatial data in column stores using tree-order scans
CN106796589B (zh) * 2014-05-30 2021-01-15 湖北第二师范学院 空间数据对象的索引方法和系统
GB2528669B (en) * 2014-07-25 2017-05-24 Toshiba Res Europe Ltd Image Analysis Method
US9916671B2 (en) * 2014-09-09 2018-03-13 Adobe Systems Incorporated Spatial visualization of metrics
US10162860B2 (en) 2014-10-20 2018-12-25 International Business Machines Corporation Selectivity estimation for query execution planning in a database
US10007677B1 (en) 2014-12-04 2018-06-26 Google Llc System and method for geospatial indexing
US9786071B2 (en) * 2015-03-25 2017-10-10 International Business Machines Corporation Geometric shape hierarchy determination to provide visualization context
US20160334233A1 (en) * 2015-05-15 2016-11-17 Richard Gary John BAVERSTOCK Elevation query systems for vehicular route optimization and methods thereof
GB201515950D0 (en) * 2015-09-09 2015-10-21 Ibm Method for processing large data tables
US10783142B2 (en) 2015-10-23 2020-09-22 Oracle International Corporation Efficient data retrieval in staged use of in-memory cursor duration temporary tables
US10642831B2 (en) 2015-10-23 2020-05-05 Oracle International Corporation Static data caching for queries with a clause that requires multiple iterations to execute
US10678792B2 (en) 2015-10-23 2020-06-09 Oracle International Corporation Parallel execution of queries with a recursive clause
US10156842B2 (en) 2015-12-31 2018-12-18 General Electric Company Device enrollment in a cloud service using an authenticated application
US10839569B2 (en) * 2016-02-03 2020-11-17 NorthStar Memorial Group LLC System for geospatial mapping of cemetery properties
CN105828292A (zh) * 2016-05-09 2016-08-03 青岛海信移动通信技术股份有限公司 一种基于地理围栏的位置检测方法及装置
EP3467807B1 (en) * 2016-06-06 2022-02-16 KDDI Corporation Map information transmission device for transmitting objects for display superimposed on map, map display device, program, and method
US10650012B1 (en) * 2016-07-13 2020-05-12 United States Of America As Represented By Secretary Of The Navy Multi-dimensional range-index searching using search box approximation and splitting
US10558659B2 (en) 2016-09-16 2020-02-11 Oracle International Corporation Techniques for dictionary based join and aggregation
US11741137B2 (en) * 2016-09-26 2023-08-29 Sanjiv Kapoor Biased string search structures with embedded range search structures
US20180199549A1 (en) * 2017-01-15 2018-07-19 Thomas A. Brake Hygienic nesting Cavity for Birds
US10678842B2 (en) 2017-03-21 2020-06-09 EarthX, Inc. Geostory method and apparatus
US11086876B2 (en) 2017-09-29 2021-08-10 Oracle International Corporation Storing derived summaries on persistent memory of a storage device
US11048679B2 (en) 2017-10-31 2021-06-29 Oracle International Corporation Adaptive resolution histogram on complex datatypes
US10747783B2 (en) * 2017-12-14 2020-08-18 Ebay Inc. Database access using a z-curve
US11481378B1 (en) 2018-10-31 2022-10-25 Anaplan, Inc. Method and system for servicing query requests using document-based metadata
US11281683B1 (en) 2018-10-31 2022-03-22 Anaplan, Inc. Distributed computation system for servicing queries using revisions maps
US11580105B2 (en) 2018-10-31 2023-02-14 Anaplan, Inc. Method and system for implementing subscription barriers in a distributed computation system
US11573927B1 (en) 2018-10-31 2023-02-07 Anaplan, Inc. Method and system for implementing hidden subscriptions in a distributed computation system
US11354324B1 (en) 2018-10-31 2022-06-07 Anaplan, Inc. Method and system for servicing query requests using revisions maps
US11475003B1 (en) * 2018-10-31 2022-10-18 Anaplan, Inc. Method and system for servicing query requests using dataspaces
CN111221813B (zh) 2018-11-27 2023-06-23 阿里巴巴集团控股有限公司 数据库索引以及数据库查询的处理方法、装置及设备
US11222018B2 (en) 2019-09-09 2022-01-11 Oracle International Corporation Cache conscious techniques for generation of quasi-dense grouping codes of compressed columnar data in relational database systems
US11507590B2 (en) 2019-09-13 2022-11-22 Oracle International Corporation Techniques for in-memory spatial object filtering
CN113220928B (zh) * 2020-01-21 2024-06-11 北京达佳互联信息技术有限公司 一种图像搜索方法、装置、电子设备及存储介质
CN113179313B (zh) * 2021-04-25 2023-04-07 湖南视觉伟业智能科技有限公司 分布式时空查询方法及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2027253C (en) * 1989-12-29 1997-12-16 Steven C. Bagley Editing text in an image
US5353391A (en) * 1991-05-06 1994-10-04 Apple Computer, Inc. Method apparatus for transitioning between sequences of images
US5359712A (en) * 1991-05-06 1994-10-25 Apple Computer, Inc. Method and apparatus for transitioning between sequences of digital information
US5546572A (en) * 1991-08-28 1996-08-13 Hitachi, Ltd. Method for retrieving database of image information
US5566349A (en) * 1994-05-16 1996-10-15 Trout; Ray C. Complementary concurrent cooperative multi-processing multi-tasking processing system using shared memories with a minimum of four complementary processors
US5568200A (en) * 1995-06-07 1996-10-22 Hitachi America, Ltd. Method and apparatus for improved video display of progressively refreshed coded video

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101405460B1 (ko) * 2009-12-04 2014-06-11 한국전자통신연구원 3d 공간색인 및 3d 컬링기법 기반의 전파분석 고속화 시스템 및 방법
JP2012234415A (ja) * 2011-05-02 2012-11-29 Fujitsu Ltd インデックス管理方法、インデックス管理プログラムおよびインデックス管理装置
WO2013046669A1 (ja) * 2011-09-27 2013-04-04 日本電気株式会社 空間充填曲線処理システム、空間充填曲線処理方法およびプログラム
JPWO2013046669A1 (ja) * 2011-09-27 2015-03-26 日本電気株式会社 空間充填曲線処理システム、空間充填曲線処理方法およびプログラム
JP2015526816A (ja) * 2012-08-07 2015-09-10 コーニンクレッカ フィリップス エヌ ヴェ ツリー型空間データ構造を使用した遺伝子データセットの母集団分類
US10095955B2 (en) 2014-09-05 2018-10-09 Kabushiki Kaisha Toshiba Object retrieval apparatus and object retrieval method
US10671880B2 (en) 2014-09-05 2020-06-02 Kabushiki Kaisha Toshiba Object retrieval apparatus and object retrieval method
JP7189867B2 (ja) 2016-08-25 2022-12-14 コーニンクレッカ フィリップス エヌ ヴェ 空間データの保存又は取り出しのためのシステム、方法、コンピュータ・プログラム及び記録媒体
KR102508100B1 (ko) * 2022-07-22 2023-03-10 헬리오센 주식회사 비공간 정보와 3차원 공간정보 매핑데이터의 신뢰도를 향상시킨 고속 검색 시스템 및 방법

Also Published As

Publication number Publication date
TW405079B (en) 2000-09-11
AU733949B2 (en) 2001-05-31
CA2282022C (en) 2006-02-14
US20030187867A1 (en) 2003-10-02
WO1998038561A2 (en) 1998-09-03
EP0974108A4 (en) 2005-05-18
WO1998038561A3 (en) 1998-12-03
EP0974108A2 (en) 2000-01-26
US7035869B2 (en) 2006-04-25
US20060184519A1 (en) 2006-08-17
EP0974108B1 (en) 2013-01-16
US5963956A (en) 1999-10-05
JP4231943B2 (ja) 2009-03-04
CA2282022A1 (en) 1998-09-03
AU6335798A (en) 1998-09-18
US6470287B1 (en) 2002-10-22
US7725425B2 (en) 2010-05-25

Similar Documents

Publication Publication Date Title
JP2001513925A (ja) 2次元またはそれ以上の次元のデータベース照会を最適化するシステムおよび方法
Gaede et al. Multidimensional access methods
US7379936B2 (en) Pruning of spatial queries on geodetic data when query window has holes
Hoel et al. Benchmarking spatial join operations with spatial output
US7239989B2 (en) Within-distance query pruning in an R-tree index
US7181467B2 (en) Delayed distance computations for nearest-neighbor queries in an R-tree index
van Oosterom Spatial access methods
Ooi et al. Indexing in spatial databases
Ooi Spatial kd-tree: A data structure for geographic database
Frank Properties of geographic data: Requirements for spatial access methods
Ravada et al. Oracle8i spatial: Experiences with extensible databases
Jones et al. The implicit triangulated irregular network and multiscale spatial databases
Roumelis et al. An efficient algorithm for bulk-loading xBR+-trees
Ooi et al. Spatial indexing in binary decomposition and spatial bounding
Van Oosterom et al. Testing current DBMS products with real spatial data
Koudas Indexing support for spatial joins
Kuo et al. A data structure for fast region searches
Egenhofer Managing storage structures for spatial data in databases
Touir ML-Quadtree: The design of an efficient access method for spatial database systems
Gao Spatial indexing of large volume bathymetric data sets
Viehmann et al. New Dimensions in Relational Database Technology for Spatial Data Management
Adam et al. Efficient Access to Spatial Data
Cho et al. Dynamic and hierarchical spatial access method using integer searching
Knorr Efficiently determining aggregrate proximity relationships in spatial data mining
Bertino et al. Temporal Databases

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050221

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080408

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080704

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080811

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080806

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: 20081021

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081119

A72 Notification of change in name of applicant

Free format text: JAPANESE INTERMEDIATE CODE: A721

Effective date: 20081119

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

Free format text: PAYMENT UNTIL: 20111219

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: 20121219

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121219

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131219

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term