JPH1091797A - 空間探索方法及びそれを実行するプログラムを備えた記憶媒体 - Google Patents

空間探索方法及びそれを実行するプログラムを備えた記憶媒体

Info

Publication number
JPH1091797A
JPH1091797A JP8241600A JP24160096A JPH1091797A JP H1091797 A JPH1091797 A JP H1091797A JP 8241600 A JP8241600 A JP 8241600A JP 24160096 A JP24160096 A JP 24160096A JP H1091797 A JPH1091797 A JP H1091797A
Authority
JP
Japan
Prior art keywords
search
graphic data
space
tree
data
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.)
Pending
Application number
JP8241600A
Other languages
English (en)
Inventor
Kanji Yokogawa
完治 横川
Toyoaki Suzuka
豊明 鈴鹿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Software Engineering Co Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Software Engineering Co Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP8241600A priority Critical patent/JPH1091797A/ja
Publication of JPH1091797A publication Critical patent/JPH1091797A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 様々の大きさが混在する図形データの空間探
索を高速にすること。 【解決手段】 探索する空間の範囲と交わりがある全て
の図形データを図形データ群から探索する空間探索方法
において、前記図形データ群の各々の図形データを大き
さ別に分類し、同類の大きさの図形データ毎に所定の空
間を階層分割しながら木構造をそれぞれ複数個生成し、
その生成された複数個の木構造を探索木として空間探索
する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、地図システムやC
AD等の大量の図形データを空間探索する方法及びそれ
を実行するプログラムを備えた記憶媒体に関し、特に、
様々な大きさが混在する図形データの空間探索方法及び
それを実行するプログラムを備えた記憶媒体に適用して
有効な技術に関するものである。
【0002】
【従来の技術】空間探索とは、空間上の探索範囲と呼ば
れる範囲の領域を指定し、その領域と、交わりのある全
ての図形データを取り出す処理である。
【0003】この空間探索は、通常、空間を階層的に分
割し、それに対応する木構造を前もって生成し、次にこ
の木構造を探索木として空間探索を行うという二段階で
行われる。
【0004】最初に、点データを対象にした空間探索方
法について説明する。まず、空間を点データの分布が密
な部分では細かく分割し、疎な部分では粗く分割するこ
とにより空間を点データの数が一定の小空間に分ける。
【0005】このような分割法の一つに領域2等分割法
と呼ばれるものがあり、これは空間をx座標軸とy座標
軸を交互に2等分割を繰り返していき、最終的に一つの
小空間に含まれる点データの数を1点以下にする方法で
ある。領域2等分割法に対し、領域2等分割木と呼ばれ
る木構造が対応する。
【0006】一般に、分割法が木構造に対応するものを
階層的分割と呼び、根ノードを空間全体、その子ノード
を部分空間に対応させるというように、木構造のノード
と小空間を階層的に対応させることができる。この木構
造には、先に述べた領域2等分割木の他に、4分木、k
−d、BD木が知られており、これらの木構造とその生
成方法は、例えば、「画像データベース」坂内、大沢
著、昭晃堂出版(1987)の第44頁から第90頁に開示
されている。
【0007】これらの木構造を導入すると空間探索に木
探索のアルゴリズムが適用でき、あるノードで、その下
位の葉ノードに対応する点データをまとめて探索範囲と
の交わりの可能性を判定できる。
【0008】ここで、交わりの可能性があれば、さらに
その子ノードについて交わりの可能性を判定する。これ
を葉ノードになるまで繰り返し、葉ノードに達すると実
際に点データと探索範囲の交わりを判定する。交わりの
可能性がなければ、そのノードの下位のノードは訪れな
い。このようにすることで、木構造の必要最小限の部分
のアクセスだけで済むことになる。
【0009】次に、図形データを対象とした空間探索方
法について説明する。図形データの木構造とは、図形デ
ータの外接長方形の中心点の集合に対する木構造であ
り、その各ノードに対して外接長方形を対応させたもの
とする。葉ノードの外接長方形はそのノードに対応した
図形データを含む最小の長方形である。非葉ノードの外
接長方形はそのノードの下位にある葉ノードの全ての図
形データを含む最小の長方形である。通常、外接長方形
の各辺はx座標軸またはy座標軸のいずれか一方と平行
であるとする。
【0010】図形データのための木構造のノードの外接
長方形と探索範囲の交わりの判定はその下位に葉ノード
の図形データと探索範囲の交わりの可能性の判定として
役立つ。すなわち、あるノードpの外接長方形と探索範
囲が交わらなければ、この外接長方形はノードpの下位
の葉ノードqの外接長方形を含むので、葉ノードqの図
形データと探索範囲の交わりはない。このことが木探索
のアルゴリズムと結び付いて空間探索を高速にする。
【0011】探索木と外接長方形を導入した空間探索の
関数search(p,A)のアルゴリズムを図8に示す。こ
こで示す関数search(p,A)は、探索木のノードpと
探索範囲Aを引数に持つ。
【0012】図8に示すように、まず、ノードpの外接
長方形と探索範囲Aが交わるか判定する(ステップ8
1)。交わらない場合、なにもしないで戻る。交わる場
合、ノードpが葉ノードか判定する(ステップ82)。
ノードpが葉ノードの時、さらに、ノードpの図形デー
タと探索範囲Aが実際に交わるか判定する(ステップ8
3)。交われば、ノードpの図形データを出力し(ステ
ップ84)、交わらなければ、なにもしない。また、ス
テップ82でノードpが非葉ノードの時、第一引数をノ
ードpの子ノードとして、関数searchを再帰的に呼び出
す。この図8では2分木の探索木を仮定しているため、
ステップ85とステップ86でそれぞれノードpの左子
ノードと右子ノードについて関数searchを再帰的に呼び
出している。
【0013】このステップ81のノードpの図形データ
と探索範囲Aの交わりの判定はノードpの図形データに
アクセスするため、時間が掛かかる。この交わりの判定
をなるべく避けるために、外接長方形を使った交わりの
可能性の判定と木構造の枝刈りが用いられている。な
お、全空間を空間探索する場合は関数searchの第一引数
に探索木の根ノードrを与えている。
【0014】
【発明が解決しようとする課題】探索対象に比較的小さ
い図形データのみが含まれる場合、上述した従来の空間
探索方法で十分である。しかし、大きな線状の図形デー
タが存在する時、大きな線状の図形データと探索範囲と
は交わらないにもかかわらず、その外接長方形と探索範
囲は交わることが多く、探索木を辿って、その図形デー
タに対応する葉ノードまでむだにアクセスしてしまうた
め、上述した方法では効率良く高速に空間探索を行うこ
とができない。
【0015】このように、大きな線状の図形データの存
在は、交わりを判定する回数が多くなる要因になり、高
速な空間探索の妨げになるという問題点がある。
【0016】このように、比較的小さい図形データに大
きな線状の図形データが存在する例として、住宅地図等
が挙げられる。住宅は比較的小さい図形データであり、
住宅地図の図形データのほとんどを占めているが、中に
は通常少数であるが道路や境界線のように大きな線状の
図形データがある。
【0017】このような道路や境界線のように大きな線
状の図形データがある場合、従来の空間探索方法では、
交わりを判定する回数が多くなり、ノードへの無駄なア
クセスが生じ、高速に空間探索できない。
【0018】本発明の目的は、様々の大きさが混在する
図形データの空間探索を高速にすることが可能な技術を
提供することにある。
【0019】
【課題を解決するための手段】本願において開示される
発明のうち、代表的なものの概要を簡単に説明すれば、
下記のとおりである。
【0020】探索する空間の範囲と交わりがある全ての
図形データを図形データ群から探索する空間探索方法に
おいて、前記図形データ群の各々の図形データを大きさ
別に分類し、同類の大きさの図形データ毎に所定の空間
を階層分割しながら木構造をそれぞれ複数個生成し、そ
の生成された複数個の木構造を探索木として空間探索す
る。
【0021】
【発明の実施の形態】以下、図面を参照して本発明の実
施形態を詳細に説明する。
【0022】なお、実施形態を説明するための全図にお
いて、同一機能を有するものは同一符号を付け、その繰
り返しの説明は省略する。
【0023】本発明の一実施形態にかかる複数の探索木
を用いた空間探索方法について説明する。
【0024】図1は、本実施形態の空間探索方法を実行
する装置のブロック構成図である。本実施形態の空間探
索方法は、例えば、図1に示すように、空間探索を行う
中央処理装置11と、図形データ等を格納する外部記憶
装置であるディスク12と、図形データを表示するグラ
フィックディスプレイ13と、探索範囲の指定等に使用
されるキーボード14とマウス15とからなる装置で実
行される。
【0025】本発明の空間探索方法は、複数の探索木を
生成し、その探索木の各ノードを辿ることによって行わ
れる。
【0026】図2は、本実施形態の空間探索方法におけ
る2個の探索木を生成する処理のフローチャートであ
る。
【0027】2個の探索木を生成する処理は、図2に示
すように、まず、ディスク12に格納された図形データ
を1個取り出す(ステップ21)。次に、その図形デー
タが小さいか否かを判定する(ステップ22)。具体的
には、図形データを囲む外接長方形の幅と高さが共にあ
る閾値より小さければ、図形データは小さいと判定す
る。この閾値は前もって経験的に決める。次に、図形デ
ータが小さい場合には、集合S1に図形データを挿入す
る(ステップ23)。逆に、大きい場合には、集合S2
に図形データを挿入する(ステップ24)。次に、この
図形データが最後かどうか判定する(ステップ25)。
最後ではない場合、ステップ21からステップ25まで
の処理を繰り返す。最後である場合には、集合S1の図
形データを対象に根ノードをr1として探索木T1を生
成し(ステップ26)、さらに、集合S2の図形データ
を対象に根ノードをr2として探索木T2を生成し(ス
テップ27)、処理を終了する。
【0028】次に、上述した探索木の生成を図3〜図5
とを用いて具体的に説明する。
【0029】図3(a)は、8個の小さな正方形の図形
データと2個の大きな線分の図形データからなる図形デ
ータ群41(ただし、黒丸はそれぞれの図形データの中
心点を示す)を示した図であり、それぞれ31,33,
35,36,37,38,39,40は住宅、32,3
4は道路とする。また、図3(a)中の斜線で囲んだ部
分は探索する範囲を示したものである。図3(b)は、
図3(a)の図形データ群41に対して領域2等分割を
行った結果42を示したものである。
【0030】図4は、図3(a)で示した図形データ群
41の領域2等分割木を示したものであり、その木構造
の白い葉ノードは小さな図形データ、黒い葉ノードは大
きな図形データに対応する。図4(a)は小さい図形デ
ータ(住宅)からなるステップ26で生成する探索木T
1を示し、図4(b)は大きい図形データ(道路)から
なるステップ27で生成する探索木T2を示したもので
ある。
【0031】次に、上述した2個の探索木T1、T2を
用いた空間探索の処理手順について図5に示したフロー
チャートを用いて説明する。本実施形態の空間探索は、
図5に示すように、まず、処理対象の図形データ全体を
グラフィックディスプレイ13に表示する(ステップ5
1)。次に、マウス15を用いて例えば、図6(a)に
示すように、探索範囲Aを指定する(ステップ52)。
次に根ノードr1を持つ探索木T1を用いて、空間探索
の関数search(r1,A)を呼び出して、小さい図形デ
ータの探索結果を出力する(ステップ53)。さらに、
根ノードr2を持つ探索木T2を用いて、空間探索の関
数search(r2,A)を呼び出して、大きい図形データ
の探索結果を出力し(ステップ54)、処理を終了す
る。
【0032】グラフィックディスプレイ13上には、図
6(b)に示すように、探索範囲Aと交わりのある全て
の図形データのみが取り出されて表示される。
【0033】上述した処理手順により、例えば、図4
(a)に示す探索木T1について関数searchによる空間
探索を行うと、a,b,a,c,f,i,36,i,37,i,f,38,f,c,g,c,a
の順でノードを辿ることになる。
【0034】図4(b)に示す探索木T2では、j,k,3
2,k,34,k,jとなる。なお、下線はそのノードで外接長方
形と探索範囲Aとの交わりの判定が行われたことを表
す。
【0035】これにより、この図4に示した2個の探索
木T1、T2を使用した場合の空間探索における交わり
の判定の回数(アンダーラインで示したノードの数)
は、9+4=13回となる。
【0036】次に、この交わりの判定の回数を、従来の
1個の探索木の空間探索で得られるものと比較してみ
る。
【0037】図3(a)に示す図形データを1個の探索
木で表すと図7に示すようになる。木構造の白い葉ノー
ドと黒い葉ノードは、同様にそれぞれ小さな図形データ
と大きな図形データに対応する。
【0038】この探索木により関数searchによる空間探
索を行うと、a,b,d,31,d,32,d,b,e,33,e,h,34,h,35,h,
e,b,a,c,f,i,36,i,37,i,f,38,f,c,g,c,aの順でノードを
辿ることになる。
【0039】これにより、図7に示した1個の探索木を
使用した場合の空間探索における交わりの判定の回数は
17である。
【0040】この結果、2個の探索木を使用した場合、
1個の探索木の場合と比べて4回の交わりの判定が省略
できる。
【0041】一般に、ノードの情報がディスク13に蓄
えられているため、外接長方形と探索範囲との交わりの
判定を行う時にディスク中のノードにアクセスする。こ
のため、空間探索の実行時間は交わりの判定の回数にほ
ぼ比例する因子を含む。
【0042】したがって、2個の探索木を使用した場
合、1個の探索木の場合と比べて、ノードにアクセスす
る回数を削減できるので、高速に空間探索できる。
【0043】次に、領域2等分割木、k−d木、BD木
等の2分木の探索木の単純化した空間探索を例に挙げ、
一個の探索木と2個の探索木を用いた場合のそれぞれの
平均アクセス回数(平均計算コスト)を求めてみる。
【0044】それぞれの探索木において、N個の葉ノー
ドを持つとすると、木構造全体で2N−1個のノードを
もち、根ノードから葉ノードまでのパスの長さはlog
2N程度となる。また、図形データに関して次の仮定を
置く。
【0045】N個の葉ノードの内、N1個は小さい図形
データに対応し、残りN2個(ただし、N1+N2=N,
1≫N2)は大きい図形データに対応するものとする。
探索範囲と全ての大きい図形データの外接長方形は交わ
るものとする。また、探索範囲は十分小さく、それとた
だ1個の図形データが交わるものとする。
【0046】ここで、1個の探索木を使用する場合を考
えると、探索範囲と交わる小さい図形データに対応する
葉ノードをアクセスする時、全ての大きい図形データに
対応する葉ノードも辿られてしまうため、2(N2
1)log2N個のノードをアクセスする。また、探索
範囲と交わる大きい図形データに対応する葉ノードをア
クセスする時、同様に、2N2log2N個のノードをア
クセスする。すると、平均の計算コストIは、
【0047】
【数1】
【0048】となる。
【0049】次に、2個の探索木を用いる場合を考える
と、図形データの大きさで分類してできる2個の探索木
の葉ノードの数はそれぞれN1個とN2個になる。探索範
囲と交わる小さな図形データに対応する葉ノードをアク
セスする時、2log21個のノードアクセスする。ま
た、探索範囲と交わる大きな図形データに対応する葉ノ
ードをアクセスする時、木構造全体を巡ってしまうた
め、2N2−1個のノードをアクセスする。したがっ
て、平均の計算コストJは、
【0050】
【数2】
【0051】となる。
【0052】N≒N1≫N2として近似すると、 I−J≒2N2log2N となる。
【0053】つまり、2個の探索木を用いることによっ
て、平均2N2log2N個のノードアクセスを省略する
ことができる。
【0054】したがって、本発明によれば、様々な大き
さの大量の図形データを含む対象に、図形データの大き
さに基づいて生成された複数の探索木を使用することに
よって、高速的な空間探索を行うことができる。
【0055】また、本発明の空間探索は、コンピュータ
で実行可能なプログラムで実現される場合もあり、その
ときのプログラムは、フロッピーディスク、CD・RO
M、マスクROM等の記憶媒体で一般ユーザに提供され
る。この場合、さらに、これら処理の他にGUIプログ
ラム等の他のプログラムと組み合わせてユーザに提供す
ることもある。
【0056】また、上述した記憶媒体で提供する代替手
段として、インタネット等のネットワークを通じて有償
で提供することもある。
【0057】以上、本発明者によってなされた発明を、
前記実施形態に基づき具体的に説明したが、本発明は、
前記実施形態に限定されるものではなく、その要旨を逸
脱しない範囲において種々変更可能であることは勿論で
ある。
【0058】
【発明の効果】本願において開示される発明のうち代表
的なものによって得られる効果を簡単に説明すれば、下
記のとおりである。
【0059】様々な大きさの大量の図形データを含む対
象に、図形データの大きさに基づいて生成された複数の
探索木を使用することによって、高速的な空間探索を行
うことができる。
【図面の簡単な説明】
【図1】本発明の実施形態にかかる空間探索方法を実行
する装置のブロック構成図である。
【図2】2個の探索木を生成する処理のフローチャート
である。
【図3】本実施形態の図形データ群41と図形データ群
41に対する領域2等分割を行った結果42を示した図
である。
【図4】図3(a)で示した図形データ群41の領域2
等分割木を示した図である。
【図5】2個の探索木T1、T2を用いた空間探索をす
る処理手順を説明するためのフローチャートである。
【図6】処理対象の図形データと指定された探索範囲を
表示と、探索範囲と交わりのある全ての図形データとを
表示した図である。
【図7】図3(a)に示す図形データを1個の探索木で
表した図である。
【図8】従来の空間探索の処理手順を示すフローチャー
トである。
【符号の説明】
11…中央処理装置、12…ディスク、13…グラフィ
ックディスプレイ、14…キーボード、15…マウス、
31〜40,a〜k…ノード。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 探索する空間の範囲と交わりがある全て
    の図形データを図形データ群から探索する空間探索方法
    において、 前記図形データ群の各々の図形データを大きさ別に分類
    し、同類の大きさの図形データ毎に所定の空間を階層分
    割しながら木構造をそれぞれ複数個生成し、その生成さ
    れた複数個の木構造を探索木として空間探索することを
    特徴とする空間探索方法。
  2. 【請求項2】 探索する空間の範囲と交わりがある全て
    の図形データを探索する空間探索を実行するプログラム
    を備えた記憶媒体において、 前記空間探索を実行するプログラムは、前記図形データ
    群の各々の図形データを大きさ別に分類するステップ
    と、同類の大きさの図形データ毎に所定の空間を階層分
    割しながら木構造をそれぞれ複数個生成するステップ
    と、その生成された複数個の木構造を探索木として空間
    探索を行うステップとを備えたことを特徴とする記憶媒
    体。
