JP2010160591A - 空間データ管理装置、空間データ管理方法、および、空間データ管理プログラム - Google Patents

空間データ管理装置、空間データ管理方法、および、空間データ管理プログラム Download PDF

Info

Publication number
JP2010160591A
JP2010160591A JP2009001234A JP2009001234A JP2010160591A JP 2010160591 A JP2010160591 A JP 2010160591A JP 2009001234 A JP2009001234 A JP 2009001234A JP 2009001234 A JP2009001234 A JP 2009001234A JP 2010160591 A JP2010160591 A JP 2010160591A
Authority
JP
Japan
Prior art keywords
spatial
region
search
spatial data
index tree
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
JP2009001234A
Other languages
English (en)
Other versions
JP2010160591A5 (ja
JP5237837B2 (ja
Inventor
Hideki Hayashi
秀樹 林
Masaaki Tanizaki
正明 谷崎
Koji Kimura
耕治 木村
Hisanori Kajiyama
尚紀 梶山
Masanori Irie
正憲 入江
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.)
Hitachi Software Engineering Co Ltd
Hitachi Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
Hitachi Ltd
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 Hitachi Software Engineering Co Ltd, Hitachi Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP2009001234A priority Critical patent/JP5237837B2/ja
Publication of JP2010160591A publication Critical patent/JP2010160591A/ja
Publication of JP2010160591A5 publication Critical patent/JP2010160591A5/ja
Application granted granted Critical
Publication of JP5237837B2 publication Critical patent/JP5237837B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】空間領域に配置されたオブジェクトの検索処理について、高速かつ小容量で実施すること。
【解決手段】空間データ管理装置1のオブジェクト検索部30は、領域索引ツリー21のルートノードから順に、検索範囲の代表点をスカラ値に写像した検索符号値と、領域索引ツリー21の各ノードの空間領域のキー値とを照合することにより、非リーフノード、リーフノード、オブジェクトへのリンクと辿ることで、検索範囲の代表点が含まれる空間領域と、その空間領域からリンクするオブジェクトとを抽出する手順について、一巡ごとに検索範囲から辿った空間領域を除外した領域の代表点を新たな検索符号値として更新することで繰り返すことで、検索範囲に交わるオブジェクトを検索する。
【選択図】図1

Description

本発明は、空間データ管理装置、空間データ管理方法、および、空間データ管理プログラムに関する。
近年、二次元、または三次元の空間に存在する建築物などのオブジェクトを管理可能なデータベース管理システム(空間DB管理システム)が開発されている。このようなオブジェクトの検索は、ナビゲーション機能に特化した地図検索システム、都市計画や防災などの行政システム、ガスや水道などの施設管理を応用とする地理情報システムに必要とされる。そのため、空間DB管理システムは、地理情報システムのデータ管理ミドルウェアとして利用されている。
オブジェクトは、その位置や形状を表現する図形要素と、その内容を表現する文字や数値等の属性要素から構成される。空間DB管理システムでは、大容量の二次記憶装置に格納された多量のオブジェクトの中から、図形要素を含む検索条件に合致したオブジェクトを高速に検索することが求められる。
空間DB管理システムでは、オブジェクトの検索として、範囲検索やk最近傍検索を備えている。範囲検索では、任意の形状の図形を指定し、その図形に包含される、または交差するオブジェクトを検索する。地理情報システムでは、範囲検索は、地図を画面に描画する際に用いられる。この場合、画面の範囲に含まれるオブジェクトを検索することになる。ユーザが描画範囲を移動させる際、または描画範囲の拡大や縮小を行う際に、範囲検索の処理が頻発する。
一方、k最近傍検索では、任意の地点を指定し、その地点から距離の近い上位k件のオブジェクトを検索する。k最近傍検索は、例えば、地図検索システムにおいて、観光先の目的地から距離の近い上位10件の飲食店を検索する場合に用いられる。また、地図情報システムにおいて、図形データの編集を行う際に、マウスポインタで最近接のオブジェクトを指定する場合に、最近傍検索が利用される。
また、空間DB管理システムは、地図を利用する組込機器のソフトウェア(組込ソフトウェア)の開発でも、利用されつつある。その代表例は、カーナビゲーション装置やPND(Personal Navigation Device)などの車載情報端末や携帯情報端末のナビゲーションソフトウェアである。ナビゲーションソフトウェアの主な機能は、画面への地図表示、店舗や施設などの地図検索、現在地から目的地までの経路検索などである。これらの機能の内部処理は、オブジェクトの検索を基本処理とする。開発者が空間DB管理システムを用いると、機能ごとにオブジェクトの検索の処理を実装する必要がないため、ソフトウェアの開発工数を削減できる。
空間DB管理システムは、オブジェクトの検索を高速に処理するため、空間索引を作成する。空間DB管理システムは、空間索引を用いることで、検索対象となるオブジェクトを空間的に絞り込むことができる。その結果、検索処理時間の大部分を占める二次記憶装置と主記憶装置の間のディスクアクセス処理の回数を削減できる。このディスクアクセス処理は、二次記憶装置から主記憶装置にオブジェクトを読み込むときに発生する。
非特許文献1には、代表的な空間索引として、PMR4分木をデータ構造とする手法が開示されている。PMR4分木では、再帰的に空間領域を4分割した領域をZオーダの順位で符号化し、その領域の符号値をキー値とした1次元のツリー構造索引で管理する。
「Speeding up construction of PMR quadtree-based spatial indexes」VLDB Journal、 Vol.11、 Issue.2、 pp.109-137 (2002)
組込ソフトウェアなどのハードウェア資源の使用制約が厳しいプラットフォーム上での開発では、次の2つの制約を考慮する必要がある。
1つ目の制約は、組込ソフトウェアのサイズの制約である。組込ソフトウェアのプログラム、データ、索引を事前に決められた二次記憶装置や主記憶装置の容量に合わせる必要がある。組込システムの開発では、ハードウェアの部品を短小軽薄にしたいというニーズが高いため、開発者は、組込システムのハードウェアの部品に小容量の二次記憶装置や主記憶装置を用いる。その結果、組込ソフトウェアのサイズの制約を考慮し、空間DBのサイズを削減する必要がある。空間DBは、管理プログラム、オブジェクト、空間索引から構成される。これらの中で、大きな割合を占める空間索引の格納に必要な容量の削減が求められる。
2つ目の制約は、組込ソフトウェアの処理時間の制約である。組込システムでは、ある処理を実行してから、決められた時間内にその処理を終了させることが求められる。
範囲検索は、オブジェクトの検索の中で、最もよく利用される。そこで、容量削減後の空間索引を用いた場合でも、容量削減前の空間索引と同等に、高速に範囲検索を実現できる必要がある。
前記した非特許文献1で使用されるPMR4分木で空間データを管理する手法では、PMR4分木のデータ構造に冗長な部分が存在するため、2つの制約(小容量かつ高速)を充分に満たしているとはいえない。
例えば、PMR4分木のデータ構造は、B木などの一次元のツリー構造索引となり、リーフノードに空間領域の情報とオブジェクトの情報を組とした要素を格納する。この空間領域は、オブジェクトを内包または交差する領域となる。ここで、1つの空間領域に複数のオブジェクトが内包また交差する場合、同じ空間領域の情報をもつ要素が重複して、格納されることになる。
そこで、本発明は、前記した問題を解決し、空間領域上に配置されたオブジェクトの検索処理について、小容量かつ高速で実施することを、主な目的とする。
前記課題を解決するために、本発明は、多次元空間上にオブジェクトが配置される空間データを管理する空間データ管理装置であって、
前記空間データ管理装置は、空間データを格納する記憶部と、指定された検索範囲内に存在するオブジェクトを前記空間データから検索するオブジェクト検索部と、を有し、
前記記憶部には、各ノードからの子ノードの数を制限するバランス木として前記空間データを格納する領域索引ツリーが記憶され、
前記記憶された領域索引ツリーの各ノードには、前記空間データを1回以上等分割した空間領域の情報が所定数以下だけ格納され、その空間領域の情報は、空間領域の多次元空間上の位置を一意に示すスカラ値に写像した結果であるキー値が含まれ、
前記領域索引ツリーの子ノードを持つ非リーフノードには、その各子ノードのとりうるキー値の範囲に応じて、各子ノードへのリンクが対応づけられており、前記領域索引ツリーの子ノードを持たないリーフノードには、空間領域の情報から、その空間領域に外接矩形が交わるオブジェクトへのリンクが対応づけられており、
前記オブジェクト検索部が、
入力装置を介して前記検索範囲が指定されると、
前記領域索引ツリーのルートノードから順に、前記検索範囲の代表点をスカラ値に写像した検索符号値と、前記領域索引ツリーの各ノードの空間領域のキー値とを照合することにより、非リーフノード、リーフノード、オブジェクトへのリンクと辿ることで、前記検索範囲の代表点が含まれる空間領域と、その空間領域からリンクするオブジェクトとを抽出する手順について、一巡ごとに前記検索範囲から辿った空間領域を除外した領域の代表点を新たな検索符号値として更新することで繰り返し、
前記検索範囲から辿った空間領域を除外した領域が無くなると、前記領域索引ツリーの各ノードを辿る処理により抽出される各オブジェクトについて、オブジェクトの外接矩形と前記検索範囲とを照合し、少なくとも一部が交わるオブジェクトを、前記検索範囲に交わるオブジェクトとして出力することを特徴とする。
その他の手段は、後記する。
本発明によれば、空間領域上に配置されたオブジェクトの検索処理について、小容量かつ高速で実施することができる。
本発明の一実施形態に関する空間データ管理装置を示す構成図である。 本発明の一実施形態に関する領域索引ツリーを示す説明図である。図2(a)は、空間領域の展開図を示し、図2(b)は、その展開図を作成するためのツリー構造を示す。 本発明の一実施形態に関する局所的な地域における領域索引ツリーを示す説明図である。図3(a)は、空間領域の展開図を示し、図3(b)は、その展開図を作成するためのツリー構造を示す。 本発明の一実施形態に関するオブジェクト検索部が実行する領域索引ツリーの検索処理の概要を示す説明図である。図4(a)は、空間領域の展開図を示し、図4(b)は、その展開図を作成するためのツリー構造を示す。 本発明の一実施形態に関するオブジェクト登録部が実行する領域索引ツリーの登録処理の概要を示す説明図である。図5(a)は、空間領域の展開図を示し、図5(b)は、その展開図を作成するためのツリー構造を示す。 本発明の一実施形態に関するオブジェクト削除部が実行する領域索引ツリーの削除処理の概要を示す説明図である。図6(a)は、空間領域の展開図を示し、図6(b)は、その展開図を作成するためのツリー構造を示す。 本発明の一実施形態に関するオブジェクト検索部が実行する領域索引ツリーの検索処理を示すフローチャートである。 本発明の一実施形態に関する領域索引ツリーの検索処理における空間領域の検索処理を示すフローチャートである。 本発明の一実施形態に関する領域索引ツリーの検索処理におけるオブジェクトの交差判定処理を示すフローチャートである。 本発明の一実施形態に関する領域索引ツリーの検索処理における検索符号値の更新処理を示すフローチャートである。 本発明の一実施形態に関するオブジェクト登録部が実行する領域索引ツリーの登録処理を示すフローチャートである。 本発明の一実施形態に関するオブジェクト登録部が実行する領域索引ツリーの登録処理の詳細を示すフローチャートである。図12(a)が登録のメイン処理であり、図12(b)はそのメイン処理から呼び出されるサブルーチン処理である。 本発明の一実施形態に関するオブジェクト削除部が実行する領域索引ツリーの削除処理を示すフローチャートである。図13(a)が削除のメイン処理であり、図13(b)はそのメイン処理から呼び出されるサブルーチン処理である。
以下、本発明の一実施形態について、図面を参照して説明する。
図1は、空間データ管理装置1を示す構成図である。なお、本実施形態の「空間データ」における「空間」とは、3次元の立体空間だけに限定するのではなく、n次元(nは2以上の自然数)のベクトル空間全般を指す。以下、本実施形態は、n=2の平面ベクトル空間を例示して説明するが、本実施形態はn=2だけに限定するものではなく、n次元に拡張可能である。なお、n次元空間において、1回の空間分割処理により、1つの空間が(2のn乗)個の空間に等分割される。
空間データ管理装置1は、中央処理装置91、主記憶装置92、二次記憶装置93、入力装置94、および、出力装置95を含むコンピュータとして構成される。
中央処理装置91は、主記憶装置92に格納されたプログラムの処理を行い、各種処理を実行する。
主記憶装置92は、中央処理装置91で実行されるプログラムやデータを格納するメモリとして構成される。主記憶装置92には、処理部として、オブジェクト検索部30、オブジェクト登録部40、オブジェクト削除部50、および、データ切替部60を構成するためのプログラムが記憶されている。
二次記憶装置93は、ハードディスクドライブやフラッシュメモリディスクなどの大容量の記憶装置として構成される。二次記憶装置93には、主記憶装置92の各処理部が扱う空間データとして、領域索引ツリー21と、領域内オブジェクトテーブル22と、オブジェクト詳細テーブル23とを、対応づけて空間データベースとして記憶する。
入力装置94は、オブジェクトの検索に必要な検索条件などを入力する装置である。例えば、車載情報端末では、ハードウェアキーボードの他に、タッチパネルによるソフトウェアキーボードなどで構成される。
出力装置95は、オブジェクトの検索結果を表示する装置であり、液晶ディスプレイなどにより構成される。
二次記憶装置93が格納するデータについて、説明する。
領域索引ツリー21には、空間索引の情報が、低データ量かつ高速検索が可能なツリー構造として格納される(詳細は図2参照)。
領域内オブジェクトテーブル22には、領域索引ツリー21が示す各領域について、オブジェクトが含まれているか否かの情報が格納される。
オブジェクト詳細テーブル23には、領域内オブジェクトテーブル22で示されたオブジェクトの詳細情報が格納される。詳細情報には、オブジェクトの実形状を表現する座標値のリスト、および、オブジェクトの属性情報が含まれる。
オブジェクト検索部30は、領域索引ツリー21を用いて、任意の範囲(検索範囲)に含まれるオブジェクトを範囲検索する。
範囲検索には、次の二種類が存在する。1つは、検索範囲に内包するオブジェクトを検索する場合である。もう1つは、検索範囲に内包または交差するオブジェクトを検索する場合である。本実施形態のオブジェクト検索部30は、交差関係も含めた後者の範囲検索を対象とする。後者の範囲検索は、車載情報端末の例では、自車位置や目的地の周辺の地図を車載情報端末に表示させる処理に用いられる。なお、前者の範囲検索は後者の範囲検索の条件を厳しくしたもので、基本的には同様の処理で実現できる。
範囲検索を実行するため、オブジェクト検索部30は、検索初期設定部31、交差判定部32、検索起点設定部33、および、絶対座標値変換部34を含めて構成される。
オブジェクト登録部40は、二次記憶装置93の空間データ(領域索引ツリー21、領域内オブジェクトテーブル22、オブジェクト詳細テーブル23)に対して、新たにオブジェクトを登録(追加)する。
オブジェクト登録部40は、相対座標値変換部41と、領域分割部42とを含めて構成される。
相対座標値変換部41は、オブジェクトの外接矩形を絶対座標値から相対座標値に変換する。
領域分割部42は、オブジェクトの挿入で領域索引ツリー21のオブジェクトノードが溢れた場合に、空間領域を4分割する。
オブジェクト削除部50は、二次記憶装置93の空間データ(領域索引ツリー21、領域内オブジェクトテーブル22、オブジェクト詳細テーブル23)に対して、既に登録されているオブジェクトを削除する。オブジェクト削除部50は、領域併合部51を含めて構成される。
領域併合部51は、オブジェクトの削除によって領域索引ツリー21のオブジェクトノードを併合できる場合に、4つの空間領域を1つにまとめる。
データ切替部60は、オブジェクトの各処理(検索処理、登録処理、削除処理)の対象となる空間データ(領域索引ツリー21、領域内オブジェクトテーブル22、オブジェクト詳細テーブル23)のセットを、切り替える。空間データのセットは、二次記憶装置93内に複数組格納されている。
データ切替部60は、例えば、各空間データのセットが扱う空間範囲(日本全国版、関東版、東京都版など)をあらかじめ記憶し、入力装置94を介して指定される検索条件が示す位置(例えば、東京駅)が内包される空間データのセットの内、もっとも詳細な地図縮尺に対応する空間データのセット(例えば、東京都版)を選択する。
このように、空間データのセットを複数個用意することによって、二次記憶装置の容量を消費するものの、範囲検索を高速化させることができる。なお、空間データのセット(詳細地図)には、例えば、ドライバが普段頻繁に運転する地域が設定される。
一方、空間データのセットを1つ(例えば、日本全国版)だけ用意してもよい。そのときには、データ切替部60を空間データ管理装置1から省略することができる。
図2(a)は、領域索引ツリー21が示す情報を、説明用に理解しやすいように展開した展開図である。この展開図では、横(x)16区画×縦(y)16区画の空間領域を、上方(z軸)から見下ろした形式で示しており、7つのオブジェクト(A〜G)が配置されている。
展開図内の数字(例えば、原点「0」や中央点「192」など)は、その数字の記載位置に対応するZオーダの順位で符号化したモートン符号値を示す。なお、モートン符号値は、n次元の空間領域上の位置を1次元のスカラ値に写像する写像値の一例である。本実施形態では、モートン符号値を例示したが、その代わりにヒルベルト曲線で符号化したヒルベルト符号値などの他の写像演算値を用いてもよい。
展開図内の灰色矩形は、各オブジェクトが外接する矩形を示しており、その内部にオブジェクトID(A〜F)が記述されている。
展開図内の点線は、空間領域を各軸の垂直2等分線で等面積に4分割することで生成される各空間領域の境界を示す。例えば、モートン符号値「192」を起点(左下点)とする右上の領域は、16区画の空間領域を1分割した結果の大きめの(8x8区画)領域である。一方、モートン符号値「60」を起点(左下点)とする中央付近の領域は、16区画の空間領域を3分割した結果の小さめの(2x2区画)領域である。
空間データ管理装置1は、各空間領域の位置を、その代表点(左下点)を変換したモートン符号値と分割回数(分割数)の組で表現する。空間領域を再帰的に等面積で4分割するため、モートン符号値と分割数の組で空間領域の位置と形状を一意に特定できる。空間領域の代表点は、領域内のx座標とy座標の最小値を組とする座標値とする。
以下、座標値(7,10)をモートン符号値「157」に変換する計算方法を示す。
(手順1)座標値として、(x,y)=(7,10)が入力される。
(手順2)入力された10進数の座標値(7,10)を、2進数の座標値(0111,1010)に変換する。
(手順3)2進数の座標値(0111,1010)を、y座標とx座標の順番で、2進数の先頭ビットから順に交互に並べ、「10011101」とする。
「10011101」の先頭の「1」は、y座標「1010」の先頭の「1」である。
「10011101」の2桁目の「0」は、x座標「0111」の先頭の「0」である。
「10011101」の3桁目の「0」は、y座標「1010」の2桁目の「0」である。
(手順4)「10011101」を10進数に変換すると、モートン符号値「157」となる。
モートン符号値の性質より、空間領域内の任意の矩形の左下座標に対応したモートン符号値は、必ずその矩形の右上座標に対応したモートン符号値より小さくなる。また、矩形内部の座標に対応したモートン符号値は、矩形の左下座標と右上座標のモートン符号値の間に含まれることになる。多次元の範囲検索にモートン符号値のこれらの性質を利用すると、検索条件となる多次元の範囲を1次元のスカラ値の範囲に簡単化できる。さらに、モートン符号値は、空間的に近い座標値の間で、近い符号値を割り当てることができるため、1次元のスカラ値の範囲を狭め、範囲検索を高速化できる。
前記の例では、2次元平面(x,y)上でのモートン符号値の計算方法を示したが、モートン符号値は、2次元に限定されることはなく、3次元以上のn次元にも拡張することができる。n次元のモートン符号値の計算は、前記した(手順3)を、以下の(手順3b)に置き換えることで、実現できる。
(手順3b)2進数で表記したn次元の座標値を、以下の順序で交互に並べる。
(n次元座標値の先頭ビット)→(n−1次元座標値の先頭ビット)→(略)→(1次元座標値の先頭ビット)→(n次元座標値の2桁目のビット)→(n−1次元座標値の2桁目のビット)→(略)→(1次元座標値の2桁目のビット)→(略)→(1次元座標値の最終ビット)
図2(b)は、図2(a)が示す領域索引ツリー21の情報を、ツリー構造として示した構成図である。領域索引ツリー21は、各ノードと、ノード間を接続するリンクとがツリー構造になっている。領域索引ツリー21は、バランス木(B木、B+木など)のツリー構造であり、非リーフノード、リーフノード、オブジェクトノードから構成される。これらのノードは、ページという単位で1対1の関係で二次記憶装置に格納される。ページは、データベース管理システムにおいて、二次記憶装置と主記憶装置の間の最小の入出力単位である。
以下の説明では、バランス木の一例として、B+木を用いる例を説明する。B+木は、検索と更新の処理を高速に行えるという点で、データベース管理システムで最もよく用いられている索引構造である。B+木では、非リーフノードにはキー値と子ノードへのポインタ、リーフノードにはキー値とレコードポインタが含まれる。そして、隣接するリーフノードの間を片方向のリンクで連結する。
領域索引ツリー21のリーフノード、非リーフノードには、キー値であるモートン符号値(図中では数値で示す)と、そのモートン符号値が示す左下座標からの空間領域を作成するための分割数(図中では括弧内の数値で示す)と、の組(図中では各ノードの灰色部で示す)が、最大3組分格納できる。例えば、図2(a)の左上の空間領域は、「モートン符号値=128,分割数=1」の組として表現される。
このモートン符号値と分割数との組が図2(a)の1つ分の空間領域を示すので、以下の説明では、モートン符号値と分割数との組を「ノード内の空間領域情報」と表記する。
このように、空間領域を等面積で4分割することで生成される空間領域を、モートン符号値と分割数との組で一意に表現する。モートン符号値は、一次元のスカラ値なので、空間領域の次数(2次元平面、3次元空間)などに依存せず大小関係を定義でき、B+木のノードのキー値(一次元のキー値)として機能する。
領域索引ツリー21の非リーフ(幹)ノードは、最大3件の空間領域情報を格納する。非リーフノードは、非リーフノードまたはリーフノードを子ノードとしてリンクする。非リーフノード内の空間領域情報は、降順または昇順に配置されており、空間領域情報間の白色部には、子ノードへのポインタが矢印で表記される。子ノードへのポインタは、子ノードに対応したページを格納しているディスク上の物理的アドレスを示す。
なお、空間領域情報の最大個数を3件とするのは、あくまで一例である。空間領域情報の最大個数は、ページサイズ、空間領域情報のサイズ、子ノードへのポインタのサイズなどで決定される。また、B+木のデータ構造上、空間領域情報の最大個数が「i」個の場合、子ノードへのポインタは「i+1」個となる。
親ノードの第1空間領域情報と第2空間領域情報との間に設定されるポインタは、そのポインタが示す子ノードを指し示す。このとき、子ノードの各空間領域情報のモートン符号値は、第1空間領域情報のモートン符号値から第2空間領域情報のモートン符号値までの範囲に収まる。
領域索引ツリー21のリーフ(葉)ノードは、最大3件の空間領域情報を格納する。リーフノードは、オブジェクトノードにリンクする。リーフノードの空間領域情報は、降順または昇順に配置されている。リーフノードの各空間領域情報(例えば、モートン符号値「32」)からは、その空間領域情報が示す空間領域に重なるオブジェクトを示すオブジェクトノードへのリンク(例えば、オブジェクト「A」)が存在する。
なお、空間領域情報の最大個数を3件とするのは、あくまで一例であり、最大個数を「i」個とすると、「i」個のオブジェクトノードへのポインタが格納される。
さらに、同じリーフノード内に格納される複数の空間領域情報は、互いに空間領域情報のモートン符号値が重複しないように、リーフノードを構成する。
これにより、領域索引ツリー21に必要なディスク容量を、以下の比較例よりも削減することができる。その比較例とは、キー値とオブジェクトの情報の組を領域索引のリーフノードの要素として、PMR4分木を構成する例である。この比較例では、1つの空間領域が複数のオブジェクトを内包するため、同じキー値の要素がリーフノードに複数格納され、冗長になる。
領域索引ツリー21のオブジェクトノードは、リンクされるリーフノードが示す空間領域の情報1件と、その空間領域に重なる(一部接触または全部内包)複数のオブジェクトの情報(この場合、最大3件)を格納する。オブジェクトの情報は、後述する領域内オブジェクトテーブル22内の空間領域(モートン符号値と分割数)、オブジェクト(IDと領域内位置)を含む。
Figure 2010160591
表1は、領域内オブジェクトテーブル22を示す。領域内オブジェクトテーブル22は、空間領域情報(モートン符号値および分割数の組)と、オブジェクト情報(オブジェクトIDおよびオブジェクトの領域内位置の組)とを対応づけて管理する。1つの空間領域の情報と、その空間領域に対応する複数のオブジェクトの情報は、領域索引ツリーのオブジェクトノードに含まれる。1つのオブジェクトノードに1ページを割り当てるため、同じ空間領域に重なるオブジェクトの情報は1ページにまとめて格納される。これにより、同じ領域に重なるオブジェクトの情報を1回のディスクアクセスで取得できるため、範囲検索の高速化に寄与する。
領域内オブジェクトテーブル22の空間領域情報は、領域索引ツリー21の非リーフノードおよびリーフノード内の空間領域情報と同じである。
領域内オブジェクトテーブル22のオブジェクトIDは、領域索引ツリー21のオブジェクトノードのオブジェクトIDと同じである。オブジェクトIDとは、オブジェクトを一意に特定するための情報であり、たとえば、オブジェクトのレコードポインタである。オブジェクトのレコードポインタは、テーブル内のレコードを格納したディスク上の物理的アドレスを示す。
領域内オブジェクトテーブル22のオブジェクトの領域内位置は、オブジェクトIDが示すオブジェクトの外接矩形(左下座標〜右上座標)の相対座標値を示す。
例えば、空間領域(モートン符号値=16、分割数=2)に含まれるオブジェクト(オブジェクトID=E)は、外接位置が「(0,2)〜(2,2)」である。
そして、図2(a)を参照すると、オブジェクト「E」は、左下座標(4,0)〜右上座標(7,3)の空間領域に内包されている。
オブジェクト「E」の左下座標は、内包される空間領域の左下座標(4,0)に、領域内オブジェクトテーブル22の左下座標(0,2)を加算することで、(4,2)と計算できる。
オブジェクト「E」の右上座標は、内包される空間領域の左下座標(4,0)に、領域内オブジェクトテーブル22の右上座標(2,2)を加算することで、(6,2)と計算できる。
ここで、各パラメータの表現に必要な最低限のビット数を事前に定めておくことにより、ディスク容量を削減できる。
例えば、モートン符号値の表現に必要な最低限のビット数は、図2の例では、空間領域の範囲が16×16なので、16(2の4乗)が2つ分で8ビットとなる。つまり、地図の範囲を示す空間領域の大きさをもとに、モートン符号値を格納する変数の容量を特定することができる。
一方、領域内位置の座標の表現に必要な最低限のビット数は、例えば、空間領域(モートン符号値=128、分割数=1)の場合、8×8の領域であるため、x座標とy座標とでそれぞれ3ビットであるので合計6ビットとなる。オブジェクトの領域内位置を、内包される空間領域の代表点(左下座標)からの差分形式(相対座標)で表現することで、PMR4分木が必要とするデータ容量と比べ、領域内位置の格納に必要なディスク容量を削減できる。このディスク容量の削減効果は、適用するハードウェア部品やアプリケーションにより、二次記憶装置が非常に小さい組込機器への適用に、特に有効である。
このように、扱う領域の大きさに応じて、変数のビット数を規定することができる。なお、ビット数単位とする代わりに、バイト数単位としてもよい。
Figure 2010160591
表2は、領域内オブジェクトテーブル22を示す。表1と比較すると、オブジェクトの情報に「種別ID」列が追加されている。
種別IDは、オブジェクトの種類を示す。例えば、種別IDには、銀行「0」、ガソリンスタンド「1」、飲食店「2」、学校「3」などが含まれる。これらの種別IDは、入力装置94を介して入力されるユーザからの検索条件において、指定される。例えば、ユーザは、自車から半径500m以内の施設の内、「ガソリンスタンド」だけを選択する旨の検索条件を入力する。
種別IDの表現に必要な最低限のビット数は、種別IDのとりうる値の範囲を元に、設定される。例えば、種別IDが100通り存在するときには、2の8乗=128通りの値を格納できる変数に種別IDを格納するため、8ビットが最低限のビット数となる。
Figure 2010160591
表3は、オブジェクト詳細テーブル23を示す。オブジェクト詳細テーブル23は、個々のオブジェクトに関する詳細な情報として、オブジェクトIDと、種別IDと、実形状と、を対応づけて格納する。
オブジェクト詳細テーブル23の種別IDは、領域内オブジェクトテーブル22の種別IDと同じ意味である。
オブジェクト詳細テーブル23の実形状はオブジェクトの実際の形状を示し、例えば、オブジェクトの形状を座標の列で表現できる。オブジェクトの実形状は、オブジェクトの検索処理において、高精度な検索をするために用いられる。例えば、オブジェクトの外接矩形が検索範囲内に収まっていたとしても、オブジェクトが円であるときには、外接矩形の角が少し検索範囲内に重なるだけでは、オブジェクトの円は検索範囲内に収まっていないことになる。
Figure 2010160591
以上説明した空間データ(領域索引ツリー21、領域内オブジェクトテーブル22、オブジェクト詳細テーブル23)のセットは、二次記憶装置93内に1組以上格納されている。データ切替部60は、オブジェクトの各処理(検索処理、登録処理、削除処理)の対象となる空間データのセットを切り替える。
図3は、図2の左下座標値(3,3)から右上座標値(10,10)までの矩形領域を局所的な地域とした、領域索引ツリー21とその展開図を示す。
表4は、図3の領域索引ツリー21とセットになる領域内オブジェクトテーブル22の一例を示す。このように、空間データのセットを局所化することにより、各データ構造の扱う範囲が狭まり、検索対象のデータ量が少なくなる。その結果、範囲検索で二次記憶装置から主記憶装置に読み込むノード(ページ)が少なくなり、検索処理時間を短縮できる。
図4は、オブジェクト検索部30が実行する、検索範囲を、太い点線で囲む矩形の左下座標(5,2)〜右上座標(7,5)としたときの、図2の領域索引ツリー21を検索する様子を示す。以下に、この場合の手順について、図4(a)および図4(b)を併せて参照しつつ、説明する。
まず、図4(b)における1回目の検索処理(一番左の点線矢印)について、説明する。検索初期設定部31は、検索範囲の左下座標(5,2)をモートン符号値「28」に変換し、検索符号値Mに設定する。領域索引ツリーを探索する際、検索符号値Mに対応した座標を含む空間領域を辿る。モートン符号値の性質から、検索符号値M以下で最大のモートン符号値を含む部分木を辿ることになる。この場合、領域索引ツリー21のルートノードを参照すると、モートン符号値「60」の左の子ノードへのリンクを辿る。これは、このリンクは、検索符号値M「28」以下で最大のモートン符号値をもつ部分木を指し示すためである。
ルートノードの子ノードでは、同様にモートン符号値「32」の左のポインタが指し示す孫ノードを辿る。さらに、この孫ノードでは、検索符号値M「28」は空間領域情報のモートン符号値「16」を代表点とする空間領域に含まれるため(空間領域の右上座標のモートン符号値は31であるため)、そのノードからのリンク先であるオブジェクトノード「E」を概略判定リストに入れる。
検索起点設定部33は、領域索引ツリー21をリーフノード(およびその下のオブジェクトノード)まで辿った後、検索符号値Mを更新する。次回の検索符号値Mは、今回の検索符号値Mに対応する検索範囲から、今回の検索符号値Mから検索された空間領域を除外(領域として切り取る)した後の、残りの検索範囲の座標に対応したモートン符号値の中で最小値になる。
例えば、今回の検索範囲(5,2)〜(7,5)に対して、検索された空間領域の範囲(4,0)〜(7,3)を除外すると、残りの検索範囲は(5,4)〜(7,5)となる。よって、検索起点設定部33は、座標(5,4)のモートン符号値「49」を次の検索対象Mとする。
次に、図4(b)における2回目の検索処理(中央の点線矢印)について、説明する。領域索引ツリー21のルートノードを参照すると、検索符号値M「49」以下で最大のモートン符号値をもつ部分木を指し示すモートン符号値「60」の左の子ノードへのリンクを辿る。その子ノードでは、空間領域情報のモートン符号値「32」以上で、「52」よりも小さい左から2つめの子ノードへのリンクを辿る。その子ノード(ルートノードの孫ノード)では、検索符号値M「49」は空間領域情報のモートン符号値「48」を代表点とする空間領域に含まれるため、そのノードからのリンク先であるオブジェクトノード「A」を概略判定リストに入れる。
今回の検索範囲(5,4)〜(7,5)に対して、検索された空間領域の範囲(4,4)〜(5,5)を除外すると、残りの検索範囲は(6,4)〜(7,5)となる。よって、検索起点設定部33は、座標(6,4)のモートン符号値「52」を次の検索対象Mとする。
そして、図4(b)における3回目の検索処理(一番右の点線矢印)について、説明する。領域索引ツリー21のルートノードを参照すると、検索符号値M「52」はルートノードの空間領域情報のモートン符号値「60」よりも小さいので、左下の子ノードへのリンクを辿る。その子ノードでは、検索符号値M「52」は空間領域情報のモートン符号値「52」以上なので、さらに左から3つめの子ノードへのリンクを辿る。その子ノード(ルートノードの孫ノード)では、検索符号値M「52」は空間領域情報のモートン符号値「52」を代表点とする空間領域に含まれるため、そのノードからのリンク先であるオブジェクトノード「F,G」を概略判定リストに入れる。
今回の検索範囲(6,4)〜(7,5)に対して、検索された空間領域の範囲(6,4)〜(7,5)を除外すると、残りの検索範囲が無くなる。よって、検索符号値Mは更新せず、領域索引ツリー21を対象とした検索を終了する。
以上の結果、オブジェクト「E,A,F,G」が、領域索引ツリー21からリンクを辿ることにより検索される。この後の詳細判定(詳細は後記する交差判定部32の処理を参照)により、オブジェクト「A」は、検索範囲外として除外され、オブジェクト「E,F,G」が、図4(a)の太い破線の枠で囲んだ検索範囲(5,2)〜(7,5)に適合する検索結果として、出力装置95から出力される。
図5は、オブジェクト登録部40が実行する、図2の領域索引ツリー21の状態から、オブジェクトH,Iを登録する旨を示す説明図である。
図5(a)において、オブジェクトH(6,11)〜(8,12)と、オブジェクトI(2,15)〜(6,15)と、を順に空間領域(0,8)〜(7,15)付近に挿入すると、その空間領域には4つのオブジェクトC,D,H,Iが含まれてしまい、許容量の3つを超過する。
そこで、領域分割部42は、許容量が超過した1つの空間領域(0,8)〜(7,15)を、4分割し、4つの空間領域(モートン符号値=128、144、160、176)を作成する。これにより、4つの空間領域にそれぞれ含まれるオブジェクトの個数を、許容量の3つ以内にすることができる。
図5(b)に示す領域索引ツリー21は、領域分割部42による領域分割処理に伴い、図2における1つの空間領域(モートン符号値=128、分割数=1)が、分割数=2とする4つの空間領域(モートン符号値=128、144、160、176)へと分割されている。この分割に伴い、領域索引ツリー21のモートン符号値=128の空間領域情報を含むリーフノードも、許容量である3つの空間領域情報を超過したため、領域索引ツリー21のリーフノードも2つに分割されている。
さらに、領域索引ツリー21のリーフノードの更新に伴い、そのリーフノードのリンク先となるオブジェクトノードも、併せて更新される。
図6は、オブジェクト削除部50が実行する、図2の領域索引ツリー21の状態から、オブジェクトAを削除する旨を示す説明図である。
図6(a)において、オブジェクトA(3,4)〜(4,7)を削除することにより、そのオブジェクトAが位置していた近辺の4つ組の空間領域(モートン符号値=48、52、56、60)は、それぞれオブジェクトの許容量(3つ)に余裕ができる。
そこで、領域併合部51は、4つ組の空間領域を、1つの空間領域(モートン符号値=48,分割数=2)に併合する。これにより、領域索引ツリー21のノード数を削減し、領域索引ツリーの格納に必要な二次記憶装置の容量を抑制できる。
図6(b)に示す領域索引ツリー21は、領域併合部51による領域併合処理に伴い、図2における4つの空間領域(モートン符号値=48、52、56、60)が、1つの空間領域(モートン符号値=48)へと併合されている。この併合に伴い、領域索引ツリー21の併合されたリーフノードのリンク先となるオブジェクトノードも、併合された空間領域内のオブジェクトD、G、Fを示すオブジェクトノードへと、併せて更新される。
図7は、図4で示した、範囲指定された検索範囲内に存在するオブジェクトの検索処理を示すフローチャートである。このフローチャートは、オブジェクト検索部30によって実行される。
S101において、検索初期設定部31は、入力装置94を介して、検索条件となる検索範囲の入力を受け付ける。検索範囲の形状は、円、矩形、多角形など任意である。例えば、「現在値を中心に半径500m以内に存在するガソリンスタンドを検索」が選択されたとき、以下の処理を行う。
・現在値を中心とした半径500mの円に外接する矩形を求め、その矩形の左下座標値をモートン符号値「M_min」に変換し、その矩形の右上座標値をモートン符号値「M_max」に変換する。
・モートン符号値「M_min」を、検索符号値Mの初期値にする。
S102において、オブジェクト検索部30は、検索符号値Mを起点とする矩形領域と少なくとも一部が交わる空間領域を、領域索引ツリー21から検索する(その詳細は、図8を参照して後記する)。
S103において、交差判定部32は、S102で検索された空間領域内のオブジェクトの形状(領域内オブジェクトテーブル22、オブジェクト詳細テーブル23から取得)と、S101で指定された検索範囲の形状とを比較することで、検索範囲内に少なくとも一部が交わるオブジェクトを検索する(その詳細は、図9を参照して後記する)。
S104において、検索起点設定部33は、S101で初期化されて、このS104で更新される検索符号値Mについて、S102で検索された空間領域を除外した後の検索範囲を示す検索符号値Mに更新する(その詳細は、図10を参照して後記する)。
S105において、オブジェクト検索部30は、S104で更新された検索符号値Mが、S101で入力されたモートン符号値「M_max」より大きいか否かを判定する。判定条件を満たすときには処理を終了し、判定条件を満たさないときにはS102へ戻る。
図8は、オブジェクト検索部30が実行する、S102の処理の詳細を示すフローチャートである。本フローチャートでは、領域索引ツリーを用いて、検索符号値Mに対応した座標を含む空間領域を探す。このとき、検索符号値M以下で最大のモートン符号値をもつ空間領域を探すことになる。
S201において、領域索引ツリー21のルートノードを検索対象ノードNに設定する。
S202において、検索対象ノードNが非リーフノードであるか否かを判定する。判定条件を満たすときにはS203へ、判定条件を満たさないときにはS211へ、それぞれ進む。
S203において、非リーフノードのポインタを1件取得する。このとき、非リーフノードのポインタは先頭から順に取得される。
S204において、ポインタの指すノードに対応した空間領域のモートン符号値の範囲を算出する。モートン符号値の範囲は、当該非リーフノードに含まれるキー値(モートン符号値、分割数)から算出できる。
S205において、検索符号値MがS204で算出したモートン符号値の範囲に含まれるか否かを判定する。S205は、検索符号値以下で最大のモートン符号値を探す処理になる。判定条件を満たすときにはS206へ、判定条件を満たさないときにはS203へ、それぞれ進む。
S206において、ポインタの指すノードを検索対象ノードNに設定し、S202に戻る。
S211において、リーフノードの要素を1件取得する。このとき、リーフノードの要素を先頭から順に取得する。
S212において、S211で取得した要素に対応する空間領域のモートン符号値の範囲を算出する。空間領域のモートン符号値の範囲は、当該リーフノードのキー値(モートン符号値、分割数)から算出できる。
S213において、検索符号値MがS212で算出したモートン符号値の範囲に含まれるか否かを判定する。判定条件を満たすときにはS214へ、判定条件を満たさないときにはS211へ、それぞれ進む。
S214において、当該リーフノードの要素を検索された空間領域として保持し、処理をS103に戻す。
図9は、主に交差判定部32(S304は絶対座標値変換部34)が実行する、S103の処理の詳細を示すフローチャートである。
S301において、S102で保持された空間領域の要素の指すオブジェクトノードを取得する。
S302において、オブジェクトノードの要素をすべて取得したか否かを判定する。判定条件を満たすときにはS104に処理を戻し、判定条件を満たさないときにはS303へ進む。
S303において、オブジェクトノードの要素を1件取得する。このとき、オブジェクトノードの要素を先頭から順に取得する。以下、取得したオブジェクトノードの要素を、「選択オブジェクト」と呼ぶ。
S303bにおいて、領域内オブジェクトテーブル22の「種別ID」を参照し、選択オブジェクトの種別が、検索条件の種別と一致するか否かを判定する。判定条件を満たすときにはS304へ、判定条件を満たさないときにはS302へ、それぞれ進む。
なお、このS303bの判定処理は、領域内オブジェクトテーブル22に種別IDが含まれている場合(表2参照)に実行されるが、領域内オブジェクトテーブル22に種別IDが含まれていない場合(表1参照)は、省略可能である。
S304において、絶対座標値変換部34は、以下の手順により、選択オブジェクトの外接矩形の絶対座標値の変換を行う。
・領域内オブジェクトテーブル22のモートン符号値を、S102で求めた空間領域の左下座標値(a,b)に変換する。
・選択オブジェクトの領域内位置の左下座標値(x'_min,y'_min)に、空間領域の左下座標値(a,b)を加算して、選択オブジェクトの左下座標の絶対座標値(x_min,y_min)を求める(例えば、x_min=x'_min+a、y_min=y'_min+b)。
・選択オブジェクトの領域内位置の右上座標値(x'_max,y'_max)に、空間領域の左下座標値(a,b)を加算して、選択オブジェクトの右上座標の絶対座標値(x_max,y_max)を求める(例えば、x_max=x'_max+a、y_max=y'_max+b)。
S305において、S304で求めた選択オブジェクトの外接矩形(x_min,y_min)〜(x_max,y_max)が、S102で求めた空間領域と交差するか否かを判定する。判定条件を満たすときにはS306へ、判定条件を満たさないときにはS302へ、それぞれ進む。
なお、S305の交差判定処理は、2つの矩形(第1矩形と第2矩形)の間に重複箇所が存在するか否かの判定処理であり、例えば、第1矩形と第2矩形との間の位置関係を示す判定式をあらかじめ用意し、その判定式に代入することにより、実現される。判定式の一例として、「(第1矩形の右端のx座標)<(第2矩形の左端のx座標)」なら、第1矩形と第2矩形とは重複しない旨の判定式が例示される。
S306において、S304で求めた選択オブジェクトの実形状をオブジェクト詳細テーブル23から読み取り、S101で入力された空間領域の実形状と交差するか否かを判定する。判定条件を満たすときにはS307へ、判定条件を満たさないときにはS302へ、それぞれ進む。
なお、S306の交差判定処理は、オブジェクト詳細テーブル23の「実形状」データをもとに行われる詳細な交差判定である。この交差判定処理は、例えば、選択オブジェクトの実形状上の絶対位置を順に網羅するように走査し、選択オブジェクトの各走査点のうち、空間領域内に存在する選択オブジェクトの走査点が1つ以上発見されたときには、交差すると判定する方法がある。
ここで、S306の交差判定処理は、実形状という大きいデータ量を対象とする判定処理であるので、計算量が大きくなってしまう。そこで、S306の交差判定処理を実行するか否かをオプションとしてユーザに選択させ、ユーザが選択しないときには、S306の交差判定処理を省略し、S305を満たすときにはS307に進むようにしてもよい。
S307において、空間領域と交差すると判断された選択オブジェクトを検索結果として出力装置95を介して出力し、処理をS302に戻す。
図10は、検索起点設定部33が実行する、S104の検索符号値Mの更新処理の詳細を示すフローチャートである。本フローチャートでは、検索範囲の矩形が含むモートン符号値の中で、S102で検索された空間領域を除外した検索範囲のうちの最小のモートン符号値を求める。
S401において、検索符号値Mを座標値(a,b)に変換する。
S402において、S102で検索された空間領域の右上座標(x_max,y_max)に設定する。
S403において、S102で検索された空間領域の右辺よりx軸方向に1だけ大きいy軸に平行な線が検索範囲の矩形に交差するか否かを判定する。判定条件を満たすときにはS404へ、判定条件を満たさないときにはS405へ、それぞれ進む。
S404において、S102で検索された空間領域の近接点(x_max+1,b)のモートン符号値を、検索符号値リストに挿入する。なお、検索符号値リストは、例えば、モートン符号値を優先度とした優先度付きキューとして実装される。
S405において、S102で検索された空間領域の上辺よりy軸方向に1だけ大きいx軸に平行な線が検索範囲の矩形に交差するか否かを判定する。判定条件を満たすときにはS406へ、判定条件を満たさないときにはS407へ、それぞれ進む。
S406において、S102で検索された空間領域の近接点(a,y_max+1)のモートン符号値を、検索符号値リストに挿入する。
S407において、S404およびS406で挿入された検索符号値リストのモートン符号値のうちの最小のモートン符号値を、検索符号値Mに設定する。
図11は、オブジェクト登録部40が実行する、オブジェクトを空間データに登録する処理を示すフローチャートである。
S501において、オブジェクト登録部40は、登録対象のオブジェクトの詳細情報を取得する。
詳細情報とは、例えば、オブジェクト詳細テーブル23に登録される情報(オブジェクトの地図上の位置、種別ID、実形状)である。さらに、詳細情報として、カーナビゲーションの施設情報として提供される任意の情報(住所、電話番号など)を付加してもよい。
S502において、オブジェクト登録部40は、S501で入力されたオブジェクトの詳細情報を、空間データ(オブジェクト詳細テーブル23)に登録する。なお、登録対象のオブジェクトが既にオブジェクト詳細テーブル23に登録済みであるときには、2重登録を避けるため、S502を省略してもよいし、S501で入力された詳細情報に変更があれば、登録済みのオブジェクト詳細テーブル23のレコードを、変更後の値に書き換えてもよい。
S503において、オブジェクト登録部40は、S502でのオブジェクト詳細テーブル23への登録データをもとに、関連する他の空間データ(領域索引ツリー21、領域内オブジェクトテーブル22)への登録データを作成する。
例えば、オブジェクト登録部40は、オブジェクト詳細テーブル23に新たに登録されたオブジェクトを、領域内オブジェクトテーブル22に登録されている各空間領域に沿って分割し、分割されたオブジェクトの地図上の絶対位置を、各空間領域の代表点からの相対位置に変換する。
各空間領域に沿って分割する処理は、例えば、オブジェクトAがオブジェクト詳細テーブル23では1レコード分存在するが、領域内オブジェクトテーブル22では3つの空間領域に分割されている。
S504において、オブジェクト登録部40は、作成した空間データ(領域索引ツリー21、領域内オブジェクトテーブル22)への登録データを、各空間データへと登録する(詳細は、図12)。
図12(a)は、オブジェクト登録部40が実行する、空間データ(領域索引ツリー21、領域内オブジェクトテーブル22)への登録処理(S504)の詳細を示すフローチャートである。
S601において、オブジェクト登録部40は、S503で作成された登録対象のオブジェクトの外接矩形を検索範囲としたオブジェクト検索部30の処理(図7参照)を呼び出すことにより、登録対象の外接矩形のオブジェクトと交差する空間領域(交差領域)を求め、交差領域リストに挿入する。
S602において、オブジェクト登録部40は、交差領域リストの要素をすべて取得したか否かを判定する。判定条件を満たすときには本処理を終了し、判定条件を満たさないときにはS603へ進む。
S603において、オブジェクト登録部40は、交差領域リストの先頭から順に、空間領域を1件取り出す。以下、取り出した空間領域を、選択領域と呼ぶ。
S604において、オブジェクト登録部40は、領域索引ツリー21の選択領域に対応するリーフノードからリンクする、登録済みのオブジェクトノードを取得する。
S605において、登録済みのオブジェクトの数と、今回の登録対象のオブジェクトの数との合計が、各空間領域のオブジェクトの容量(例えば、図2の場合、最大3つ)を超過するか否かを判定する。判定条件を満たすときにはS606へ、判定条件を満たさないときにはS607へ、それぞれ進む。
S606において、領域分割部42は、1つの選択領域を4つの空間領域へと分割する。具体的には、まず、分割対象の選択領域を等面積に4分割した場合の4つの空間領域について、それぞれの代表点のモートン符号値を算出する。そして、領域索引ツリー21のリーフノードに登録されている選択領域の空間領域情報を削除するとともに、そのリーフノードにS611で算出した4つの空間領域の空間領域情報を追加する。
ここで、領域索引ツリー21のリーフノードの許容量(図2の場合、空間領域情報は最大3つまで)を超過したときには、図5に示すように、その超過したリーフノードを複数のリーフノードに分割することで、リーフノードの許容量を遵守する。このS606の処理により、空間領域の数が増えたことで、各空間領域のオブジェクトの容量に余裕が生まれ、S605の判定条件を満たしやすくなる。そして、処理をS503に戻す。
S607において、相対座標値変換部41は、登録対象のオブジェクトノードが示すオブジェクトの外接矩形の位置を、絶対座標値から相対座標値に変換する(図12(b)参照)。
S608において、オブジェクト登録部40は、登録対象のオブジェクトを選択領域に登録する。具体的には、領域索引ツリー21の選択領域のリーフノードからリンクされるオブジェクトノードに登録対象のオブジェクトを追加するとともに、領域内オブジェクトテーブル22の選択領域を示すレコードに、登録対象のオブジェクトを追加する。
図12(b)は、相対座標値変換部41が実行する、座標変換処理(S607)の詳細を示すフローチャートである。
S611において、オブジェクトの外接矩形の絶対座標値である、左下座標値を(x_min,y_min)、右下座標値を(x_max,y_max)に設定する。
S612において、S611のオブジェクトが含まれる空間領域の代表点のモートン符号値および分割数を領域内オブジェクトテーブル22から読み取り、その空間領域の左下座標値(x'_min,y'_min)と右上座標値(x'_max,y'_max)とを算出する。
S613において、S611の左下座標値(x_min,y_min)からS612の左下座標値(x'_min,y'_min)を減算することで、オブジェクトの左下座標値の相対座標値(x''_min,y''_min)を計算する。例えば、「x''_min=x_min−x'_min」である。
S614において、S611の右上座標値(x_max,y_max)からS612の左下座標値(x'_min,y'_min)を減算することで、オブジェクトの右上座標値の相対座標値(x''_max,y''_max)を計算する。例えば、「x''_max=x_max−x'_min」である。
図13(a)は、オブジェクト削除部50が実行する、オブジェクトの削除のフローチャートを示す。
S701において、オブジェクト削除部50は、削除対象のオブジェクトの情報を取得する。S701の入力データは、登録対象のオブジェクトのIDが少なくとも入力されればよい。
S702において、オブジェクト削除部50は、S701で入力された削除対象のオブジェクトを、オブジェクト詳細テーブル23から削除する。具体的には、削除対象のオブジェクトのIDを検索キーとして、オブジェクト詳細テーブル23を検索し、該当するレコードをオブジェクト詳細テーブル23(表3参照)から削除する。
S703において、オブジェクト削除部50は、空間データ(領域索引ツリー21、領域内オブジェクトテーブル22)から、図6に示すように、削除対象のオブジェクトを削除する(図13(b)参照)。
図13(b)は、オブジェクト削除部50が実行する、空間データ(領域索引ツリー21、領域内オブジェクトテーブル22)からの削除処理(S703)の詳細を示すフローチャートである。
S711において、削除対象のオブジェクトの外接矩形に交差する空間領域の情報を交差領域リストに挿入する。なお、挿入する空間領域の情報は、領域内オブジェクトテーブル22(表1など参照)から削除対象のオブジェクトのIDをキーとして検索し、該当するレコードとして取得した情報である。
S712において、交差領域リストの要素(空間領域)をすべて取得したか否かを判定する。判定条件を満たすときには本フローチャートを終了し、判定条件を満たさないときにはS713へ進む。
S713において、交差領域リストから要素を1件取得し、選択領域とする。この選択領域に交差するオブジェクトは、領域内オブジェクトテーブル22の選択領域に対応するオブジェクトの列から取得することができる。
S714において、領域内オブジェクトテーブル22内の選択領域に対応する削除対象のオブジェクトを、領域内オブジェクトテーブル22から削除する。さらに、領域索引ツリー21の選択領域のリーフノードからリンクされるオブジェクトノードから、削除対象のオブジェクトを削除する。この削除処理により、選択領域内のオブジェクトの容量に1つ分余裕ができる。
S715において、選択領域を含む分割数が等しい、隣接する4つ組の空間領域(例えば、図6ではモートン符号値=48、52、56、60の4つ組の空間領域)に対応づけられているオブジェクト数の総和が容量数(例えば、3つ)以下に収まるか否かを判定する。判定条件を満たすときにはS716へ、判定条件を満たさないときにはS712へ、それぞれ進む。
S716において、領域併合部51は、S715で判定した4つ組の空間領域を1つの空間領域へと併合する。具体的には、以下の処理を行う。
・4つ組の各空間領域(例えば、図6ではモートン符号値=48、52、56、60の4つ組の空間領域)からリンクされるオブジェクトノードを、1つのオブジェクトノードに併合するとともに、その併合前の各オブジェクトノードに含まれる各オブジェクトを(図6では、オブジェクトD,F,G)、併合したオブジェクトノードにまとめる。
・4つ組の空間領域のうち、左下以外に存在する3つの空間領域情報(図6ではモートン符号値=52、56、60の空間領域)を、領域索引ツリー21のリーフノードから削除する。その結果、空間領域情報をもたない(空の)リーフノードができたときには、そのリーフノードを削除するように、ツリー構造を変更する。
・4つ組の空間領域のうち、左下に存在する空間領域情報(図6ではモートン符号値=48の空間領域)を更新する。具体的には、空間領域情報からリンクされるオブジェクトノードを併合したオブジェクトノードとし、空間領域情報における分割数から1を減算する(図6では、分割数(空間領域情報の括弧内の数字)を「3」から「2」に減算している)。
以上説明した本実施形態によれば、オブジェクト登録部40がオブジェクトの形状および位置を多次元空間上に配置し、オブジェクト削除部50が配置されたオブジェクトを削除し、オブジェクト検索部30が入力された検索条件に該当するオブジェクトを検索する。そして、空間データ管理装置1は、オブジェクトが配置される空間データを、空間領域として領域索引ツリー21というバランス木のデータ構造で管理する。領域索引ツリー21のリーフノードでは、1つの空間領域に対し1件の空間領域の情報が格納され、オブジェクトノードでは、オブジェクトの外接矩形がそのオブジェクトに重なる空間領域の代表点からの相対座標で表現されている。
これにより、領域索引ツリーの21の格納に必要なディスク容量を削減すると共に、オブジェクトの検索、登録、削除の各処理を高速で実現できる。よって、領域索引ツリー21の効果に伴う高速性かつ小容量性は、ハードウェア資源の使用制約が厳しい組込ソフトウェアにおいて、特に効果を発揮する。
1 空間データ管理装置
21 領域索引ツリー
22 領域内オブジェクトテーブル
23 オブジェクト詳細テーブル
30 オブジェクト検索部
31 検索初期設定部
32 交差判定部
33 検索起点設定部
34 絶対座標値変換部
40 オブジェクト登録部
41 相対座標値変換部
42 領域分割部
50 オブジェクト削除部
51 領域併合部
60 データ切替部
91 中央処理装置
92 主記憶装置
93 二次記憶装置
94 入力装置
95 出力装置
A,B,C,D,E,F,G,H,I オブジェクト

Claims (17)

  1. 多次元空間上にオブジェクトが配置される空間データを管理する空間データ管理装置であって、
    前記空間データ管理装置は、空間データを格納する記憶部と、指定された検索範囲内に存在するオブジェクトを前記空間データから検索するオブジェクト検索部と、を有し、
    前記記憶部には、各ノードからの子ノードの数を制限するバランス木として前記空間データを格納する領域索引ツリーが記憶され、
    前記記憶された領域索引ツリーの各ノードには、前記空間データを1回以上等分割した空間領域の情報が所定数以下だけ格納され、その空間領域の情報は、空間領域の多次元空間上の位置を一意に示すスカラ値に写像した結果であるキー値が含まれ、
    前記領域索引ツリーの子ノードを持つ非リーフノードには、その各子ノードのとりうるキー値の範囲に応じて、各子ノードへのリンクが対応づけられており、前記領域索引ツリーの子ノードを持たないリーフノードには、空間領域の情報から、その空間領域に外接矩形が交わるオブジェクトへのリンクが対応づけられており、
    前記オブジェクト検索部は、
    入力装置を介して前記検索範囲が指定されると、
    前記領域索引ツリーのルートノードから順に、前記検索範囲の代表点をスカラ値に写像した検索符号値と、前記領域索引ツリーの各ノードの空間領域のキー値とを照合することにより、非リーフノード、リーフノード、オブジェクトへのリンクと辿ることで、前記検索範囲の代表点が含まれる空間領域と、その空間領域からリンクするオブジェクトとを抽出する手順について、一巡ごとに前記検索範囲から辿った空間領域を除外した領域の代表点を新たな検索符号値として更新することで繰り返し、
    前記検索範囲から辿った空間領域を除外した領域が無くなると、前記領域索引ツリーの各ノードを辿る処理により抽出される各オブジェクトについて、オブジェクトの外接矩形と前記検索範囲とを照合し、少なくとも一部が交わるオブジェクトを、前記検索範囲に交わるオブジェクトとして出力することを特徴とする
    空間データ管理装置。
  2. 前記空間データ管理装置は、前記領域索引ツリーのキー値および前記検索範囲の代表点を示す検索符号値をそれぞれ示す空間データ上のスカラ値として、モートン符号値を計算することを特徴とする
    請求項1に記載の空間データ管理装置。
  3. 前記空間データ管理装置は、前記領域索引ツリーのキー値および前記検索範囲の代表点を示す検索符号値をそれぞれ示す空間データ上のスカラ値を格納するためのメモリ容量として、空間領域の多次元空間上の位置を一意に示すスカラ値のとりうる値を表現するための最小限の容量を決定することを特徴とする
    請求項1または請求項2に記載の空間データ管理装置。
  4. 前記オブジェクト検索部は、さらに、オブジェクトの外接矩形と前記検索範囲とで少なくとも一部が交わるオブジェクトについて、前記記憶部に格納されているオブジェクトの実形状と、入力されている前記検索範囲の実形状とを照合し、少なくとも一部が交わるオブジェクトを、前記検索範囲に交わるオブジェクトとして出力することを特徴とする
    請求項1ないし請求項3のいずれか1項に記載の空間データ管理装置。
  5. 空間データを格納する前記記憶部には、前記領域索引ツリーからリンクされる各オブジェクトについて、そのオブジェクトの種別を示す種別IDが対応づけられており、
    前記オブジェクト検索部は、検索条件として前記検索範囲および種別IDが指定されると、前記領域索引ツリーから辿ることで抽出されるオブジェクトの内、検索条件の種別IDと一致するオブジェクトを選択して、出力することを特徴とする
    請求項1ないし請求項4のいずれか1項に記載の空間データ管理装置。
  6. 空間データを格納する前記記憶部には、複数の空間領域に対応する複数の前記領域索引ツリーが記憶されており、
    前記オブジェクト検索部は、検索条件として前記検索範囲が指定されると、その前記検索範囲が示す空間データ上の位置情報をもとに、複数の前記領域索引ツリーから1つの前記領域索引ツリーを選択することを特徴とする
    請求項1ないし請求項5のいずれか1項に記載の空間データ管理装置。
  7. 前記空間データ管理装置は、さらに、前記領域索引ツリーにオブジェクトを登録するオブジェクト登録部を有し、
    前記オブジェクト登録部は、前記入力装置を介して登録対象のオブジェクトが指定されると、
    登録対象のオブジェクトの位置情報を基に、登録対象のオブジェクトが交わる前記領域索引ツリーの空間領域を1つ以上特定し、その特定した空間領域の情報を格納する各ノードから、登録対象のオブジェクトへのリンクを対応づけ、
    1つの空間領域からリンクされるオブジェクトが所定数を超えたときには、その空間領域を等分割することで、複数の空間領域へと領域分割して前記領域索引ツリーを更新することを特徴とする
    請求項1ないし請求項5のいずれか1項に記載の空間データ管理装置。
  8. 前記空間データ管理装置は、さらに、前記領域索引ツリーに登録されたオブジェクトを削除するオブジェクト削除部を有し、
    前記オブジェクト削除部は、
    前記入力装置を介して削除対象のオブジェクトが指定されると、前記領域索引ツリーの各ノードからリンクされているオブジェクトのうち、削除対象のオブジェクトを削除し、
    削除したオブジェクトのリンク元である前記領域索引ツリーの各ノードについて、隣接する等分割された複数の領域からそれぞれリンクされるオブジェクトが所定数を下回ったときには、それらの空間領域を1つの空間領域へと領域統合して前記領域索引ツリーを更新することを特徴とする
    請求項1ないし請求項6のいずれか1項に記載の空間データ管理装置。
  9. 多次元空間上にオブジェクトが配置される空間データを管理する空間データ管理装置による空間データ管理方法であって、
    前記空間データ管理装置は、空間データを格納する記憶部と、指定された検索範囲内に存在するオブジェクトを前記空間データから検索するオブジェクト検索部と、を有し、
    前記記憶部には、各ノードからの子ノードの数を制限するバランス木として前記空間データを格納する領域索引ツリーが記憶され、
    前記記憶された領域索引ツリーの各ノードには、前記空間データを1回以上等分割した空間領域の情報が所定数以下だけ格納され、その空間領域の情報は、空間領域の多次元空間上の位置を一意に示すスカラ値に写像した結果であるキー値が含まれ、
    前記領域索引ツリーの子ノードを持つ非リーフノードには、その各子ノードのとりうるキー値の範囲に応じて、各子ノードへのリンクが対応づけられており、前記領域索引ツリーの子ノードを持たないリーフノードには、空間領域の情報から、その空間領域に外接矩形が交わるオブジェクトへのリンクが対応づけられており、
    前記オブジェクト検索部は、
    入力装置を介して前記検索範囲が指定されると、
    前記領域索引ツリーのルートノードから順に、前記検索範囲の代表点をスカラ値に写像した検索符号値と、前記領域索引ツリーの各ノードの空間領域のキー値とを照合することにより、非リーフノード、リーフノード、オブジェクトへのリンクと辿ることで、前記検索範囲の代表点が含まれる空間領域と、その空間領域からリンクするオブジェクトとを抽出する手順について、一巡ごとに前記検索範囲から辿った空間領域を除外した領域の代表点を新たな検索符号値として更新することで繰り返し、
    前記検索範囲から辿った空間領域を除外した領域が無くなると、前記領域索引ツリーの各ノードを辿る処理により抽出される各オブジェクトについて、オブジェクトの外接矩形と前記検索範囲とを照合し、少なくとも一部が交わるオブジェクトを、前記検索範囲に交わるオブジェクトとして出力することを特徴とする
    空間データ管理方法。
  10. 前記空間データ管理装置は、前記領域索引ツリーのキー値および前記検索範囲の代表点を示す検索符号値をそれぞれ示す空間データ上のスカラ値として、モートン符号値を計算することを特徴とする
    請求項9に記載の空間データ管理方法。
  11. 前記空間データ管理装置は、前記領域索引ツリーのキー値および前記検索範囲の代表点を示す検索符号値をそれぞれ示す空間データ上のスカラ値を格納するためのメモリ容量として、空間領域の多次元空間上の位置を一意に示すスカラ値のとりうる値を表現するための最小限の容量を決定することを特徴とする
    請求項9または請求項10に記載の空間データ管理方法。
  12. 前記オブジェクト検索部は、さらに、オブジェクトの外接矩形と前記検索範囲とで少なくとも一部が交わるオブジェクトについて、前記記憶部に格納されているオブジェクトの実形状と、入力されている前記検索範囲の実形状とを照合し、少なくとも一部が交わるオブジェクトを、前記検索範囲に交わるオブジェクトとして出力することを特徴とする
    請求項9ないし請求項11のいずれか1項に記載の空間データ管理方法。
  13. 空間データを格納する前記記憶部には、前記領域索引ツリーからリンクされる各オブジェクトについて、そのオブジェクトの種別を示す種別IDが対応づけられており、
    前記オブジェクト検索部は、検索条件として前記検索範囲および種別IDが指定されると、前記領域索引ツリーから辿ることで抽出されるオブジェクトの内、検索条件の種別IDと一致するオブジェクトを選択して、出力することを特徴とする
    請求項9ないし請求項12のいずれか1項に記載の空間データ管理方法。
  14. 空間データを格納する前記記憶部には、複数の空間領域に対応する複数の前記領域索引ツリーが記憶されており、
    前記オブジェクト検索部は、検索条件として前記検索範囲が指定されると、その前記検索範囲が示す空間データ上の位置情報をもとに、複数の前記領域索引ツリーから1つの前記領域索引ツリーを選択することを特徴とする
    請求項9ないし請求項13のいずれか1項に記載の空間データ管理方法。
  15. 前記空間データ管理装置は、さらに、前記領域索引ツリーにオブジェクトを登録するオブジェクト登録部を有し、
    前記オブジェクト登録部は、前記入力装置を介して登録対象のオブジェクトが指定されると、
    登録対象のオブジェクトの位置情報を基に、登録対象のオブジェクトが交わる前記領域索引ツリーの空間領域を1つ以上特定し、その特定した空間領域の情報を格納する各ノードから、登録対象のオブジェクトへのリンクを対応づけ、
    1つの空間領域からリンクされるオブジェクトが所定数を超えたときには、その空間領域を等分割することで、複数の空間領域へと領域分割して前記領域索引ツリーを更新することを特徴とする
    請求項9ないし請求項14のいずれか1項に記載の空間データ管理方法。
  16. 前記空間データ管理装置は、さらに、前記領域索引ツリーに登録されたオブジェクトを削除するオブジェクト削除部を有し、
    前記オブジェクト削除部は、
    前記入力装置を介して削除対象のオブジェクトが指定されると、前記領域索引ツリーの各ノードからリンクされているオブジェクトのうち、削除対象のオブジェクトを削除し、
    削除したオブジェクトのリンク元である前記領域索引ツリーの各ノードについて、隣接する等分割された複数の領域からそれぞれリンクされるオブジェクトが所定数を下回ったときには、それらの空間領域を1つの空間領域へと領域統合して前記領域索引ツリーを更新することを特徴とする
    請求項1ないし請求項15のいずれか1項に記載の空間データ管理方法。
  17. 請求項9ないし請求項16のいずれか1項に記載の空間データ管理方法を、コンピュータである前記空間データ管理装置に実行させるための
    空間データ管理プログラム。
JP2009001234A 2009-01-07 2009-01-07 空間データ管理装置、空間データ管理方法、および、空間データ管理プログラム Active JP5237837B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009001234A JP5237837B2 (ja) 2009-01-07 2009-01-07 空間データ管理装置、空間データ管理方法、および、空間データ管理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009001234A JP5237837B2 (ja) 2009-01-07 2009-01-07 空間データ管理装置、空間データ管理方法、および、空間データ管理プログラム

Publications (3)

Publication Number Publication Date
JP2010160591A true JP2010160591A (ja) 2010-07-22
JP2010160591A5 JP2010160591A5 (ja) 2011-12-15
JP5237837B2 JP5237837B2 (ja) 2013-07-17

Family

ID=42577723

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009001234A Active JP5237837B2 (ja) 2009-01-07 2009-01-07 空間データ管理装置、空間データ管理方法、および、空間データ管理プログラム

Country Status (1)

Country Link
JP (1) JP5237837B2 (ja)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102306180A (zh) * 2011-08-29 2012-01-04 北京建筑工程学院 一种基于海量激光雷达栅格点云数据的建模方法
JP2013025591A (ja) * 2011-07-21 2013-02-04 Fujitsu Ltd 領域検索方法、領域検索プログラムおよび情報処理装置
JP2013097573A (ja) * 2011-10-31 2013-05-20 Fujitsu Ltd 領域検索方法、領域検索プログラムおよび情報処理装置
WO2013128788A1 (ja) * 2012-03-02 2013-09-06 日本電気株式会社 データ管理装置、データ管理方法およびプログラム
JP2014191720A (ja) * 2013-03-28 2014-10-06 Fujitsu Ltd 情報処理方法、装置及びプログラム
WO2015005017A1 (ja) * 2013-07-12 2015-01-15 日本電気株式会社 多次元範囲検索装置及び多次元範囲検索方法
WO2016043121A1 (ja) * 2014-09-19 2016-03-24 Necソリューションイノベータ株式会社 情報処理装置、情報処理方法、及びコンピュータ読み取り可能な記録媒体
JP2019532416A (ja) * 2016-09-15 2019-11-07 オラクル・インターナショナル・コーポレイション ストリームデータにおける空間変化検出器
WO2021141117A1 (ja) * 2020-01-09 2021-07-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
CN113158087A (zh) * 2021-04-09 2021-07-23 深圳前海微众银行股份有限公司 一种空间文本的查询方法及装置
US20220027427A1 (en) * 2018-12-08 2022-01-27 Rajax Network Technology (Shanghai) Co., Ltd. Business searching methods and apparatuses, electronic devices and storage media
WO2023106710A1 (ko) * 2021-12-10 2023-06-15 주식회사 이안에스아이티 시계열 3차원 시각화 데이터 생성 방법 및 장치
CN116796083A (zh) * 2023-06-29 2023-09-22 山东省国土测绘院 一种空间数据划分方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05242164A (ja) * 1992-02-26 1993-09-21 Nippon Telegr & Teleph Corp <Ntt> 長方形物体検索方法
JPH11328225A (ja) * 1998-03-13 1999-11-30 Toshiba Corp デ―タ管理装置、デ―タ管理方法及びデ―タ管理プログラムを記録した媒体
JP2005135440A (ja) * 2005-01-18 2005-05-26 Hitachi Software Eng Co Ltd 図形データ管理方法およびシステム、記憶媒体

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05242164A (ja) * 1992-02-26 1993-09-21 Nippon Telegr & Teleph Corp <Ntt> 長方形物体検索方法
JPH11328225A (ja) * 1998-03-13 1999-11-30 Toshiba Corp デ―タ管理装置、デ―タ管理方法及びデ―タ管理プログラムを記録した媒体
JP2005135440A (ja) * 2005-01-18 2005-05-26 Hitachi Software Eng Co Ltd 図形データ管理方法およびシステム、記憶媒体

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
CSNG199800952003; 柳沼良知、外1名: '外接長方形上の点を用いた図形の中間表現の一提案' 電子情報通信学会論文誌 第J75-D-I巻,第9号, 19920925, p.821-829, 社団法人電子情報通信学会 *
CSNG200000337004; 乗松誠志、外2名: 'Quad Treesに対する比較実験と考察' 情報処理学会研究報告(90-AL-17) 第90巻,第79号, 19900929, p.35-44, 社団法人情報処理学会 *
JPN6013011617; ASHRAF ABOULNAGA、外1名: 'Window Query Processing in Linear Quadtrees' Distributed and Parallel Databases [online] 第10巻,第2号, 20010901, p.111-126 *
JPN6013011619; 乗松誠志、外2名: 'Quad Treesに対する比較実験と考察' 情報処理学会研究報告(90-AL-17) 第90巻,第79号, 19900929, p.35-44, 社団法人情報処理学会 *
JPN6013011621; 柳沼良知、外1名: '外接長方形上の点を用いた図形の中間表現の一提案' 電子情報通信学会論文誌 第J75-D-I巻,第9号, 19920925, p.821-829, 社団法人電子情報通信学会 *
JPN6013011624; CLIFFORD A. SHAFFER、外2名: 'QUILT: a geographic information system based on quadtrees' INT.J.GEOGRAPHICAL INFORMATION SYSTEMS [online] 第4巻,第2号, 1990, p.103-131 *

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013025591A (ja) * 2011-07-21 2013-02-04 Fujitsu Ltd 領域検索方法、領域検索プログラムおよび情報処理装置
CN102306180A (zh) * 2011-08-29 2012-01-04 北京建筑工程学院 一种基于海量激光雷达栅格点云数据的建模方法
CN102306180B (zh) * 2011-08-29 2013-03-27 北京建筑工程学院 一种基于海量激光雷达栅格点云数据的建模方法
JP2013097573A (ja) * 2011-10-31 2013-05-20 Fujitsu Ltd 領域検索方法、領域検索プログラムおよび情報処理装置
WO2013128788A1 (ja) * 2012-03-02 2013-09-06 日本電気株式会社 データ管理装置、データ管理方法およびプログラム
JP2014191720A (ja) * 2013-03-28 2014-10-06 Fujitsu Ltd 情報処理方法、装置及びプログラム
WO2015005017A1 (ja) * 2013-07-12 2015-01-15 日本電気株式会社 多次元範囲検索装置及び多次元範囲検索方法
JPWO2015005017A1 (ja) * 2013-07-12 2017-03-02 日本電気株式会社 多次元範囲検索装置及び多次元範囲検索方法
US10049164B2 (en) 2013-07-12 2018-08-14 Nec Corporation Multidimensional-range search apparatus and multidimensional-range search method
WO2016043121A1 (ja) * 2014-09-19 2016-03-24 Necソリューションイノベータ株式会社 情報処理装置、情報処理方法、及びコンピュータ読み取り可能な記録媒体
JPWO2016043121A1 (ja) * 2014-09-19 2017-07-13 Necソリューションイノベータ株式会社 情報処理装置、情報処理方法、及びプログラム
CN107077481A (zh) * 2014-09-19 2017-08-18 日本电气方案创新株式会社 信息处理装置、信息处理方法和计算机可读存储介质
US10795920B2 (en) 2014-09-19 2020-10-06 Nec Solution Innovators, Ltd. Information processing device, information processing method, and computer-readable storage medium
CN107077481B (zh) * 2014-09-19 2021-01-22 日本电气方案创新株式会社 信息处理装置、信息处理方法和计算机可读存储介质
JP2019532416A (ja) * 2016-09-15 2019-11-07 オラクル・インターナショナル・コーポレイション ストリームデータにおける空間変化検出器
JP2019533231A (ja) * 2016-09-15 2019-11-14 オラクル・インターナショナル・コーポレイション 形状のストリームデータの自動パーティション分割
JP2022020737A (ja) * 2016-09-15 2022-02-01 オラクル・インターナショナル・コーポレイション ストリームデータにおける空間変化検出器
JP7082973B2 (ja) 2016-09-15 2022-06-09 オラクル・インターナショナル・コーポレイション 方法、システム、およびコンピュータ読み取り可能なプログラム
JP7316341B2 (ja) 2016-09-15 2023-07-27 オラクル・インターナショナル・コーポレイション ストリームデータにおける空間変化検出器
US20220027427A1 (en) * 2018-12-08 2022-01-27 Rajax Network Technology (Shanghai) Co., Ltd. Business searching methods and apparatuses, electronic devices and storage media
WO2021141117A1 (ja) * 2020-01-09 2021-07-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
CN113158087A (zh) * 2021-04-09 2021-07-23 深圳前海微众银行股份有限公司 一种空间文本的查询方法及装置
WO2023106710A1 (ko) * 2021-12-10 2023-06-15 주식회사 이안에스아이티 시계열 3차원 시각화 데이터 생성 방법 및 장치
CN116796083A (zh) * 2023-06-29 2023-09-22 山东省国土测绘院 一种空间数据划分方法及系统
CN116796083B (zh) * 2023-06-29 2023-12-22 山东省国土测绘院 一种空间数据划分方法及系统

Also Published As

Publication number Publication date
JP5237837B2 (ja) 2013-07-17

Similar Documents

Publication Publication Date Title
JP5237837B2 (ja) 空間データ管理装置、空間データ管理方法、および、空間データ管理プログラム
JP4878178B2 (ja) データ処理方法および装置並びにその処理プログラム
CN105701103B (zh) 一种基于地理信息的三维应用系统
CN105701104B (zh) 一种基于地理信息的三维数据引擎系统
CN113434623B (zh) 一种基于多源异构空间规划数据的融合方法
JPWO2006059629A1 (ja) エリア情報の管理装置・方法・プログラム
KR101797325B1 (ko) 건물 객체에 대한 다축척 모델 기반의 지도 처리 방법
KR20190079354A (ko) 분할 공간 기반의 공간 데이터 객체 질의처리장치 및 방법, 이를 기록한 기록매체
US11587533B2 (en) Method for displaying point of information of map, device, and readable storage medium
Petzold et al. Fast screen map labeling œ data structures and algorithms
van Oosterom et al. Data structures for continuous generalisation: tGAP and SSC
JP5678790B2 (ja) インデックス管理方法、インデックス管理プログラムおよびインデックス管理装置
JP4885558B2 (ja) エンティティルックアップシステム
JPWO2015093073A1 (ja) シミュレーション装置
de Souza Baptista et al. NoSQL geographic databases: an overview
CN114357097A (zh) 地图注记构建方法、装置、计算机设备及存储介质
CN114116948B (zh) 地理矢量数据空间缓冲区分析方法、装置、设备及介质
JP2012212057A (ja) 地図提供サーバ、地図提供方法及びプログラム
Pant Performance comparison of spatial indexing structures for different query types
CN114138925A (zh) 位置点所属区域检索方法、装置、电子设备、介质及产品
US9436715B2 (en) Data management apparatus and data management method
JP2020135530A (ja) データ管理装置、データ検索方法及びプログラム
CN113901127B (zh) 数据管理和展示方法、装置及设备
KR101102083B1 (ko) 위치정보 데이터의 다이어그램 시스템 및 방법
JP6351483B2 (ja) 地図検索装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111101

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111101

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130301

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130329

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5237837

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20160405

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

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

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