JP2005135440A - 図形データ管理方法およびシステム、記憶媒体 - Google Patents

図形データ管理方法およびシステム、記憶媒体 Download PDF

Info

Publication number
JP2005135440A
JP2005135440A JP2005010481A JP2005010481A JP2005135440A JP 2005135440 A JP2005135440 A JP 2005135440A JP 2005010481 A JP2005010481 A JP 2005010481A JP 2005010481 A JP2005010481 A JP 2005010481A JP 2005135440 A JP2005135440 A JP 2005135440A
Authority
JP
Japan
Prior art keywords
index
graphic
search
graphic data
circumscribed rectangle
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
JP2005010481A
Other languages
English (en)
Other versions
JP4346090B2 (ja
Inventor
Shinki Enomoto
真貴 榎本
Takashi Hino
隆司 樋野
Yoshiyuki Toyoda
嘉之 豊田
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 JP2005010481A priority Critical patent/JP4346090B2/ja
Publication of JP2005135440A publication Critical patent/JP2005135440A/ja
Application granted granted Critical
Publication of JP4346090B2 publication Critical patent/JP4346090B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

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

Abstract

【課題】 検索要求で指定された範囲に属する図形データをさらに高速で検索することができる図形データ管理方法およびシステムを提供すること。
【解決手段】 格納された図形データについてその外接矩形の座標値をインデックスとして格納したインデックス格納手段を備え、図形データの検索要求に対し、当該検索要求で指定された検索範囲に属する図形を前記インデックスを参照して検索するた図形データ管理方法において、検索要求で指定された検索範囲内に、外接矩形の頂点が全く存在しない図形、1つの頂点のみが存在する図形、検索範囲外の2つの頂点を結ぶ線分が検索範囲と交差しない図形を、前記インデックスのみの参照によって検索範囲外の図形として決定するステップを備えることを特徴とする。
【選択図】 図17

Description

本発明は、xy平面の2次元空間における図形、またはxyzの3次元空間における図形を図形データベースに登録し、検索要求に応じて、該当する図形を出力する図形管理方法およびシステムに係り、特に、大量の図形から成る地図データ等を扱うのに好適な図形管理方法およびシステムに関するものである。
従来において、形状および大きさが多種にわたる大量の図形から成る地図データを管理するシステムにおいては、高速検索を実現するために、(1)図形データ自体を矩形形状の複数のメッシュ領域に分割して格納する方法、(2)格納領域を矩形形状の複数のメッシュ領域に分割し、図形データを1つのメッシュ領域、または複数のメッシュ領域に跨る図形については最近傍のメッシュ領域に格納する方法、(3)下記の特許文献1に開示されているように、メッシュ境界に跨る図形データについては仮想的なメッシュに格納する方法が知られている。
特開平5−197790号公報
しかしながら、上記(1)〜(3)のいずれの従来方法においても、図形データを1つまたは複数のメッシュ領域に分割して格納するため、それらの図形データをポインタ等で互いに対応付けて管理し、検索に際しては、分割した図形データをポインタに従って元に戻して出力することが必要になり、管理が面倒であり、また検索結果を得るまでの時間が長くなってしまうという問題がある。
また、複数のメッシュ領域のうち近傍のメッシュ領域に跨って格納する方法では、検索時に周囲のメッシュ領域を余分に検索する必要が生じ、検索時間が長くなってしまうという問題がある。
また、図形データ自体をメッシュ領域に分割する方法では、複数のメッシュ領域を検索した結果を元の図形データに復元する必要があるので、検索結果を得るまでの時間が長くなってしまうという問題がある。
本発明の第1の目的は、形状および大きさが多種の図形データの管理が容易で、高速検索が可能な図形データ管理方法およびシステムを提供することにある。
本発明の第2の目的は、図形データを格納する場合の時間を大幅に短縮することができる図形データ管理方法およびシステムを提供することにある。
本発明の第3の目的は、検索要求で指定された範囲に属する図形データをさらに高速で検索することができる図形データ管理方法およびシステムを提供することにある。
上記第1の目的を達成するために、本発明は、矩形領域を最深層に向って順次分割した階層構造のメッシュ領域に対応した4分木階層インデックスの格納手段を設け、管理対象の図形の外接矩形を他のメッシュ領域に跨ぐことなく包含し得る最深層のメッシュ領域を探索し、当該メッシュ領域に対応するインデックスに対し管理対象の図形の外接矩形の座標値を識別情報を付加して前記4分木階層インデックスの格納手段に格納するステップと、前記識別情報と対応付けて該当図形データを前記図形データ格納手段に格納するステップと、格納された図形データの検索要求に対し、当該検索要求で指定された検索範囲に属する図形を前記4分木階層インデックスを参照して検索するステップとを備えることを特徴とする。
また、上記第2の目的を達成するために、本発明は、矩形領域を最深層に向って順次分割した階層構造のメッシュ領域に対応した4分木階層インデックスの格納手段を設け、管理対象の図形の外接矩形における対角のxy座標値の最小値および最大値を被除数、最深層の前記メッシュ領域の矩形領域幅を除数とする除算によって、前記最小値および最大値を他のメッシュ領域に跨ぐことなく包含し得る最深層のメッシュ領域を示す4分木階層インデックスの値を算出するステップと、算出した4分木階層インデックスの値で示されるメッシュ領域に対応するインデックスに対し管理対象の図形の外接矩形の座標値を識別情報を付加して前記4分木階層インデックスの格納手段に格納するステップと、前記識別情報と対応付けて該当図形データを前記図形データ格納手段に格納するステップとを備えることを特徴とする。
また、上記第3の目的を達成するために、本発明は、格納された図形データについてその外接矩形の座標値をインデックスとして格納したインデックス格納手段を備え、図形データの検索要求に対し、当該検索要求で指定された検索範囲に属する図形を前記インデックスを参照して検索するた図形データ管理方法において、検索要求で指定された検索範囲内に、外接矩形の頂点が全く存在しない図形、1つの頂点のみが存在する図形、検索範囲外の2つの頂点を結ぶ線分が検索範囲と交差しない図形を、前記インデックスのみの参照によって検索範囲外の図形として決定するステップを備えることを特徴とする。
以上のように本発明によれば、図形をその外接矩形の存在領域で管理することにより、各階層のインデックス内のみの検索によって該当する図形データを検索して出力することができる。また、外接矩形が存在しない他のメッシュ領域のインデックスは検索する必要がないため、他のインデックスを検索するのに必要な時間だけ検索時間が短縮され、高速検索が可能になる。
また、除算、排他的論理和演算などの演算処理によって対象図形の外接矩形の座標値を格納する際の最適なインデックス階層を求めるようにしたため、その最適なインデックス階層を高速に求めることができ、図形データの格納時間のさらなる短縮を図ることができる。
また、検索処理において、外接矩形と検索範囲の関係を分類し、外接矩形の検索範囲外の2つの頂点を結ぶ線分が検索範囲と交差しない図形については検索結果として採用しないようにしたため、外接矩形が検索範囲に接触するような図形が多く含まれるような場合であっても、図形検索インデックス内のみの検索だけで済み、図形データベースからの図形データの読出しを行わなくてもよいので、検索時間を短縮することができる。この結果、階層数が多い地図データなどを扱うシステムにおいて極めて有効なものとなる。
以下、本発明を図示する実施形態を参照して詳細に説明する。
図1は、本発明を適用した図形データ管理システムの一実施形態を示すシステム構成図である。この実施形態のシステムは、図形の検索を行うユーザが使用するクライアントコンピュータとしての中央処理装置101、図形の検索および登録を行う図形管理サーバコンピュータ102とから構成されている。中央処理装置101には、ユーザが使用する座標入力装置103や検索結果を表示する表示装置104が付属している。また、図形管理サーバコンピュータ102は、図形検索装置105、図形登録装置106、地図データなどを構成する各種の図形を階層構造のインデックスで管理される格納領域に格納する図形データベース107、図形検索のための階層構造のインデックスを格納した図形検索インデックスファイル108、図形を登録する際に用いる図形入力装置109から構成されている。
図形検索装置105内には図形検索プログラム105aが組み込まれ、この図形検索プログラム105aによって検索要求に対する図形検索を行うようになっている。また、図形登録装置106には、図形登録プログラム106aが組み込まれ、この図形登録プログラム106aによって、各種の図形を階層構造のインデックスのうち各図形の外接矩形を包含し得る大きさを有する最深層のメッシュ領域に対応するインデックスで管理される格納領域に格納するようになっている。
なお、図形入力装置109は、1つの図形を構成する頂点や中心点の座標値、半径の値などを入力するポインティングデバイスあるいはデジタイザまたはキーボード、あるいはイメージスキャナなどで構成されるものである。また、クライアントコンピュータとしての中央処理装置101は、図形管理サーバコンピュータ102に直接接続する構成、あるいはLANやWANなどのネットワークを介して接続する構成にすることができる。
図2は、各種の大きさの図形データが階層構造のインデックスのうち、いずれのインデックスで管理されるかを模式的に示した図である。図形データの格納領域を管理するインデックスは、図形データの格納領域を2次元の矩形領域に対応させた場合に、その矩形領域を特定するものである。
本実施形態において、矩形領域は、図2に示すように、最浅層(レベル0)の矩形領域を最深層に向って順次4分割され、それぞれの分割矩形領域毎に1つのインデックスが対応付けられる。ここで、分割矩形領域をメッシュ領域と定義するものとすると、図2の例では、レベル0の階層は1つのメッシュ領域、その下層であるレベル1の階層は4つのメッシュ領域、最深層のメッシュ領域は16個のメッシュ領域から構成され、それぞれのメッシュ領域毎に1つのインデックスが対応付けられる。これらのインデックスは、木構造に階層化され、4分木インデックスを構成している。
図形データを格納する場合、図形データを従来技術のように近傍のメッシュに格納するか、または複数のメッシュ領域に分割するのでなく、その図形データを包含し得るメッシュ領域のうち最深層のメッシュ領域に対応するインデックスで管理される図形データ格納領域に格納する。
図2に例示するような図形201〜204を格納する場合、図形203と204は当該図形の大きさがレベル2のメッシュ領域に包含し得る大きさであるので、レベル2のメッシュ領域に対応するインデックスで管理される図形データ格納領域に格納する。この場合、図形203はレベル2の16個のメッシュ領域のうち当該図形203が存在する座標領域の1つのメッシュ領域に対応するインデックスで管理される図形データ格納領域に格納する。また、図形204も同様に、レベル2の16個のメッシュ領域のうち当該図形204が存在する座標領域の1つのメッシュ領域に対応するインデックスで管理される図形データ格納領域に格納する。また、図形202は、当該図形202の大きさがレベル1のメッシュ領域に包含し得る大きさであるので、レベル1の4つのメッシュ領域のうち、図形202が存在する座標領域の1つのメッシュ領域に対応するインデックスで管理される図形データ格納領域に格納する。また、図形201は、当該図形201の大きさがレベル0のメッシュ領域に包含し得る大きさであるので、レベル0のメッシュ領域に対応するインデックスで管理される図形データ格納領域に格納する。
図形データベース107に格納される図形データ300は、図3に示すように、304〜306で示すような各種の図形について、それらの図形を構成する頂点の座標値と図形種別から成るデータ302に対し図形ID301を付加して格納される。なお、図形種別とは、点、折れ線、多角形、円などの図形の種類を指すものである。
図4は、図形検索インデックスファイル108に格納されるインデックス400の構造の一例を示す図であり、レベル0のメッシュ領域m0(00)に対しては1つのインデックス、レベル1の4つのメッシュ領域m1(00)〜m1(11)に対しては4つのインデックス、レベル2の16個のメッシュ領域m2(00)〜m2(33)に対しては16個のインデックスが設けられている。そして、各インデックスにおいては、304〜306で示すような各種の図形について、これらの図形の外接矩形の対角の座標値「xmin,ymin」と「xmax,ymax」から成る図形座標値402に対し図形ID401を付加した構成で格納されるようになっている。
ここで、外接矩形の対角の座標値「xmin,ymin」と「xmax,ymax」とは、図5に示すように対象となる図形501を囲む外接矩形502の対角P1,P2のxy座標値のことである。
本実施形態においては、対象となる図形の外接矩形の対角の座標値「xmin,ymin」と「xmax,ymax」から成る図形座標値402を各階層(各レベル)のインデックスに格納することにより、図形単位の格納データが固定長のデータとなり、インデックス自体の管理も容易になっている。
以上の構成において、まず、管理対象となる図形データを図形データベース107に格納する処理について図6のフローチャートを参照して説明する。この処理は、図形登録装置106の図形登録プログラム106aの1つの機能である。
図6において、まず、管理対象の図形の外接矩形を他のメッシュ領域に跨ぐことなく包含し得る最深層のメッシュ領域を探索する(ステップ601)。外接矩形が他のメッシュ領域に跨ぐとは、図7(a)に示すように、外接矩形701が複数のメッシュ領域702,703に跨いで存在する状態を指し、メッシュ跨りなしとは、図7(b)に示すように外接矩形701が1つのメッシュ領域704内に完全に包含される状態を指すものである。
次に、探索したメッシュ領域に対応するインデックスに対し管理対象の図形の外接矩形の座標値402を図形ID401を付加して格納する(ステップ602)。次に、前記図形ID401と対応付けて該当図形データを図形データベース107に格納する(ステップ603)。
格納された図形データの検索要求が入力された場合、その検索要求で指定された検索範囲に属する、または接触する図形を4分木階層のインデックス400を参照して検索する。詳しくは、検索範囲に属する、または接触する座標値402を持つインデックスが存在するか否かを検索し、存在した場合には、そのインデックスの図形ID401を取得し、該図形ID401から対応する図形の座標値302を図形データベース107から読出し、図形データとして出力する。
この場合、階層構造のインデックスのうち最深層のインデックスから検索を開始し、検索範囲が複数のメッシュ領域を跨ぐような場合には、1段浅い層の検索に移る。例えば図8に示すように、レベル2のメッシュ領域の符号801で示す検索範囲が指定された場合、この検索領域はレベル2の2つのメッシュ領域を跨いでいるため、レベル1の検索に移り、このレベル1のインデックス内に該当する図形が存在するか否かを検索する。図8の例では、レベル1のメッシュ領域m1(10)に対応するインデックス内に該当する図形が存在するか否かを検索することになる。
このように、図形をその外接矩形の存在領域で管理することにより、各階層のインデックス内のみの検索によって該当する図形データを検索して出力することができる。また、外接矩形が存在しない他のメッシュ領域のインデックスは検索する必要がないため、高速検索が可能になる。例えば、図8の符号802で示す検索範囲が指定された場合、最深層であるレベル2のメッシュ領域m2(33)に対応する1つのインデックスのみを検索すればよく、他のインデックスは検索する必要がない。
図8の符号801で示す検索範囲が指定された場合でも同様に、レベル1のメッシュ領域m1(10)に対応する1つのインデックスのみを検索すればよく、他のインデックスは検索する必要がない。この他のインデックスを検索するのに必要な時間だけ検索時間が短縮され、高速検索が可能になる。
ところで、図形データを検索する場合、外接矩形が検索範囲に完全包含される場合は問題ないが、検索範囲に一部が接触する図形をどのように取扱うかが問題になる。すなわち、図9に検索範囲を円で指定した場合の例を示しているが、図9(a)の外接矩形901は検索範囲900の内部に完全に包含されているので、外接矩形901内の図形を検索結果として直ちに出力することができる。
また、同図(c)の外接矩形903は検索範囲900の外部にあるので、この外接矩形903内の図形は検索範囲外のものであることを直ちに決定することができる。しかし、同図(b)の外接矩形902は一部が検索範囲の境界に跨って存在している。
従来においては、外接矩形902のような図形が存在した場合、図10に示すように、外接矩形902内の図形904の各頂点の全てが検索範囲900内に存在するか、一部が外に存在するかの詳細チェックを実行し、図10(a)に示すように図形904の各頂点の全てが検索範囲内900に存在する場合は検索結果として出力し、図10(b)に示すように図形905の一部の頂点が検索範囲900の外に存在する場合は検索結果として不採用とする処理を行うようにしていた。
すなわち、外接矩形が検索要求で指定された検索範囲内に完全に内包するか否かという処理を行い、次に検索範囲に跨る(または接触する)が外接矩形についてはその外接矩形内の図形の全ての頂点が検索範囲内に完全に内包されるかを調べる詳細チェック処理という2段構えの検索を常に行うようにしていた。
このため、検索範囲に跨る(または接触する)外接矩形が多い場合、対象となる図形を実際に読み出して判定することが多くなり、検索処理時間が長くなってしまうという問題があった。
本実施形態においては、検索範囲と外接矩形の関係を図11に示すように分類し、同図(d)、(f)に示すような関係になっている図形については、その外接矩形が検索範囲に接触している場合でも、実際に図形データを読み出さずに外接矩形の存在領域のみで不採用とし、検索時間のさらなる短縮を図るようにしている。
すなわち、同図(a)の図形データの外接矩形1101は検索範囲1100に完全包含されているので、検索結果として採用する。同図(b)の図形データの外接矩形1102および1103は検索範囲1100に接触しているが、外接矩形1102の図形は検索範囲内に属し、一方の外接矩形1103の図形は1つの頂点が検索範囲外に突出している。
従って、実際に図形データを読み出して判定する詳細チェック要の図形として扱う。同様に、同図(c)の図形データの外接矩形1104および1105は検索範囲1100に接触しているが、外接矩形1104の図形は検索範囲内に属し、一方の外接矩形1105の図形は2つの頂点が検索範囲外に突出している。従って、実際に図形データを読み出して判定する詳細チェック要の図形として扱う。
また、同図(e)の図形データの外接矩形1107および1108は検索範囲1100に接触しているが、外接矩形1107の図形は検索範囲内に属し、一方の外接矩形1108の図形は1つの頂点が検索範囲外に突出している。
従って、実際に図形データを読み出して判定する詳細チェック要の図形として扱う。
また、同図(g)の図形データの外接矩形1110は検索範囲1100の外に属しているので、検索結果として採用しない。
しかし、同図(d)および(f)に示すような外接矩形1196、1109の図形は、外接矩形が検索範囲1100に接触しているが、図形の頂点の一部が検索範囲1100の外に突出している。すなわち、検索範囲の外にある外接矩形の2つの頂点を結ぶ線分が検索範囲と交差していない。このような図形については、図形データを実際に読み出すことなく、外接矩形の存在領域(詳しくは、頂点の存在領域)のみによって検索結果として不採用にすることを決定する。
このような分類に対応する検索論理を組み込んでおくことにより、図11(b),(c),(d)のような関係の場合のみ詳細チェックを行えばよいことになり、実際の図形データ読出し回数が少なくなり、その分だけ高速検索が可能になる。
図12は、分類に対応する検索論理を組み込んだ検索処理の手順を示すフローチャートである。
まず、検索対象となる図形データが含まれる検索範囲の座標値の入力を受付ける(ステップ1201)。次に、入力された座標値の検索範囲内に外接矩形が完全包含される図形、外接矩形が検索範囲に接触する図形が格納されているかを図形検索インデックスファイル108を参照して探索する(ステップ1202)。すなわち、外接矩形が検索範囲内に完全包含される座標値を持つインデックス、および外接矩形が検索範囲に接触する座標値を持つインデックスが存在するか否かを4分木階層構造のインデックス400から探索し、存在する場合には、そのインデックスから該当する図形IDを取得する。次に、外接矩形が検索範囲内に完全包含される図形については、その図形IDによって対応する図形データを図形データベース107から検索して出力する。また、外接矩形が検索範囲に接触する図形については、その外接矩形と検索範囲との関係を調べる(ステップ1203)。
この結果、図11(d),(f),(g)に示すような関係であれば、検索範囲外のものとする(ステップ1204)。
しかし、図11(b),(c),(e)のような関係であれば、詳細チェック要とし、次に、詳細チェックを行うモードが設定されているかどうかを判定し(ステップ1205)、設定されている場合には、該当する図形データを図形IDによって図形データベース107から読出し、外接矩形の中の図形が検索範囲内に完全包含されているか否かをチェックし、完全包含されている図形データのみを検索結果として出力する(ステップ1206)。
しかし、詳細チェックを行うモードが設定されていない場合には、詳細チェックを行うことなく処理を終了する。なお、詳細チェックを行うモードについては、図形データの内容や検索時間を勘案し、必要に応じて設ける構成にすることができる。
<外接矩形の座標値を格納するインデックス階層の決定方法の実施形態>
ところで、本発明は、管理対象の図形の外接矩形を他のメッシュ領域に跨ぐことなく包含し得る最深層のメッシュ領域を探索し、当該メッシュ領域に対応するインデックスに対し管理対象の図形の外接矩形の座標値を識別情報を付加して格納することを1つの特徴とするものであるが、インデックスの探索の仕方が問題になる。
すなわち、例えば図2の図形203は当該図形を十分に包含する座標範囲を持つレベル1またはレベル0の階層にも格納可能であるが、レベル1またはレベル0の階層に格納した場合、検索範囲が広くなるために検索に要する処理時間が長くなってしまう。
これに対し、レベル2の階層に格納した場合、検索範囲が小さいので処理時間を短縮することができる。
したがって、図形を格納するに際しては、検索時間が最も短くなるように、対象となる図形を包含し得る最小領域のメッシュ領域、換言すれば、対象となる図形を包含し、かつ2つ以上のメッシュ領域に跨がらないような最深の階層(図2の図形203の場合、レベル2の階層)を探索し、その階層のインデックスに外接矩形の座標値を格納する必要がある。
対象となる外接矩形の座標値をどの階層のインデックスに格納すれば最適であるかを探索する方法として、以下の2つ方法が考えられる。
(1)4分木の根から、順に1階層ずつ調査層を深めながら最適な階層を検索する。
(2)4分木の葉(最深部)から、順に1階層ずつ調査層を浅くしながら、最適な階層を検索する。
方法(1)を図示すると、図13のように表すことができ、(a)→(b)→(c)の順で検索を行う。
まず、対象となる図形の外接矩形1301を生成し、この外接矩形1301を4分木の根に相当するレベル0の階層の矩形領域で包含でき、かつ外接矩形1301の対角の座標値xmin,ymin,xmax,ymaxが2つ以上の矩形領域に跨っていないかどうかを調べる。
レベル0において「メッシュ跨りなし」であった場合、次の層であるレベル1の階層で同様の処理を行う。
図13の例ではレベル1の階層においても「メッシュ跨り」がないので、次のレベル2の階層での判定に進み、同様の処理を行う。図13の例では、「メッシュ跨り」があることが判明するので、このレベル2の階層が「メッシュを跨る最浅層」であるとわかる。よって、この層より1段浅いレベル1の階層が目的の「メッシュを跨らない最深層」となり、このレベル1の階層に格納する。
しかしながら、この(1)方法では、層の総数nに比例する回数の探索処理を行わなければ、最適な階層を決定するまでの探索時間が長くなってしまうという問題がある。
方法(2)を図示すると、図14のように表すことができる。方法(1)と同様に(a)→(b)の順で検索を行う。
まず、4分木の最深層から検索を行う。図14の例では最深層はレベル2である。
外接矩形1401はレベル2では「メッシュ跨り」があることが判明するので、1段浅い層であるレベル1の階層での判定に進み、同様の処理を行う。図14の例では、「メッシュ跨り」がないので、このレベル1の階層が目的の「メッシュを跨らない最深層」となる。
しかしながら、この(2)の方法でも、層の総数nに比例する回数の探索処理を行わなければ、最適な階層を決定することができず、探索時間が長くなってしまうという問題がある。
そこで、本発明では、次のような演算処理を行うことによって、層の層数によらない固定回数の演算で、外接矩形を他のメッシュ領域に跨ることなく包含し得る最深層のメッシュ領域を探索し、そのメッシュ領域に対応するインデックスに対し、外接矩形の座標値を格納する。
以下、この処理について詳細に説明する。本発明においては、管理対象となる図形を登録する際、当該図形の外接矩形の座標値(詳しくは、対角の座標値)を格納するインデックスを4分木階層インデックスとして求める。この4分木階層インデックスは、x軸の2分木階層インデックスとy軸の2分木階層インデックスで構成されるものであるが、説明を簡単にするために、x軸の2分木階層インデックスを代表して説明する。
図15は、x軸の2分木階層インデックスの概念を表した説明図である。
図15に示すように、インデックス領域の幅(すなわち、レベル0の階層における矩形領域の幅)をxlen,最深階層までの深さをdepthとした場合に、最深階層の任意の座標点xが最深階層までどのような2分木を通るかを考える。なお、図15において、インデックス領域の幅xlen、インデックスの最深部の1つの矩形領域の幅dxは、次のように表すことができる。
(数1)
xlen=index.xmax−index.xmin
dx=xlen/2depth
図15の2分木階層インデックスを2分木で表すと、図16に示すようなものとなる。
図16から分かるように、図15の任意の座標点xは、“011”のビット列で表すことができる2分木を通ることが分かる。
このビット列は、次の計算式で求めることができる。
(数2)
meshid.x=int(x/dx)
但し、index.xmin≦x≦index.xmaxすなわち、図15の任意の座標点xの2分木インデックスmeshid.xは、meshid.x=3/1=3=“011”というビット列bで表すことができる。この場合、ビット列bの“011”は2進数表現である。
このことは、「数1」の計算(除算)を1回実行することによって、任意の座標点xの2分木階層インデックスを求めることができることを意味している。
本発明は、「数2」の計算(除算)を外接矩形の座標値xmin,ymin,xmax,ymaxについて実行し、それぞれの座標値の2分木インデックスに相当するビット列b(xmin),b(ymin),b(xmax),b(ymax)を求め、各座標点を共通に包含し得る最深の格納階層までの4分木階層インデックスを求め、その4分木階層インデックスで示される階層のインデックスに外接矩形の座標値を格納するものである。
なお、y軸方向については、「数2」のdxがdyに置き換わるのみである。すなわち、y軸方向については、
(数3)
meshid.y=int(y/dy)
但し、index.ymin≦y≦index.ymaxによって任意の座標点yの2分木階層インデックスを求めることができる。この場合、矩形領域を2分割、4分割、8分割という具合に「2のべき乗個」に分割する場合、dx=dyとなる。
なお、本発明は「2のべき乗個」の分割だけでなく、2×3分割、3×4分割などの場合にも適用可能なものである。
以下、図17のフローチャートを参照して任意の図形を格納する際の最適なインデックス階層を求める図形登録プログラム106aの処理について説明する。
図17において、
(1)xminについて、「数2」の除算を1回実行し、最深部までの2分木のビット列b(xmin)を算出する(ステップ1701)。
(2)yminについて、「数3」の除算を1回実行し、最深部までの2分木のビット列b(ymin)を算出する(ステップ1702)。
(3)xmaxについて、「数2」の除算を1回実行し、最深部までの2分木のビット列b(xmax)を算出する(ステップ1703)。
(4)ymaxについて、「数3」の除算を1回実行し、最深部までの2分木のビット列b(ymax)を算出する(ステップ1704)。
(5)xminの2分木のビット列b(xmin)とxmaxの2分木のビット列b(xmax)との排他的論理和演算を1回実行し、x軸で一致している最深層Lxを求める(ステップ1705)。
(6)yminの2分木のビット列bとymaxの2分木のビット列b(ymax)との排他的論理和演算を1回実行し、y軸で一致している最深層Lyを求める(ステップ1706)。
(7)上記ステップ1705と1705で求めたLxとLyの論理和演算を1回実行し、xyともに一致している最深層Lxyを求める(ステップ1707)。
(8)ステップ1701で求めたビット列b(xmin)またはステップ1703で求めたビット列b(xmax)と最深層Lxyまで“1”が続くビット列との論理積演算を1回実行し、最深層までのxの2分木Aを求める(ステップ1708)。この場合、最深層Lxyまで“1”が続くビット列は、このようなビット列を生成する処理を組み込んでおくことによって生成される。
(9)前記と同様に、ステップ1702で求めたビット列b(ymin)またはステップ1704で求めたビット列b(ymax)と最深層Lxyまで“1”が続くビット列との論理積演算を1回実行し、最深層までのyの2分木Bを求める(ステップ1709)。
(10)2分木AとBにより、各座標点を共通に包含し得る最深層までの4分木階層インデックスのビット列を求め、その4分木階層インデックスのビット列で示される階層のインデックスに対象図形データの外接矩形の座標値を格納する(ステップ1710)。
以上のように、除算4回、排他的論理和演算2回、論理和演算1回、論理積演算2回で、目的とする「4分木に対象図形の外接矩形の座標値を格納する際の最適なインデックス階層の探索」が完了する。これはインデックス階層の総数nが何段であろうとも不変であり、nが大きければ大きいほど計算量が増える従来の手法と比較して極めて有効なものとなる。
なお、上記の演算は、図形登録装置106に内蔵されるレジスタあるいは演算用に確保した記憶エリアを用いて実行することは言うまでもない。
図形の具体例を挙げて上記の処理について説明する。
図18のような座標目盛の2次元空間に多角形1801を登録するものと仮定すると、その外接矩形1802の2つの対角の座標値xmin,ymin,xmax,ymaxは、xmin=14.5ymin=25.5xmax=14・5ymax=29.5であるから、ステップ1701の演算を実行することにより、xminについての2分木ビット列b(xmin)として“01100”が得られる。
同様にして、ステップ1702の演算を実行することにより、yminについての2分木ビット列b(ymin)として“11001”が得られる。また、ステップ1703の演算を実行することにより、xmaxについての2分木ビット列b(xmax)として“01110”が得られる。また、ステップ1704の演算を実行することにより、ymaxについての2分木ビット列b(ymax)として“11101”が得られる。
次に、ステップ1705の排他的論理和演算を実行することにより、“01100”と“01110”の排他的論理和演算結果として“00010”が得られる。このビット列は左からの“0”の個数が「矩形領域が一致している層数」、最初に“1”が現れるビットが「メッシュ跨り」が生じる最浅層を示しているので、x軸ついては、最深層から数えて3番目の階層に格納すれば、「メッシュ跨り」を起こさない階層に格納できることを意味している。
同様にして、ステップ1706の排他的論理和演算を実行することにより、“11101”と“11001”の排他的論理和演算結果として“00100”が得られる。このことは、前記と同様に、y軸については、最深層から数えて4番目の階層に格納すれば、「メッシュ跨り」を起こさない階層に格納できることを意味している。
x軸、y軸とも「メッシュ跨り」を起こさない階層することが必要であるから、次に、ステップ1707の論理和演算を実行することにより、“00010”と“00100”の論理和演算結果として“00110”が得られる。この結果、最深層から数えて4番目のインデックス階層に格納すれば、x軸、y軸とも「メッシュ跨り」を起こさないインデックス階層に格納できることが分かる。
そこで、インデックス階層が5階層であったとすると、“メッシュ跨りが生じていない階層、図18の例では4番目の階層まで“1”が続くビット列“11000”と“01100”の論理積演算結果としてx軸についての2分木Aとして“01000”が得られる。また、ステップ1709の演算を実行することにより、“11001”と“11000”の論理積演算結果としてy軸についての2分木Bとして“11000”が得られる。
この結果、図18に示した多角形1801は、これらの2分木A=“01000”と、2分木B=“11000”の両者を組み合わせた4分木の階層に格納される。
以上の演算過程をまとめると、図19のようになる。
ところで、図11のように外接図形と検索範囲の関係を分類し、外接図形の存在領域のみで検索範囲外の図形とするか、検索範囲内の図形とするかは、図4に示したような階層構造の4分木階層インデックスを使用する場合に限らず、階層化しないインデックスを使用する場合でも適用可能である。
図20に階層化しないインデックスの構造例を示している。
このインデックス2000には、外接矩形の大きさに関係無く、各種の図形304〜308の外接矩形の対角の座標値2002が図形ID2001を付加して格納される。
このような階層化しないインデックス2000を用いる場合の検索処理は図12の処理と全く同様にして行うことができる。ただし、図12の4分木階層インデックスを単なるインデックスと読み替える必要がある。
なお、上記の説明では、2次元空間の図形を格納し、また検索する例を説明したが、本発明は2次元空間の図形に限らず、3次元空間の立体図形についても同様に扱うことができる。
3次元空間の立体図形を扱う場合、図21に示すように、xyzの3次元空間を小さな直方体メッシュ2101に分割し、その直方体メッシュ2101を2×2×2など複数合成して1段上の直方体メッシュ2102を構成し、その合成直方体メッシュをまた複数合成してさらに大きな直方体メッシュ2103を合成することを繰り返すことにより、3次元空間を階層的に分割して管理することができる。
また、立体図形の存在領域も2次元と同様に(xmin,ymin,zmin)−(xmax,ymax,zmax)で表すことにより、各々の図形を完全内包している直方体メッシュに属させることができる。このようにすることにより、3次元空間での図形を管理することが可能になる。
また、図6、図12および図17で示した処理はCD-ROM等の記録媒体に格納し、パーソナルコンピュータ等のクライアントコンピュータにインストールして実行させることにより、汎用のパーソナルコンピュータ等で同様の図形登録または図形検索が可能になる。
本発明を適用した図形管理システムの一実施形態を示すシステム構成図である。 各種の大きさの図形データが階層構造のインデックスのうち、いずれのインデックスで管理されるかを模式的に示した図である。 図形データの格納構造を示す図である。 階層構造の図形検索インデックスの構造を示す図である。 図形の外接図形の説明図である。 4分木階層インデックスを用いた検索処理の手順を示すフローチャートである。 メッシュ跨り有りの図形とメッシュ跨り無しの図形の例を示す図である。 4分木階層インデックスを用いた検索処理の説明図である。 検索範囲を指定することによって検索される図形の例を示す図である。 図形の外接矩形が検索範囲に接触した場合に、詳細検索を行う必要がある図形の例を示す図である。 図形の外接矩形が検索範囲に接触した場合に、詳細検索を行って検索される図形と検索結果から除外される図形の例を示す図である。 外接矩形と間作範囲の関係を図11のように分類した場合の図形検索処理の手順を示すフローチャートである。 インデックス階層を最浅層から順に探索する技術の説明図である。 インデックス階層を最深層から順に探索する技術の説明図である。 x軸の2分木インデックスの概念を表した説明図である。 x軸の2分木構造を表した説明図である。 図形登録処理におけるインデックス階層を求める処理のフローチャートである。 図形登録処理におけるインデックス階層を求める場合の図形の具体例を示す説明図である。 図形登録処理におけるインデックス階層を求める場合の演算過程の具体例を示す説明図である。 階層化しないインデックス構造の例を示す図である。 本発明を3次元空間上の図形に適用する場合の格納空間の分割の仕方を示す図である。
符号の説明
101…中央処理装置、102…図形管理サーバコンピュータ、103…座標入力装置、104…表示装置、105…図形検索装置、106…図形登録装置、107…図形データベース、108…図形検索インデックスファイル、109…図形入力装置。

Claims (3)

  1. 図形データを格納する図形データ格納手段と、格納された図形データについてその外接矩形の座標値をインデックスとして格納したインデックス格納手段を備え、図形データの検索要求に対し、当該検索要求で指定された検索範囲に属する図形を前記インデックスを参照して検索する図形データ管理方法において、検索要求で指定された検索範囲内に、外接矩形の頂点が全く存在しない図形、1つの頂点のみが存在する図形、検索範囲外の2つの頂点を結ぶ線分が検索範囲と交差しない図形を、前記インデックスのみの参照によって検索範囲外の図形として決定するステップを備えることを特徴とする図形データ管理方法。
  2. 図形データを格納する図形データ格納手段と、格納された図形データについてその外接矩形の座標値をインデックスとして格納したインデックス格納手段を備え、図形データの検索要求に対し、当該検索要求で指定された検索範囲に属する図形を前記インデックスを参照して検索する図形データ管理システムにおいて、検索要求で指定された検索範囲内に、外接矩形の頂点が全く存在しない図形、1つの頂点のみが存在する図形、検索範囲外の2つの頂点を結ぶ線分が検索範囲と交差しない図形を、前記インデックスのみの参照によって検索範囲外の図形として決定する手段を備えることを特徴とする図形データ管理システム。
  3. 図形データを格納する図形データ格納手段と、格納された図形データについてその外接矩形の座標値をインデックスとして格納したインデックス格納手段を備え、図形データの検索要求に対し、当該検索要求で指定された検索範囲に属する図形を前記インデックスを参照して検索する図形データ管理システムにおいて図形データを検索するためのプログラムを記録した媒体であって、検索要求で指定された検索範囲内に、外接矩形の頂点が全く存在しない図形、1つの頂点のみが存在する図形、検索範囲外の2つの頂点を結ぶ線分が検索範囲と交差しない図形を、前記インデックスのみの参照によって検索範囲外の図形として決定する処理をコンピュータに実行させるプログラムを記録した記録媒体。
JP2005010481A 2005-01-18 2005-01-18 図形データ管理方法およびシステム、記憶媒体 Expired - Lifetime JP4346090B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005010481A JP4346090B2 (ja) 2005-01-18 2005-01-18 図形データ管理方法およびシステム、記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005010481A JP4346090B2 (ja) 2005-01-18 2005-01-18 図形データ管理方法およびシステム、記憶媒体

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP18684799A Division JP3649430B2 (ja) 1999-06-30 1999-06-30 図形データ管理方法およびシステム、記憶媒体

Publications (2)

Publication Number Publication Date
JP2005135440A true JP2005135440A (ja) 2005-05-26
JP4346090B2 JP4346090B2 (ja) 2009-10-14

Family

ID=34651117

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005010481A Expired - Lifetime JP4346090B2 (ja) 2005-01-18 2005-01-18 図形データ管理方法およびシステム、記憶媒体

Country Status (1)

Country Link
JP (1) JP4346090B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010160591A (ja) * 2009-01-07 2010-07-22 Hitachi Ltd 空間データ管理装置、空間データ管理方法、および、空間データ管理プログラム
JP2013210839A (ja) * 2012-03-30 2013-10-10 Fujitsu Ltd 情報管理方法及び情報管理装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010160591A (ja) * 2009-01-07 2010-07-22 Hitachi Ltd 空間データ管理装置、空間データ管理方法、および、空間データ管理プログラム
JP2013210839A (ja) * 2012-03-30 2013-10-10 Fujitsu Ltd 情報管理方法及び情報管理装置
US9436715B2 (en) 2012-03-30 2016-09-06 Fujitsu Limited Data management apparatus and data management method

Also Published As

Publication number Publication date
JP4346090B2 (ja) 2009-10-14

Similar Documents

Publication Publication Date Title
US8610706B2 (en) Parallel surface reconstruction
Lindstrom et al. A memory insensitive technique for large model simplification
Jagadish Spatial search with polyhedra
Sankaranarayanan et al. A fast all nearest neighbor algorithm for applications involving large point-clouds
US7379936B2 (en) Pruning of spatial queries on geodetic data when query window has holes
JP4372477B2 (ja) 2分木を巡回する方法およびシステム
JP7049807B2 (ja) パラメトリックビュー関数に基づくデータベースの照会
JP5237837B2 (ja) 空間データ管理装置、空間データ管理方法、および、空間データ管理プログラム
JP2004240750A (ja) 画像検索装置
JP6311404B2 (ja) 管理プログラム、管理装置および管理方法
JP3649430B2 (ja) 図形データ管理方法およびシステム、記憶媒体
Hasbestan et al. Binarized-octree generation for Cartesian adaptive mesh refinement around immersed geometries
US7650345B2 (en) Entity lookup system
US11417073B2 (en) System and method for generating hierarchical level-of-detail measurements for runtime calculation and visualization
Fellegara et al. Terrain trees: a framework for representing, analyzing and visualizing triangulated terrains
JP4346090B2 (ja) 図形データ管理方法およびシステム、記憶媒体
JP4397264B2 (ja) 技術文献の市場性分析システム及び市場性分析プログラム
CN115796111A (zh) 一种适用于agf文件处理方法、计算机设备、可读存储介质
JP4733414B2 (ja) Cadシステムにおけるモデル選択プログラム
Teng et al. 3dpro: querying complex three-dimensional data with progressive compression and refinement
Lin et al. An efficient method for the retrieval of objects by topological relations in spatial database systems
JP4585742B2 (ja) 画像表示装置、画像表示方法、プログラム及び記録媒体
Teng et al. Efficient spatial queries over complex polygons with hybrid representations
Xu Construction of a Responsive Web Service for Smooth Rendering of Large SSC Dataset: and the Corresponding Preprocessor for Source Data
KR20200058205A (ko) 국내 지형특성을 반영한 1:25,000 지도의 기호화 자동화 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060612

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090415

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090615

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090713

R150 Certificate of patent or registration of utility model

Ref document number: 4346090

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120724

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20150724

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term