JP8241600A 1996-09-12 1996-09-12 空間探索方法及びそれを実行するプログラムを備えた記憶媒体 Pending JPH1091797A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8241600A JPH1091797A (ja) 1996-09-12 1996-09-12 空間探索方法及びそれを実行するプログラムを備えた記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8241600A JPH1091797A (ja) 1996-09-12 1996-09-12 空間探索方法及びそれを実行するプログラムを備えた記憶媒体

Publications (1)

Publication Number Publication Date
JPH1091797A true JPH1091797A (ja) 1998-04-10

Family

ID=17076737

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8241600A Pending JPH1091797A (ja) 1996-09-12 1996-09-12 空間探索方法及びそれを実行するプログラムを備えた記憶媒体

Country Status (1)

Country Link
JP (1) JPH1091797A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7146371B2 (en) 2002-12-05 2006-12-05 International Business Machines Corporation Performance and memory bandwidth utilization for tree searches using tree fragmentation

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7146371B2 (en) 2002-12-05 2006-12-05 International Business Machines Corporation Performance and memory bandwidth utilization for tree searches using tree fragmentation

Similar Documents

Publication Publication Date Title
Samet Connected component labeling using quadtrees
JP4121125B2 (ja) グラフィックス・イメージ生成装置及びその方法、データ解析装置及びその方法並びにプログラム
US7962494B2 (en) Method, information processing apparatus, and program for generating array
US6868420B2 (en) Method for traversing quadtrees, octrees, and N-dimensional bi-trees
US5978794A (en) Method and system for performing spatial similarity joins on high-dimensional points
US5249265A (en) Structure storage management in a graphics display device
Matsuyama et al. A file organization for geographic information systems based on spatial proximity
Fang et al. Spatial indexing in microsoft SQL server 2008
US6757686B1 (en) Method and apparatus for representing database and query information using interval hash tree
MXPA04006932A (es) Segmentacion de documentos con base en la vision.
US8581914B2 (en) Real-time kd-tree construction on graphics hardware
Tanase et al. Polygon decomposition based on the straight line skeleton
US5144679A (en) Graphic data searching and storage method
Huang et al. Integrated query processing strategies for spatial path queries
JPH1091797A (ja) 空間探索方法及びそれを実行するプログラムを備えた記憶媒体
JPH10111869A (ja) 情報分類装置とその方法
Kuba Data structures for spatial data mining
EP0436790A2 (en) Multi-dimensional tree structure for the spatial sorting of geometric objects
JP2644735B2 (ja) 図面情報管理方法
CN111612069A (zh) 基于动态网格哈希索引的密度聚类方法及装置
EP0443531B1 (en) Graphic data handling method and system
JP2590327B2 (ja) 図面情報の管理方法
CN114218215B (zh) 一种大规模gis数据的优化渲染方法
CN117058300B (zh) 一种基于kd树加速光线与未裁剪曲面交点计算的方法
US11670052B1 (en) Systems and methods for representing, accessing, and moving within a three-dimensional environment using a mutable tree data structure

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040506