JPH10124528A - 多次元データ管理方法、多次元データ管理装置、多次元データ管理プログラムを記録した媒体 - Google Patents

多次元データ管理方法、多次元データ管理装置、多次元データ管理プログラムを記録した媒体

Info

Publication number
JPH10124528A
JPH10124528A JP8294403A JP29440396A JPH10124528A JP H10124528 A JPH10124528 A JP H10124528A JP 8294403 A JP8294403 A JP 8294403A JP 29440396 A JP29440396 A JP 29440396A JP H10124528 A JPH10124528 A JP H10124528A
Authority
JP
Japan
Prior art keywords
mesh
multidimensional data
data
multidimensional
meshes
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
JP8294403A
Other languages
English (en)
Other versions
JP3598183B2 (ja
Inventor
Shuichi Kamimura
秀一 上村
Mutsumi Fujiwara
睦 藤原
Yoshiro Hasegawa
義朗 長谷川
Kiyoshi Wada
潔 和田
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP29440396A priority Critical patent/JP3598183B2/ja
Priority to US08/951,636 priority patent/US6137493A/en
Publication of JPH10124528A publication Critical patent/JPH10124528A/ja
Application granted granted Critical
Publication of JP3598183B2 publication Critical patent/JP3598183B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

Landscapes

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

Abstract

(57)【要約】 【課題】メモリが有効利用でき、登録、削除、検索など
の処理の高速化が可能な多次元データ管理方法、装置、
そのプログラムを記録した媒体を提供する。 【解決手段】多次元データ記憶手段に多次元データを登
録・削除する多次元データ登録削除手段10と、前記多
次元空間を複数のメッシュに階層的に分割し、分割され
た各階層のメッシュを木構造の各ノードに対応させ、各
メッシュと各ノードとの対応関係を記憶する木構造管理
手段9と、分割された各メッシュに前記多次元データに
関する情報を登録するメッシュデータ記憶手段7とを備
え、前記各メッシュデータ記憶手段に登録された情報に
基づいて前記多次元データ記憶手段に蓄積されている多
次元データを管理する。メッシュ分割手段13により、
前記末端メッシュに登録できる多次元データ数を一定値
以下に設定し、末端メッシュに登録する多次元データ数
が前記設定値を超えた場合にその末端メッシュを分割す
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、2次元乃至はそれ
以上の多次元空間中で位置の決まる多次元データの管理
に適した多次元データ管理方法、多次元データ管理装置
および多次元データ管理プログラムを記録した媒体に関
するものである。より具体的には、平面あるいは空間内
における図形データや、複数の属性を有する統計的なデ
ータを個々の属性を各次元に対応させることにより、登
録、削除、修正、検索(例えば、範囲検索、最近傍値検
索)などの処理を、単独であるいは適宜組み合わせて実
施することのできる多次元データ管理装置、方法および
そのプログラムを記録した媒体に関する。
【0002】
【従来の技術】従来から、複数の属性を有するデータを
コンピュータを用いて管理する手法が数多く提案されて
いる。例えば、画像処理、コンピュータビジョン、図面
管理などの分野においては、ベクトル、点、記号などの
大量の図形要素により表される膨大な図面をコンピュー
タにより管理し、データの登録、削除を行ったり、所望
の図面を検索し、変更する作業が必要とされている。こ
のようなデータ管理として、従来から知られていたもの
に、固定グリッド法がある。この固定グリッド法は、空
間を固定の領域に分割して、各領域単位でデータを管理
するものである。この固定グリッド法は、データが定ま
っている場合には、空間検索が高速に行えてメモり効率
も良い。しかし、例えば設備データのように頻繁に追加
削除されるデータに対しては、領域の分割が固定のため
分割領域ごとのデータ数のばらつきが大きくなる。その
ため、全くデータが存在しない領域についても、他の領
域と同様に検索処理を行ったり、データの蓄積領域を確
保する必要があり、検索速度が上がらず、メモリ効率も
低くなる。
【0003】このような固定グリッド法の問題点を解消
し、多次元データの効率的管理や高速な検索を目的とし
て、空間分割に基づく階層的なデータ構造が着目され、
種々の提案がなされている。例えば、特開平3−489
74号公報に示された図形データ管理装置は、多次元空
間中の大量の図形の位置情報及び属性を、3分木構造を
有するMD木の理論を適用して分割・構造化することに
より、表示領域の変更に伴うデータ検索速度の向上を図
るものである。また、同様な手法として、2次元データ
に対する2n分割木を使用したquad−tree法も
知られている。
【0004】(1)MD木による方法 MD木による方法では、木は、図42に示すように、末
端の葉Lと内部ノードIの2種類のノードとポインタか
ら構成されている。データを配置する空間は再帰的に分
割され、各ノードは分割された空間に対応付けられる。
すなわち、親ノードは、すべての子ノードの空間を包含
する最小の(n次元)長方形に対応する。また、データ
はすべて末端の葉Lに蓄積される。内部ノードは、初期
状態をのぞき、2つ以上3つ以下の子ノードを持つよう
に設定され、子ノード数が3を越える場合には、内部ノ
ードを分割し、この条件を満足するように設定されてい
る。
【0005】各葉に蓄積できるデータ数をデータ容量P
と呼び、ある葉にP+1個目のデータが投入されると、
そのノードに対応する空間は分割される。例えば、図4
3に示すように、P=3とし、空間内に1から6のデー
タが図43(A)のように配置されているとすると、こ
の空間は分割軸X1によって2分割される。このような
分割された空間は、図43(B)のような木構造に対応
しており、各空間に対応する各葉にはそれぞれ1,4,
5と2,3,6の3個のデータがそれぞれ蓄積されてい
る。この状態で新たなデータ7が投入されると、各葉に
はそれ以上データを蓄積することはできないので、デー
タ7が投入された側の領域は図43(A)の第2の分割
軸Y1によって分割される。この領域の分割に対応し
て、木構造においても分割された領域に対応する葉を分
割し、新しい葉を作成すると共に、この葉に対応する子
ノードを追加する。
【0006】このようにすると葉の数が増加した分、新
たなデータ7の投入が可能となり、さらにデータ8の投
入も可能となる。さらに、データ9の投入すると、デー
タ9を投入領域に対応する葉には、それ以上のデータを
投入する余地がないので、この投入領域を3回目の分割
軸X2によって分割すると共に、対応する新しい葉を作
成する。ところが、MD木による分割では、1つの親ノ
ードが3つの子ノードしか持つことができないように設
定されているため、図43(C)のノードCに対応する
葉を分割して新しい葉を作成する場合には、内部ノード
そのものを、図43(D)のように分割する必要があ
る。
【0007】このような木構造を有するMD木では、内
部ノードの分割により、データの分布状態や投入順序に
かかわりなく、木の根(ROOT)からすべての葉まで
の距離が等しいため、木構造としてのバランスが良く、
検索効率がよい利点がある。また、どの葉にも必ず(P
+1)/2のデータが蓄積されるため、固定グリッド法
に比較して、メモリの利用効率も向上する。
【0008】(2)quad−tree法 quad−tree法では、領域を2次元平面の各軸に
平行な面で4等分割する。分割された1つの空間に含ま
れるデータ数がP以下になるまで再帰的に分割を繰り返
し、この過程を4分木として記憶する。このquad−
tree法は、例えば、ACM Computing
Surveys, Vol,20,No.4 Dece
mber 1988に記載されている。
【0009】この分割法では、葉の分割時にそれに対応
する子ノードを新設するだけであるため、MD木法のよ
うに内部ノードの分割時に新規なROOTを作成する作
業は不要であり、木構造の管理は容易となる。また、領
域を等分割するため、分割位置は簡単に特定でき、MD
木法のように個々の分割軸を記憶しておく必要はない。
【0010】一方、quad−tree法では、データ
の分布を無視した等面積分割が行われるため、データの
分布が一様でない場合に、木のバランス性およびメモリ
の利用効率が極端に低下する。
【0011】(3)範囲検索、最近傍データ検索 前記のようなMD木法やquad−tree法によって
空間を階層的に分割するデータの管理方法においても、
通常のデータ管理方法と同様に、範囲検索や最近傍デー
タ検索が要求される。すなわち、範囲検索は、一定の値
の範囲に属するデータを検索するものである。また、最
近傍データ検索は、例えば、図形の中心点やカーソル、
各データの平均値や中心値などのある特定の値から最も
近い値を持つデータを検索するものである。
【0012】図44に最近傍データ検索の一例を挙げ
る。この例は、平面図形データを管理する装置におい
て、登録されたデータである図形要素の指定が容易に行
えるようにカーソルに最も近い図形要素を常に色替え表
示するものである。この例では、図44(A)に示すよ
うにカーソル位置に対応する点Qを含む領域に対応する
葉を求め、その葉の中で点Qに最も近いデータ1を求め
る。次に、点Qとデータ1の距離D1に含まれるデータ
を範囲検索を利用して他の葉の中から検索し、点Qとの
距離D2がより近いデータ3を得る。以下、指定範囲を
D2に変更し検索を続ける。
【0013】
【発明が解決しようとする課題】
(1)分割手法による問題点 ところで、前記のようなMD木法においては、葉の分割
における空間分割法は、X−Y−X−Y・・のように巡
回的に分割軸を選択したり、あるいは長方形の辺の長さ
により分割軸を選択するなどの方法があるが、基本的に
は、データ量によって分割する可変面積(容積)分割を
基本としている。しかしながら、このような可変面積分
割は、分割軸の位置が一定でないため、分割作業時に分
割位置の算定に時間がかかると共に、各分割軸の座標を
記憶しておく必要があり、その分だけ必要な記憶領域が
増大する欠点があった。また、完全平衡木を作成するた
めに、内部ノードの分割時に分割する葉に対応するノー
ドを新設するだけでなく、新設したノードから遡ってR
OOTとなるノードを新設する必要があり、分割する葉
に対応するノードのみを新設すれば良い他の方法に比較
して、木構造の管理が複雑化する欠点があった。
【0014】(2)末端の葉のみのデータ登録による問
題点 さらに、前記MD木法やquad−tree法などの従
来の技術では、木構造の末端に存在する各葉にだけデー
タを蓄積するものであるため、領域内に投入するデータ
が他の領域にもまたがる場合には、複数の領域に重複登
録されるデータ数が多くなり、それに伴って個々の領域
内に存在すると判定されるデータ数が大きくなるため、
その分領域の分割数も多くなる。すなわち、図45に示
すように、線分Lが領域B,C,Dにまたがって存在す
る場合、この線分はLは各領域に対応するすべての葉に
登録される。しかし、各葉に登録できるデータ数はあら
かじめPに設定されているので、重複分だけ余分にデー
タ数が領域に投入されているのと同じことになり、その
ために領域の分割数が多くなり、分割領域に対応する内
部ノードや葉の数も多くなる。その結果、木構造が複雑
がすると共に、必要とするメモリの増大や、検索効率の
低下を招く欠点があった。特に、工事設計、設備管理、
図面管理などのように、異なった長さ、面積、容積など
を有する多数の図形データを管理する場合には、従来技
術のように末端の葉に各領域に属するデータをすべて登
録し、かつデータ数によって領域を分割していると、ほ
とんどの図形データが重複登録の対象となり、メモリの
利用効率が極端に低下する。
【0015】さらに、前記の従来技術では、末端の葉を
分割する基準を、その葉に登録するデータ数が予め設定
された値Pを越えるか否かによっていた。そのため、重
複登録が多いと、末端の葉を分割しても分割後の葉に登
録されたデータ数が分割前の葉に登録されたデータ数に
比較してほとんど減少せず、その結果、さらに分割を繰
り返す必要性が生じ、記憶領域の限度まで際限なく分割
が行われてしまう欠点もあった。
【0016】また、MD木法では、データ数が等しくな
るように領域を分割するため、結果として分割軸による
図形データの分割を避けることもあるが、quad−t
ree法では、データの分布を無視した等面積分割が行
われるため、図形データの分割を避けるように分割軸を
配置することはできない。そのため、一定のサイズを有
する図形データが分割される機会が多くなり、重複登録
の可能性がより高くなっていた。
【0017】(3)中間ノードへの登録 これを改善するために、quad−tree法では、次
のような手法が採用されている。まず、前記ACM C
omputing Surveys, Vol,20,
No.4 December 1988の第299頁の
Figure19.に記載の手法は、図46に記載のよ
うな図形データA−Gをquad−treeによって管
理する場合に、2以上の領域にまたがる図形について
は、中間ノードに登録することにより、重複登録を避け
ている。すなわち、図形データA,Eは全領域(全世
界)を4分割してなる領域の複数にまたがるために、こ
れらの領域を包含する全領域に対応する親ノード1に登
録される。同様に、領域をまたがる図形データB,C,
Dはそれらをすべて包含する領域に対応するノード3
に、図形データGはノード5に対応する。そして、また
がることのない図形データFは、最も細分化された領域
に対応するノード15に登録される。
【0018】確かにこのような従来技術では複数領域に
またがったデータの重複登録は完全に解消される利点は
ある。しかし、このような手法では、図形データHのよ
うに複数の領域にまたがる部分がごく少ないデータであ
っても、その複数の領域を包含する上位の領域に対応す
るノードに登録することになる。その結果、上位の領域
内に登録するデータが多くなり、データ検索の範囲が広
くなって、検索効率が低下する。すなわち、広大な範囲
を持つ上位の領域全体を検索するよりも、たとえ重複登
録の結果検索対象領域の数は多くなっても範囲の狭い複
数の領域を検索する方が、検索を高速に行えるからであ
る。
【0019】このような重複登録を完全に避ける手法の
問題点を解決するために、前記の文献第301頁のFi
gure 21.には、中間ノードへの登録を行うと同
時に重複登録も可能とした手法も提案されている。この
手法を図47により説明する。
【0020】例えば、図形データGは、それを含む最小
の領域は全領域を4分割した際の右下の領域5#に属す
るので、この領域をさらに4分割してその境界X1で図
形Gを2つの図形データG1,G2に分割する。そし
て、分割されたそれぞれの図形データG1,G2につい
て、それを包含する最小の領域10#,11#を求め
る。この場合、図形データFが属する領域14#と同じ
サイズまで領域の分割を行うと、図形データGの分割さ
れた部分はG1,G2さらに分割されることになるた
め、「図形データを包含する最小の領域を判定した後、
1回だけ図形データの分割を行う」という条件に反す
る。そのため、図形データGは、領域10#,11#に
対応するノード10,11に登録する。
【0021】ここで、ノード11は中間ノードであり、
この中間ノード11にデータを登録することにより、そ
れよりも中間ノード11の子ノードである末端のノード
15,16にデータを重複して登録するよりも、検索速
度を向上できる。一方、図形データGが存在する2つの
ノード10,11の両方に図形データGを登録すること
により、検索対象範囲を図形データGが属する最小の領
域5#よりもより狭い領域6#,7#に対応するノード
6,7に限定することが可能になる。
【0022】ところが、この従来技術は、図形データの
分割を1回しか行わないことを条件としているために、
1つのデータについての重複登録が1回で済むという利
点はあるものの、パイプライン、送電線、交通路などの
ように長尺の図形データのように、重複数が多くなった
としても分割して登録したいデータを処理するには不適
当であった。
【0023】(4)最近傍データ検索時の問題点 また、前記の従来技術では、最近傍データ検索を行う場
合に、指定された点Qを含む葉を求め、その葉の中で最
も近いデータを求めてから、そのデータと指定された点
Qとの距離を利用して範囲検索を行っていた。しかし、
MD木法のように、各葉の内部に必ずデータが存在する
場合には、このような手法を利用することは可能であ
る。しかし、quad−tree法のように、領域を等
分割するものでは、分割された領域内にデータが存在し
ない場合があり、そのような場合には、前記のような手
法では最近傍データの検索を行うことが不可能であっ
た。
【0024】(5)発明の目的 本発明は前記のような従来技術の問題点を解決するため
に提案されたもので、その目的は、末端の葉を分割する
か否かの判定を行うことにより、それ以上分割してもデ
ータ管理上のメリットがない場合には、分割を行わない
ことによって、メモリの利用効率の向上と検索処理の高
速化を可能とすることにある。
【0025】本発明の他の目的は、一定の条件下で、内
部ノードにもデータを登録すると共に重複登録もことに
より、複数の分割領域にまたがるようなデータについて
の検索速度の向上を可能とすることにある。
【0026】本発明の他の目的は、1個あるいは複数個
の分割された領域を包含する一定の範囲を定め、この範
囲内に属するデータを迅速に検索することにある。本発
明の他の目的は、指定した点の最近傍に位置するデータ
を検索する処理に当たって、指定した点を含む分割され
た領域内に最近傍データが存在しない場合でも、他の領
域内の最近傍データを迅速に検索することにある。本発
明の他の目的は、2のN乗分木で領域の分割を管理する
と共に、各領域を等面積(等容積)に分割することによ
り、領域の分割および領域の合併作業を容易に実施でき
ると共に、分割位置を記憶することを不要として利用す
るメモリ領域の低減することにある。
【0027】本発明の他の目的は、2のN乗分木で領域
の分割を管理すると共に、各領域をデータ数に依存する
ことなく、一定の分割規則(制限された範囲内における
ランダムな分割も含む)にしたがって分割することによ
り、領域の分割作業を容易に実施することにある。
【0028】
【課題を解決するための手段】前記の目的を達成するた
め、請求項1の発明は、コンピュータの記憶装置に管理
対象となる複数の多次元データを多次元空間内に配置
し、各多次元データの値を多次元空間内における座標と
してコンピュータの記憶装置に登録するステップと、前
記多次元空間を複数のメッシュに階層的に分割し、分割
された各階層のメッシュを木構造の各ノードに対応さ
せ、各メッシュと各ノードとの対応関係を記録するステ
ップと、分割された各メッシュに多次元データに関する
情報を登録するステップと、前記各メッシュに登録され
た情報に基づいてコンピュータの記憶領域内に蓄積され
ている多次元データを管理するステップを有する多次元
データ管理方法において、前記各メッシュのうち、少な
くとも前記木構造の末端のノードに対応する末端メッシ
ュに多次元データを登録するステップと、前記末端メッ
シュに登録できる多次元データ数を一定値以下に設定
し、末端メッシュに登録する多次元データ数が前記設定
値を超えた場合に、その末端メッシュの分割を試行する
ステップと、この末端メッシュの分割ステップの試行に
当たり、予め設定された分割許容条件にしたがって分割
の可否を判定するステップを備えていることを特徴とす
る。
【0029】請求項2の発明は、コンピュータの記憶装
置に管理対象となる複数の多次元データを多次元空間内
に配置し、各多次元データの値を多次元空間内における
座標としてコンピュータの記憶装置に登録するステップ
と、前記多次元空間を複数のメッシュに階層的に分割
し、分割された各階層のメッシュを木構造の各ノードに
対応させ、各メッシュと各ノードとの対応関係を記録す
るステップと、分割された各メッシュに多次元データに
関する情報を登録するステップと、前記各メッシュに登
録された情報に基づいてコンピュータの記憶領域内に蓄
積されている多次元データを管理するステップを有する
多次元データ管理方法において、前記各メッシュのう
ち、少なくとも前記木構造の末端のノードに対応する末
端メッシュに多次元データを登録するステップと、前記
末端メッシュの親メッシュに登録できる多次元データ数
を一定値以下に設定し、前記親メッシュに所属する多次
元データ数が前記設定値未満の場合に、その末端メッシ
ュの併合を試行するステップと、前記末端メッシュをそ
の兄弟メッシュと共に親メッシュに併合するステップの
試行に当たり、予め設定された併合許容条件にしたがっ
て併合の可否を判定するステップを備えていることを特
徴とする。
【0030】請求項3の発明は、コンピュータの記憶装
置に管理対象となる複数の多次元データを多次元空間内
に配置し、各多次元データの値を多次元空間内における
座標としてコンピュータの記憶装置に登録するステップ
と、前記多次元空間を複数のメッシュに階層的に分割
し、分割された各階層のメッシュを木構造の各ノードに
対応させ、各メッシュと各ノードとの対応関係を記録す
るステップと、分割された各メッシュに多次元データに
関する情報を登録するステップと、前記各メッシュに登
録された情報に基づいてコンピュータの記憶領域内に蓄
積されている多次元データを管理するステップを有する
多次元データ管理方法において、前記各メッシュのう
ち、少なくとも前記木構造の末端のノードに対応する末
端メッシュに多次元データを登録するステップと、前記
末端メッシュに登録できる多次元データ数を一定値以下
に設定し、末端メッシュに登録する多次元データ数が前
記設定値を超えた場合に、その末端メッシュの分割を試
行するステップと、この末端メッシュの分割ステップの
試行に当たり、予め設定された分割許容条件にしたがっ
て分割の可否を判定するステップと、前記末端メッシュ
の親メッシュに登録できる多次元データ数を一定値以下
に設定し、前記親メッシュに所属する多次元データ数が
前記設定値未満の場合に、その末端メッシュの併合を試
行するステップと、前記末端メッシュをその兄弟メッシ
ュと共に親メッシュに併合するステップの試行に当た
り、予め設定された併合許容条件にしたがって併合の可
否を判定するステップを備えていることを特徴とする。
【0031】請求項4の発明は、請求項1または3記載
の多次元データ管理方法において、前記分割を許容する
か否かの判定ステップが、分割後の子メッシュに所属す
る多次元データ数の和と、分割前の親メッシュに所属す
る多次元データ数とを比較して、分割の可否を判定する
ものである。
【0032】請求項5の発明は、請求項1または3記載
の多次元データ管理方法において、前記分割を許容する
か否かの判定ステップが、親メッシュに所属する多次元
データ数と、前記親メッシュから分割された子メッシュ
の中の複数の子メッシュに所属する多次元データ数とを
比較して、分割の可否を判定するものである。
【0033】請求項6の発明は、請求項2または3記載
の多次元データ管理方法において、前記併合を許容する
か否かの判定ステップが、併合前の各子メッシュに所属
する多次元データ数の和と、併合後の親メッシュに所属
する多次元データ数とを比較して、併合の可否を判定す
るものである。
【0034】請求項7の発明は、請求項2,3または6
記載の多次元データ管理方法において、前記併合を許容
するか否かの判定ステップが、併合後の親メッシュに所
属する多次元データ数と、これら子メッシュの中の複数
の子メッシュに所属する多次元データ数とを比較して、
併合の可否を判定するものである。
【0035】請求項8の発明は、請求項2,3,6また
は7記載の多次元データ管理方法において、前記併合を
許容するか否かの判定ステップが、前記末端メッシュに
登録できる多次元データ数を一定値以下に設定し、親メ
ッシュを同じくする各末端メッシュに登録された多次元
データ数がいずれも前記設定値未満の場合に、その末端
メッシュの併合を実行するものである。
【0036】請求項9の発明は、コンピュータの記憶装
置に管理対象となる複数の多次元データを多次元空間内
に配置し、各多次元データの値を多次元空間内における
座標としてコンピュータの記憶装置に登録するステップ
と、前記多次元空間を複数のメッシュに階層的に分割
し、分割された各階層のメッシュを木構造の各ノードに
対応させ、各メッシュと各ノードとの対応関係を記録す
るステップと、分割された各メッシュに多次元データに
関する情報を登録するステップと、前記各メッシュに登
録された情報に基づいてコンピュータの記憶領域内に蓄
積されている多次元データを管理するステップを有する
多次元データ管理方法において、末端メッシュの分割時
において、前記各メッシュのうち、前記木構造の末端の
ノードに対応する分割によって生じた子メッシュと、前
記末端ノードの親ノードに対応する分割によって生じた
親メッシュいずれかに多次元データを登録しなおすステ
ップと、末端メッシュの分割時において、1つの図形あ
たりの複数メッシュへの重複登録を抑制する条件に従っ
て、前記多次元データを分割によって生じた子メッシュ
と分割によって生じた親メッシュのいずれに登録しなお
すかを判定するステップを備えていることを特徴とす
る。
【0037】請求項10の発明は、請求項9記載の多次
元データ管理方法において、前記多次元データを親メッ
シュと子メッシュのいずれに登録するかを判定するステ
ップが、前記多次元データがその親メッシュを完全に含
んでいないことを重複登録を抑制する条件としている。
【0038】請求項11の発明は、請求項9または10
記載の多次元データ管理方法において、前記多次元デー
タを親メッシュと子メッシュのいずれに登録するかを判
定するステップが、前記多次元データが重なっている子
メッシュ数が予め設定された数以下であることを重複登
録を抑制する条件としている。
【0039】請求項12の発明は、請求項9,10また
は11記載の多次元データ管理方法において、前記多次
元データを親メッシュと子メッシュのいずれに登録する
かを判定するステップが、前記多次元データごとに重複
メッシュ数の上限が定められており、子メッシュへの登
録を行っても重複登録数が上限以下であることを重複登
録を抑制する条件としている。
【0040】請求項13の発明は、コンピュータの記憶
装置に管理対象となる複数の多次元データを多次元空間
内に配置し、各多次元データの値を多次元空間内におけ
る座標としてコンピュータの記憶装置に登録するステッ
プと、前記多次元空間を複数のメッシュに階層的に分割
し、分割された各階層のメッシュを木構造の各ノードに
対応させ、各メッシュと各ノードとの対応関係を記録す
るステップと、分割された各メッシュに多次元データに
関する情報を登録するステップと、前記各メッシュに登
録された情報に基づいてコンピュータの記憶領域内に蓄
積されている多次元データを管理するステップを有する
多次元データ管理方法において、前記各メッシュのう
ち、前記木構造の末端のノードに対応する末端メッシュ
と、前記末端ノードの親ノードに対応する中間メッシュ
の少なくとも一方に多次元データを登録するステップ
と、多次元データの登録時において、登録する多次元デ
ータの状態に従って、前記多次元データを末端メッシュ
と中間メッシュのどこに登録するかを判定するステップ
を備えていることを特徴とする。
【0041】請求項14の発明は、請求項13記載の多
次元データ管理方法において、前記多次元データを末端
メッシュと中間メッシュのどこに登録するかを判定する
ステップが、前記多次元データが重なり合っている子メ
ッシュ数に応じて登録するメッシュを選択するものであ
る。
【0042】請求項15の発明は、請求項13または1
4記載の多次元データ管理方法において、前記多次元デ
ータを末端メッシュと中間メッシュのどこに登録するか
を判定するステップが、前記多次元データによって登録
すべきメッシュの大きさの限度が決まっており、このメ
ッシュの大きさの限度に従って前記多次元データを登録
するメッシュを選択するものである。
【0043】請求項16の発明は、請求項13,14ま
たは15記載の多次元データ管理方法において、前記多
次元データを末端メッシュと中間メッシュのどこに登録
するかを判定するステップが、前記多次元データごとに
重複登録メッシュ数の限度が定められており、この限度
に従って前記多次元データを登録するメッシュを選択す
るものである。
【0044】請求項17の発明は、請求項13,14,
15または16記載の多次元データ管理方法において、
前記多次元データを末端メッシュと中間メッシュのどこ
に登録するかを判定するステップが、前記多次元空間内
における前記多次元データの大きさと、前記多次元空間
内における所定のメッシュの大きさとの比較から、前記
多次元データを登録するメッシュを選択するものであ
る。
【0045】請求項18の発明は、請求項1,2,3,
9または13記載の多次元データ管理方法において、前
記コンピュータの記憶領域内に蓄積されている多次元デ
ータを管理するステップが、前記多次元空間内における
指定された範囲を対象とし、この指定された範囲内に属
する多次元データを検索する範囲検索ステップを含むこ
とを特徴とする。
【0046】請求項19の発明は、請求項1,2,3,
9または13記載の多次元データ管理方法において、前
記コンピュータの記憶領域内に蓄積されている多次元デ
ータを管理するステップが、前記多次元空間内における
指定された点に最も近い多次元データを検索する最近傍
データの検索ステップを含むことを特徴とする。
【0047】請求項20の発明は、請求項19記載の多
次元データ管理方法において、前記最近傍データの検索
ステップが、前記指定された点を含む最小のメッシュに
多次元データが登録されていない場合に、前記最小のメ
ッシュの親メッシュ、最小のメッシュに隣接するメッシ
ュ、親メッシュの親メッシュ、隣接するメッシュの親メ
ッシュ、隣接するメッシュに隣接する他のメッシュのご
とく、再帰的に最近傍データの候補が1つ決定されるま
で検索範囲を拡大するステップを含むことを特徴とす
る。
【0048】請求項21の発明は、請求項1,2,3,
9または13記載の多次元データ管理方法において、前
記多次元空間を複数のメッシュに階層的に分割し、分割
された各階層のメッシュを木構造の各ノードに対応さ
せ、各メッシュと各ノードとの対応関係を記録するステ
ップが、2のN乗分木による木構造に対応して前記多次
元空間を階層的に2のN乗個に等分割するものである。
【0049】請求項22の発明は、請求項1,2,3,
9または13記載の多次元データ管理方法において、管
理対象となる多次元データが、2次元の平面もしくは3
次元の空間内に配置された図形データである。
【0050】請求項23の発明は、コンピュータの記憶
装置に管理対象となる複数の多次元データを多次元空間
内に配置し、各多次元データの値を多次元空間内におけ
る座標としてコンピュータの記憶装置に登録するステッ
プと、前記多次元空間を複数のメッシュに階層的に分割
し、分割された各階層のメッシュを木構造の各ノードに
対応させ、各メッシュと各ノードとの対応関係を記録す
るステップと、分割された各メッシュに多次元データに
関する情報を登録するステップと、前記各メッシュに登
録された情報に基づいてコンピュータの記憶領域内に蓄
積されている多次元データを管理するステップを有する
多次元データ管理方法を実行させるためのプログラムを
記録した媒体であって、前記プログラムは、前記各メッ
シュのうち、少なくとも前記木構造の末端のノードに対
応する末端メッシュに多次元データを登録するステップ
と、前記末端メッシュに登録できる多次元データ数を一
定値以下に設定し、末端メッシュに登録する多次元デー
タ数が前記設定値を超えた場合に、その末端メッシュの
分割を試行するステップと、この末端メッシュの分割ス
テップの試行に当たり、予め設定された分割許容条件に
したがって分割の可否を判定するステップを備えている
ことを特徴とする。
【0051】請求項24の発明は、コンピュータの記憶
装置に管理対象となる複数の多次元データを多次元空間
内に配置し、各多次元データの値を多次元空間内におけ
る座標としてコンピュータの記憶装置に登録するステッ
プと、前記多次元空間を複数のメッシュに階層的に分割
し、分割された各階層のメッシュを木構造の各ノードに
対応させ、各メッシュと各ノードとの対応関係を記録す
るステップと、分割された各メッシュに多次元データに
関する情報を登録するステップと、前記各メッシュに登
録された情報に基づいてコンピュータの記憶領域内に蓄
積されている多次元データを管理するステップを有する
多次元データ管理方法を実行させるためのプログラムを
記録した媒体であって、前記プログラムは、前記各メッ
シュのうち、少なくとも前記木構造の末端のノードに対
応する末端メッシュに多次元データを登録するステップ
と、前記末端メッシュの親メッシュに登録できる多次元
データ数を一定値以下に設定し、前記親メッシュに所属
する多次元データ数が前記設定値未満の場合に、その末
端メッシュの併合を試行するステップと、前記末端メッ
シュをその兄弟メッシュと共に親メッシュに併合するス
テップの試行に当たり、予め設定された併合許容条件に
したがって併合の可否を判定するステップを備えている
ことを特徴とする。
【0052】請求項25の発明は、コンピュータの記憶
装置に管理対象となる複数の多次元データを多次元空間
内に配置し、各多次元データの値を多次元空間内におけ
る座標としてコンピュータの記憶装置に登録するステッ
プと、前記多次元空間を複数のメッシュに階層的に分割
し、分割された各階層のメッシュを木構造の各ノードに
対応させ、各メッシュと各ノードとの対応関係を記録す
るステップと、分割された各メッシュに多次元データに
関する情報を登録するステップと、前記各メッシュに登
録された情報に基づいてコンピュータの記憶領域内に蓄
積されている多次元データを管理するステップを有する
多次元データ管理方法を実行させるためのプログラムを
記録した媒体であって、前記プログラムは、前記各メッ
シュのうち、少なくとも前記木構造の末端のノードに対
応する末端メッシュに多次元データを登録するステップ
と、前記末端メッシュに登録できる多次元データ数を一
定値以下に設定し、末端メッシュに登録する多次元デー
タ数が前記設定値を超えた場合に、その末端メッシュの
分割を試行するステップと、この末端メッシュの分割ス
テップの試行に当たり、予め設定された分割許容条件に
したがって分割の可否を判定するステップと、前記末端
メッシュの親メッシュに登録できる多次元データ数を一
定値以下に設定し、前記親メッシュに所属する多次元デ
ータ数が前記設定値未満の場合に、その末端メッシュの
併合を試行するステップと、前記末端メッシュをその兄
弟メッシュと共に親メッシュに併合するステップの試行
に当たり、予め設定された併合許容条件にしたがって併
合の可否を判定するステップを備えていることを特徴と
する。
【0053】請求項26の発明は、コンピュータの記憶
装置に管理対象となる複数の多次元データを多次元空間
内に配置し、各多次元データの値を多次元空間内におけ
る座標としてコンピュータの記憶装置に登録するステッ
プと、前記多次元空間を複数のメッシュに階層的に分割
し、分割された各階層のメッシュを木構造の各ノードに
対応させ、各メッシュと各ノードとの対応関係を記録す
るステップと、分割された各メッシュに多次元データに
関する情報を登録するステップと、前記各メッシュに登
録された情報に基づいてコンピュータの記憶領域内に蓄
積されている多次元データを管理するステップを有する
多次元データ管理方法を実行させるためのプログラムを
記録した媒体であって、前記プログラムは、末端メッシ
ュの分割時において、前記各メッシュのうち、前記木構
造の末端のノードに対応する分割によって生じた子メッ
シュと、前記末端ノードの親ノードに対応する分割によ
って生じた親メッシュいずれかに多次元データを登録し
なおすステップと、末端メッシュの分割時において、1
つの図形あたりの複数メッシュへの重複登録を抑制する
条件に従って、前記多次元データを分割によって生じた
子メッシュと分割によって生じた親メッシュのいずれに
登録しなおすかを判定するステップを備えていることを
特徴とする。
【0054】請求項27の発明は、コンピュータの記憶
装置に管理対象となる複数の多次元データを多次元空間
内に配置し、各多次元データの値を多次元空間内におけ
る座標としてコンピュータの記憶装置に登録するステッ
プと、前記多次元空間を複数のメッシュに階層的に分割
し、分割された各階層のメッシュを木構造の各ノードに
対応させ、各メッシュと各ノードとの対応関係を記録す
るステップと、分割された各メッシュに多次元データに
関する情報を登録するステップと、前記各メッシュに登
録された情報に基づいてコンピュータの記憶領域内に蓄
積されている多次元データを管理するステップを有する
多次元データ管理方法を実行させるためのプログラムを
記録した媒体であって、前記プログラムは、前記各メッ
シュのうち、前記木構造の末端のノードに対応する末端
メッシュと、前記末端ノードの親ノードに対応する中間
メッシュの少なくとも一方に多次元データを登録するス
テップと、多次元データの登録時において、登録する多
次元データの状態に従って、前記多次元データを末端メ
ッシュと中間メッシュのどこに登録するかを判定するス
テップを備えていることを特徴とする。
【0055】請求項28の発明は、管理対象となる複数
の多次元データを多次元空間内に配置し、各多次元デー
タの値を多次元空間内における座標として登録する多次
元データ記憶手段と、前記多次元データ記憶手段に多次
元データを登録・削除する多次元データ登録削除手段
と、前記多次元空間を複数のメッシュに階層的に分割
し、分割された各階層のメッシュを木構造の各ノードに
対応させ、各メッシュと各ノードとの対応関係を記憶す
る木構造管理手段と、分割された各メッシュに前記多次
元データに関する情報を登録するメッシュデータ記憶手
段と、前記各メッシュのうち、少なくとも前記木構造の
末端のノードに対応する末端メッシュに、その末端メッ
シュに対応する前記多次元データに関する情報を登録ま
たは削除するメッシュデータ登録削除手段とを備え、前
記各メッシュデータ記憶手段に登録された情報に基づい
て前記多次元データ記憶手段に蓄積されている多次元デ
ータを管理する多次元データ管理装置において、前記末
端メッシュに登録できる多次元データ数を一定値以下に
設定し、末端メッシュに登録する多次元データ数が前記
設定値を超えた場合にその末端メッシュを分割するメッ
シュ分割手段と、このメッシュ分割手段による末端メッ
シュの分割処理に当たり、予め設定された分割許容条件
にしたがって分割の可否を判定する分割判定手段を備え
ていることを特徴とする。
【0056】請求項29の発明は、管理対象となる複数
の多次元データを多次元空間内に配置し、各多次元デー
タの値を多次元空間内における座標として登録する多次
元データ記憶手段と、前記多次元データ記憶手段に多次
元データを登録・削除する多次元データ登録削除手段
と、前記多次元空間を複数のメッシュに階層的に分割
し、分割された各階層のメッシュを木構造の各ノードに
対応させ、各メッシュと各ノードとの対応関係を記憶す
る木構造管理手段と、分割された各メッシュに前記多次
元データに関する情報を登録するメッシュデータ記憶手
段と、前記各メッシュのうち、少なくとも前記木構造の
末端のノードに対応する末端メッシュに、その末端メッ
シュに重なる前記多次元データに関する情報を登録また
は削除するメッシュデータ登録削除手段とを備え、前記
各メッシュデータ記憶手段に登録された情報に基づいて
前記多次元データ記憶手段に蓄積されている多次元デー
タを管理する多次元データ管理装置において、前記末端
メッシュの親メッシュに登録できる多次元データ数を一
定値以下に設定し、前記親メッシュに所属する多次元デ
ータ数が前記設定値未満の場合に、その末端メッシュの
併合を試行するメッシュ併合手段と、前記末端メッシュ
をその兄弟メッシュと共に親メッシュに併合するステッ
プの試行に当たり、予め設定された併合許容条件にした
がって併合の可否を判定する併合判定手段を備えている
ことを特徴とする。
【0057】請求項30の発明は、管理対象となる複数
の多次元データを多次元空間内に配置し、各多次元デー
タの値を多次元空間内における座標として登録する多次
元データ記憶手段と、前記多次元データ記憶手段に多次
元データを登録・削除する多次元データ登録削除手段
と、前記多次元空間を複数のメッシュに階層的に分割
し、分割された各階層のメッシュを木構造の各ノードに
対応させ、各メッシュと各ノードとの対応関係を記憶す
る木構造管理手段と、分割された各メッシュに前記多次
元データに関する情報を登録するメッシュデータ記憶手
段と、前記各メッシュのうち、少なくとも前記木構造の
末端のノードに対応する末端メッシュに、その末端メッ
シュに重なる前記多次元データに関する情報を登録また
は削除するメッシュデータ登録削除手段とを備え、前記
各メッシュデータ記憶手段に登録された情報に基づいて
前記多次元データ記憶手段に蓄積されている多次元デー
タを管理する多次元データ管理装置において、前記末端
メッシュに登録できる多次元データ数を一定値以下に設
定し、末端メッシュに登録する多次元データ数が前記設
定値を超えた場合にその末端メッシュを分割するメッシ
ュ分割手段と、このメッシュ分割手段による末端メッシ
ュの分割処理に当たり、予め設定された分割許容条件に
したがって分割の可否を判定する分割判定手段と、前記
末端メッシュの親メッシュに登録できる多次元データ数
を一定値以下に設定し、前記親メッシュに所属する多次
元データ数が前記設定値未満の場合に、その末端メッシ
ュの併合を試行するメッシュ併合手段と、前記末端メッ
シュをその兄弟メッシュと共に親メッシュに併合するス
テップの試行に当たり、予め設定された併合許容条件に
したがって併合の可否を判定する併合判定手段を備えて
いることを特徴とする。
【0058】請求項31の発明は、請求項28または3
0記載の多次元データ管理装置において、前記分割判定
手段が、分割後の子メッシュに所属する多次元データ数
の和と、分割前の親メッシュに所属する多次元データ数
とを比較して、分割の可否を判定するものである。
【0059】請求項32の発明は、請求項28または3
0記載の多次元データ管理装置において、前記分割判定
手段が、親メッシュに所属する多次元データ数と、前記
親メッシュから分割された子メッシュの中の複数の子メ
ッシュに所属する多次元データ数とを比較して、分割の
可否を判定するものである。
【0060】請求項33の発明は、請求項29または3
0記載の多次元データ管理装置において、前記併合判定
手段が、併合前の各子メッシュに所属する多次元データ
数の和と、併合後の親メッシュに所属する多次元データ
数とを比較して、併合の可否を判定するものである。
【0061】請求項34の発明は、請求項29,30ま
たは33記載の多次元データ管理装置において、前記併
合判定手段が、併合後の親メッシュに所属する多次元デ
ータ数と、これら子メッシュの中の複数の子メッシュに
所属する多次元データ数とを比較して、併合の可否を判
定するものである。
【0062】請求項35の発明は、請求項29,30ま
たは33記載の多次元データ管理装置において、前記併
合判定手段が、前記末端メッシュに登録できる多次元デ
ータ数を一定値以下に設定し、親メッシュを同じくする
各末端メッシュに登録された多次元データ数がいずれも
前記設定値未満の場合に、その末端メッシュの併合を実
行するものである。
【0063】請求項36の発明は、管理対象となる複数
の多次元データを多次元空間内に配置し、各多次元デー
タの値を多次元空間内における座標として登録する多次
元データ記憶手段と、前記多次元データ記憶手段に多次
元データを登録・削除する多次元データ登録削除手段
と、前記多次元空間を複数のメッシュに階層的に分割
し、分割された各階層のメッシュを木構造の各ノードに
対応させ、各メッシュと各ノードとの対応関係を記憶す
る木構造管理手段と、分割された各メッシュに前記多次
元データに関する情報を登録するメッシュデータ記憶手
段と、前記各メッシュのうち、少なくとも前記木構造の
末端のノードに対応する末端メッシュに、その末端メッ
シュに重なる前記多次元データに関する情報を登録また
は削除するメッシュデータ登録削除手段とを備え、前記
各メッシュデータ記憶手段に登録された情報に基づいて
前記多次元データ記憶手段に蓄積されている多次元デー
タを管理する多次元データ管理装置において、前記メッ
シュデータ登録削除手段およびメッシュ分割手段に関連
して、末端メッシュの分割時において、前記各メッシュ
のうち、前記木構造の末端のノードに対応する分割によ
って生じた子メッシュと、前記末端ノードの親ノードに
対応する分割によって生じた親メッシュいずれかに多次
元データを登録しなおすメッシュデータ再登録手段と、
末端メッシュの分割時において、1つの図形あたりの複
数メッシュへの重複登録を抑制する条件に従って、前記
多次元データを分割によって生じた子メッシュと分割に
よって生じた親メッシュのいずれに登録しなおすかを判
定する再登録メッシュ判定手段が設けられいることを特
徴とする。
【0064】請求項37の発明は、請求項36記載の多
次元データ管理装置において、前記再登録メッシュ判定
手段が、前記多次元データがその親メッシュを完全に含
んでいないことを重複登録を抑制する条件としている。
【0065】請求項38の発明は、請求項36または3
7記載の多次元データ管理装置において、前記再登録メ
ッシュ判定手段が、前記多次元データが重なっている子
メッシュ数が予め設定された数以下であることを重複登
録を抑制する条件としている。
【0066】請求項39の発明は、請求項36,37ま
たは38記載の多次元データ管理装置において、前記再
登録メッシュ判定手段が、前記多次元データごとに重複
メッシュ数の上限が定められており、子メッシュへの登
録を行っても重複登録数が上限以下であることを重複登
録を抑制する条件としている。
【0067】請求項40の発明は、管理対象となる複数
の多次元データを多次元空間内に配置し、各多次元デー
タの値を多次元空間内における座標として登録する多次
元データ記憶手段と、前記多次元データ記憶手段に多次
元データを登録・削除する多次元データ登録削除手段
と、前記多次元空間を複数のメッシュに階層的に分割
し、分割された各階層のメッシュを木構造の各ノードに
対応させ、各メッシュと各ノードとの対応関係を記憶す
る木構造管理手段と、分割された各メッシュに前記多次
元データに関する情報を登録するメッシュデータ記憶手
段と、前記各メッシュのうち、少なくとも前記木構造の
末端のノードに対応する末端メッシュに、その末端メッ
シュに重なる前記多次元データに関する情報を登録また
は削除するメッシュデータ登録削除手段とを備え、前記
各メッシュデータ記憶手段に登録された情報に基づいて
前記多次元データ記憶手段に蓄積されている多次元デー
タを管理する多次元データ管理装置において、前記メッ
シュデータ登録削除手段およびメッシュ分割手段に関連
して、前記各メッシュのうち、前記木構造の末端のノー
ドに対応する末端メッシュと、前記末端ノードの親ノー
ドに対応する中間メッシュの少なくとも一方に多次元デ
ータを登録するデータ登録手段と、多次元データの登録
時において、登録する多次元データの状態に従って、前
記多次元データを末端メッシュと中間メッシュのどこに
登録するかを判定する登録位置判定手段が設けられてい
ることを特徴とする。
【0068】請求項41の発明は、請求項40記載の多
次元データ管理装置において、登録位置判定手段が、前
記多次元データが重なり合っている子メッシュ数に応じ
て登録するメッシュを選択するものである。
【0069】請求項42の発明は、請求項40または4
1記載の多次元データ管理装置において、前記登録位置
判定手段が、前記多次元データによって登録すべきメッ
シュの大きさの限度が決まっており、このメッシュの大
きさの限度に従って前記多次元データを登録するメッシ
ュを選択するものである。
【0070】請求項43の発明は、請求項40,41ま
たは42記載の多次元データ管理装置において、前記登
録位置判定手段が、前記多次元データごとに重複登録メ
ッシュ数の限度が定められており、この限度に従って前
記多次元データを登録するメッシュを選択するものであ
る。
【0071】請求項44の発明は、請求項40,41,
42または43記載の多次元データ管理装置において、
前記登録位置判定手段が、前記多次元空間内における前
記多次元データの大きさと、前記多次元空間内における
所定のメッシュの大きさとの比較から、前記多次元デー
タを登録するメッシュを選択するものである。
【0072】請求項45の発明は、請求項28,29,
30,36または40記載の多次元データ管理装置にお
いて、前記コンピュータの記憶領域内に蓄積されている
多次元データを管理する装置が、前記多次元空間内にお
ける指定された範囲を対象とし、この指定された範囲内
に属する多次元データを検索する範囲検索手段を含むこ
とを特徴とする。
【0073】請求項46の発明は、請求項28,29,
30,36,40または45記載の多次元データ管理装
置において、前記コンピュータの記憶領域内に蓄積され
ている多次元データを管理する装置が、前記多次元空間
内における指定された点に最も近い多次元データを検索
する最近傍データの検索手段を含むことを特徴とする。
【0074】請求項47の発明は、請求項46記載の多
次元データ管理装置において、前記最近傍データの検索
手段が、前記指定された点を含む最小のメッシュに多次
元データが登録されていない場合に、前記最小のメッシ
ュの親メッシュ、最小のメッシュに隣接するメッシュ、
親メッシュの親メッシュ、隣接するメッシュの親メッシ
ュ、隣接するメッシュに隣接する他のメッシュのごと
く、再帰的に最近傍データの候補が1つ決定されるまで
検索範囲を拡大することを特徴とする。
【0075】請求項48の発明は、請求項28,29,
30,36または40記載の多次元データ管理装置にお
いて、前記木構造管理手段が、2のN乗分木による木構
造に対応して前記多次元空間を階層的に2のN乗個に等
分割するものである。
【0076】請求項49の発明は、請求項28,29,
30,36または40記載の多次元データ管理装置にお
いて、管理対象となる多次元データが、2次元の平面も
しくは3次元の空間内に配置された図形データである。
【0077】
【発明の実施の形態】以下、本発明の実施形態につい
て、図面を参照して具体的に説明する。なお、以下の実
施形態は、電力系統の配電線図のような2次元データの
管理・検索についてのものである。
【0078】[1.用語の説明]各実施形態について説
明する前に、本明細書中で用いられる種々の用語につい
て説明する。
【0079】(a)データの管理 データの登録・削除、メッシュの分割・併合、データの
検索(例えば、矩形検索、最近傍データ検索)などのデ
ータを処理する1つあるいは複数の手続きを包含する。
【0080】(b)世界座標範囲または世界範囲 データを管理する空間の範囲のことをいう。通常、デー
タ格納領域の初期時に与えられた範囲である。
【0081】(c)図形 多次元空間内で座標によって表示される多次元データの
1つであって、本実施の形態では、2次元空間内に配置
された点、線、面などの図形要素の単独あるいは組み合
わせからなるデータを指す。図形は、その図形が世界座
標範囲でどのような位置/領域を占めているかを表わす
数値データを持っている。この図形データは与えられた
ままデータ領域にコピーされる。なお、3次元空間内に
おいては、立体図形を指すことは言うまでもない。図形
には、図形要素の組み合わせからなる比較的小さな図形
(本実施の形態ではサブ図形と呼ぶ)と、このサブ図形
をさらに組み合わせてなるより大きな図形(本実施の形
態ではスーパー図形と呼ぶ)がある。本実施の形態にお
いて、登録、削除、検索などの管理対象となる図形に
は、図形要素、サブ図形、スーパー図形のいずれもが含
まれる。図形をどのような態様で管理するかは、管理の
目的、コンピュータの記憶領域の大小、検索速度、分割
するメッシュの階層レベルなどによって適宜選択するこ
とができる。
【0082】(d)メッシュ 世界座標範囲が2のN乗分割されてできる空間を言う。
従来技術の説明で使用したデータが属する領域と同じ。
本発明の第1実施形態ないし第3実施形態では図形とい
う2次元データを管理するため、世界座標範囲を4分割
(繰り返し4分割された場合も含む)された結果できる
四角形をいう。世界座標範囲全体自体もメッシュと呼
ぶ。ある程度の数の図形データがデータ格納領域に登録
された状態では、世界座標範囲はいくつかのメッシュに
分割されている。通常、図形の詰まったところは細かく
小さいメッシュに分割され、図形の少ないところは大き
なメッシュに分割される。
【0083】N次元空間における分割では、各次元につ
いて2分割するので、メッシュは2のN乗分割される。
世界範囲から始まって細かく分割されるメッシュを2の
N乗分木を用いて管理する。2のN乗分木のデータ構造
もデータ領域上に載せる。2のN乗分木の各ノードから
対応するメッシュに関する情報が容易に得られる。
【0084】(e)木構造 メッシュ分割された世界座標範囲は4分木で管理され、
世界座標範囲内の各メッシュは4分木の1つのノードに
対応する。逆に、4分木のどのノードも、メッシュ分割
された世界座標範囲のいずれか1つのメッシュに対応す
る。例えば、与えられたデータ格納領域の初期時には、
前記世界座標範囲には図形は一つもなく、世界座標範囲
全体を指すたった1 個のノード(根ノード)からなる4
分木だけを構成する。ノードとメッシュは1体1に対応
し、メッシュの分割・併合に伴ってノードの追加・削除
を行うことによってこの対応が維持される。各ノードは
対応するメッシュが存在する時は、そのメッシュデータ
を指していて、存在しないときはどこも指さない。メッ
シュ分割の時は、与えられた飯データ領域を指し、合併
しメッシュがなくなったときはどこも指さないようにノ
ードは変わる。おな、ノードの追加・削除を動的に行わ
ず、あらかじめ定められた4分木乗でメッシュと対応付
けられているノードの範囲のみを管理することもできる
が、その場合はこの限りでない。具体的には、世界座標
範囲全体を示す四角形のメッシュは「根ノード」に対応
し、根ノードの4つの子ノードは世界座標範囲の四角形
を4分割した4つのメッシュに対応する。例えば、メッ
シュMがメッシュm0〜m3に4分割されているとき、
メッシュMに対応するノードNはメッシュm0〜m3に
対応するノードn0〜n3をすぐ下の子ノードとして持
つ。以下の実施形態では、メッシュの親子関係が分かる
ように、子メッシュの番号を親メッシュの番号の4倍プ
ラス0,1,2,3とし、4分割したメッシュの左下、
左上、右下、右上の順にその番号を付する。すなわち、
m0=4M,m1=4M+1,m2=4M+2,m3=
4M+3である。
【0085】逆に、メッシュに対応するノードを決定す
る方法としては、例えば4分木の根ノードから出発し
て、与えられたメッシュを含むメッシュに対応する子ノ
ードに順次降りて行き、与えられたメッシュに一致する
メッシュに対応するノードに至る方法がある。いずれに
せよ、ノードとメッシュは1対1に対応するから、その
対応を実現する方法には種々の形態があり、いずれの方
法を採用してもメッシュ及びノードが一意に決定され
る。なお、管理するデータの種類によっては、4分木は
1本とは限らず、表示倍率別あるいは図形種類別に用意
することもある。
【0086】(f)末端ノードと内ノード 葉ノードに対応するメッシュは分割されておらず、この
メッシュを「末端メッシュ」と呼ぶ。これに対し、内ノ
ードに対応するメッシュは必ず分割済みである。また、
図形は末端メッシュに所属するものとし、末端メッシュ
に対応する葉ノードは、そのメッシュに所属する全図形
リストを持つ。さらに、図形が占める領域とメッシュの
領域の重なりがあるとき、「図形はメッシュに所属す
る」という。なお、内ノードは「中間ノード」とも呼ば
れ、これに対応するめしは「中間メッシュ」「被分割メ
ッシュ」呼ばれる。
【0087】(g)メッシュの状態データ 1つノードを指定すると、そのノードに対応するメッシ
ュがどれであるかを検索する手段(後述するメッシュ検
索手段)があるが、この手段としては、例えば、メッシ
ュの座標を計算で割り出したり、メッシュのデータを直
接ノードが持つことにより実現される。
【0088】例えば、各ノードが直接対応するメッシュ
に関するデータを持つ方法がある。このデータを「メッ
シュの状態データ」と呼ぶ。このデータはデータ領域上
に置かれ、対応するメッシュが存在するノードにはその
データ格納領域を指すポインタを格納すればよい。一
方、対応するメッシュがないノードは何も指さない(ヌ
ルを指すポインタを格納する)。このメッシュの状態デ
ータ図3に示すような構造をしており、は、図形のリス
トを状態データとして持つ。この図形リストから具体的
な図形データ(座標、色、幅、種類など)にアクセスす
ることが容易となる。その他、状態データとして、メッ
シュと重なりのある図形数や、種類毎の所属する図形数
などを持つ場合もある。なお、以下の実施形態では、所
属図形数を状態データとして持っている。
【0089】ここで、図形がメッシュに登録されている
とは、図形データがメッシュの所属図形リストに入って
いることを言い、図形がメッシュに所属するとは、単に
図形がメッシュには言っているだけでなく、メッシュの
下層の子メッシュにも登録されていることを言う。ま
た、所属図形数とは、メッシュそれ自体に登録されてい
る図形と、そのメッシュより下層の子メッシュに登録さ
れている図形を重複なく数えることを言う。所属図形リ
ストとは、メッシュに登録されている図形(図形要素や
サブ図形)のリストを意味する。
【0090】また、メッシュデータとして、葉ノードと
内ノードが持つ情報の種類が異なることもある。これ
は、内ノードには所属する図形リストを保持させる必要
がないことによるが、データ領域に余裕があれば、内ノ
ードにも所属する図形リストを保持させることもでき
る。なお、ノードが持つメッシュの状態データは、与え
られたデータ領域上に格納される。
【0091】(h)メッシュの分割 葉ノードNに対応する末端メッシュMは、一定の条件
(例えば、そのメッシュに所属する図形数が一定数を超
えたとき)を満たすと4分割される。そして、4分割に
よって生じる4つのメッシュ(m0〜m3)に対応する
ノードが4つ(n0〜n3)作られ、それらはノードN
の子ノードになる。つまり、ノードNは内ノードにな
り、4つのノード(n0〜n3)が葉ノードになる。メ
ッシュMに所属している図形のうち、分割後のメッシュ
(m0〜m3)に所属すべき図形は分割後のメッシュに
所属させる。メッシュMの所属のままでよい図形はその
ままで良い。メッシュM,m0,m1,m2,m3の状
態データを各対応ノードで更新する。一方、内ノードN
に対応するメッシュMは必ず分割されている。メッシュ
Mが一定の条件(例えば、そのメッシュに所属する図形
数が一定数を下回ったとき)を満たしたとき、メッシュ
Mに対応するノードの子ノード、孫ノードを抹消する。
その結果、メッシュMは未分割のメッシュになり、対応
ノードは葉ノードになる。そして、メッシュM以下の末
端メッシュに所属していた図形をメッシュMに所属させ
る。これにより、ノードNが持つメッシュMの状態デー
タは、所属図形リストを持つことになる。
【0092】[2.各実施形態とコンピュータ]本発明
の各実施形態はコンピュータ上に実現され、実施形態の
各機能は、所定の手順(プログラム)がこのコンピュー
タを制御することで実現される。本明細書における各
「手段」は、実施形態の各機能に対応する概念的なもの
で、必ずしも特定のハードウェアやソフトウェア・ルー
チンに1対1には対応しない。同一のハードウェア要素
が、場合によって異なった手段を構成する。例えば、コ
ンピュータは、ある命令を実行するときにある手段とな
り、別の命令を実行するときは別の手段となりうる。ま
た、一つの手段が、わずか1命令によって実現される場
合もあれば、多数の命令によって実現される場合もあ
る。したがって、本明細書では、以下、実施形態の各機
能を有する仮想的回路ブロック(手段)を想定して実施
形態を説明する。また、本実施形態における各手順の各
ステップは、その性質に反しない限り、実行順序を変更
し、複数同時に実行し、また、実行ごとに異なった順序
で実行してもよい。このような順序の変更は、例えば、
ユーザが実行可能な処理を選択するなどメニュー形式の
インターフェース手法によって実現することができる。
【0093】[3.第1実施形態]第1実施形態は、前
記第1の目的を達成するための発明に関するものであ
り、請求項1〜請求項8に記載の多次元データ管理方
法、請求項23〜25に記載のプログラムを記録した媒
体及び請求項28〜35に記載の多次元データ管理装置
に対応するものである。
【0094】第1実施形態は、末端メッシュのみに図形
を登録すると共に、末端メッシュの分割を所定の条件下
で行うことにより、データ管理の観点から見て非効率的
なメッシュの分割を抑制することで、メモリの使用効率
の向上を可能としたものである。
【0095】すなわち、末端メッシュの分割を許容する
所定の条件としては、例えば、次のようなものがある。 (a)所属図形が一定数以上である。 (b)分割した場合、子メッシュの所属図形数の和が、
分割前の親メッシュの所属図形数のm倍未満である。 (c)分割した場合、3つ以上の子メッシュに所属する
図形の数が、所属図形数のn%未満である。 なお、mの典型的な値は、2倍(4分割だから、4以上
は無意味である)、nの典型的な値は例えば30%に設
定することができる。
【0096】木構造を利用したデータ管理方法におい
て、前記(a)の条件のみを用いるのは公知である。第
1実施形態では、この(a)の条件に(b)ないし
(c)の条件を併用することによって、図形の複数メッ
シュへの重複登録を抑制し、分割に伴う所要記憶領域の
増加を抑制している。使用すべき条件としては、(b)
(c)のような形のものだけではなく、(a)のみの条
件を用いて分割を行った場合に比較して、個々の図形に
ついてあるいは全図形に関して平均的に1つの図形あた
りの所属(登録)メッシュ数を減少させるような効果を
持つものならば、どのような条件を用いても良い。例え
ば、(b)のmの値を所属図形の種類別の数の比率に基
づいて決定したり、非常に長い線分のようにもともとあ
る程度の数のメッシュへの重複登録が避けられないタイ
プの図形を除外して(b)あるいは(c)の条件をチェ
ックするなど、種々考えられる。
【0097】(a)の条件に基づいて分割を行うことの
効果は、より小さなメッシュにより少ない図形を登録す
ることにより、第2実施形態において、矩形検索で矩形
に重なると判定されたメッシュから図形を取り出して矩
形への所属をチェックする際に、矩形に所属しないと判
定される図形を減少させることによって、処理の高速化
を図るものである。また、最近傍検索においても、1つ
のメッシュ所属する図形数が少なければ、最近傍図形を
決定するまでに検索調査される図形数が減少することに
よって高速化が図られる。
【0098】しかしながら、前記(b)(c)の条件を
併用しないで(a)の条件によって資源の許す限り無制
限に分割を進めれば、多数重なり合って存在するある程
度の大きさを有する図形を登録した場合には、1つの図
形の所属メッシュは非常に多数になり、近接するメッシ
ュに所属している図形には共通のものが多いという状況
が生じる。このような状況では、分割による個々のメッ
シュの所属図形の現象が十分はかられないばかりか、検
索に際して既にチェックした図形を再度チェックする、
あるいは既にチェックしたものと判定して捨象するとい
う無駄な作業の割合が増加し、所要記憶領域の増加のみ
ならず処理速度の低下をも招く。
【0099】これに対して、(b)(c)の条件を併用
すれば、1つの図形あたりの所属メッシュ数を著しく増
加させるような分割を抑制することができ、所要記憶領
域の増加を抑制し、かつ検索処理の速度を向上させる
(低下させない)という効果がある。さらには、分割/
併合の頻度が減少することによって、登録/削除の処理
も高速化される。
【0100】末端メッシュの分割に対応して、併合の場
合の所定の条件としては、次のようなものを用いること
ができる。 (d)親メッシュの所属図形が一定数未満である。 (e)併合した場合、子メッシュの所属図形数の和が、
親メッシュの所属図形数のm`倍以上である。 (f)併合した場合、3つ以上の子メッシュに所属する
図形の数が、所属図形数のn%以上である。 (d)は分割の(a)に対応する条件で、(d)のみを
用いるのは公知である。(e)を併用する場合、登録に
おいて(b)を併用したとすれば、m`をmに対してど
の程度に設定するかで併合の発生を抑制し得る。m`が
mに対して大きければ併合が生じにくく、小さければ併
合が生じやすい。同様に、(f)と(c)を用いる場
合、n`がnに対して大きければ併合が生じにくく、小
さければ併合が生じ易い。
【0101】なお、併合を判定する前記の条件は、併用
せず単独で用いても良い。すなわち、(e)のみを用い
て併合の可否を判定しても良い。(d)の条件を用いな
いとすれば、登録の結果として併合すべきメッシュが生
じることもあるので、登録処理時において、末端メッシ
ュの所属図形リストに図形を加えた後に、メッシュの分
割処理を試みるだけでなく、メッシュの併合処理も合わ
せて試みることが効果的である。
【0102】また、(e)の条件判定を行う場合、第1
実施形態においては各メッシュの所属図形数は得られる
ようになっているので、メッシュ状態データはそのまま
でよい。(b)に関しては、末端メッシュの状態データ
の一部として子メッシュの所属図形数の和を保持するカ
ウンタを設け、登録処理時において末端メッシュを分割
して作成する子メッシュについて図形の所属をチェック
し、所属すればそのカウンタを増すなどの手段を講じ
て、判定が迅速に行えるようにすれば効果的である。
【0103】[3−1.第1実施形態の構成]図1は、
第1実施形態の構成を示す機能ブロック図である。
【0104】すなわち、本実施形態の多次元データ管理
装置は、中央処理装置1に接続されたキーボードマウス
その他の入力装置2、ディスプレイやプリンタ、外部フ
ァイルなどの出力装置3、本発明のデータ管理プログラ
ム6や管理データを保存する記憶装置5、データ管理プ
ログラム6の実行・記憶領域であるメインメモリ5を備
えている。
【0105】メッシュデータ記憶手段7は、多次元空間
を複数のメッシュに階層的に分割し、分割された各階層
のメッシュを木構造の各ノードに対応させ、各メッシュ
と各ノードとの対応関係を記憶する。すなわち、分割さ
れた各メッシュに前記多次元データに関する情報を登録
する。前記多次元データ記憶手段8は、管理対象となる
複数の多次元データを多次元空間内に配置し、各多次元
データの値を多次元空間内における座標として登録す
る。
【0106】これら各記憶手段によってファイル装置あ
るいはメインメモリのデータ格納領域に記録される各デ
ータの一例を図2乃至図4に示す。なお、データ格納領
域は、アクセスが早いものが望ましく、コンピュータの
メインメモリ上に確保することが非常に好ましい。ま
た、前記「4分木管理領域」には、4分木のノードに対
応するメッシュ番号が付されており、そのノードが末端
メッシュの場合には、メッシュデータを格納している領
域を指すポインタが記されている。
【0107】このデータ格納領域は、一例として図2に
示すように、パラメータ格納領域、図形キー管理、4分
木管理構造、メッシュデータおよび図形データの格納領
域などから構成されている。前記パラメータ格納領域に
格納されるパラメータとしては、世界座標範囲、各メッ
シュに登録する最大の図形数、4分木を分割する際の最
大分割レベル数、メッシュの分割・合併の条件を定める
各種の値(メッシュ分割する図形数、メッシュ合併する
図形数など)、図形に種類がある時その内容、4分木が
複数ある場合その判別、データサイズ、空き領域の先頭
などが格納されている。
【0108】メッシュデータは、一例として図3に示す
ように、所属図形数、最大図形数(所属図形数がこの数
より大きくなったら、そのメッシュは4分割される)、
所属図形リストを備えており、この所属図形リストに、
所属する図形のデータの前記データ格納領域上における
格納領域を示すポインタを登録する。なお、本実施形態
においては、末端メッシュでないメッシュは、前記所属
図形リストは持たないものとする。
【0109】さらに、サブ図形の組合わせで構成される
図形データの場合には、図4に示したように、サブ図形
単位でメッシュに所属させることにより、サブ図形を分
けて別個の図形データとして格納するよりもデータ領域
を節約できる。また、一つにまとまった図形はまとめた
方が人間の感覚に合致するし、画面への表示は大きくま
とまっている方が速いというメリットもある。
【0110】データ管理プログラム6は、木構造管理手
段9、多次元データ登録削除手段10、メッシュデータ
登録削除手段11、メッシュ分割手段12、分割判定手
段13、メッシュ併合手段14および併合判定手段15
を備えている。
【0111】木構造管理手段9は、前記多次元空間を複
数のメッシュに階層的に分割し、分割された各階層のメ
ッシュを木構造の各ノードに対応させ、各メッシュと各
ノードとの対応関係を管理する。この木構造管理手段9
においては、世界座標範囲の中のメッシュを4分木のノ
ードと対応させ、そのノードから対応するメッシュに関
するデータが格納されているデータ領域を指す。第1実
施形態では、4分木ノードとメッシュの対応付けは、メ
ッシュの番号と4分木のノードの番号を同一にすること
により実現している。例えば、あるメッシュの4分割後
の4つのメッシュの番号を、分割前のメッシュの番号の
4倍プラス0,1,2,3,とし、左下、左上、右下、
右上の順に番号を付けることとする。これにより、メッ
シュの親子関係が簡単に分かり、また、メッシュの番号
から計算によりメッシュの座標が求まり、分割レベルも
求まる。
【0112】また、木構造管理手段9は、4分木から検
索対象メッシュが末端メッシュ(4分木の葉ノード)で
あるか否かを判定し、検索対象メッシュがカバーする範
囲(左下と右上の座標)を指示し、検索対象メッシュの
分割レベルを示す。この場合、全図形データに「図形キ
ー」と呼ばれるユニークな図形ID番号を付し、その図
形キーに基づいて全図形を管理し、図形キーが与えられ
ると該当図形のデータ格納場所を検索することができ
る。また、図形データを格納するデータ領域を、図形デ
ータの大きさに合わせて確保する。さらに、図形データ
の座標とメッシュの座標を使って、検索対象図形が検索
対象メッシュに入っているか否かを判定する。
【0113】多次元データ登録削除手段10は、前記多
次元データ記憶手段8に多次元データを登録・削除す
る。メッシュデータ登録削除手段11は、メッシュデー
タ記憶手段7に作用して、前記各メッシュのうち、少な
くとも前記木構造の末端のノードに対応する末端メッシ
ュに、その末端メッシュに対応する前記多次元データに
関する情報を登録または削除する。
【0114】これらの各手段により、本発明では、前記
各メッシュデータ記憶手段に登録された情報に基づいて
前記多次元データ記憶手段に蓄積されている多次元デー
タを管理する。
【0115】本発明においては、前記のような構成を有
する多次元データ管理装置において、次の構成を備えた
ことを特徴とする。まず、メッシュ分割手段12は、前
記末端メッシュに登録できる多次元データ数を一定値以
下に設定し、末端メッシュに登録する多次元データ数が
前記設定値を超えた場合にその末端メッシュを分割す
る。分割判定手段13は、このメッシュ分割手段による
末端メッシュの分割処理に当たり、予め設定された分割
許容条件にしたがって分割の可否を判定する。メッシュ
併合手段14は、前記末端メッシュの親メッシュに登録
できる多次元データ数を一定値以下に設定し、前記親メ
ッシュに所属する多次元データ数が前記設定値未満の場
合に、その末端メッシュの併合を試行する。併合判定手
段15は、前記末端メッシュをその兄弟メッシュと共に
親メッシュに併合するステップの試行に当たり、予め設
定された併合許容条件にしたがって併合の可否を判定す
る。
【0116】具体的には、前記分割判定手段13として
は、(a)分割後の子メッシュに所属する多次元データ
数の和と、分割前の親メッシュに所属する多次元データ
数とを比較して、分割の可否を判定するもの、(b)親
メッシュに所属する多次元データ数と、前記親メッシュ
から分割された子メッシュの中の複数の子メッシュに所
属する多次元データ数とを比較して、分割の可否を判定
するもの、が使用できる。
【0117】前記併合判定手段15としては、(a)併
合前の各子メッシュに所属する多次元データ数の和と、
併合後の親メッシュに所属する多次元データ数とを比較
して、併合の可否を判定するもの、(b)併合後の親メ
ッシュに所属する多次元データ数と、これら子メッシュ
の中の複数の子メッシュに所属する多次元データ数とを
比較して、併合の可否を判定するもの、(c)前記末端
メッシュに登録できる多次元データ数を一定値以下に設
定し、親メッシュを同じくする各末端メッシュに登録さ
れた多次元データ数がいずれも前記設定値未満の場合
に、その末端メッシュの併合を実行するもの、が使用で
きる。
【0118】[3−2.第1実施形態の作用]以下前記
のような構成を有する第1実施形態の多次元データ管理
装置の作用並びに、これに対応する多次元データ管理方
法について、図5乃至図7の木構造とメッシュとの関
係、図8のスタックの機能、図9乃至図15のフローチ
ャートに従って説明する。
【0119】[3−2−1.データ領域への図形の登録
処理]データ領域に新たな図形を登録する処理は、図9
に示したフローチャートにしたがって実行される。以
下、各ステップごとに説明する。
【0120】(ステップ901)登録する図形データに
合ったデータ領域を確保する。
【0121】(ステップ902)データ領域が確保でき
たか否かが判断され、データ領域が確保できた場合に
は、次のステップに進み、データ領域が確保できない場
合には、データ領域への図形の登録はできず、この処理
は終了する。
【0122】(ステップ903)ステップ902でデー
タ領域が確保できた場合には、図形データを確保したデ
ータ領域にコピーする。
【0123】(ステップ904)図形キー管理エリアに
その図形を加える。
【0124】(ステップ905)図形キー管理エリアに
図形を加えることができたか否かが判断され、加えるこ
とができた場合には、次のステップ906に進み、一
方、加えることができない場合には、ステップ909に
進む。
【0125】(ステップ906)図形キー管理エリアに
図形を加えることができた場合には、その図形をメッシ
ュに登録する。
【0126】(ステップ907)図形をメッシュに登録
できたが否かが判断され、登録できた場合には、データ
領域への図形の登録は完了する。一方、登録できなかっ
た場合には、次のステップに進む。
【0127】(ステップ908)登録処理の過程で変化
したメッシュを元に戻して、図形データを削除し、この
処理を終了する。
【0128】(ステップ909)ステップ905で図形
キー管理エリアに図形を加えることができなかった場合
には、ステップ903においてデータ領域にコピーした
図形データを消し、データ領域への図形の登録処理を終
了する。
【0129】ここで、「登録処理の過程で変化したメッ
シュ」とは、例えば、そのメッシュに所属する図形の数
が増えた結果、4分割されたメッシュ等をいう。したが
って、本処理によって、結果的に図形の登録ができなか
った場合には、すべてのデータは元の状態に戻される。
【0130】なお、図9に示したフローチャートの内、
ステップ906の「図形をメッシュに登録する処理」、
及びステップ908の「図形をデータ領域から削除する
処理」については、後述する。
【0131】[3−1−2.メッシュデータへの図形の
登録処理]全世界を再帰的に分割したメッシュに新たな
図形を登録する処理は、図10に示したフローチャート
にしたがって実行される。本実施例では図形を末端メッ
シュにのみ登録する。以下、各ステップごとに説明す
る。
【0132】(ステップ1001)メッシュスタックを
空にする。
【0133】(ステップ1002)メッシュスタックに
世界全体(全世界1)をメッシュとして入れる。
【0134】(ステップ1003)メッシュスタックが
空か否かを判断し、空の場合には本処理を終了する。一
方、空でない場合には次のステップに進む。なお、ここ
では、前ステップにおいて、全世界1が入っているので
次のステップに進む。
【0135】(ステップ1004)メッシュスタックか
らメッシュを一つ取り出し、現メッシュとする。すなわ
ち、ここでは全世界1が取り出される。
【0136】(ステップ1005)現メッシュと図形が
重なっているか否かを判断し、重なっていない場合には
ステップ1003に戻る。一方、重なっている場合には
次のステップに進む。ここでは、全世界1は登録すべき
図形aと重なっているので、次のステップに進む。
【0137】(ステップ1006)現メッシュの所属図
形数を増やす。ここでは、全世界1のメッシュデータの
所属図形数を、図形aの分として1つ増やす。
【0138】(ステップ1007)現メッシュが末端の
メッシュであるか否かが判断され、末端メッシュである
場合には、ステップ1009に進む。一方、末端メッシ
ュでない場合には、ステップ1008に進む。ここで、
全世界1がすでに4〜7のメッシュに分割されており、
4〜7が末端メッシュであるとすると、現メッシュであ
る全世界1は末端メッシュではないので、ステップ10
08へ進む。
【0139】(ステップ1008)現メッシュを4分割
した4つのメッシュをメッシュスタックに入れ、ステッ
プ1004へ戻る。すなわち、ここでは、全世界1を4
分割した4〜7のメッシュをメッシュスタックに入れ、
ステップ1004へ戻る。そして、ステップ1004に
おいて、メッシュスタックからメッシュを順に一つずつ
取り出して現メッシュとし、上記ステップ1005〜ス
テップ1007の処理を各メッシュについて行う。この
例では、メッシュスタックからメッシュ7を取り出し、
現メッシュとしてステップ1005へ進む。このメッシ
ュ7は、図5に示したように、登録する図形aと重なっ
ているので、ステップ1006及びステップ1007に
進み、ステップ1007でメッシュ7は末端メッシュで
あると判断され、ステップ1009に進む。
【0140】(ステップ1009)現メッシュの所属図
形リストに登録する図形を加える。
【0141】(ステップ1010)現メッシュについ
て、後述する「メッシュの分割処理」がなされ、ステッ
プ1003へ戻る。この例では、他のメッシュ6、5、
4は、いずれも図形aと重ならないので、ステップ10
03〜ステップ1005を順次繰り返し、すべての末端
メッシュのチェックが終了すると、ステップ1003で
メッシュスタックが空になるので、本処理を終了する。
結局、末端メッシュ7に図形aが登録される。
【0142】なお、後述する「メッシュの分割処理」に
おいて、現メッシュが4分割されると、現メッシュは親
メッシュになるので、前記ステップ1009でメッシュ
7の所属図形リストに加えた図形aは、メッシュ7の所
属図形リストから削除される。
【0143】[3−1−3.データ領域からの図形の削
除処理]データ領域から所定の図形を削除する処理は、
図11に示したフローチャートにしたがって実行され
る。以下、各ステップごとに説明する。
【0144】(ステップ1101)後述する「図形をメ
ッシュから削除する処理」がなされる。
【0145】(ステップ1102)図形キー管理エリア
から該当図形を除く。
【0146】(ステップ1103)図形データ格納場所
にあるデータを消去して、本処理を終了する。
【0147】[3−1−4.メッシュからの図形の削除
処理]メッシュから所定の図形を削除する処理は、図1
2に示したフローチャートにしたがって実行される。以
下、各ステップごとに説明する。
【0148】(ステップ1201)メッシュスタックを
空にする。
【0149】(ステップ1201)メッシュスタックに
世界全体(全世界1)をメッシュとして入れる。
【0150】(ステップ1203)メッシュスタックが
空か否かを判断し、空の場合には本処理を終了する。一
方、空でない場合には次のステップに進む。なお、ここ
では、前ステップにおいて、全世界1が入っているので
次のステップに進む。
【0151】(ステップ1204)メッシュスタックか
らメッシュを一つ取り出し、現メッシュとする。すなわ
ち、ここでは全世界1が取り出される。
【0152】(ステップ1205)現メッシュと図形が
重なっているか否かを判断し、重なっていない場合には
ステップ1203に戻る。一方、重なっている場合には
次のステップに進む。ここでは、全世界1は登録すべき
図形aと重なっているので、次のステップに進む。
【0153】(ステップ1206)現メッシュの所属図
形数を減らす。ここでは、全世界1のメッシュデータの
所属図形数を、図形aの分として1つ減らす。
【0154】(ステップ1207)現メッシュが末端の
メッシュであるか否かが判断され、末端メッシュである
場合には、ステップ1209に進む。一方、末端メッシ
ュでない場合には、ステップ1208に進む。ここで、
全世界1がすでに4〜7のメッシュに分割されており、
4〜7が末端メッシュであるとすると、現メッシュであ
る全世界1は末端メッシュではないので、ステップ12
08へ進む。
【0155】(ステップ1208)現メッシュを4分割
した4つのメッシュをメッシュスタックに入れ、ステッ
プ1204へ戻る。すなわち、ここでは、全世界1を4
分割した4〜7のメッシュをメッシュスタックに入れ、
ステップ1204へ戻る。そして、ステップ1204に
おいて、メッシュスタックからメッシュを順に一つずつ
取り出して現メッシュとし、上記ステップ1205〜ス
テップ1207の処理を各メッシュについて行う。この
例では、メッシュスタックからメッシュ7を取り出し、
現メッシュとしてステップ1205へ進む。このメッシ
ュ7は、図5に示したように、削除する図形aと重なっ
ているので、ステップ1206及びステップ1207に
進み、ステップ1207でメッシュ7は末端メッシュで
あると判断され、ステップ1209に進む。
【0156】(ステップ1209)現メッシュの所属図
形リストから図形を削除する。
【0157】(ステップ1210)現メッシュについ
て、後述する「メッシュの併合処理」がなされ、ステッ
プ1203へ戻る。この例では、他のメッシュ6、5、
4は、いずれも図形aと重ならないので、ステップ12
03〜ステップ1205を順次繰り返し、すべての末端
メッシュのチェックが終了すると、ステップ1203で
メッシュスタックが空になるので、本処理を終了する。
結局、末端メッシュ7から図形aが削除される。
【0158】なお、後述する「メッシュの併合処理」に
おいて、現メッシュが併合されると、親メッシュ(全世
界1)が現メッシュになるので、前記ステップ1209
でメッシュ7の所属図形リストから削除された図形a
は、親メッシュ1からも削除され、親メッシュの所属図
形数が一つ減少する。
【0159】[3−1−5.データ領域における図形デ
ータの修正処理]データ領域に記憶された図形データを
修正する処理は、図13に示したフローチャートにした
がって実行される。なお、修正の前後で、図形を同定す
る図形キーは不変である。以下、各ステップごとに説明
する。
【0160】(ステップ1301)旧図形データを図形
キーから検索する。
【0161】(ステップ1302)修正後の新図形デー
タのためのデータ領域を確保する。
【0162】(ステップ1303)データ領域が確保で
きたか否かが判断され、データ領域が確保できた場合に
は、次のステップに進む。一方、データ領域が確保でき
ない場合には、データ領域への新図形の登録はできず、
この処理は終了する。
【0163】(ステップ1304)新図形データを確保
したデータ領域にコピーする。
【0164】(ステップ1305)図形キー管理エリア
に登録されている旧図形データへのポインタと新図形デ
ータへのポインタを置き換える。
【0165】(ステップ1306)新図形をメッシュに
登録する。
【0166】(ステップ1307)新図形をメッシュに
登録できたか否かが判断され、登録できた場合にはステ
ップ1308へ進み、登録できなかった場合には、ステ
ップ1310へ進む。
【0167】(ステップ1308)旧図形をメッシュか
ら削除する。
【0168】(ステップ1309)図形データ格納場所
にある旧図形データを消去して、本処理を終了する。
【0169】(ステップ1310)前記ステップ130
7において、新図形をメッシュに登録できなかった場合
には、登録処理の過程で変化したメッシュを元に戻し
て、新図形データを削除する。
【0170】(ステップ1311)図形キー管理エリア
において置き換えた新図形データへのポインタを旧図形
データへのポインタに戻し、本処理を終了する。すなわ
ち、本処理によって、結果的に修正後の新図形の登録が
できなかった場合には、すべてのデータは元の状態に戻
される。
【0171】[3−1−6.メッシュの分割処理]末端
のメッシュに登録された図形数が一定数を越えた場合に
行われるメッシュの分割処理は、図14に示したフロー
チャートにしたがって実行される。以下、各ステップご
とに説明する。
【0172】(ステップ1401)分割メッシュスタッ
クを空にする。
【0173】(ステップ1402)分割メッシュスタッ
クに現メッシュを入れる。
【0174】(ステップ1403)分割メッシュスタッ
クからメッシュを一つ取り出し、親メッシュとする。
【0175】(ステップ1404)別途説明した所定の
分割条件に照らして、親メッシュを分割して良いか否か
が判断され、分割して良い場合には次のステップ140
5に進む。一方、分割すべきでない場合には、ステップ
1417に進み、分割メッシュスタックが空か否かが判
断され、空の場合には本処理は終了し、空でない場合に
はステップ1403へ戻る。
【0176】(ステップ1405)前記ステップ140
4において、親メッシュを分割して良いと判断された場
合には、そのメッシュを4分割する。
【0177】(ステップ1406)4分割された各子メ
ッシュについてメッシュデータ領域を確保する。
【0178】(ステップ1407)すべての子メッシュ
について、メッシュデータ領域が確保されたか否かが判
断され、確保された場合には次のステップに進み、一
方、4つのメッシュの内、いずれか一つでもメッシュデ
ータ領域が確保されない場合には、ステップ1409に
進む。
【0179】(ステップ1408)4分割されたすべて
のメッシュについてメッシュデータ領域が確保された場
合には、親メッシュに登録されている図形の内から一つ
の図形を選択する。
【0180】(ステップ1409)ステップ1407に
おいて、4つのメッシュの内、いずれか一つでもメッシ
ュデータ領域が確保されない場合には、メッシュの4分
割処理はできないので、確保されたメッシュデータ領域
を元に戻し、本処理を終了する。
【0181】(ステップ1410)4分割されたメッシ
ュから一つの子メッシュを選択する。
【0182】(ステップ1411)ステップ1408に
おいて選択された図形が、その子メッシュに重なるか否
かが判断され、重なる場合にはステップ1412に進
み、重ならない場合にはステップ1413に進む。
【0183】(ステップ1412)ステップ1411に
おいて図形がその子メッシュに重なると判断された場合
には、その図形をその子メッシュに登録する。具体的に
は、子メッシュの所属図形数を増やし、所属図形リスト
に図形を加える。
【0184】(ステップ1413)ステップ1411に
おいて図形がその子メッシュに重ならないと判断された
場合には、上記ステップ1407及びステップ1412
の処理がすべての子メッシュについてなされたか否かが
判断され、まだなされていない場合にはステップ141
0に戻り、一方、すべての子メッシュについて終了して
いる場合には、次のステップに進む。
【0185】(ステップ1414)親メッシュに登録さ
れていたすべての図形について、ステップ1410〜ス
テップ1413の処理がなされたか否かが判断され、ま
だなされていない場合にはステップ1408に戻り、一
方、すべての図形について終了している場合には、次の
ステップに進む。
【0186】(ステップ1415)上記のようにして、
親メッシュに登録されていたすべての図形について処理
が終了した後、親メッシュの所属図形リストのデータ領
域を消去する。
【0187】(ステップ1416)4つの子メッシュを
分割メッシュスタックに入れ、ステップ1403に戻
る。
【0188】[3−1−7.メッシュの併合処理]末端
のメッシュに登録された図形数が一定数以下になった場
合に行われるメッシュの併合処理は、図15に示したフ
ローチャートにしたがって実行される。以下、各ステッ
プごとに説明する。
【0189】(ステップ1501)現メッシュの親のメ
ッシュを「親メッシュ」、現メッシュを含む親メッシュ
の4つの子メッシュを「子メッシュ」(4個)とする。
【0190】(ステップ1502)別途説明した所定の
併合条件に照らして、4つの子メッシュを親メッシュに
併合して良いか否かが判断され、併合して良い場合には
次のステップ1503に進む。一方、併合すべきでない
場合には本処理は終了する。
【0191】(ステップ1503)前記ステップ150
2で親メッシュに併合して良いと判断された場合には、
親メッシュにメッシュデータ領域を割り当てる。
【0192】(ステップ1504)子メッシュの一つを
選択する。
【0193】(ステップ1505)子メッシュの所属図
形リストから図形を一つ選ぶ。
【0194】(ステップ1506)親メッシュの所属図
形リストに、その図形がすでに含まれているか否かが判
断され、含まれていない場合には次のステップに進み、
一方、すでに含まれている場合には、ステップ1508
に進む。
【0195】(ステップ1507)親メッシュの所属図
形リストに図形を加える。
【0196】(ステップ1508)子メッシュに所属す
るすべての図形を処理したか否かが判断され、未処理の
図形がある場合にはステップ1505へ戻り、すべての
図形について処理が終了している場合には、次のステッ
プに進む。
【0197】(ステップ1509)4つの子メッシュの
すべてを処理したか否かが判断され、未処理の子メッシ
ュがある場合にはステップ1504へ戻り、すべての子
メッシュについて処理が終了している場合には、次のス
テップに進む。
【0198】(ステップ1510)親メッシュを現メッ
シュとし、ステップ1501へ戻る。
【0199】[3−3.第1実施形態の効果]前記の様
な構成を有する第1実施形態は、次のような効果を有す
る。すなわち、固定メッシュからデータ密度によってメ
ッシュを分割し、その大きさを変えるので、無駄なデー
タ領域が減り、主記憶装置上でデータを扱うことができ
る。また、4分木で分割を管理するので、メッシュへの
アクセスがスムーズに実行でき、階層を下る検索によ
り、無駄な条件判断を減らすことができる。さらに、デ
ータの股がりによって、末端メッシュだけでなく内メッ
シュにもデータを入れることができるので、メッシュ1
つ当りのデータ数が減り、無駄なデータ領域を減らすこ
とができる。
【0200】また、メッシュの分割を無制限に進めると
指数オーダーでデータ領域を消費するので、分割レベル
の限界を設けることにより、有限なデータ領域を節約す
ることができる。また、1メッシュ当りのデータ数が少
ないときは、メッシュの分割を解消してメッシュを合併
するので、データ密度に応じた分割レベルを保つことが
できる。さらに、メッシュの分割を解消した結果、使わ
なくなったデータ領域を再利用することができる。ま
た、サブ図形の組合わせで構成される図形データの場合
に、サブ図形単位でメッシュに所属させることとしたた
め、データ領域をさらに節約することができる。
【0201】このように本実施形態の多次元データ管理
装置によれば、データ領域を大幅に節約することができ
るので、計算機の主記憶上でデータを扱うことができ、
高速なデータアクセスが可能となる。
【0202】[3−4.第1実施形態の変形例]第1実
施形態では図1に示すように、メッシュ分割手段12と
分割反対手段13、およびメッシュ併合手段14と併合
判定手段15の両方を設けたが、いずれか一方の組み合
わせのみを設けても良い。
【0203】[4.第2実施形態]第2実施形態は、前
記第1実施形態と同様に4分木ノード、メッシュ状態デ
ータ、図形検索キーデータ、図形データを記憶領域上に
配置し、利用する。第1実施形態と異なるのは、末端メ
ッシュでない被分割メッシュの状態データにも所属図形
リストを含める点である。すなわち、4分木構造におい
て被分割メッシュに対応する中間ノードについても図形
データを登録することにより、末端メッシュに登録され
た図形だけでなく、被分割メッシュに登録された図形を
も検索対象とするものである。また、被分割メッシュに
も図形を登録する手法としては、末端メッシュを分割す
る際に子メッシュに登録するのが適切でない図形を親メ
ッシュに残すようにしたものである。
【0204】このような第2実施形態においては、前記
第1実施形態における図形のメッシュへの登録、メッシ
ュの4分割、図形のメッシュからの削除、およびメッシ
ュの併合の手法が次のように変更される。
【0205】第2実施形態では、被分割メッシュの状態
データにも所属図形リストを含めるが、そのリストに実
際に図形が登録されている状態は、次のようなメッシュ
分割フローの処理によって作り出される。前記第1実施
形態とは異なるこの分割処理の特徴は、図形の所属を親
メッシュから子メッシュに移す際に、親メッシュに所属
するすべての図形を無条件に移すのではなく、所定の条
件に照らして子メッシュに移すのが適切と判断された図
形のみを移し、適切でないと判断された図形については
親メッシュに所属させたままにしておく点である(図1
6、図5及び図6を参照)。
【0206】ここで、「所定の条件(図形の登録先変更
条件)に照らして図形を子メッシュに移して良いか?」
という判定に係る所定の条件とは、無条件に子メッシュ
に移した場合に比較して1つの図形あたりの複数メッシ
ュへの重複登録を抑制するような条件であり、例えば次
のようなものである。なお、これらの条件は単独で用い
ても良いし、複数を併用しても良い。
【0207】(a)図形がその親メッシュを完全に含ん
でいない。
【0208】(b)図形が重なっている子メッシュが2
つ以下である。
【0209】(c)図形ごとに重複登録メッシュ数の上
限が定められており、子メッシュへの登録(移動)を行
っても重複登録数が上限以下である。
【0210】(d)図形の種類・大きさなどの属性によ
って登録して良い最小のメッシュの大きさが定められて
おり、子メッシュの大きさがその最小メッシュの大きさ
以上である。
【0211】これらの条件によって、メッシュ分割にお
ける図形の登録メッシュの増加が抑制されると共に、子
メッシュに登録を変更する図形の数が減少するため、分
割処理自体も高速化される。例えば、図形の面積(大き
さ)・形状に応じて予め登録すべき最小のメッシュを決
めておき、条件(d)を採用して判定を行いつつ図形の
登録を進めれば、メッシュの分割が進んでも1つの図形
はその図形の面積(大きさ)に比例する数以下の、その
図形に予め定められた最小のメッシュ以上に大きさのメ
ッシュにのみ登録される。これによって、過剰な重複登
録を抑制して記憶領域を節約すると共に、検索処理の速
度の低下を防止することができる。
【0212】例えば、矩形の形状の図形に関しては、メ
ッシュの短辺がその図形の短辺より長い最も小さなメッ
シュを、その図形を登録して良い最小のメッシュとして
設定するという方法がある。この方法に従えば、細長い
矩形は長手方向に小さな多数のメッシュに所属するの
で、検索時にそのメッシュが選択された場合に最終的な
検索結果として選ばれる割合が高まって検索効率が向上
する。いたずらに上位の大きなメッシュに属させておけ
ば、メッシュが選ばれる割合が大きい反面その図形が最
終的な検索結果として選ばれる割合が減少し、検索効率
の悪化を招く。この方法では、予測可能な範囲である程
度多数のメッシュに重複登録されるが、無制限に著しく
記憶領域を浪費することはなく、検索効率が劣化するこ
とはない。縦横の長さが極端に違わない矩形に関して
は、最も重複が多くなっても数個のメッシュに所属する
だけで済む。この方法を採用した場合の長所は、検索に
おいて所属メッシュが選択された場合に、最終的な検索
結果としてその図形が採用される割合を細長い矩形とそ
うでない矩形で極端に違わないようにする効果が得られ
ることである。
【0213】細長い図形の場合と類似の効果は、線分を
扱う場合にも得られる。例えば、メッシュの短辺が線分
の長さのn分の1以上である最小のメッシュをその線分
を登録して良い最小のメッシュとする方法が考えられ
る。その線分は、多くとも4n個よりは少ない数のメッ
シュに重複登録されるに過ぎない。
【0214】(c)を採用した場合、1つの図形につい
て重複登録メッシュ数が制限されるので、記憶領域の節
約には非常に有効である。しかも、所属メッシュの大き
さにはばらつきがあっても良いから、重複登録数の上限
以下であれば、図形の密度に応じて分割されていくの
で、さらに細かなメッシュへの登録を進めることがで
き、検索効率の向上を図ることができる。
【0215】[4−1.第2実施形態の構成]図17
は、本発明の第2実施形態の構成を示す機能ブロック図
である。すなわち、本実施形態の多次元データ検索装置
は、第1実施形態に示した多次元データ管理装置の構成
要素に加えて、前記メッシュデータ登録削除手段11お
よびメッシュ分割手段12に関連して、メッシュデータ
再登録手段16と再登録メッシュ判定手段17が設けら
れていることを特徴とする。このメッシュデータ再登録
手段16は、末端メッシュの分割時において、前記各メ
ッシュのうち、前記木構造の末端のノードに対応する分
割によって生じた子メッシュと、前記末端ノードの親ノ
ードに対応する分割によって生じた親メッシュいずれか
に多次元データを登録しなおすものである。また、再登
録メッシュ判定手段17は、末端メッシュの分割時にお
いて、1つの図形あたりの複数メッシュへの重複登録を
抑制する条件に従って、前記多次元データを分割によっ
て生じた子メッシュと分割によって生じた親メッシュの
いずれに登録しなおすかを判定する。
【0216】前記再登録メッシュ判定手段17として
は、(a)前記多次元データがその親メッシュを完全に
含んでいないことを重複登録を抑制する条件とするも
の、(b)前記多次元データが重なっている子メッシュ
数が予め設定された数以下であることを重複登録を抑制
する条件とするもの、(c)前記多次元データごとに重
複メッシュ数の上限が定められており、子メッシュへの
登録を行っても重複登録数が上限以下であることを重複
登録を抑制する条件とするものが使用される。
【0217】[4−2.第2実施形態の作用]以下前記
のような構成を有する第2実施形態の多次元データ管理
装置の作用並びに、これに対応する多次元データ管理方
法について、図16〜17の木構造とメッシュとの関係
を示す図、および図18のフローチャートにしたがっ
て、中間ノードに図形データを登録する第1の方法につ
いて説明する。なお、この中間ノードに図形データを登
録する第1の方法は、第1実施形態において説明した
「末端メッシュの分割処理」において、子メッシュに登
録するのが適切でない図形を、中間ノードに相当する親
メッシュに残すようにするものである。また、図18に
示したフローチャートは、図14に示した[メッシュの
分割処理]フローに一部の処理(ステップ1818)を
追加したものなので、この変更部分について説明する。
【0218】(ステップ1818)図18に示したよう
に、ステップ1808において、親メッシュに登録され
ている図形の内から選択された一つの図形について、別
途説明した図形の登録先変更条件に照らして、図形を子
メッシュに移して良いか否かが判断され、子メッシュに
移して良い場合には、ステップ1810に進む。その結
果、ステップ1810〜ステップ1812の処理によっ
て、図形が子メッシュに登録される。一方、ステップ1
818において、図形を子メッシュに移すことは適切で
ないと判断された場合には、ステップ1814に進む。
その結果、その図形は子メッシュには登録されず、親メ
ッシュに登録されたままの状態に保持される。そして、
ステップ1814において、親メッシュに所属するすべ
ての図形について、ステップ1818、ステップ181
0〜ステップ1813の処理がなされたか否かが判断さ
れる。
【0219】[4−3.第2実施形態の変形例]第2実
施形態では、図17に示すように、メッシュ分割手段1
2と分割反対手段13、およびメッシュ併合手段14と
併合判定手段15を設けたが、これらの一方の組のみを
設けても良いし、両者を省くこともできる。
【0220】[5.第3実施形態]第3実施形態は、前
記第2実施形態と同様に被分割メッシュにも図形を登録
するものであるが、末端メッシュの分割時ではなく、図
形の登録時に適切なメッシュを選んで登録するものであ
る。すなわち、第3実施形態では、被分割メッシュの状
態データにも所属図形リストを含めるが、第2実施形態
とは異なって、その状態は図形の登録処理の過程によっ
て直接に作成され、分割という付随処理の結果生じるも
のではない。
【0221】なお、この第3実施形態においては、メッ
シュ分割処理は再帰的でなくても良く、親メッシュから
の登録図形の移動を伴わない形で、単に4つの子メッシ
ュを作成し、子メッシュの所属図形リストは空のままに
しておくという形でも実施できる。もちろん、第2実施
形態のように所定の条件を吟味した上で分割し、さらに
所定の条件を満たす図形を子メッシュに移しても良い。
【0222】ところで、この第3実施形態において、
「所定の条件(図形の登録先変更条件)に照らして現メ
ッシュに図形を登録して良いか?」という判定に係る
「所定の条件」とは、例えば次のようなものである(図
19及び図20参照)。 (a)図形が重なり合っている現メッシュの子メッシュ
が3個以上である。 (b)図形の種類、大きさなどの属性によって登録して
良い最小のメッシュの大きさが決まっており、現メッシ
ュの子メッシュの大きさがその最小のメッシュ未満であ
る。 (c)図形の種類、大きさなどの属性によって登録して
良い最大のメッシュの大きさが決まっており、現メッシ
ュの親メッシュの大きさがその最大のメッシュを越えて
いる。 (d)図形ごとに重複登録メッシュ数の上限が定められ
ており、子メッシュへの登録を行うと重複登録数の上限
を越えてしまう。 (e)図形の面積が現メッシュのα%を占める。面積の
ない線分などの場合には、現メッシュの中心からの距離
がメッシュの短辺の1/2の長さのβ%以内である。
【0223】これらの条件は単独で用いても良いし、複
数を併用してそのすべてが成立したら条件を満足したも
のと判定しても良い。また、複数を併用していずれか1
つが成立したら条件を満足したものとしても良い。
【0224】例えば、(a)と(e)を併用して両方が
成立したら条件を満足するとして使用した際に、αが例
えば10%というような値に設定されているとすれば、
図19に示したように、すべての子メッシュ2−4に重
なっているが、現メッシュ1に比較して大きさが非常に
小さい図形F1は(e)の条件を満たさないために現メ
ッシュよりもさらに小さなメッシュに所属するように促
される。一方、図20に示したように、メッシュに比較
してある程度大きい面積の図形F2、すなわち図形の面
積は現メッシュの10%以上あるが、現メッシュの周辺
に存在する図形F2は(a)の条件を満たさないために
さらに小さなメッシュに所属するように促される。
【0225】このようにして、メッシュの中心を含みか
つメッシュ中のある程度の面積を占めるような状況での
み図形がメッシュに登録されるので、後述する最近傍図
形検索手続きにおいて、図形を探索する範囲が狭められ
て検索が効率化されるという効果が得られる。
【0226】また、(b)の条件を図形ごとに適切に設
定することにより、図形がその大きさに比較してあまり
に大きなメッシュに所属して検索効率を低下させること
を防ぐことができる。さらには、(c)の条件を図形ご
とに適切に設定することにより、図形がその大きさに比
較してあまりに小さな多数のメッシュに重複登録される
ことを避け、検索の効率化および記憶領域の節約を図る
ことができる。
【0227】なお、(b)および(e)の条件は、図形
の属性によって一方的に決まる場合ばかりでなく、現メ
ッシュの所属図形数などのメッシュ側の状況を吟味して
判定するなど、より柔軟かつ多様な変形例が種々考えら
れる。
【0228】上述のように、第3実施形態は、前記登録
に係る所定の条件として図形の属性に応じた条件を設定
することによって、図形のメッシュへの重複登録を制限
あるいは抑制する効果を得ると共に、検索手続きの効率
化を図ることを可能にするものである。
【0229】1つの木構造に対応させたデータ管理方法
及び装置において、木構造を構成する各ノード部分に種
々の図形を登録する際に、同一の手続きによって図形ご
とやその種類ごとに異なる条件を採用することを特徴と
するものであり、これによって、従来技術のquad−
tree法やその変形例のように、中間ノードに図形を
登録させる場合にどの図形であっても画一的な分割手法
を使用していたものに比較して、より優れた記憶領域の
有効利用と検索処理の高速化が可能になる。
【0230】[5−1.第3実施形態の構成]図21
は、本発明の第3実施形態の構成を示す機能ブロック図
である。すなわち、本実施形態の多次元データ検索装置
は、第1実施形態に示した多次元データ管理装置の構成
要素に加えて、前記メッシュデータ登録削除手段11お
よびメッシュ分割手段12に関連して、末端あるいは中
間メッシュへのデータ登録手段18と登録位置判定手段
19を備えていることを特徴とする。データ登録手段1
8は、前記各メッシュのうち、前記木構造の末端のノー
ドに対応する末端メッシュと、前記末端ノードの親ノー
ドに対応する中間メッシュの少なくとも一方に多次元デ
ータを登録する。登録位置判定手段19は、多次元デー
タの登録時において、登録する多次元データの状態に従
って、前記多次元データを末端メッシュと中間メッシュ
のどこに登録するかを判定する。
【0231】前記登録位置判定手段19としては、
(a)前記多次元データが重なり合っている子メッシュ
数に応じて登録するメッシュを選択するもの、(b)前
記多次元データによって登録すべきメッシュの大きさの
限度が決まっており、このメッシュの大きさの限度に従
って前記多次元データを登録するメッシュを選択するも
の、(c)前記多次元データごとに重複登録メッシュ数
の限度が定められており、この限度に従って前記多次元
データを登録するメッシュを選択するもの、(d)前記
多次元空間内における前記多次元データの大きさと、前
記多次元空間内における所定のメッシュの大きさとの比
較から、前記多次元データを登録するメッシュを選択す
るもの、が使用できる。
【0232】[5−2.第3実施形態の作用]以下前記
のような構成を有する第3実施形態の多次元データ管理
装置の作用並びに、これに対応する多次元データ管理方
法について、図19,20によって、その条件を説明す
ると共に、図22に示したフローチャートにしたがっ
て、中間ノードに図形データを登録する第2の方法につ
いて説明する。なお、この中間ノードに図形データを登
録する第2の方法は、第2実施形態と異なり、図形の登
録時に適切なメッシュを選んで登録するものである。以
下、各ステップごとに説明する。
【0233】(ステップ2201)メッシュスタックを
空にする。
【0234】(ステップ2202)メッシュスタックに
世界全体(全世界1)をメッシュとして入れる。
【0235】(ステップ2203)メッシュスタックか
らメッシュを一つ取り出し、現メッシュとする。
【0236】(ステップ2204)現メッシュと図形が
重なっているか否かを判断し、重なっていない場合には
ステップ2203に戻る。一方、重なっている場合には
次のステップに進む。
【0237】(ステップ2205)現メッシュの所属図
形数を増やす。
【0238】(ステップ2206)後述する図形の登録
先変更条件に照らして、現メッシュに図形を登録して良
いか否かが判断され、登録して良い場合には、次のステ
ップ2207に進む。一方、現メッシュに図形を登録す
ることが適切でないと判断された場合には、ステップ2
209に進む。
【0239】(ステップ2207)現メッシュの所属図
形リストに図形を加える。
【0240】(ステップ2208)メッシュスタックが
空か否かを判断し、空の場合には本処理を終了する。一
方、空でない場合にはステップ2203に戻る。
【0241】(ステップ2209)ステップ2206に
おいて、現メッシュに図形を登録することが適切でない
と判断された場合には、現メッシュが末端のメッシュで
あるか否かが判断され、末端メッシュである場合には、
ステップ2210に進む。一方、末端メッシュでない場
合には、ステップ2212に進む。
【0242】(ステップ2210)ステップ2209に
おいて現メッシュが末端のメッシュである場合には、メ
ッシュ分割処理によって、現メッシュの4分割を試み
る。
【0243】(ステップ2211)現メッシュが4分割
できたか否かが判断され、分割できた場合にはステップ
2213に進み、分割できない場合にはステップ220
7に戻る。
【0244】(ステップ2212)ステップ2209に
おいて現メッシュが末端のメッシュでない場合には、現
メッシュを4分割する。
【0245】(ステップ2213)ステップ2211及
びステップ2212において現メッシュを4分割した場
合には、4分割したメッシュをメッシュスタックに入
れ、ステップ2203へ戻る。
【0246】[5−3.第3実施形態の変形例]第3実
施形態では、図21に示すように、メッシュ分割手段1
2と分割反対手段13、およびメッシュ併合手段14と
併合判定手段15を設けたが、これらの一方の組のみを
設けても良いし、両者を省くこともできる。
【0247】[6.第4実施形態]矩形検索とは、与え
られた矩形の枠内にある図形を全て探し出すことをい
う。具体的には、まず、世界座標範囲内の矩形とメッシ
ュを与えたとき、矩形とメッシュの重なりの有無が判定
され、矩形と重なりを有するメッシュが検索される。次
に、そのメッシュに含まれる図形と矩形の領域の重なり
の有無が判定され、与えられた矩形の枠内にある図形が
全て検索される。
【0248】[6−1.第4実施形態の構成]図29
は、本発明の第4実施形態の構成を示す機能ブロック図
である。すなわち、本実施形態の多次元データ検索装置
は、前記各実施形態に示した多次元データ管理装置の構
成要素に加えて、前記コンピュータの記憶領域内に蓄積
されている多次元データを管理する装置が、前記多次元
空間内における指定された範囲を対象とし、この指定さ
れた範囲内に属する多次元データを検索する範囲検索手
段20を含むことを特徴とする。
【0249】この範囲検索手段20は、入力装置2から
入力されたメッシュの座標と矩形の座標を使って、メッ
シュと矩形の領域が重なっているか否かを判定するメッ
シュ/矩形領域重なり判定手段201と、図形データの
座標と矩形の座標を使って、図形が矩形に入っているか
否かを判定する図形/矩形所属判定手段202と、デー
タ領域上に、固定パラメータを格納したり、初期4分木
(根ノードしかない4分木)を作成したり、図形キー管
理領域を構成する際にデータ領域を初期化するデータ領
域初期化手段203と、与えられた一点を含む末端メッ
シュを検索するメッシュ検索手段204とを備えてい
る。
【0250】この範囲検索手段20による検索結果は、
前記出力装置3に出力される。すなわち、本実施形態に
おいては、前記検索結果は、入力装置2および出力装置
3において、検索を使用する側が用意したデータ領域に
検索結果を書き込むことにより実現される。例えば、矩
形検索の場合、矩形内にある図形のデータ格納領域の場
所を指すポインタのリストを返し、また、最近傍図形検
索の場合は、図形のデータ領域を指すポインタと距離と
最近傍点を返すように構成されている。なお、前記メッ
シュ/矩形枠重なり判定手段12においては、矩形にす
っぽり含まれるメッシュや矩形をすっぽり含むメッシュ
は、「重なっている」と言わないこととする。さらに、
メッシュ検索手段16においては、与えられた一点がメ
ッシュの境界上に乗っているときは、存在するならば右
上のメッシュ、上のメッシュ、右のメッシュ、下のメッ
シュ、左のメッシュに含まれるとする。メッシュ/矩形
領域重なり判定手段11とメッシュ/矩形枠重なり判定
手段12とによって、世界座標範囲内の矩形とメッシュ
を与えたとき、矩形とメッシュの重なりを、次の4つの
場合について判定することができる。
【0251】すなわち、(a)メッシュが矩形を含む、
(b)メッシュが矩形に含まれる、(c)メッシュと矩
形の重なりがある、(d)メッシュと矩形の重なりがな
いの4つの場合について判定がなされる。したがって、
この手段を繰り返し使うことによって、矩形と重なりの
あるメッシュを全て探し出すことができる。また、前記
(a)が判定できると、他のメッシュを判定する必要が
なくなり、4分木で言えば、横方向に検索を広げなくて
済む。さらに(b)が判定できると、そのメッシュが分
割されていたとき、分割された4つのメッシュを判定す
る必要がなくなる。4分木で言えば、縦方向に検索を進
めなくて済むというメリットがある。
【0252】[6−2.第4実施形態の作用]以下前記
のような構成を有する第4実施形態の多次元データ管理
装置の作用並びにこれに対応する多次元データ管理方法
について、図23によってそ木構造を説明すると共に、
図24〜28のフローチャートに従って説明する。
【0253】[6−2−1.中間メッシュにも末端メッ
シュにも図形を登録する場合の矩形検索]上記第2実施
形態及び第3実施形態において説明した中間メッシュに
も図形を登録する場合の矩形検索は、図25及び図26
に示したフローチャートにしたがって実行される。以
下、各ステップごとに説明する。
【0254】まず、図25に示したフローチャートは、
検索する矩形にかかっているすべてのメッシュを探し出
す処理の流れを示したものである。
【0255】(ステップ2501)検索する矩形及び検
索結果格納図形リストをセットする。すなわち、検索す
る矩形のセットは、矩形の左下と右上の座標をセットす
ることによりなされ、また、検索結果格納図形リストの
セットは、記憶領域のポインタをセットすることにより
なされる。なお、この検索する矩形と検索結果格納図形
リストは、矩形検索を行なう側から与えられる。
【0256】(ステップ2502)探し出したメッシュ
リストを入れておく空のメッシュリストを用意する。
【0257】(ステップ2503、ステップ2504)
処理すべきメッシュの順番を覚えておくためのメッシュ
スタックを空にして用意し、まず世界全体のメッシュ1
をこのスタックに入れる。
【0258】(ステップ2505)スタックが空か否か
が判断され、スタックが空であれば、図26に示す図形
が矩形に入っているか否かの検索処理へ進む。このと
き、矩形と重なりのある中間メッシュと末端メッシュの
リストができている。一方、スタックが空でなければ、
次のステップ2506に進む。この例では、検索を始め
た直後であり世界全体のメッシュ1がスタックにあるの
で、ステップ2506に進む。
【0259】(ステップ2506)スタックから1つメ
ッシュを取り出す。この例では、世界全体のメッシュ1
が取り出され、スタックは空の状態になる。
【0260】(ステップ2507)取り出したメッシュ
が矩形と重なっているか否かを判断し、重なっていない
ならば、スタックが空か否かの判断ステップ2505へ
戻る。一方、重なっているならば、次のステップ250
8へ進む。ここでは、世界全体のメッシュ1と矩形の重
なりを判断し、重なっているのでステップ2508へ進
む。なお、本実施形態においては、メッシュの座標を4
分木で管理し、また、メッシュ番号を規則的に付けてい
ることから、メッシュの座標を容易に計算できるため、
メッシュの座標と矩形の座標からメッシュが矩形と重な
っているか否かの判断は容易である。
【0261】(ステップ2508)メッシュをメッシュ
リストに加える。ここでは、世界全体のメッシュ1だけ
のメッシュリストができる。
【0262】(ステップ2509)メッシュが末端メッ
シュか否かを判断し、末端メッシュならばステップ25
05へ戻る。一方、末端メッシュでなければ4分割され
た子メッシュがあるので、それらについても調べる必要
があるため、次のステップ2510へ進む。本例では、
世界全体メッシュ1は末端メッシュでないので、ステッ
プ2510に進む。なお、メッシュが末端メッシュか否
かの判断は、4分木から容易に分かる。
【0263】(ステップ2510)メッシュを4分割し
た4つの子メッシュをスタックに入れ、ステップ250
5に戻る。本例では、世界全体の子メッシュ7、6、
5、4をスタックに入れる。スタック内は、上から7、
6、5、4と並ぶ。本例では、ステップ2505での判
断は、スタックは空ではないので、NOとなり、ステッ
プ2506へ進む。
【0264】以下、図23に示した例に基づいて、本処
理をさらに詳しく説明する。
【0265】ステップ2506においてスタックから1
つ取り出す場合、末尾のメッシュ4が取り出され、スタ
ックは7、6、5になる。ここで、図23に示したよう
に、メッシュ4と矩形は重なっているので(ステップ2
507)、メッシュリストにメッシュ4を加える(ステ
ップ2508)。その結果、メッシュリストは1、4に
なる。続いて、ステップ2509において、メッシュ4
は末端メッシュなのでステップ2505へ戻る。
【0266】ステップ2505において、まだスタック
は空でないので、ステップ2506でスタックから次の
メッシュを1つ取り出す。ここではメッシュ5が取り出
され、スタックは、7、6になる。ここで、図23に示
したように、メッシュ5と矩形は重ならないので(ステ
ップ2507)、ステップ2505に戻る。
【0267】ステップ2505に戻ってもまだスタック
は空でないので、スタックから次のメッシュを1つ取り
出す。ここではメッシュ6が取り出され、スタックは7
のみになる。ここで、図23に示したように、メッシュ
6と矩形は重なっているので、メッシュリストにメッシ
ュ6を加える(ステップ2508)。その結果、メッシ
ュリストは、1、4、6になる。続いて、ステップ25
09において、メッシュ6は末端メッシュでないので、
ステップ2510でメッシュの6の4つの子メッシュ2
7、26、25、24をスタックに入れた後、ステップ
2505に戻る。その結果、スタックは7、27、2
6、25、24になる。
【0268】ステップ2506において、次にスタック
から取り出されるのは24であるが、これは矩形と重な
りがない(ステップ2507)ので、再びステップ25
05に戻る。次にメッシュ25が取り出されるが、図2
3に示したように、このメッシュ25は矩形と重なりが
ある(ステップ2507)ため、メッシュ25はメッシ
ュリストに加えられる(ステップ2508)。その結
果、メッシュリストは1、4、6、25になる。また、
このメッシュ25は末端メッシュなので(ステップ25
09)、このままステップ2505に戻る。この時点
で、スタックは7、27、26になっている。
【0269】さらに、ステップ2506において、スタ
ックからメッシュ26が取り出されるが、図23に示し
たように、このメッシュ26は矩形と重ならない(ステ
ップ2507)。続いて、ステップ2506において、
スタックからメッシュ27が取り出されるが、このメッ
シュ27も矩形と重ならない(ステップ2507)。こ
の時点で、スタックは7になる。
【0270】次に、ステップ2506において、スタッ
クからメッシュ7を取り出すと、スタックは空になる。
また、図23に示したように、このメッシュ7も矩形と
重ならない(ステップ2507)。ここでステップ25
05へ戻るとスタックが空なので、YESの方へ進む
(すなわち、図26に示す図形が矩形に入っているか否
かの検索処理へ進む)。なお、この時、メッシュリスト
には1、4、6、25が入っており、これが矩形にかか
っている全メッシュのリストである。
【0271】図26に示したフローチャートは、図25
で挙げられたメッシュリストのメッシュを1つずつ調べ
て、図形が矩形に入っているか否かを検索する処理の流
れを示したものである。
【0272】(ステップ2601)メッシュリスト内の
すべてのメッシュに対して、矩形内に含まれる図形を集
める処理を行ない、すべてのメッシュに対してこの処理
が終わっている場合には、矩形検索は終了する。一方、
未処理のメッシュが残っている場合には、次のステップ
2602へ進む。
【0273】(ステップ2602)まだ図形を探してい
ない未処理のメッシュをメッシュリストから1つ選ぶ。
本例では、メッシュリストに1、4、6、25が入って
いるので、まずメッシュ1から始める。
【0274】(ステップ2603)メッシュに登録され
ているすべての図形に対して、後述するステップ260
4〜ステップ2607の処理が終了しているならば、ス
テップ2601に戻る。一方、未処理の図形があれば、
次のステップ2604に進む。本例では、メッシュ1に
は図形が1つもないので、処理済みとみなされ、ステッ
プ2601に戻る。次に、ステップ2602においてメ
ッシュ4が選ばれる。
【0275】(ステップ2604)メッシュに登録され
ている図形の中から未処理の図形を1つ選ぶ。ここで
は、図23に示したように、メッシュ4の図形cを選
ぶ。
【0276】(ステップ2605)ステップ2604に
おいて選んだ図形がすでに検索結果格納図形リストに入
っているか否かが判断され、入っているならば何もせず
にステップ2603に戻る。一方、検索結果格納図形リ
ストに入っていなければ、次のステップ2606に進
む。本例では、検索結果格納図形リストは初期時は空で
あり、図形cは入っていない。したがって、ステップ2
606に進む。なお、この処理は、図形データに調査済
マークを付けることによっても実現できる。
【0277】(ステップ2606)ステップ2604に
おいて選んだ図形が矩形に入っているか否かが判断さ
れ、入っていれば、次のステップ2607に進む。一
方、入ってなければステップ2603へ戻る。本例の図
形cは矩形に入っているので、ステップ2607に進
む。なお、この条件判断は行わなくてもよいこともあ
る。つまり、矩形に入っているか否かに関係なく図形リ
ストに加える場合もある。図形表示を行なう場合、ディ
スプレイの外の図形を表示してもまったく見えないの
で、表示について影響ないからである。グラフィック表
示が大変高速ならばこの判断を省くことは有効である。
【0278】(ステップ2607)検索結果格納図形リ
ストに図形データポインタを加え、その後ステップ26
03に戻る。その結果、図形cが検索結果格納図形リス
トに加わる。ここでは図形cだけの図形リストができ
る。
【0279】以下、図23に示した例に基づいて、本処
理をさらに詳しく説明する。
【0280】すなわち、図形cが検索結果格納図形リス
トに加えられた後、ステップ2603に戻る。図23に
示したように、メッシュ4にはさらに図形dがあるの
で、ステップ2604に進み、この図形dが選ばれる
(ステップ2604)。次に、ステップ2605におい
て、図形dは検索結果格納図形リストにないと判断さ
れ、ステップ2606に進む。ここで、図形dは矩形に
入っているので、検索結果格納図形リストに加えられる
(ステップ2607)。その結果、検索結果格納図形リ
ストは、c、dになる。次に、ステップ2603に戻
り、メッシュ4に登録されているすべての図形について
の処理が終了したと判断され、さらにステップ2601
に戻る。ステップ2601において、まだメッシュ6と
25について処理が済んでいないので、ステップ260
2に進み、本例ではメッシュ6を選ぶ。図16及び図2
3に示したように、このメッシュ6には図形hだけが登
録されている。ステップ2604において、この図形h
が選ばれる。
【0281】次に、ステップ2605において、図形h
は検索結果格納図形リストにないと判断され、ステップ
2606に進む。ここで、図形hは矩形に入っているの
で、検索結果格納図形リストに加えられる(ステップ2
607)。その結果、検索結果格納図形リストは、c、
d、hになる。次に、ステップ2603に戻り、メッシ
ュ6に登録されているすべての図形についての処理が終
了したと判断され、ステップ2601に戻る。ステップ
2601において、まだメッシュ25について処理が済
んでいないので、ステップ2602に進み、メッシュ2
5が選ばれる。図16及び図23に示したように、この
メッシュ25には未処理の図形d、iがあるので(ステ
ップ2603)、ステップ2604に進む。なお、図形
hは、図16に示したように、中間メッシュであるメッ
シュ6に登録されており、メッシュ25には登録されて
いないので、ここでは検索の対象とはならない。
【0282】ステップ2604において図形dが選ばれ
るが、この図形dはすでに検索結果格納図形リストにあ
るので、ステップ2603に戻る。一方、図形iは検索
結果格納図形リストにないので(ステップ2605)、
ステップ2606に進む。このステップ2606におい
て、図形iは矩形に入っていないので、ステップ260
3に戻る。このようにして、メッシュ25内のすべての
図形の処理が終わったので、ステップ2601に戻る。
【0283】そして、メッシュリスト内のすべてのメッ
シュに対して処理が終わったので、本処理を終了する。
この時点で、検索結果格納図形リストは、図形c、d、
hとなる。
【0284】[6−2−2.サブ図形を扱うとき]表示
側の都合上、図形が複数の構成要素からなることがあ
る。一般に、図形は数種類の複数の単純な図形(サブ図
形)から構成される。例えば、配電線は、複数の線分の
集まりである。この場合、表示側は、配電線を1つ1つ
の線分に分けて管理しない。1つの図形として扱う方が
人間の感覚に合っているからである。表示の上でも、線
分を線分の数だけ描画することを繰り返すよりも、線分
の集まりとして一度に表示する方が効率が良い。このよ
うなサブ図形で構成される図形を「スーパー図形」と呼
ぶ。
【0285】1つの図形データが複数のサブ図形から構
成されている場合、図形キー(ID)はスーパー図形に
対してのみ1つだけ発番される。また、4分木のメッシ
ュデータの所属図形リストは、図形データではなくサブ
図形のデータ領域を指す。ただし、サブ図形のデータ領
域を指してはいるが、元のスーパー図形がどれか分かる
ようにサブ図形を指すポインタをつくる。例えば、サブ
図形を指すのに、元のスーパー図形のデータ領域の場所
と、そこからのサブ図形のデータ領域へのオフセットを
対にして、サブ図形へのポインタとする。このようにポ
インタを作ると、サブ図形も元のスーパー図形も分か
る。このポインタを使ってメッシュへの登録はサブ図形
単位に行なうことができる。
【0286】このようにサブ図形単位に登録すること
は、後述する最近傍検索で利益がある。その理由は、複
数の単純な図形(サブ図形)からなる図形は、通常大き
な図形になることが多く、複数のメッシュにまたがる場
合が多い傾向があるからである。例えば、2つのサブ図
形A,B(2本の線分)からなるスーパー図形Aを例に
考える。なお、線分A,Bはそれぞれたった1つのメッ
シュm、nにしか登録されていないとする。しかし、ス
ーパー図形Aから見ると、この図形は2つのメッシュ
m、nにまたがっていることになる。
【0287】ここで、矩形にはちょうどスーパー図形A
しか存在せず、最近傍検索を行なう中心点がメッシュm
にあるとする。サブ図形に分けないでスーパー図形単位
で登録している場合には、スーパー図形Aがメッシュm
に登録されているということしか情報はなく、線分A,
Bがどのように位置しているかは分からないため、中心
点からの距離計算を行うには、線分A,B両方に対して
行なうことになる。すなわち、スーパー図形Aが最近傍
図形であることを得るのに、2回線分に対する距離計算
を行なわねばならない。
【0288】一方、サブ図形に分けて登録すると、メッ
シュmには線分Aのみが登録されていて、線分Bは登録
されていないので、距離計算は線分Aに対してだけ行わ
れる。この距離を半径とする円に他のメッシュが入って
なければ、線分に対する距離計算を1回するだけで最近
傍図形であることを得る。最近傍図形を返すときは、サ
ブ図形Aの元のスーパー図形Aを返す。なぜなら、もと
もと表示側はスーパー図形単位でデータを与えているか
らである。
【0289】このようなサブ図形を扱う場合に、上記矩
形検索処理で変わるところを述べる。すなわち、図26
において、ステップ2603、ステップ2604、ステ
ップ2606の「図形」という言葉は「サブ図形」と変
わる。また、図25のステップ2501,図26のステ
ップ2605の「検索結果格納図形リスト」は、スーパ
ー図形のリストである。さらに、ステップ2605の条
件は「そのサブ図形が検索結果格納スーパー図形リスト
内のスーパー図形のサブ図形であるか」と書き直し、ま
た、ステップ2607の図形データポインタは、スーパ
ー図形のポインタと書き直す。
【0290】[6−2−3.末端メッシュにのみ図形を
登録する場合の矩形検索]図25及び図26に示した
「中間メッシュにも末端メッシュにも図形を登録する場
合の矩形検索」に対して、「末端メッシュに図形を登録
する場合の矩形検索」は、図28に示したフローチャー
トにしたがって実行される。なお、この処理の流れは図
25に類似しているので(図28のステップ2801〜
ステップ2807は、図25のステップ2501〜ステ
ップ2507と同じ)、以下、相違点について説明す
る。
【0291】(ステップ2807)取り出したメッシュ
が矩形と重なっているか否かを判断し、重なっていない
ならば、スタックが空か否かの判断ステップ2805へ
戻る。一方、重なっているならば、次のステップ280
8へ進む。
【0292】(ステップ2808)メッシュが末端メッ
シュか否かを判断し、末端メッシュならばステップ28
09へ進み、一方、末端メッシュでなければ4分割され
た子メッシュがあるので、それらについても調べる必要
があるため、次のステップ2810へ進む。
【0293】(ステップ2809)メッシュをメッシュ
リストに加え、ステップ2805に戻る。
【0294】(ステップ2810)メッシュを4分割し
た4つの子メッシュをスタックに入れ、ステップ280
5に戻る。
【0295】すなわち、矩形検索のスピードは検索にか
かるデータ数にほぼ比例するため、データ密度が小さい
にもかかわらず多くの検索時間がかかることがなくな
り、データ密度に見合った矩形検索速度を得ることがで
きる。また、4分木の階層を下る検索により、無駄な条
件判断が減るので、矩形検索速度が高速化される。
【0296】[6−3.第4実施形態の変形例]第4実
施形態では、図24に示すように、メッシュ分割手段1
2と分割反対手段13、およびメッシュ併合手段14と
併合判定手段15を設けたが、これらの一方の組のみを
設けても良いし、両者を省くこともできる。また、範囲
検索手段20を第3実施形態に組み合わせる代わりに、
第2実施形態に組み合わせても良い。
【0297】[7.第5実施形態]最近傍図形検索と
は、一点と矩形を指定し、その点に最も近い矩形内の図
形を1つ検索し、最近傍図形のデータ格納ポイント、距
離、その距離を図った図形上の座標を出力することをい
う。なお、この一点を「中心点」、矩形を「検索範囲」
と呼ぶ。
【0298】*最近傍(スーパー)図形検索の概要* 最近傍(スーパー)図形検索とは、矩形と一点(中心点
と呼ぶ)が与えられたとき、矩形内のスーパー図形のう
ち中心点に最も近いスーパー図形(最近傍図形と呼ぶ)
を探し出す操作をいう。また、この最近傍図形検索は、
例えば、画面に表示される設備図のうち、マウスカーソ
ルに最も近い設備を見つけて、その色を目立たせるよう
な状況で使われる。この場合、画面の範囲が矩形にな
り、マウスカーソルの位置が中心点になる。
【0299】通常、中心点は矩形内に入っているもので
あるが、この最近傍図形検索においては、中心点が矩形
に入っていない場合でも、中心点に最も近い矩形内のス
ーパー図形を探し出すことができる。
【0300】(1)検索対象地点(図31に示したよう
に、矩形内に中心点があれば中心点、中心点が矩形外に
ある場合には、中心点に最も近い矩形上の一点)の周辺
で、1つ以上のサブ図形を見つけて、最近傍サブ図形を
一時的に設定する。
【0301】検索対象地点の周辺から1つ以上のサブ図
形を見つける手続きは、次のように行われる。まず、検
索対象地点を含む末端メッシュから調べる。この末端メ
ッシュにサブ図形がなければ、サブ図形が存在するまで
4分木を親メッシュへ遡る。4分木の根ノードまで(世
界全体メッシュ)まで遡ってもサブ図形が見つからなけ
れば、はじめの末端メッシュの周辺のメッシュへ検索範
囲を広げる。この検索範囲を検索枠と呼ぶ。
【0302】これら周辺の末端メッシュにもサブ図形が
なければ、末端メッシュから親メッシュへ遡って調べ
る。サブ図形を1つ以上調べるまで、検索枠を周囲へ広
げて末端メッシュから探し、親メッシュへ遡ることを繰
り返す。検索枠を周囲へ広げ続けて、矩形をすっぽり囲
むほど大きくなっても、その検査枠内にサブ図形がなけ
れば、最近傍サブ図形が見つけられずに終了する。
【0303】以下に示すフローチャートにおいては、末
端メッシュに図形がなかったときには、まず親メッシュ
へ遡り、それでも図形がなかったときに、末端メッシュ
の周辺に検索範囲を広げるようにしているが、逆に、ま
ず末端メッシュの周辺に検索範囲を広げてから、次に親
メッシュを探すように処理の順序を変えてもよい。
【0304】また、中心点から遠い図形を検索対象とし
たくないので、図形がなかったときの検索するメッシュ
を選ぶ順序を次のようにする。すなわち、メッシュの選
ぶ順序は、短形と重なるメッシュそれぞれにおいて中心
点から最も離れた地点(最遠点)を見つけて、中心点と
の最遠点の距離が近いメッシュ順とする。しかし、実際
には、図形がない場合は、もともと図形の密度が小さい
ところで最近傍図形検索を行なうことになる。そのため
多少遠いところを一時的な最近傍図形と設定しても、検
索する図形数が少ないので実行時間に問題はない。
【0305】(2)一時的な最近傍図形への距離を半径
とし、中心点を中心とする円を作り、その円の中の図形
からより近い図形を探す。この場合、何らかの最近傍サ
ブ図形が見つかる。このサブ図形から元のスーパー図形
が分かり、スーパー図形を返す。
【0306】[7−1.第5実施形態の構成]図29
は、本発明の第5実施形態の構成を示す機能ブロック図
である。すなわち、本実施形態の多次元データ検索装置
は、前記各実施形態に示した多次元データ管理装置の構
成要素に加えて、前記コンピュータの記憶領域内に蓄積
されている多次元データを管理するステップが、前記多
次元空間内における指定された点に最も近い多次元デー
タを検索する最近傍データの検索手段21を含むことを
特徴とする。第5実施形態において、前記最近傍データ
の検索手段21としては、前記指定された点を含む最小
のメッシュに多次元データが登録されていない場合に、
前記最小のメッシュの親メッシュ、最小のメッシュに隣
接するメッシュ、親メッシュの親メッシュ、隣接するメ
ッシュの親メッシュ、隣接するメッシュに隣接する他の
メッシュのごとく、再帰的に最近傍データの候補が1つ
決定されるまで検索範囲を拡大するものを使用する。
【0307】また、この最近傍データ検索手段21は、
前記範囲検索手段20と同様に、入力装置2から入力さ
れたメッシュの座標と矩形の座標を使って、メッシュと
矩形の領域が重なっているか否かを判定するメッシュ/
矩形領域重なり判定手段211と、図形データの座標と
矩形の座標を使って、図形が矩形に入っているか否かを
判定する図形/矩形所属判定手段212と、図形の座標
データを使って、与えられた一点(中心座標)との距離
を計算し、その中心座標に最も近い図形上の座標を求め
る距離計算手段213と、データ領域上に、固定パラメ
ータを格納したり、初期4分木(根ノードしかない4分
木)を作成したり、図形キー管理領域を構成する際にデ
ータ領域を初期化するデータ領域初期化手段214と、
与えられた一点を含む末端メッシュを検索するメッシュ
検索手段215とを備えている。
【0308】[7−2.第5実施形態の作用]以下前記
のような構成を有する第5実施形態の多次元データ管理
装置の作用並びに、これに対応する多次元データ管理方
法について、図30,31の最近傍データの説明図と、
図32〜41のフローチャートに従って説明する。
【0309】[7−2−1.最近傍図形検索…その1]
図32〜図38は、中間メッシュにもサブ図形を登録す
るときの最近傍図形検索の処理の流れを示すフローチャ
ートである。
【0310】以下、最近傍(スーパー)図形検索の処理
の流れを、図30及び図32〜図38を参照して、各ス
テップごとに説明する。
【0311】(ステップ3201)…図32参照 中心点と矩形をセットする。例えば、図30に示したよ
うに中心点と矩形をセットする。
【0312】(ステップ3202)検索過程で見つける
最近傍サブ図形について記憶するところを初期化する。 最近傍サブ図形=無し◎ 最近傍点=無し◎ 最短距離=無限大(または、世界全体で引ける最も長い
線分の長さより長い長さ) ここで、「最近傍サブ図形」は、検索過程で見つけた最
も近いサブ図形であり、「最近傍点」は、そのサブ図形
上で中心点に最も近い点である。また、「最短距離」
は、そのサブ図形への中心点からの距離である。すなわ
ち、「最短距離」は最近傍点と中心点の距離である。
【0313】(ステップ3203)中心点から最も近い
矩形内の点(検索対象地点)を見つける。すなわち、矩
形内に中心点があるときは検索対象地点は中心点であ
る。一方、中心点が矩形外にあるときは、中心点と矩形
の間の距離計算を行なえば得られる。図30に示したよ
うに、本例では、中心点そのものが検索対象地点にな
る。
【0314】(ステップ3204)検索対象地点のある
末端メッシュを見つける。これが検索を始めるメッシュ
となる。なお、この末端メッシュを見つける方法は、検
索対象地点の座標から4分木を使って得られる。本例で
は、メッシュ5が見つかる。
【0315】(ステップ3205)見つけた末端メッシ
ュを、これまでに調べた範囲を示す矩形(検索枠と呼
ぶ)とする。例では、全世界を4分割した左上4分の1
の四角形(メッシュ5)が検索枠となる。
【0316】(ステップ3206)検索のループのため
に、今見つけた末端メッシュだけからなる検索対象メッ
シュリストを作る。例では、検索対象メッシュリストは
5となる。
【0317】(ステップ3207)検索対象メッシュリ
ストから順にメッシュを1つ取り出し、現メッシュとす
る。例では、メッシュ5が選ばれる。そして、このメッ
シュ5に登録されているサブ図形から調べる。
【0318】(ステップ3208)まず、図形を調べる
前に、現メッシュが検索済みか否かを判断する。この処
理は、検索済メッシュリストに現メッシュが入っている
かどうかを調べることで分かる。そして、検索済みなら
ば次のステップ3209へ進み、未検索ならば、図33
に示したステップ3301へ進む。例では、検索を始め
たところなので、メッシュ5は未検索であるため、ステ
ップ3301へ進む。
【0319】ここからは、メッシュに登録されているサ
ブ図形を調べる処理についての説明である。
【0320】(ステップ3301)…図33参照 検索済メッシュリストに現メッシュを加える。例では、
検索済メッシュリストは、5だけからなる。
【0321】(ステップ3302)現メッシュにサブ図
形が登録されているか否かを判断し、現メッシュにサブ
図形が登録されていなければ、図34に示した根ノード
へ遡るフローへ進む。一方、現メッシュにサブ図形があ
る場合には、次のステップ3303に進む。例では、図
30に示したように、現メッシュ5は図形bを1つ持っ
ているので、ステップ3303に進む。
【0322】(ステップ3303)現メッシュに登録さ
れているサブ図形を順に調べる。ここでは、サブ図形を
1つずつ取ってきて現図形とする。例では、メッシュ5
の図形bを現図形とする。
【0323】(ステップ3304)すでに調べたサブ図
形のリスト(調査済サブ図形リスト)に現図形があるか
否かを調べ、あるならば、この現図形への処理をスキッ
プし、ステップ3311へ進む。一方、調査済サブ図形
リストに現図形がないならば、現図形への処理へ移り、
ステップ3305へ進む。なお、メッシュまたがりのあ
るサブ図形のとき、このステップで(YES)に進むこ
とがある。例では、図形bは検索済サブ図形リストにな
いので、ステップ3305へ進む。
【0324】(ステップ3305)現図形を2度調べな
いように、調査済サブ図形リストに現図形を加える。例
では、調査済サブ図形リストは、図形bだけからなる。
【0325】(ステップ3306)現図形が矩形に入っ
ているか否かを調べ、矩形に入っていなければ、処理を
行なうことは無駄なので、ステップ3311へスキップ
する。一方、矩形に入っていれば、距離計算のステップ
3307へ進む。例では、図形bは矩形内に入っている
ので、距離計算のステップ3307へ進む。
【0326】(ステップ3307)中心点から現図形へ
の距離を計算し、図形上の最も近い点(近傍点)を計算
する。この処理に対しては、座標からの計算手段が用意
されている。例では、図30に示したように、図形bに
対して距離計算手段で計算すると、距離はLで、近傍点
は点Vと分かる。距離、遠近の定義は多次元データの種
類に依存する。例では、ユークリッド距離である。
【0327】(ステップ3308)計算した距離とこれ
までの最短距離を比較し、計算した距離がこれまでの最
短距離より小さければ、最近傍サブ図形、最近傍点、最
短距離を更新するステップ3309へ進む。一方、計算
した距離がこれまでの最短距離と等しいか大きければ、
何もせずにステップ3311に進む。本例では、今のと
ころ最短距離は無限大なので、図形bの方が距離が小さ
いので、ステップ3309へ進む。
【0328】(ステップ3309)最近傍サブ図形、最
近傍点、最短距離を更新する。例の場合、最近傍サブ図
形=図形b、最近傍点=点V、最短距離=距離Lに更新
される。
【0329】(ステップ3310)最短距離が0かどう
か調べ、もし0ならば、もうこれより小さい距離はあり
えないので、ここで検索を打ち切り、ステップ3312
へ進む。一方、0でないならば、ステップ3311へ進
む。例では、図形bは距離が0でないので、ステップ3
311へ進む。
【0330】(ステップ3311)現メッシュ内の登録
サブ図形全てについてのループの終了条件の判断であ
る。全てのサブ図形について処理が終わってなければ、
ステップ3303へ戻る。一方、全てのサブ図形につい
て処理が終わっている場合には、図32のステップ32
11へ進み、検索対象メッシュリストの全てについて、
処理したか否かを判断する。例の場合、メッシュ5の全
図形について処理が終わったので、次のメッシュについ
て調べるか否かを判断するステップ3211へ進む。
【0331】(ステップ3312)ここでは検索結果を
返す。最近傍の図形としてサブ図形が得られている。検
索結果としては、スーパー図形を返す必要があるので、
サブ図形の元のスーパー図形のデータへのポインタに直
す。それと合わせて最短距離と最近傍点を返す。
【0332】ここからは、ステップ3302で調べるメ
ッシュに図形が1つもなかったり、ステップ3208で
メッシュが検索済の場合の処理についての説明である。
【0333】(ステップ3209)ステップ3302で
調べるメッシュに図形が1つもなかったり、ステップ3
208でメッシュが検索済ならば、図32のステップ3
209へ進む。ステップ3209からステップ3210
へのループでは、メッシュに調べるべき図形があるま
で、親メッシュへ遡る。このステップ3209は、遡っ
て行って根ノード(世界全体)まで来たらループを中断
するための判断である。すなわち、メッシュが世界全体
でなければ、親メッシュへ遡るステップ3210へ進
み、世界全体ならば、次の末端メッシュを調べるための
フローへ進む。
【0334】(ステップ3210)親メッシュを調べる
ため、現メッシュを親メッシュに置き換える。そしてス
テップ3208へ進む。
【0335】(ステップ3211)世界全体まで遡った
場合、ステップ3209からステップ3211へ進んで
いる。ここで、検索対象メッシュリストのメッシュ全て
に対して処理が終わっているか否かが判断され、処理が
終わってなければステップ3207へ戻る。一方、終わ
っていれば次のステップ3212へ進む。例の場合、検
索対象メッシュリストにはメッシュ5だけしかなく、メ
ッシュ5の処理が終わっているので、ステップ3212
へ進む。
【0336】(ステップ3212)ここで、1つ以上の
サブ図形について距離計算を行なったか否かを判断し、
分岐する。すなわち、最近傍図形=無しのままでなけれ
ば、サブ図形1つ以上に対して距離計算をしたことを意
味する。一方、最近傍図形=無しならば、まだ1つもサ
ブ図形に対して距離計算をしていないことになる。サブ
図形1つ以上に対して距離計算をしていれば、これまで
の最短距離、最近傍点、最近傍サブ図形があることにな
る。そして、このステップの次は、この最短距離を半径
とする円内のサブ図形を調べるフローステップ3401
へ進む。
【0337】上述したように、図32のステップ321
2において、サブ図形に対して一度も距離計算をしてい
なければ、検索対象メッシュリスト内のメッシュすべて
と、それぞれのメッシュから親メッシュへ遡ってもサブ
図形が1つも見つからなかったことを意味する。そのた
め、この先のフロー(図36に示したステップ3603
から)では、検索枠を広げて検索し直すための準備を行
なう。簡単に言うと、これまで調べた末端メッシュの範
囲を少し広げて、新たな末端メッシュのリストを作って
検索対象メッシュリストとする。ただし、範囲を広げた
結果、検索枠が矩形より大きくなったときには、最近傍
検索は終了する。この点について、図39を参照してよ
り具体的に説明する。すなわち、はじめ、検索枠はメッ
シュZの四角に設定される。そして、メッシュZを検索
して、親メッシュをさかのぼっても図形がないときは、
回りを探す。この検索枠と接するか、重なる末端メッシ
ュで、検索済みではなく、矩形と重なるのはメッシュA
〜Hである。メッシュA〜Hの中で最小のメッシュBの
縦幅、横幅分だけ検索枠を広げる。すると、図39に示
したように、旧検索枠(太実線)から新検索枠(一点鎖
線)に広がる。さらに、メッシュA〜Hとその親メッシ
ュに図形がないならば、新検索枠を使ってメッシュリス
トを作る。メッシュリストは、メッシュI〜Mになり、
新たな検索枠(新々検索枠)は点線で囲んだ部分とな
る。
【0338】以下、この処理を各ステップごとに説明す
る。
【0339】(ステップ3601)このステップへは、
図32に示したステップ3212から来る。なお、この
ステップにおけるメッシュリストの作成の詳細なルーチ
ンについては、図37に示し、後述する。はじめにこの
ステップに到達したときは、検索枠は検索対象地点のあ
る末端メッシュである。この末端メッシュの回りの末端
メッシュを検索対象にしたいので、検索枠に接するか重
なる末端メッシュを探す。そして、これらの中の矩形に
重ならないメッシュと検索済のメッシュを除いて検索対
象メッシュリストとする。
【0340】もし、検索対象メッシュリストにメッシュ
が1つもなければ、検索枠が十分に広がって、矩形より
大きくなっていることを意味する。本例の矩形の場合、
メッシュ5に図形がなければ、メッシュ5の回りの末端
メッシュ28、29が検索対象メッシュリストになる。
なお、メッシュ4、メッシュ25もメッシュ5の回りの
末端メッシュであるが、矩形に重なっていないので対象
外である。
【0341】(ステップ3602)検索対象メッシュリ
ストにメッシュあるか否かが判断され、メッシュが1つ
もなければ、検索すべきメッシュがもうないことを意味
し、検索結果として返るのは、最近傍図形がないという
ことである。一方、検索対象メッシュリストにメッシュ
があれば、ステップ3603に進む。
【0342】(ステップ3603)ここでは、新たな検
索対象メッシュリスト内のメッシュの中で最小のメッシ
ュの縦幅、横幅分だけ検索枠を縦にも横にも正負両方向
に広げる。このように広げると、次に再び図形が1つも
なくて検索対象メッシュリストを作るとき、近いところ
にあるメッシュから順に検索対象メッシュリストに加わ
ることになる。検索対象メッシュリストができているの
で、図32のステップ3207へ戻ってメッシュに対す
る処理を行なう。
【0343】このように、図32、図33及び図36に
示したフローチャートにしたがって最近傍図形検索を行
なうと、1つの最近傍サブ図形候補が見つかるか、最近
傍図形がないという結果が返るかどちらかになる。そし
て、最近傍図形候補が1つ見つかっていると、図32の
ステップ3212から(NO)の分岐へ進み、図34の
ステップ3401へ到達する。
【0344】(ステップ3401)このステップに到達
した場合には、最近傍サブ図形が1つ見つかっている
が、これより近いものがないかどうかを調べなければな
らない。このために中心点を中心として、最短距離を半
径とする円を作り、それにかかるメッシュを調べる。こ
のステップでは、その円と重なりかつ矩形と重なるメッ
シュ(末端も中間も)を検索し、検索対象メッシュリス
トとする。このメッシュ検索のルーチンについては、図
38に詳細に表わし、後述する。本例では、メッシュ
1,5,7,28,29が検索対象メッシュリストに含
まれる。
【0345】(ステップ3402)検索対象メッシュリ
スト内のメッシュを1つずつ調べるため、メッシュを1
つ取って現メッシュとする。
【0346】(ステップ3403)現メッシュが検索済
か否かを調べる。すなわち、検索済メッシュリスト内に
現メッシュがあるか否かを調べれば良い。そして、現メ
ッシュが検索済ならば、メッシュに対する処理をスキッ
プして、図35のステップ3506へ進む。一方、検索
済でなければ次のステップ3404に進む。例の場合、
メッシュ5が検索済リストにあるので、メッシュ5の処
理の時に、図35のステップ3506へスキップする。
【0347】(ステップ3404)現メッシュを検索済
メッシュリストに加える(なお、検索したメッシュリス
トが必要なければこのステップはなくてもよい)。
【0348】(ステップ3405)現メッシュに登録サ
ブ図形があるか否かを判断し、あれば、図形の処理へ進
み、なければ、図35のステップ3506へスキップす
る。例では、メッシュ1,7がステップ3506へスキ
ップすることになる。
【0349】(ステップ3406)現メッシュに登録さ
れているサブ図形1つ1つへの処理を始める。すなわ
ち、現メッシュに登録されているサブ図形を1つ選ん
で、現図形とする。例では、メッシュ28の処理の場
合、図形iが選ばれ、メッシュ29の処理の場合、図形
aが選ばれる。
【0350】(ステップ3407)現図形が調査済か否
かを調べる。これは、調査済サブ図形リストを調べれば
分かる。そして、調査済ならば、図35のステップ35
05へスキップし、調査済でなければ、次のステップ3
408へ進み、現図形への処理を行う。例では、図形i
は調査済ではないので、ステップ3408へ進む。ま
た、図形aも調査済ではないので、同様にステップ34
08へ進む。
【0351】(ステップ3408)メッシュまたがりが
ある場合に2度計算しないように、調査済サブ図形リス
トに現図形を加える。
【0352】(ステップ3409)距離計算をする前
に、現図形が矩形に入っているか否かを調べ、矩形に入
っていれば距離計算へ進み、矩形に入ってなければ、図
35のステップ3505へスキップする。本例では、図
形iの場合、矩形に入っていないので、距離計算をせず
にステップ3505へスキップする。一方、図形aの場
合、矩形に入っているので、ステップ3410で距離計
算を行なう。
【0353】(ステップ3410)中心点からの距離、
近傍点を距離計算手段によって計算する。図形aの距離
はK、近傍点は点Uと計算される。
【0354】(ステップ3501)…図35参照 距離計算した結果を、これまでの最短距離と比べる。こ
れまでの最短距離と等しいか大きければ、何もせずにス
テップ3505に進む。一方、これまでの最短距離より
小さければ、最近傍サブ図形更新のフローへ進む。本例
では、図形aの場合、これまでの最短距離より距離が短
いので、ステップ3502へ進み更新する。
【0355】(ステップ3502)最近傍サブ図形、最
近傍点、最短距離を更新する。例の場合、最近傍サブ図
形=図形a、最近傍点=点U、最短距離=距離Kとな
る。
【0356】(ステップ3503)最短距離が0かどう
か調べる。もし0ならば、もうこれより小さい距離はあ
りえないので、ここで検索を打ち切り、ステップ350
4へ進む。0でないならば、ステップ3505へ進む。
例の図形aの場合、距離が0でないので、ステップ35
05へ進む。
【0357】(ステップ3504)ここでは検索結果を
返す。最近傍の図形としてサブ図形が得られているた
め、検索結果としては、スーパー図形を返す必要がある
ので、サブ図形の元のスーパー図形のデータへのポイン
タに直す。それと合わせて最短距離と最近傍点を返す。
【0358】(ステップ3505)現メッシュに登録さ
れている登録サブ図形全てについてのループの終了条件
の判断である。すべてのサブ図形について処理が終わっ
ていなければ、図34のステップ3406へ戻り、次の
図形を調べる。一方、すべてのサブ図形について終わっ
ていれば、次のステップ3506に進む。
【0359】(ステップ3506)検索対象メッシュリ
ストのメッシュ全てに対して処理を終えたか否かが判断
され、すべてのメッシュについて処理を終えたら、次の
ステップ3507へ進む。一方、終えていければ、図3
4のステップ3402に戻り、次のメッシュへの処理を
行なう。
【0360】(ステップ3507)ここでは検索結果を
返す。最近傍の図形としてサブ図形が得られているた
め、検索結果としては、スーパー図形を返す必要がある
ので、サブ図形の元のスーパー図形のデータへのポイン
タに直す。それと合わせて最短距離と最近傍点を返す。
本例の場合は、最後には、「図形aが最近傍図形であ
る」との結果を得る。
【0361】ここで、図37を参照して、図36のステ
ップ3601におけるメッシュリストの作成のルーチン
について、さらに詳しく説明する。すなわち、図36の
ステップ3601においては、その時点で設定されてい
る検索枠と接するか、重なる末端メッシュのうち、検索
済メッシュリストになく、且つ、矩形と重なるものを探
し出して、新たな検索対象メッシュリストとする場合を
示している。
【0362】なお、この処理は、上述した矩形検索で
の、矩形に重なるメッシュリストの作成のフローチャー
ト(図25)とほぼ同じである。違う点は、メッシュリ
ストを作成するステップに至るまでに、2つ条件分岐
(ステップ3707、ステップ3709)が加わってい
る点である。
【0363】また、このフローでは、末端メッシュだけ
がメッシュリストに加わえられるが、ステップ3710
とステップ3711の順番を入れ替えて、メッシュが末
端か否かを判断する前に、メッシュリストにメッシュを
加えると、条件に合う中間メッシュと末端メッシュの両
方を含むメッシュリストが得られる。
【0364】次に、図38を参照して、図34のステッ
プ3401におけるメッシュリストの作成のルーチンに
ついて、さらに詳しく説明する。すなわち、図34のス
テップ3401においては、それまでの最短距離(それ
までの最近傍図形までの距離)を半径、中心点を中心と
する円と矩形に重なる末端メッシュ及び中間メッシュを
探し出して、新たな検索対象メッシュリストとする場合
を示している。
【0365】なお、この処理は、上述した矩形検索で
の、矩形にかかるメッシュリストの作成のフローチャー
ト(図25)とほぼ同じである。違う点は、メッシュリ
ストを作成するステップに至るまでに、1つ条件分岐
(ステップ3808)が加わっている点である。
【0366】また、このフローでは、末端メッシュと中
間メッシュがメッシュリストに加わえられるが、ステッ
プ3809とステップ3810の順番を入れ替えて、メ
ッシュが末端か否かを判断した後で、メッシュリストに
メッシュを加えると、条件に合う末端メッシュだけのメ
ッシュリストが得られる。
【0367】[7−2−2.最近傍図形検索…その2]
上述した最近傍図形検索は、中間メッシュにもサブ図形
を登録する場合についてのものであったが、以下に述べ
る最近傍図形検索は、末端メッシュにのみサブ図形を登
録する場合についてのものである。
【0368】以下、中間メッシュに図形を登録する場合
と登録しない場合の最近傍図形検索の違いについて、図
32(中間メッシュにもサブ図形を登録する場合)と図
40(末端メッシュにのみサブ図形を登録する場合)で
比べる。図から明らかなように、図32では、ステップ
3209、ステップ3210のループがあるが、図40
にはない。その理由は、図32では、中間メッシュにも
図形が存在するので、末端メッシュを調べて図形が存在
しなかった場合には、親メッシュへ溯って調べなけれ
ば、検索漏れを起こしてしまうからである。
【0369】次に、図33(中間メッシュにもサブ図形
を登録する場合)と図41(末端メッシュのみにサブ図
形を登録する場合)を比べる。この違いは、図33で
は、ステップ3302の条件分岐でNOのとき、図32
のステップ3211の検索対象メッシュリストの処理終
了判断へ飛ばず、ステップ3209に飛んでいる。一
方、図41では、図33のステップ3302に相当する
ステップ4102でNOのとき、図32のステップ32
11に相当するステップ4008に飛んでいる。その理
由は、中間メッシュにも図形がある図33においては、
親メッシュを調べなければならないので、親メッシュを
調べるフローであるステップ3209へ飛ばなければな
らないからである。
【0370】なお、図40からBへ進み、Cから戻って
くるところに接続するフローチャートは、上述した図3
6(中間メッシュに図形がある場合の図)と同一であ
る。また、図40のAへ進む先のフローチャートは、ス
テップ3401を除いて、図34及び図35と同一であ
る。
【0371】図34のステップ3401に対応する処理
が異なるのは、それまでに見つけた最近傍図形までの距
離を半径とする円の範囲内のメッシュを見つけるに際
し、中間メッシュにも図形がある場合は、円にかかるメ
ッシュを探すとき、末端だけでなく、中間メッシュも探
し出さなければならないからである。一方、末端メッシ
ュにしか図形がない場合には、中間メッシュを調べる必
要がないので、ステップ3401のステップを、末端メ
ッシュのみを探し出すように変更する。すなわち、図3
8のステップ3809とステップ3810を置き換えれ
ば良く、メッシュが末端か否かを判断し、YESのとき
のみ、メッシュをリストに加えるようになっている。
【0372】このように、図34のステップ3401を
変え、図38のステップ3809及びステップ3810
を変えて、図40のAから図34及び図35のフローを
実行すれば、末端メッシュにのみ図形がある場合の最近
傍図形検索の処理フローになる。
【0373】[7−3.第5実施形態の効果]前記の様
な構成を有する第5実施例によれば、最近傍図形検索処
理において、1回の検索あたりに距離計算するデータが
少なくなるので、検索時間が速くなる。さらに、最近傍
図形検索処理の速さが、データ密度の疎密に影響され
ず、いつでも同程度の速さで処理できるようになる。
【0374】[7−4.第5実施形態の変形例]第5実
施形態では、図29に示すように、メッシュ分割手段1
2と分割反対手段13、およびメッシュ併合手段14と
併合判定手段15を設けたが、これらの一方の組のみを
設けても良いし、両者を省くこともできる。また、範囲
検索手段20を第3実施形態に組み合わせる代わりに、
第2実施形態に組み合わせても良い。また、最近傍デー
タ検索手段21を範囲検索手段20と組み合わせ両方の
検索が可能としたが、範囲検索手段20がなくても良
い。
【0375】[8.他の実施形態] [8−1.図形のメッシュへの所属条件の拡張]第2実
施形態において図形の所属を親メッシュから子メッシュ
へ移すべきか否かを判定する条件、及び第3実施形態に
おいて図形を現メッシュに所属させる(登録する)べき
か否かを判定する条件とは、類似の作用及び効果を有す
るものである。第3実施形態においては条件判定及びそ
の結果に依存した図形のメッシュへの登録作用が、その
時のメッシュ分割(4分木)の状態の如何にかかわら
ず、必要な場合にはメッシュ分割を行なっても、条件に
合致するメッシュに図形を所属させる。これに対して第
2実施形態においては、その作用が図形登録時のメッシ
ュ分割の状態によって制限され、図形登録時ではなく
て、別の基準に従って作用するメッシュ分割操作の作用
時に同時に行なわれる。つまりメッシュ分割時までその
作用が延期されるという差があるにすぎない。
【0376】この条件としてどのようなものを採用する
かによって、各図形のメッシュへの重複登録の数及び図
形とメッシュとの重なり具合が異なってくる。これが所
要記憶容量の大小及び矩形検索、最速傍図形検索の効率
に影響する。
【0377】従来技術はこの条件として (a)末端のメッシュで、かつ所属図形数がP未満のメ
ッシュか否かを判定し、該当メッシュであれば登録す
る。(該当していなければメッシュ分割によって該当す
るメッシュを作り出す。) (b)図形全体を包含する最小のメッシュか否かを判定
し、最小のメッシュに該当していれば登録する。
【0378】(c)図形全体を包含する最小のメッシュ
を分割した子メッシュの境界によって分断された各部分
図形に注目し、それらの部分図形のうち1つを含む最小
のメッシュか否かを判定し、該当メッシュであればそこ
に図形を登録する。
【0379】という条件を設定したのとそれぞれ等価で
ある。これらの条件を用いた場合には、それぞれ[発明
の解決しようとする課題]に述べたような問題点によっ
て記憶領域の浪費や検索性能の劣化が生じる場合を排除
することができなかった。
【0380】これらの従来技術は判定基準にかかわる図
形とメッシュとの関係として、例えば前記(a)の場
合、登録しようとする図形及び既にメッシュに所属して
いる図形の種類の如何にかかわらず、メッシュに既に所
属している図形数のみを用いている。また、(b)の場
合はメッシュが図形を包含する最小のメッシュか否か、
つまりメッシュを分割した子メッシュのうち複数のもの
に図形が重なるか否かのみを用いている。(c)は判定
の過程を二段階に分けているとはいえ、用いられている
図形とメッシュとの関係は(b)と同様に、図形の種類
の如何にかかわらず、メッシュが(部分)図形を包含す
る最小のメッシュか否かのみを用いている。
【0381】ここにいう「図形の種類」とは、登録しよ
うとするn次元空間データのn次元空間内での空間の占
有(ひろがり)の態様に主として起因する分類・区別で
ある。例えば極端な例として点データは大きさ(ひろが
り)を持たないので前記(b)(c)のような判定基準
では扱えず、他の基準例えば(a)のような基準を使用
せざるを得ない。線分は長さのみあって面積や体積はな
いから、メッシュとの重なり具合及びそれが検索の効率
に及ぼす影響も面積や体積を持つ図形、就中各次元の最
大径の比がメッシュの各次元の長さの比に近いような凸
な図形とは異なっている。後者に関しては前記(c)あ
るいは(b)のような基準はメモリ効率の点でも検索速
度の点でも有効である場合が多いが、線分や細長い矩形
直方体に関しては必ずしも有効でないことは前述のとお
りである。
【0382】さらには、ある目的・性質を(共)有する
ことが予めわかっているデータに関しては、それに応じ
た適切な条件を設定することで資源の浪費を避け、検索
効率を高めることができる。例えば、地図、グラフ等の
背景に用いられる罫線や座標線は数はそれ程多くはない
が、1つ1つが非常に長いという性質がある。これらの
データを他の非常に短い線分や小さな図形と同様な基準
でメッシュに所属させたとすると、所属メッシュが細分
化されすぎて非常に多くのメッシュに重複登録され、多
量のメモリを浪費したうえ、検索効率をも劣化させるお
それが大きい。逆にあまりにも小数のメッシュにしか所
属せず、同一のメッシュに多数の罫線が所属することに
なって検索効率が著しく低下するという事態もまた生じ
うる。例えば前記(b)の条件を用いれば、すべての罫
線は世界座標範囲と同じ1つの(最大の)メッシュにの
み所属することになり、領域を分割して図形を登録する
ことによって検索の効率を向上させるという効果は全然
得られない。
【0383】このような状況を避けるために、罫線につ
いては、罫線の間隔と同程度の長さの辺を持つメッシュ
にのみ登録するように第4実施例(b)の条件を設定す
ることが考えられる。この条件に従って登録を行なえ
ば、1つのメッシュに属する罫線は(1方向)1本だけ
になり、なおかつ極端な重複登録は避けられる。この場
合、選ばれる罫線の数が罫線の総本数に比較して非常に
少ない矩形検索には特に有効である。前記の条件は個々
の罫線の線分としての属性(例えば長さ)ではなく、罫
線同士の間隔から予め決定あるいは計算される長さを規
準にして登録すべきメッシュを判定するものである。
【0384】面積や体積を持つ図形に関しても、例えば
背景として用いられる非常に広い面積を占める図形を、
例えば前記(a)のような条件で他の小さな図形と同様
に扱えば重複登録の数は膨大になる。このような図形に
対しては第3実施形態の(d)のような条件で重複登録
の数を限るのが、メモリの浪費を避けるのに効果的であ
る。
【0385】上述のように、図形の形状・大きさのみな
らず、その目的や他の図形との関係から最適と考えられ
る基準にもとづいて、メッシュへの図形の登録あるいは
子メッシュへの図形の所属移動を制御することによっ
て、図形に依存しない一律な条件では達成できないメモ
リの効率的使用並びに検索の効率化を図ることができ
る。
【0386】[8−2.多次元データへの適用]前記各
実施形態は、2次元や3次元空間内の図形データを扱う
場合について具体的に述べてきたが、それ以外にも各次
元が何らかの量を表すような多次元のデータに関して、
本実施例と同様の方法で他の多次元空間、すなわちn次
元空間を再帰的に2のN乗分割したn次元直方体をメッ
シュとしてデータを登録・検索することができる。これ
らn次元データはn次元空間内の点として扱われるよう
なデータばかりではなく、1つの(1組の)データがn
次元空間内にある広がりを持った超立体として扱われる
ものも希ではない。例えば、1つの物体に関するn種の
属性の測定値はそれぞれに誤差を含んでおり、それを各
次元の真の値がある確率で存在する範囲として扱う場
合、n次元直方体データになる。その形状は測定の状況
に依存して種々変化するので、それらのデータを一括し
て記録し、各次元の真の値がある範囲に存在する物体を
選択する等の検索を効率良く実施するためには、本発明
のような多次元データ管理・検索手段が必要である。
【0387】このように本発明は、上述した実施形態に
限られず、多次元空間中で位置の決まるデータの管理・
検索に適用できるが、この場合、N次元空間のデータに
関しては、[2のN乗]分木でメッシュの分割が管理さ
れる。また、データが多種類ある場合には、種類を限定
して検索することもできる。さらに、データの種類や座
標データの扱いの違いによって、[2のN乗]分木を複
数用意することも可能である。
【0388】
【発明の効果】以上述べた様に、本発明によれば、デー
タ領域の削減が可能で、しかも矩形検索及び最近傍図形
検索の高速化を可能とした多次元データ管理方法及び装
置を提供することができる。
【図面の簡単な説明】
【図1】本発明の第1実施形態の構成を表す機能ブロッ
ク図
【図2】本発明にかかるデータ領域の全体構成を示す図
【図3】本発明のメッシュデータの構成を示す図
【図4】メッシュデータと図形データとの対応を示す図
【図5】本発明の第1実施形態において、図形aを登録
する世界全体を示す図
【図6】メッシュ分割をした場合の番号付けを示す図
【図7】メッシュとそのメッシュに登録された図形を示
すツリー図
【図8】スタックの動作を示す図
【図9】図形のデータ領域への登録の処理の流れを示す
フローチャート
【図10】図形をメッシュに登録する処理の流れを示す
フローチャート
【図11】図形をデータ領域から削除する処理の流れを
示すフローチャート
【図12】図形をメッシュから削除する処理の流れを示
すフローチャート
【図13】図形の修正の処理の流れを示すフローチャー
【図14】メッシュの分割の処理の流れを示すフローチ
ャート
【図15】メッシュの併合の処理の流れを示すフローチ
ャート
【図16】中間メッシュにも図形を登録する場合のメッ
シュとそのメッシュに登録された図形を示すツリー図
【図17】本発明の第2実施形態の構成を表す機能ブロ
ック図
【図18】第2実施形態の処理の流れを示すフローチャ
ート
【図19】中間メッシュにも図形を登録する場合の条件
を説明するための図
【図20】中間メッシュにも図形を登録する場合の条件
を説明するための図
【図21】本発明の第3実施形態の構成を表す機能ブロ
ック図
【図22】第3実施形態の処理の流れを示すフローチャ
ート
【図23】本発明の第4実施形態の矩形検索を説明する
ための図
【図24】本発明の第4実施形態の構成を表す機能ブロ
ック図
【図25】矩形検索において、検索する矩形にかかって
いる全てのメッシュを探し出す処理の流れを示すフロー
チャート
【図26】矩形検索において、図形が矩形に入っている
か否かを検索する処理の流れを示すフローチャート
【図27】メッシュリストと図形リストの対応を示す図
【図28】末端メッシュにのみ図形を登録した場合の矩
形検索の処理の流れを示すフローチャート
【図29】本発明の第5実施形態の構成を表す機能ブロ
ック図
【図30】最近傍図形検索を説明するための図
【図31】中心点と矩形の関係を示す図
【図32】最近傍図形検索の処理の流れを示すフローチ
ャート
【図33】最近傍図形検索の処理の流れを示すフローチ
ャート
【図34】最近傍図形検索の処理の流れを示すフローチ
ャート
【図35】最近傍図形検索の処理の流れを示すフローチ
ャート
【図36】最近傍図形検索の処理の流れを示すフローチ
ャート
【図37】最近傍図形検索の処理の流れを示すフローチ
ャート
【図38】最近傍図形検索の処理の流れを示すフローチ
ャート
【図39】最近傍図形検索の処理の流れを示すフローチ
ャート
【図40】末端メッシュにのみ図形を登録した場合の最
近傍図形検索の処理の流れを示すフローチャート
【図41】末端メッシュにのみ図形を登録した場合の最
近傍図形検索の処理の流れを示すフローチャート
【図42】MD木法の従来手法を示す図であって、
(A)は領域分割、(B)はMD木
【図43】MD木法の問題点を示す図であって、(A)
は領域分割、(B)はデータ4の投入後、(C)はデー
タ7の投入後、(D)はデータ8の投入後
【図44】従来の最近傍データ検索の手法を説明する図
【図45】重複登録の例を示す図
【図46】quad−tree法の第1の変形例を示す
【図47】quad−tree法の第2の変形例を示す
【符号の説明】 1…中央処理装置 2…入力装置 3…出力装置 4…メインメモリ 5…ファイル装置 6…データ管理プログラム 7…メッシュデータ記憶手段 8…多次元データ記憶手段 9…木構造管理手段 10…多次元データ登録削除手段 11…メッシュ/矩形領域重なり判定手段 12…メッシュ/矩形枠重なり判定手段 13…図形/矩形所属判定手段 14…距離計算手段 15…データ領域初期化手段 16…メッシュ検索手段 17…検索結果出力手段
───────────────────────────────────────────────────── フロントページの続き (72)発明者 和田 潔 東京都府中市東芝町1番地 株式会社東芝 府中工場内

Claims (49)

    【特許請求の範囲】
  1. 【請求項1】コンピュータの記憶装置に管理対象となる
    複数の多次元データを多次元空間内に配置し、各多次元
    データの値を多次元空間内における座標としてコンピュ
    ータの記憶装置に登録するステップと、 前記多次元空間を複数のメッシュに階層的に分割し、分
    割された各階層のメッシュを木構造の各ノードに対応さ
    せ、各メッシュと各ノードとの対応関係を記録するステ
    ップと、 分割された各メッシュに多次元データに関する情報を登
    録するステップと、 前記各メッシュに登録された情報に基づいてコンピュー
    タの記憶領域内に蓄積されている多次元データを管理す
    るステップを有する多次元データ管理方法において、 前記各メッシュのうち、少なくとも前記木構造の末端の
    ノードに対応する末端メッシュに多次元データを登録す
    るステップと、 前記末端メッシュに登録できる多次元データ数を一定値
    以下に設定し、末端メッシュに登録する多次元データ数
    が前記設定値を超えた場合に、その末端メッシュの分割
    を試行するステップと、 この末端メッシュの分割ステップの試行に当たり、予め
    設定された分割許容条件にしたがって分割の可否を判定
    するステップを備えていることを特徴とする多次元デー
    タ管理方法。
  2. 【請求項2】コンピュータの記憶装置に管理対象となる
    複数の多次元データを多次元空間内に配置し、各多次元
    データの値を多次元空間内における座標としてコンピュ
    ータの記憶装置に登録するステップと、 前記多次元空間を複数のメッシュに階層的に分割し、分
    割された各階層のメッシュを木構造の各ノードに対応さ
    せ、各メッシュと各ノードとの対応関係を記録するステ
    ップと、 分割された各メッシュに多次元データに関する情報を登
    録するステップと、 前記各メッシュに登録された情報に基づいてコンピュー
    タの記憶領域内に蓄積されている多次元データを管理す
    るステップを有する多次元データ管理方法において、 前記各メッシュのうち、少なくとも前記木構造の末端の
    ノードに対応する末端メッシュに多次元データを登録す
    るステップと、 前記末端メッシュの親メッシュに登録できる多次元デー
    タ数を一定値以下に設定し、前記親メッシュに所属する
    多次元データ数が前記設定値未満の場合に、その末端メ
    ッシュの併合を試行するステップと、 前記末端メッシュをその兄弟メッシュと共に親メッシュ
    に併合するステップの試行に当たり、予め設定された併
    合許容条件にしたがって併合の可否を判定するステップ
    を備えていることを特徴とする多次元データ管理方法。
  3. 【請求項3】コンピュータの記憶装置に管理対象となる
    複数の多次元データを多次元空間内に配置し、各多次元
    データの値を多次元空間内における座標としてコンピュ
    ータの記憶装置に登録するステップと、 前記多次元空間を複数のメッシュに階層的に分割し、分
    割された各階層のメッシュを木構造の各ノードに対応さ
    せ、各メッシュと各ノードとの対応関係を記録するステ
    ップと、 分割された各メッシュに多次元データに関する情報を登
    録するステップと、 前記各メッシュに登録された情報に基づいてコンピュー
    タの記憶領域内に蓄積されている多次元データを管理す
    るステップを有する多次元データ管理方法において、 前記各メッシュのうち、少なくとも前記木構造の末端の
    ノードに対応する末端メッシュに多次元データを登録す
    るステップと、 前記末端メッシュに登録できる多次元データ数を一定値
    以下に設定し、末端メッシュに登録する多次元データ数
    が前記設定値を超えた場合に、その末端メッシュの分割
    を試行するステップと、 この末端メッシュの分割ステップの試行に当たり、予め
    設定された分割許容条件にしたがって分割の可否を判定
    するステップと、 前記末端メッシュの親メッシュに登録できる多次元デー
    タ数を一定値以下に設定し、前記親メッシュに所属する
    多次元データ数が前記設定値未満の場合に、その末端メ
    ッシュの併合を試行するステップと、 前記末端メッシュをその兄弟メッシュと共に親メッシュ
    に併合するステップの試行に当たり、予め設定された併
    合許容条件にしたがって併合の可否を判定するステップ
    を備えていることを特徴とする多次元データ管理方法。
  4. 【請求項4】前記分割を許容するか否かの判定ステップ
    が、分割後の子メッシュに所属する多次元データ数の和
    と、分割前の親メッシュに所属する多次元データ数とを
    比較して、分割の可否を判定するものである請求項1ま
    たは3記載の多次元データ管理方法。
  5. 【請求項5】前記分割を許容するか否かの判定ステップ
    が、親メッシュに所属する多次元データ数と、前記親メ
    ッシュから分割された子メッシュの中の複数の子メッシ
    ュに所属する多次元データ数とを比較して、分割の可否
    を判定するものである請求項1または3記載の多次元デ
    ータ管理方法。
  6. 【請求項6】前記併合を許容するか否かの判定ステップ
    が、併合前の各子メッシュに所属する多次元データ数の
    和と、併合後の親メッシュに所属する多次元データ数と
    を比較して、併合の可否を判定するものである請求項2
    または3記載の多次元データ管理方法。
  7. 【請求項7】前記併合を許容するか否かの判定ステップ
    が、併合後の親メッシュに所属する多次元データ数と、
    これら子メッシュの中の複数の子メッシュに所属する多
    次元データ数とを比較して、併合の可否を判定するもの
    である請求項2,3または6記載の多次元データ管理方
    法。
  8. 【請求項8】前記併合を許容するか否かの判定ステップ
    が、前記末端メッシュに登録できる多次元データ数を一
    定値以下に設定し、親メッシュを同じくする各末端メッ
    シュに登録された多次元データ数がいずれも前記設定値
    未満の場合に、その末端メッシュの併合を実行するもの
    である請求項2,3,6または7記載の多次元データ管
    理方法。
  9. 【請求項9】コンピュータの記憶装置に管理対象となる
    複数の多次元データを多次元空間内に配置し、各多次元
    データの値を多次元空間内における座標としてコンピュ
    ータの記憶装置に登録するステップと、 前記多次元空間を複数のメッシュに階層的に分割し、分
    割された各階層のメッシュを木構造の各ノードに対応さ
    せ、各メッシュと各ノードとの対応関係を記録するステ
    ップと、 分割された各メッシュに多次元データに関する情報を登
    録するステップと、 前記各メッシュに登録された情報に基づいてコンピュー
    タの記憶領域内に蓄積されている多次元データを管理す
    るステップを有する多次元データ管理方法において、 末端メッシュの分割時において、前記各メッシュのう
    ち、前記木構造の末端のノードに対応する分割によって
    生じた子メッシュと、前記末端ノードの親ノードに対応
    する分割によって生じた親メッシュいずれかに多次元デ
    ータを登録しなおすステップと、 末端メッシュの分割時において、1つの図形あたりの複
    数メッシュへの重複登録を抑制する条件に従って、前記
    多次元データを分割によって生じた子メッシュと分割に
    よって生じた親メッシュのいずれに登録しなおすかを判
    定するステップを備えていることを特徴とする多次元デ
    ータ管理方法。
  10. 【請求項10】前記多次元データを親メッシュと子メッ
    シュのいずれに登録するかを判定するステップが、前記
    多次元データがその親メッシュを完全に含んでいないこ
    とを重複登録を抑制する条件としている請求項9記載の
    多次元データ管理方法。
  11. 【請求項11】前記多次元データを親メッシュと子メッ
    シュのいずれに登録するかを判定するステップが、前記
    多次元データが重なっている子メッシュ数が予め設定さ
    れた数以下であることを重複登録を抑制する条件として
    いる請求項9または10記載の多次元データ管理方法。
  12. 【請求項12】前記多次元データを親メッシュと子メッ
    シュのいずれに登録するかを判定するステップが、前記
    多次元データごとに重複メッシュ数の上限が定められて
    おり、子メッシュへの登録を行っても重複登録数が上限
    以下であることを重複登録を抑制する条件としている請
    求項9,10または11記載の多次元データ管理方法。
  13. 【請求項13】コンピュータの記憶装置に管理対象とな
    る複数の多次元データを多次元空間内に配置し、各多次
    元データの値を多次元空間内における座標としてコンピ
    ュータの記憶装置に登録するステップと、 前記多次元空間を複数のメッシュに階層的に分割し、分
    割された各階層のメッシュを木構造の各ノードに対応さ
    せ、各メッシュと各ノードとの対応関係を記録するステ
    ップと、 分割された各メッシュに多次元データに関する情報を登
    録するステップと、 前記各メッシュに登録された情報に基づいてコンピュー
    タの記憶領域内に蓄積されている多次元データを管理す
    るステップを有する多次元データ管理方法において、 前記各メッシュのうち、前記木構造の末端のノードに対
    応する末端メッシュと、前記末端ノードの親ノードに対
    応する中間メッシュの少なくとも一方に多次元データを
    登録するステップと、 多次元データの登録時において、登録する多次元データ
    の状態に従って、前記多次元データを末端メッシュと中
    間メッシュのどこに登録するかを判定するステップを備
    えていることを特徴とする多次元データ管理方法。
  14. 【請求項14】前記多次元データを末端メッシュと中間
    メッシュのどこに登録するかを判定するステップが、前
    記多次元データが重なり合っている子メッシュ数に応じ
    て登録するメッシュを選択するものである請求項13記
    載の多次元データ管理方法。
  15. 【請求項15】前記多次元データを末端メッシュと中間
    メッシュのどこに登録するかを判定するステップが、前
    記多次元データによって登録すべきメッシュの大きさの
    限度が決まっており、このメッシュの大きさの限度に従
    って前記多次元データを登録するメッシュを選択するも
    のである請求項13または14記載の多次元データ管理
    方法。
  16. 【請求項16】前記多次元データを末端メッシュと中間
    メッシュのどこに登録するかを判定するステップが、前
    記多次元データごとに重複登録メッシュ数の限度が定め
    られており、この限度に従って前記多次元データを登録
    するメッシュを選択するものである請求項13,14ま
    たは15記載の多次元データ管理方法。
  17. 【請求項17】前記多次元データを末端メッシュと中間
    メッシュのどこに登録するかを判定するステップが、前
    記多次元空間内における前記多次元データの大きさと、
    前記多次元空間内における所定のメッシュの大きさとの
    比較から、前記多次元データを登録するメッシュを選択
    するものである請求項13,14,15または16記載
    の多次元データ管理方法。
  18. 【請求項18】前記コンピュータの記憶領域内に蓄積さ
    れている多次元データを管理するステップが、前記多次
    元空間内における指定された範囲を対象とし、この指定
    された範囲内に属する多次元データを検索する範囲検索
    ステップを含むことを特徴とする請求項1,2,3,9
    または13記載の多次元データ管理方法。
  19. 【請求項19】前記コンピュータの記憶領域内に蓄積さ
    れている多次元データを管理するステップが、前記多次
    元空間内における指定された点に最も近い多次元データ
    を検索する最近傍データの検索ステップを含むことを特
    徴とする請求項1,2,3,9または13記載の多次元
    データ管理方法。
  20. 【請求項20】前記最近傍データの検索ステップが、前
    記指定された点を含む最小のメッシュに多次元データが
    登録されていない場合に、前記最小のメッシュの親メッ
    シュ、最小のメッシュに隣接するメッシュ、親メッシュ
    の親メッシュ、隣接するメッシュの親メッシュ、隣接す
    るメッシュに隣接する他のメッシュのごとく、再帰的に
    最近傍データの候補が1つ決定されるまで検索範囲を拡
    大するステップを含むことを特徴とする請求項19記載
    の多次元データ管理方法。
  21. 【請求項21】前記多次元空間を複数のメッシュに階層
    的に分割し、分割された各階層のメッシュを木構造の各
    ノードに対応させ、各メッシュと各ノードとの対応関係
    を記録するステップが、2のN乗分木による木構造に対
    応して前記多次元空間を階層的に2のN乗個に等分割す
    るものである請求項1,2,3,9または13記載の多
    次元データ管理方法。
  22. 【請求項22】管理対象となる多次元データが、2次元
    の平面もしくは3次元の空間内に配置された図形データ
    である請求項1,2,3,9または13記載の多次元デ
    ータ管理方法。
  23. 【請求項23】コンピュータの記憶装置に管理対象とな
    る複数の多次元データを多次元空間内に配置し、各多次
    元データの値を多次元空間内における座標としてコンピ
    ュータの記憶装置に登録するステップと、 前記多次元空間を複数のメッシュに階層的に分割し、分
    割された各階層のメッシュを木構造の各ノードに対応さ
    せ、各メッシュと各ノードとの対応関係を記録するステ
    ップと、 分割された各メッシュに多次元データに関する情報を登
    録するステップと、 前記各メッシュに登録された情報に基づいてコンピュー
    タの記憶領域内に蓄積されている多次元データを管理す
    るステップを有する多次元データ管理方法を実行させる
    ためのプログラムを記録した媒体であって、 前記プログラムは、 前記各メッシュのうち、少なくとも前記木構造の末端の
    ノードに対応する末端メッシュに多次元データを登録す
    るステップと、 前記末端メッシュに登録できる多次元データ数を一定値
    以下に設定し、末端メッシュに登録する多次元データ数
    が前記設定値を超えた場合に、その末端メッシュの分割
    を試行するステップと、 この末端メッシュの分割ステップの試行に当たり、予め
    設定された分割許容条件にしたがって分割の可否を判定
    するステップを備えていることを特徴とする多次元デー
    タ管理プログラムを記録した媒体。
  24. 【請求項24】コンピュータの記憶装置に管理対象とな
    る複数の多次元データを多次元空間内に配置し、各多次
    元データの値を多次元空間内における座標としてコンピ
    ュータの記憶装置に登録するステップと、 前記多次元空間を複数のメッシュに階層的に分割し、分
    割された各階層のメッシュを木構造の各ノードに対応さ
    せ、各メッシュと各ノードとの対応関係を記録するステ
    ップと、 分割された各メッシュに多次元データに関する情報を登
    録するステップと、 前記各メッシュに登録された情報に基づいてコンピュー
    タの記憶領域内に蓄積されている多次元データを管理す
    るステップを有する多次元データ管理方法を実行させる
    ためのプログラムを記録した媒体であって、 前記プログラムは、 前記各メッシュのうち、少なくとも前記木構造の末端の
    ノードに対応する末端メッシュに多次元データを登録す
    るステップと、 前記末端メッシュの親メッシュに登録できる多次元デー
    タ数を一定値以下に設定し、前記親メッシュに所属する
    多次元データ数が前記設定値未満の場合に、その末端メ
    ッシュの併合を試行するステップと、 前記末端メッシュをその兄弟メッシュと共に親メッシュ
    に併合するステップの試行に当たり、予め設定された併
    合許容条件にしたがって併合の可否を判定するステップ
    を備えていることを特徴とする多次元データ管理プログ
    ラムを記録した媒体。
  25. 【請求項25】コンピュータの記憶装置に管理対象とな
    る複数の多次元データを多次元空間内に配置し、各多次
    元データの値を多次元空間内における座標としてコンピ
    ュータの記憶装置に登録するステップと、 前記多次元空間を複数のメッシュに階層的に分割し、分
    割された各階層のメッシュを木構造の各ノードに対応さ
    せ、各メッシュと各ノードとの対応関係を記録するステ
    ップと、 分割された各メッシュに多次元データに関する情報を登
    録するステップと、 前記各メッシュに登録された情報に基づいてコンピュー
    タの記憶領域内に蓄積されている多次元データを管理す
    るステップを有する多次元データ管理方法を実行させる
    ためのプログラムを記録した媒体であって、 前記プログラムは、 前記各メッシュのうち、少なくとも前記木構造の末端の
    ノードに対応する末端メッシュに多次元データを登録す
    るステップと、 前記末端メッシュに登録できる多次元データ数を一定値
    以下に設定し、末端メッシュに登録する多次元データ数
    が前記設定値を超えた場合に、その末端メッシュの分割
    を試行するステップと、 この末端メッシュの分割ステップの試行に当たり、予め
    設定された分割許容条件にしたがって分割の可否を判定
    するステップと、 前記末端メッシュの親メッシュに登録できる多次元デー
    タ数を一定値以下に設定し、前記親メッシュに所属する
    多次元データ数が前記設定値未満の場合に、その末端メ
    ッシュの併合を試行するステップと、 前記末端メッシュをその兄弟メッシュと共に親メッシュ
    に併合するステップの試行に当たり、予め設定された併
    合許容条件にしたがって併合の可否を判定するステップ
    を備えていることを特徴とする多次元データ管理プログ
    ラムを記録した媒体。
  26. 【請求項26】コンピュータの記憶装置に管理対象とな
    る複数の多次元データを多次元空間内に配置し、各多次
    元データの値を多次元空間内における座標としてコンピ
    ュータの記憶装置に登録するステップと、 前記多次元空間を複数のメッシュに階層的に分割し、分
    割された各階層のメッシュを木構造の各ノードに対応さ
    せ、各メッシュと各ノードとの対応関係を記録するステ
    ップと、 分割された各メッシュに多次元データに関する情報を登
    録するステップと、 前記各メッシュに登録された情報に基づいてコンピュー
    タの記憶領域内に蓄積されている多次元データを管理す
    るステップを有する多次元データ管理方法を実行させる
    ためのプログラムを記録した媒体であって、 前記プログラムは、 末端メッシュの分割時において、前記各メッシュのう
    ち、前記木構造の末端のノードに対応する分割によって
    生じた子メッシュと、前記末端ノードの親ノードに対応
    する分割によって生じた親メッシュいずれかに多次元デ
    ータを登録しなおすステップと、 末端メッシュの分割時において、1つの図形あたりの複
    数メッシュへの重複登録を抑制する条件に従って、前記
    多次元データを分割によって生じた子メッシュと分割に
    よって生じた親メッシュのいずれに登録しなおすかを判
    定するステップを備えていることを特徴とする多次元デ
    ータ管理プログラムを記録した媒体。
  27. 【請求項27】コンピュータの記憶装置に管理対象とな
    る複数の多次元データを多次元空間内に配置し、各多次
    元データの値を多次元空間内における座標としてコンピ
    ュータの記憶装置に登録するステップと、 前記多次元空間を複数のメッシュに階層的に分割し、分
    割された各階層のメッシュを木構造の各ノードに対応さ
    せ、各メッシュと各ノードとの対応関係を記録するステ
    ップと、 分割された各メッシュに多次元データに関する情報を登
    録するステップと、 前記各メッシュに登録された情報に基づいてコンピュー
    タの記憶領域内に蓄積されている多次元データを管理す
    るステップを有する多次元データ管理方法を実行させる
    ためのプログラムを記録した媒体であって、 前記プログラムは、 前記各メッシュのうち、前記木構造の末端のノードに対
    応する末端メッシュと、前記末端ノードの親ノードに対
    応する中間メッシュの少なくとも一方に多次元データを
    登録するステップと、 多次元データの登録時において、登録する多次元データ
    の状態に従って、前記多次元データを末端メッシュと中
    間メッシュのどこに登録するかを判定するステップを備
    えていることを特徴とする多次元データ管理プログラム
    を記録した媒体。
  28. 【請求項28】管理対象となる複数の多次元データを多
    次元空間内に配置し、各多次元データの値を多次元空間
    内における座標として登録する多次元データ記憶手段
    と、 前記多次元データ記憶手段に多次元データを登録・削除
    する多次元データ登録削除手段と、 前記多次元空間を複数のメッシュに階層的に分割し、分
    割された各階層のメッシュを木構造の各ノードに対応さ
    せ、各メッシュと各ノードとの対応関係を記憶する木構
    造管理手段と、 分割された各メッシュに前記多次元データに関する情報
    を登録するメッシュデータ記憶手段と、 前記各メッシュのうち、少なくとも前記木構造の末端の
    ノードに対応する末端メッシュに、その末端メッシュに
    対応する前記多次元データに関する情報を登録または削
    除するメッシュデータ登録削除手段とを備え、 前記各メッシュデータ記憶手段に登録された情報に基づ
    いて前記多次元データ記憶手段に蓄積されている多次元
    データを管理する多次元データ管理装置において、 前記末端メッシュに登録できる多次元データ数を一定値
    以下に設定し、末端メッシュに登録する多次元データ数
    が前記設定値を超えた場合にその末端メッシュを分割す
    るメッシュ分割手段と、 このメッシュ分割手段による末端メッシュの分割処理に
    当たり、予め設定された分割許容条件にしたがって分割
    の可否を判定する分割判定手段を備えていることを特徴
    とする多次元データ管理装置。
  29. 【請求項29】管理対象となる複数の多次元データを多
    次元空間内に配置し、各多次元データの値を多次元空間
    内における座標として登録する多次元データ記憶手段
    と、 前記多次元データ記憶手段に多次元データを登録・削除
    する多次元データ登録削除手段と、 前記多次元空間を複数のメッシュに階層的に分割し、分
    割された各階層のメッシュを木構造の各ノードに対応さ
    せ、各メッシュと各ノードとの対応関係を記憶する木構
    造管理手段と、 分割された各メッシュに前記多次元データに関する情報
    を登録するメッシュデータ記憶手段と、 前記各メッシュのうち、少なくとも前記木構造の末端の
    ノードに対応する末端メッシュに、その末端メッシュに
    重なる前記多次元データに関する情報を登録または削除
    するメッシュデータ登録削除手段とを備え、 前記各メッシュデータ記憶手段に登録された情報に基づ
    いて前記多次元データ記憶手段に蓄積されている多次元
    データを管理する多次元データ管理装置において、 前記末端メッシュの親メッシュに登録できる多次元デー
    タ数を一定値以下に設定し、前記親メッシュに所属する
    多次元データ数が前記設定値未満の場合に、その末端メ
    ッシュの併合を試行するメッシュ併合手段と、 前記末端メッシュをその兄弟メッシュと共に親メッシュ
    に併合するステップの試行に当たり、予め設定された併
    合許容条件にしたがって併合の可否を判定する併合判定
    手段を備えていることを特徴とする多次元データ管理装
    置。
  30. 【請求項30】管理対象となる複数の多次元データを多
    次元空間内に配置し、各多次元データの値を多次元空間
    内における座標として登録する多次元データ記憶手段
    と、 前記多次元データ記憶手段に多次元データを登録・削除
    する多次元データ登録削除手段と、 前記多次元空間を複数のメッシュに階層的に分割し、分
    割された各階層のメッシュを木構造の各ノードに対応さ
    せ、各メッシュと各ノードとの対応関係を記憶する木構
    造管理手段と、 分割された各メッシュに前記多次元データに関する情報
    を登録するメッシュデータ記憶手段と、 前記各メッシュのうち、少なくとも前記木構造の末端の
    ノードに対応する末端メッシュに、その末端メッシュに
    重なる前記多次元データに関する情報を登録または削除
    するメッシュデータ登録削除手段とを備え、 前記各メッシュデータ記憶手段に登録された情報に基づ
    いて前記多次元データ記憶手段に蓄積されている多次元
    データを管理する多次元データ管理装置において、 前記末端メッシュに登録できる多次元データ数を一定値
    以下に設定し、末端メッシュに登録する多次元データ数
    が前記設定値を超えた場合にその末端メッシュを分割す
    るメッシュ分割手段と、 このメッシュ分割手段による末端メッシュの分割処理に
    当たり、予め設定された分割許容条件にしたがって分割
    の可否を判定する分割判定手段と、 前記末端メッシュの親メッシュに登録できる多次元デー
    タ数を一定値以下に設定し、前記親メッシュに所属する
    多次元データ数が前記設定値未満の場合に、その末端メ
    ッシュの併合を試行するメッシュ併合手段と、 前記末端メッシュをその兄弟メッシュと共に親メッシュ
    に併合するステップの試行に当たり、予め設定された併
    合許容条件にしたがって併合の可否を判定する併合判定
    手段を備えていることを特徴とする多次元データ管理装
    置。
  31. 【請求項31】前記分割判定手段が、分割後の子メッシ
    ュに所属する多次元データ数の和と、分割前の親メッシ
    ュに所属する多次元データ数とを比較して、分割の可否
    を判定するものである請求項28または30記載の多次
    元データ管理装置。
  32. 【請求項32】前記分割判定手段が、親メッシュに所属
    する多次元データ数と、前記親メッシュから分割された
    子メッシュの中の複数の子メッシュに所属する多次元デ
    ータ数とを比較して、分割の可否を判定するものである
    請求項28または30記載の多次元データ管理装置。
  33. 【請求項33】前記併合判定手段が、併合前の各子メッ
    シュに所属する多次元データ数の和と、併合後の親メッ
    シュに所属する多次元データ数とを比較して、併合の可
    否を判定するものである請求項29または30記載の多
    次元データ管理装置。
  34. 【請求項34】前記併合判定手段が、併合後の親メッシ
    ュに所属する多次元データ数と、これら子メッシュの中
    の複数の子メッシュに所属する多次元データ数とを比較
    して、併合の可否を判定するものである請求項29,3
    0または33記載の多次元データ管理装置。
  35. 【請求項35】前記併合判定手段が、前記末端メッシュ
    に登録できる多次元データ数を一定値以下に設定し、親
    メッシュを同じくする各末端メッシュに登録された多次
    元データ数がいずれも前記設定値未満の場合に、その末
    端メッシュの併合を実行するものである請求項29,3
    0または33記載の多次元データ管理装置。
  36. 【請求項36】管理対象となる複数の多次元データを多
    次元空間内に配置し、各多次元データの値を多次元空間
    内における座標として登録する多次元データ記憶手段
    と、 前記多次元データ記憶手段に多次元データを登録・削除
    する多次元データ登録削除手段と、 前記多次元空間を複数のメッシュに階層的に分割し、分
    割された各階層のメッシュを木構造の各ノードに対応さ
    せ、各メッシュと各ノードとの対応関係を記憶する木構
    造管理手段と、 分割された各メッシュに前記多次元データに関する情報
    を登録するメッシュデータ記憶手段と、 前記各メッシュのうち、少なくとも前記木構造の末端の
    ノードに対応する末端メッシュに、その末端メッシュに
    重なる前記多次元データに関する情報を登録または削除
    するメッシュデータ登録削除手段とを備え、 前記各メッシュデータ記憶手段に登録された情報に基づ
    いて前記多次元データ記憶手段に蓄積されている多次元
    データを管理する多次元データ管理装置において、 前記メッシュデータ登録削除手段およびメッシュ分割手
    段に関連して、 末端メッシュの分割時において、前記各メッシュのう
    ち、前記木構造の末端のノードに対応する分割によって
    生じた子メッシュと、前記末端ノードの親ノードに対応
    する分割によって生じた親メッシュいずれかに多次元デ
    ータを登録しなおすメッシュデータ再登録手段と、 末端メッシュの分割時において、1つの図形あたりの複
    数メッシュへの重複登録を抑制する条件に従って、前記
    多次元データを分割によって生じた子メッシュと分割に
    よって生じた親メッシュのいずれに登録しなおすかを判
    定する再登録メッシュ判定手段が設けられいることを特
    徴とする多次元データ管理装置。
  37. 【請求項37】前記再登録メッシュ判定手段が、前記多
    次元データがその親メッシュを完全に含んでいないこと
    を重複登録を抑制する条件としている請求項36記載の
    多次元データ管理装置。
  38. 【請求項38】前記再登録メッシュ判定手段が、前記多
    次元データが重なっている子メッシュ数が予め設定され
    た数以下であることを重複登録を抑制する条件としてい
    る請求項36または37記載の多次元データ管理装置。
  39. 【請求項39】前記再登録メッシュ判定手段が、前記多
    次元データごとに重複メッシュ数の上限が定められてお
    り、子メッシュへの登録を行っても重複登録数が上限以
    下であることを重複登録を抑制する条件としている請求
    項36,37または38記載の多次元データ管理装置。
  40. 【請求項40】管理対象となる複数の多次元データを多
    次元空間内に配置し、各多次元データの値を多次元空間
    内における座標として登録する多次元データ記憶手段
    と、 前記多次元データ記憶手段に多次元データを登録・削除
    する多次元データ登録削除手段と、 前記多次元空間を複数のメッシュに階層的に分割し、分
    割された各階層のメッシュを木構造の各ノードに対応さ
    せ、各メッシュと各ノードとの対応関係を記憶する木構
    造管理手段と、 分割された各メッシュに前記多次元データに関する情報
    を登録するメッシュデータ記憶手段と、 前記各メッシュのうち、少なくとも前記木構造の末端の
    ノードに対応する末端メッシュに、その末端メッシュに
    重なる前記多次元データに関する情報を登録または削除
    するメッシュデータ登録削除手段とを備え、 前記各メッシュデータ記憶手段に登録された情報に基づ
    いて前記多次元データ記憶手段に蓄積されている多次元
    データを管理する多次元データ管理装置において、 前記メッシュデータ登録削除手段およびメッシュ分割手
    段に関連して、 前記各メッシュのうち、前記木構造の末端のノードに対
    応する末端メッシュと、前記末端ノードの親ノードに対
    応する中間メッシュの少なくとも一方に多次元データを
    登録するデータ登録手段と、 多次元データの登録時において、登録する多次元データ
    の状態に従って、前記多次元データを末端メッシュと中
    間メッシュのどこに登録するかを判定する登録位置判定
    手段が設けられていることを特徴とする多次元データ管
    理装置。
  41. 【請求項41】登録位置判定手段が、前記多次元データ
    が重なり合っている子メッシュ数に応じて登録するメッ
    シュを選択するものである請求項40記載の多次元デー
    タ管理装置。
  42. 【請求項42】前記登録位置判定手段が、前記多次元デ
    ータによって登録すべきメッシュの大きさの限度が決ま
    っており、このメッシュの大きさの限度に従って前記多
    次元データを登録するメッシュを選択するものである請
    求項40または41記載の多次元データ管理装置。
  43. 【請求項43】前記登録位置判定手段が、前記多次元デ
    ータごとに重複登録メッシュ数の限度が定められてお
    り、この限度に従って前記多次元データを登録するメッ
    シュを選択するものである請求項40,41または42
    記載の多次元データ管理装置。
  44. 【請求項44】前記登録位置判定手段が、前記多次元空
    間内における前記多次元データの大きさと、前記多次元
    空間内における所定のメッシュの大きさとの比較から、
    前記多次元データを登録するメッシュを選択するもので
    ある請求項40,41,42または43記載の多次元デ
    ータ管理装置。
  45. 【請求項45】前記コンピュータの記憶領域内に蓄積さ
    れている多次元データを管理する装置が、前記多次元空
    間内における指定された範囲を対象とし、この指定され
    た範囲内に属する多次元データを検索する範囲検索手段
    を含むことを特徴とする請求項28,29,30,36
    または40記載の多次元データ管理装置。
  46. 【請求項46】前記コンピュータの記憶領域内に蓄積さ
    れている多次元データを管理する装置が、前記多次元空
    間内における指定された点に最も近い多次元データを検
    索する最近傍データの検索手段を含むことを特徴とする
    請求項28,29,30,36,40または45記載の
    多次元データ管理装置。
  47. 【請求項47】前記最近傍データの検索手段が、前記指
    定された点を含む最小のメッシュに多次元データが登録
    されていない場合に、前記最小のメッシュの親メッシ
    ュ、最小のメッシュに隣接するメッシュ、親メッシュの
    親メッシュ、隣接するメッシュの親メッシュ、隣接する
    メッシュに隣接する他のメッシュのごとく、再帰的に最
    近傍データの候補が1つ決定されるまで検索範囲を拡大
    することを特徴とする請求項46記載の多次元データ管
    理装置。
  48. 【請求項48】前記木構造管理手段が、2のN乗分木に
    よる木構造に対応して前記多次元空間を階層的に2のN
    乗個に等分割するものである請求項28,29,30,
    36または40記載の多次元データ管理装置。
  49. 【請求項49】管理対象となる多次元データが、2次元
    の平面もしくは3次元の空間内に配置された図形データ
    である請求項28,29,30,36または40記載の
    多次元データ管理装置。
JP29440396A 1996-10-16 1996-10-16 多次元データ管理方法、多次元データ管理装置、多次元データ管理プログラムを記録した媒体 Expired - Fee Related JP3598183B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP29440396A JP3598183B2 (ja) 1996-10-16 1996-10-16 多次元データ管理方法、多次元データ管理装置、多次元データ管理プログラムを記録した媒体
US08/951,636 US6137493A (en) 1996-10-16 1997-10-16 Multidimensional data management method, multidimensional data management apparatus and medium onto which is stored a multidimensional data management program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29440396A JP3598183B2 (ja) 1996-10-16 1996-10-16 多次元データ管理方法、多次元データ管理装置、多次元データ管理プログラムを記録した媒体

Publications (2)

Publication Number Publication Date
JPH10124528A true JPH10124528A (ja) 1998-05-15
JP3598183B2 JP3598183B2 (ja) 2004-12-08

Family

ID=17807294

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29440396A Expired - Fee Related JP3598183B2 (ja) 1996-10-16 1996-10-16 多次元データ管理方法、多次元データ管理装置、多次元データ管理プログラムを記録した媒体

Country Status (2)

Country Link
US (1) US6137493A (ja)
JP (1) JP3598183B2 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003132076A (ja) * 2000-09-20 2003-05-09 Noboru Masaoka 情報管理システム
KR100385528B1 (ko) * 1997-10-31 2003-05-27 인터내셔널 비지네스 머신즈 코포레이션 다차원 데이터 표시 방법 및 기록 매체
US6748383B1 (en) 1999-10-06 2004-06-08 Kabushiki Kaisha Toshiba Geographic information indicator, method for displaying geographic information and storage medium for storing program for executing the same
US7027644B1 (en) 1999-02-01 2006-04-11 Lg Electronics Inc. Multilevel image grid data structure and image search method using the same
WO2006059629A1 (ja) * 2004-11-30 2006-06-08 Hewlett-Packard Development Company, L.P. エリア情報の管理装置・方法・プログラム
JP2009104533A (ja) * 2007-10-25 2009-05-14 Ricoh Co Ltd 情報管理装置、情報管理方法、及びプログラム
JP2011141682A (ja) * 2010-01-06 2011-07-21 Yahoo Japan Corp 地域情報検索サーバ及び地域情報検索方法
JP2011221888A (ja) * 2010-04-13 2011-11-04 Yahoo Japan Corp 地域情報検索サーバ、地域情報検索方法及び補完用メッシュ生成方法
KR20210019433A (ko) * 2018-06-15 2021-02-22 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 삼차원 데이터 부호화 방법, 삼차원 데이터 복호 방법, 삼차원 데이터 부호화 장치, 및 삼차원 데이터 복호 장치
KR20210020924A (ko) * 2018-06-27 2021-02-24 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 삼차원 데이터 부호화 방법, 삼차원 데이터 복호 방법, 삼차원 데이터 부호화 장치, 및 삼차원 데이터 복호 장치

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3607107B2 (ja) * 1998-03-13 2005-01-05 株式会社東芝 データ管理装置
US6721759B1 (en) * 1998-12-24 2004-04-13 Sony Corporation Techniques for spatial representation of data and browsing based on similarity
US6446068B1 (en) * 1999-11-15 2002-09-03 Chris Alan Kortge System and method of finding near neighbors in large metric space databases
US7318053B1 (en) * 2000-02-25 2008-01-08 International Business Machines Corporation Indexing system and method for nearest neighbor searches in high dimensional data spaces
US6996575B2 (en) * 2002-05-31 2006-02-07 Sas Institute Inc. Computer-implemented system and method for text-based document processing
AU2003302731A1 (en) * 2002-11-27 2004-07-09 Rgb Media, Inc. Method and apparatus for time-multiplexed processing of multiple digital video programs
US20040181518A1 (en) * 2003-03-14 2004-09-16 Mayo Bryan Edward System and method for an OLAP engine having dynamic disaggregation
CN1778062A (zh) * 2003-04-21 2006-05-24 Rgb网络有限公司 时分复用多程序加密系统
CN100571066C (zh) * 2003-08-29 2009-12-16 Rgb网络有限公司 先进自平衡视频多路复用器系统
US7853669B2 (en) * 2007-05-04 2010-12-14 Microsoft Corporation Mesh-managing data across a distributed set of devices
JP5333815B2 (ja) * 2008-02-19 2013-11-06 株式会社日立製作所 k最近傍検索方法、k最近傍検索プログラム及びk最近傍検索装置
KR101420237B1 (ko) * 2008-02-25 2014-07-17 삼성전자주식회사 이웃 포인트의 탐색이 용이한 3d 영상 처리 방법
US8572033B2 (en) 2008-03-20 2013-10-29 Microsoft Corporation Computing environment configuration
US8484174B2 (en) * 2008-03-20 2013-07-09 Microsoft Corporation Computing environment representation
US9298747B2 (en) * 2008-03-20 2016-03-29 Microsoft Technology Licensing, Llc Deployable, consistent, and extensible computing environment platform
US9753712B2 (en) 2008-03-20 2017-09-05 Microsoft Technology Licensing, Llc Application management within deployable object hierarchy
US20100185672A1 (en) * 2009-01-21 2010-07-22 Rising Iii Hawley K Techniques for spatial representation of data and browsing based on similarity
US8411319B2 (en) * 2009-03-30 2013-04-02 Sharp Laboratories Of America, Inc. Methods and systems for concurrent rendering of graphic-list elements
JP5475629B2 (ja) * 2010-01-12 2014-04-16 本田技研工業株式会社 軌道計画方法、軌道計画システム及びロボット
US8730235B2 (en) * 2010-07-14 2014-05-20 Disney Enterprises, Inc. Method for determining point connectivity on a two manifold in 3D space
US20120311474A1 (en) * 2011-06-02 2012-12-06 Microsoft Corporation Map-based methods of visualizing relational databases
KR101794910B1 (ko) 2011-06-07 2017-11-07 삼성전자주식회사 다차원 데이터에 관한 영역 질의의 선택도를 계산하는 장치 및 방법
US8730264B1 (en) 2011-09-26 2014-05-20 Google Inc. Determining when image elements intersect
US10242115B2 (en) 2013-02-08 2019-03-26 Contentmap Aktiebolag Method and device for handling data containers
JP6253053B2 (ja) * 2013-11-29 2017-12-27 富士通株式会社 データ探索装置、データ探索装置の制御方法およびデータ探索装置の制御プログラム
JP6410932B2 (ja) 2014-06-20 2018-10-24 アマゾン テクノロジーズ インコーポレイテッド 組み込み可能なクラウド分析
US10776397B2 (en) * 2014-06-20 2020-09-15 Amazon Technologies, Inc. Data interest estimation for n-dimensional cube computations
US9882949B1 (en) 2014-06-20 2018-01-30 Amazon Technologies, Inc. Dynamic detection of data correlations based on realtime data
US11868372B1 (en) 2014-06-20 2024-01-09 Amazon Technologies, Inc. Automated hierarchy detection for cloud-based analytics
CN111757108B (zh) * 2020-07-01 2023-03-24 格兰菲智能科技有限公司 集成电路及递归划分解码区块的方法
CN113713381B (zh) * 2021-09-09 2023-06-20 腾讯科技(深圳)有限公司 对象管理方法、装置、设备、存储介质及系统

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63157279A (ja) * 1986-12-22 1988-06-30 Ricoh Co Ltd パタ−ン情報の処理方式および演繹方式
JPS6462769A (en) * 1987-09-03 1989-03-09 Toshiba Corp Graphic display device
JPH01106177A (ja) * 1987-10-19 1989-04-24 Nec Corp 二次元図形データ検索方法
JPH02136885A (ja) * 1988-11-18 1990-05-25 Alpine Electron Inc 地図データ検索方法
JPH0561922A (ja) * 1991-08-30 1993-03-12 Fuji Facom Corp 画像フアイリング装置
JPH07191891A (ja) * 1993-10-20 1995-07-28 Microsoft Corp 多次元データを格納しかつアクセスするコンピュータ方法及び格納構造
JPH07271999A (ja) * 1994-03-31 1995-10-20 Oki Electric Ind Co Ltd 3次元地形出力方法
JPH08171573A (ja) * 1994-12-20 1996-07-02 Mitsubishi Electric Corp 図面データ分散配置装置
JPH08202889A (ja) * 1995-01-27 1996-08-09 Iyo Eng:Kk 画像データの分割管理方法及び装置
JPH08241424A (ja) * 1995-03-06 1996-09-17 Nippon Telegr & Teleph Corp <Ntt> 対話型図面入力方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5592599A (en) * 1991-12-18 1997-01-07 Ampex Corporation Video special effects system with graphical operator interface
US5877775A (en) * 1996-08-08 1999-03-02 Theisen; Karen E. Method of generating a 3-D representation of a hierarchical data structure

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63157279A (ja) * 1986-12-22 1988-06-30 Ricoh Co Ltd パタ−ン情報の処理方式および演繹方式
JPS6462769A (en) * 1987-09-03 1989-03-09 Toshiba Corp Graphic display device
JPH01106177A (ja) * 1987-10-19 1989-04-24 Nec Corp 二次元図形データ検索方法
JPH02136885A (ja) * 1988-11-18 1990-05-25 Alpine Electron Inc 地図データ検索方法
JPH0561922A (ja) * 1991-08-30 1993-03-12 Fuji Facom Corp 画像フアイリング装置
JPH07191891A (ja) * 1993-10-20 1995-07-28 Microsoft Corp 多次元データを格納しかつアクセスするコンピュータ方法及び格納構造
JPH07271999A (ja) * 1994-03-31 1995-10-20 Oki Electric Ind Co Ltd 3次元地形出力方法
JPH08171573A (ja) * 1994-12-20 1996-07-02 Mitsubishi Electric Corp 図面データ分散配置装置
JPH08202889A (ja) * 1995-01-27 1996-08-09 Iyo Eng:Kk 画像データの分割管理方法及び装置
JPH08241424A (ja) * 1995-03-06 1996-09-17 Nippon Telegr & Teleph Corp <Ntt> 対話型図面入力方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100385528B1 (ko) * 1997-10-31 2003-05-27 인터내셔널 비지네스 머신즈 코포레이션 다차원 데이터 표시 방법 및 기록 매체
US7027644B1 (en) 1999-02-01 2006-04-11 Lg Electronics Inc. Multilevel image grid data structure and image search method using the same
US6748383B1 (en) 1999-10-06 2004-06-08 Kabushiki Kaisha Toshiba Geographic information indicator, method for displaying geographic information and storage medium for storing program for executing the same
JP2003132076A (ja) * 2000-09-20 2003-05-09 Noboru Masaoka 情報管理システム
WO2006059629A1 (ja) * 2004-11-30 2006-06-08 Hewlett-Packard Development Company, L.P. エリア情報の管理装置・方法・プログラム
US7619913B2 (en) 2004-11-30 2009-11-17 Hewlett-Packard Development Company, L.P. Device, method and program for managing area information
JP2009104533A (ja) * 2007-10-25 2009-05-14 Ricoh Co Ltd 情報管理装置、情報管理方法、及びプログラム
JP2011141682A (ja) * 2010-01-06 2011-07-21 Yahoo Japan Corp 地域情報検索サーバ及び地域情報検索方法
JP2011221888A (ja) * 2010-04-13 2011-11-04 Yahoo Japan Corp 地域情報検索サーバ、地域情報検索方法及び補完用メッシュ生成方法
KR20210019433A (ko) * 2018-06-15 2021-02-22 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 삼차원 데이터 부호화 방법, 삼차원 데이터 복호 방법, 삼차원 데이터 부호화 장치, 및 삼차원 데이터 복호 장치
KR20210020924A (ko) * 2018-06-27 2021-02-24 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 삼차원 데이터 부호화 방법, 삼차원 데이터 복호 방법, 삼차원 데이터 부호화 장치, 및 삼차원 데이터 복호 장치

Also Published As

Publication number Publication date
JP3598183B2 (ja) 2004-12-08
US6137493A (en) 2000-10-24

Similar Documents

Publication Publication Date Title
JPH10124528A (ja) 多次元データ管理方法、多次元データ管理装置、多次元データ管理プログラムを記録した媒体
Arge et al. Optimal external memory interval management
JP4443623B2 (ja) 集積回路設計に使用するための頂点ベースジオメトリエンジンシステム
JP5237837B2 (ja) 空間データ管理装置、空間データ管理方法、および、空間データ管理プログラム
CN101324896B (zh) 一种矢量数据的存储方法、查询方法和管理系统
CN114529633B (zh) 一种支持gis线对象和面对象连续lod绘制的方法
CN114861590A (zh) 一种应用于大规模版图数据的索引方法
Lee et al. Parallel mesh simplification using embedded tree collapsing
CN109035405B (zh) 一种基于预测-校正模型的网格简化方法
JP5879445B2 (ja) 時空間データ管理システム、時空間データ管理方法、及びプログラム
CN103336858B (zh) 一种刻蚀和沉积工艺三维元胞信息存储结构及操作方法
JP2001014338A (ja) 図形データ管理方法およびシステム、記憶媒体
JP4885558B2 (ja) エンティティルックアップシステム
CN104484404A (zh) 一种改善分布式文件系统中地理栅格数据文件处理方法
JPH05205063A (ja) 階層構造情報の表示方法
JP2644735B2 (ja) 図面情報管理方法
JP2590327B2 (ja) 図面情報の管理方法
JP5434500B2 (ja) 木構造処理装置及びプログラム
JPH07296145A (ja) 図形処理装置
CN120067713B (zh) 一种面向动态图的异构协同子图匹配方法
JPH09311925A (ja) 図形データ格納方式
Böonning et al. Interactive sculpturing and visualization of unbounded voxel volumes
FI117655B (fi) Menetelmä tietokoneavusteisen polygonimallin prosessointiin, laite ja tietokoneohjelma
JP2004171139A (ja) データ階層化およびデータ再構成方法/装置/プログラム/記録媒体、データ記録媒体
JP4412291B2 (ja) 記憶装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040309

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040622

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040811

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040913

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

Free format text: PAYMENT UNTIL: 20070917

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20080917

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20080917

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090917

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090917

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100917

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110917

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110917

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120917

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120917

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130917

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees