説明

空間抽出装置、空間抽出装置の抽出方法及びプログラム

【課題】空間抽出向け多次元木構造インデックスでは静的もしくは動的なインデックスの最適化を必要となり、更新頻度が高いデータほどコストが増大する傾向にある。
【解決手段】平面では2次元(2項)空間では3次元(3項)を1項に集約する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、10進空間インデックス(Decimal Spatial Index)により空間抽出を行う空間抽出装置、空間抽出装置の抽出方法及びプログラムに関する。
【背景技術】
【0002】
地理情報システム(Geographic Information System 以下GISと表記)では地図データの空間抽出は必要不可欠であり、またそのレスポンスがGISそのものの性能といっても過言ではない。
【0003】
近年、GISへの認識が高まり、需要が大きくなってきたのと同期して、その扱う空間データ量は膨大になってきており、空間抽出処理への負荷はより大きいものとなっている。
【0004】
その解決手法として、非特許文献1に記載されるようなR-treesを含め、多次元対応のインデックスが開発されている。
【0005】
平面上にある図形データの位置はX,Yの2つの値で表され、それが分布している中で、矩形範囲で抽出するための条件は
【0006】
矩形範囲最小X<=X
AND 矩形範囲最大X>=X
AND 矩形範囲最小Y<=Y
AND 矩形範囲最大Y>=Y
【0007】
であり、また図形データは必ずしも1点で定義されるポイントだけではなく、ライン及びポリゴンもあるため、各図形データのMBRをminX、minY、maxX、maxYであらわすと
【0008】
矩形範囲最小X<=maxX
AND 矩形範囲最大X>=minX
AND 矩形範囲最小Y<=maxY
AND 矩形範囲最大Y>=minY
【0009】
が抽出条件となる。前記の条件式は数学的には、何ら問題はないが、図形データをデータベースに格納し、またそれが100万超の件数ともなると、検索レスポンスは大きく落ちてくる。
【0010】
これは検索処理内部で各図形データのMBRであるminX、minY、maxX、maxYの4つの項目に対して不等号判定が行なわれることによるためであり、格納データ件数に比例、もしくはそれ以上にレスポンスに影響することになる。前出のR-Treeインデックス等の各種手法もこのレスポンス向上のための手段である。
【先行技術文献】
【非特許文献】
【0011】
【非特許文献1】Antonin Guttman、"R-TREES A DYNAMIC INDEX STRUCTURE FOR SPATIAL SEARCHING"、[online]、Proceedings of the 1984 ACM SIGMOD international conference on Management of data、[平成21年1月26日検索]、インターネット<URL: //www.sai.msu.su/~megera/postgres/gist/papers/gutman-rtree.pdf>
【発明の概要】
【発明が解決しようとする課題】
【0012】
しかしながら、多次元対応のインデックスにおいては、多次元木構造インデックスを持つため、静的もしくは動的なインデックスの最適化が必要となり、更新頻度が高いデータほどコストが増大する傾向にある。
【0013】
GISにおける空間抽出の条件としては、平面上座標軸に直交する任意の矩形内にある空間データの抽出が利用頻度での90%以上を占める。矩形ではなく複雑な形状のポリゴンがその抽出範囲であっても、ポリゴンのMBR(最小外接矩形)を条件として抽出し、その結果を幾何学演算によりさらに絞り込むことが従来より行われている。
【0014】
よって、平面上座標軸に直交する任意の矩形内にある空間データの抽出を効率良く運用でき、かつデータの更新時にも負荷の少ない手法が求められる。
【0015】
そこで本発明は、上記問題点に鑑みてなされたもので、インデックスの再構築を低コストにて行うことを目的とする。
【課題を解決するための手段】
【0016】
上記課題を解決するため、本発明における空間抽出装置は、空間データの各座標を、0埋めして大きな桁から順に1数字ずつ順に並べてDSIとしてデータベースに格納するDSI格納手段と、抽出条件に従ってデータベースからデータを抽出する抽出手段と、を備えることを特徴とする。
【0017】
また、本発明における空間抽出装置の抽出方法は、空間データの各座標を、0埋めして大きな桁から順に1数字ずつ順に並べてDSIとしてデータベースに格納するDSI格納ステップと、抽出条件に従ってデータベースからデータを抽出する抽出ステップと、を備えることを特徴とする。
【0018】
また、本発明におけるプログラムは、空間データの各座標を、0埋めして大きな桁から順に1数字ずつ順に並べてDSIとしてデータベースに格納するDSI格納処理と、抽出条件に従ってデータベースからデータを抽出する抽出処理と、を備えることを特徴とするコンピュータに実行させることを特徴とする。
【発明の効果】
【0019】
本発明により、平面では2次元(2項)空間では3次元(3項)を1項に集約することが可能となるため、アルゴリズムの簡素化を実現し、かつデータ更新時のインデックス再構築コストを一般的な単項目向けのインデックス構造で十分なレスポンスを得ることができる。
【図面の簡単な説明】
【0020】
【図1】本発明の実施形態に係る空間階層イメージ図である。
【図2】本発明の他の実施形態に係る空間階層イメージ図である。
【発明を実施するための形態】
【0021】
(実施形態1)
本発明の実施形態における10進空間インデックス(Decimal Spatial Index 以下DSIと表記)の求め方について説明する。
【0022】
1.空間データのとりうる範囲はXYともに0から999までとする。
2.X、Yの座標値は正の整数とする。
この条件で X=571、Y=613のポイントのDSIを求める。
【0023】
1.X、Y座標を最大とりうる範囲に0埋めした文字列とする。
X=571
Y=613
【0024】
2.X、Yの各桁を順に1桁ずつ並べた文字列を作る。
56−71−13
※判りやすくするため各桁の間に−をつけてある。
【0025】
左端の56は1辺が100の原点(0,0)からX方向に6番目(0から始まるため)、Y方向に7つ目のエリアを表している。
【0026】
次の71は、そのエリア内の1辺が10のX方向に8番目,Y方向に2番目のエリアを、最後の13は、そのエリア内の1辺が1のX方向に2番目,Y方向に4番目のエリアをそれぞれ表す。
【0027】
図1は、本実施例における模式図であり、左から1次エリア1、2次エリア2、3次エリア3をそれぞれ示す。
【0028】
つまり、最初の1辺が100のエリアを1次エリアとするとX,Yの座標から求めた56−71−13は、1次エリア56、2次エリア71、3次エリア13にそのポイントが存在していることが表現される。
【0029】
次に、同じ条件でライン、ポリゴンについてDSIを求める。ライン、ポリゴンの場合は図形データのMBRのminX、minY、maxX、maxYの値をもとにする。
【0030】
minX=571、minY=613
maxX=573、maxY=615
【0031】
の矩形をMBRとするラインまたはポリゴンでは、minX=571、minY=613から56−71−13
【0032】
maxX=573、maxY=615から56−71−35が求まり、2つの共通している部分は56−71である。
【0033】
つまり、このラインまたはポリゴンは、1次エリア56、2次エリア71に存在している、言い換えれば、このラインまたはポリゴンを内包するエリアは56−71であるといえる。
【0034】
また、別に
【0035】
minX=571、minY=613
maxX=573、maxY=620
【0036】
の矩形をMBRとするラインまたはポリゴンでは、minX=571、minY=613から56−71−13
【0037】
maxX=573、maxY=620から56−72−30が求まり、2つの共通している部分は56だけである。
【0038】
最初のラインまたはポリゴンは56−71、次のラインまたはポリゴンは56、これが各図形データのDSIとなる。
【0039】
前記のポイントを含め3つの図形データをDSI順(文字列順)に並べると、
【0040】
2つ目のラインまたはポリゴン 56
1つ目のラインまたはポリゴン 56−71
ポイント 56−71−13
となり、図形データは1次エリア、その内部の2次エリア、そのまた内部の3次エリア順に並ぶ。
【0041】
(実施形態2)
次に、件数の多いデータでの検索方法について説明する。図2は、DSI53−62におけるデータの模式図である。
【0042】
Aは53−62の次のレベルに収まっており、DNSIは536227
Bは5362
CはAよりさらに詳細なレベルに収まっており、53622763
Dは5362
Eは536218
Fは536235
Gは536258
【0043】
と表される。DSI順で並べると
【0044】
B 5362
D 5362
E 536218
A 536227
C 53622763
F 536235
G 536258
【0045】
抽出条件とするXは、A同様に536227とすると、
【0046】
(1)抽出条件のDSIより上位のエリアを持つ図形は全て対象とする場合
1.DSIが53の図形を検索する。
本実施例ではなし
【0047】
2.DSIが5362の図形を検索する。
B、Dが該当
【0048】
(2)抽出条件のDSI以上、抽出条件DSIの次DSI未満を対象とする場合
3.DSIが536227以上、536228未満の図形を検索する。
A、Cが該当
【0049】
が条件となる。目視では、DはXの条件を満たしていないのは明らかであるが、抽出結果からの幾何学演算により判定される。
【0050】
ここで、本発明の実施形態におけるDSIは、
1.各図形が持つのは自身を内包する最小の1つのDSIのみである。
基本的に大きい図形は、大きいエリアのDSIをもち、小さい図形は小さいエリアのDSIをもつこととなり、あえてレベルをそろえることはしない。
【0051】
2.0から始まる10進数でエリアが表現されるため小さいエリアと大きいエリアの比較が容易である。
254389の上位エリアは2543、その上位は25となる。
【0052】
3.他の図形との相対的なインデックスではないため、データの追加削除時インデックス再構築が不要。
【0053】
4.標準的なSQL構文で問い合わせを行なうことが可能であるため応用範囲が広い。
【0054】
5.DSIは図形データの座標値から一意に求まるため、実装時のチューニングが不要である。
【0055】
また、実際の地図データにDSIを適用する場合、以下の点に注意が必要である。
【0056】
1.負値の座標
地図データでは、負値をとる場合もあるため、DSI生成のためにはとりうる範囲の最小値をもとにX,Yのオフセット値を加算することで、全データを正値としてDSIを求める。
【0057】
2.小数値
負値同様に地図データでは小数値までもっている場合があるため、スケール因子を設定し乗じることで、全データを整数としてDSIを求める。
【0058】
ただし、実座標をオフセットおよびスケール因子で更新する必要は無く、あくまでDSIを求める過程でのみである。
【0059】
また、DSIの桁数(文字数)は平面直角座標系の1つの系の範囲±300km、±160kmをもとに1mm精度とするとX、Yは999,999.999m、各9桁であり、この環境では18桁で1mmまで管理できることが推察される。
【0060】
同様に地球の長半径約6,378kmをもとにしても22桁で網羅できることがわかる。また、DSIは3次元データに容易に適用することが可能である。
【0061】
X=571
Y=613
Z=489
【0062】
から、564−718−139と、Z値も含めたDSIを生成するだけで、立方体エリアでの検索が可能となる。
【0063】
データベース管理システムとしてその抽出条件はインデックス項目となっている単項目のみが条件となる検索が最もレスポンスが良いため、本実施形態におけるDSIはX,Yの値を1つにすることで、抽出条件を単項目とすることができる。
【0064】
また、データの追加削除が頻繁に行なわれてもインデックス再構築に負荷がかからないように図形データ間での相対的位置関係によらない。
【産業上の利用可能性】
【0065】
本発明によれば、GIS、特に更新頻度の高い大規模なデータ量のシステムといった用途に適用できる。
【0066】
以上、実施の形態を説明したが、特許請求の範囲に定義された本発明の広範囲な趣旨および範囲から逸脱することなく、これら実施の形態や具体例に様々な修正および変更が可能である。
【符号の説明】
【0067】
1 1次エリア
2 2次エリア
3 3次エリア

【特許請求の範囲】
【請求項1】
空間データの各座標を、0埋めして大きな桁から順に1数字ずつ順に並べてDSIとしてデータベースに格納するDSI格納手段と、
抽出条件に従って前記データベースからデータを抽出する抽出手段と、を備えることを特徴とする空間抽出装置。
【請求項2】
前記DSI格納手段は、負値となる場合に取り得る範囲の最小値を基に前記各座標のオフセット値を加算して正のDSIとすることを特徴とする請求項1記載の空間抽出装置。
【請求項3】
前記DSI格納手段は、小数値となる場合にスケール因子を設定し乗じて全データを整数とすることを特徴とする請求項1又は2記載の空間抽出装置。
【請求項4】
空間データの各座標を、0埋めして大きな桁から順に1数字ずつ順に並べてDSIとしてデータベースに格納するDSI格納ステップと、
抽出条件に従って前記データベースからデータを抽出する抽出ステップと、を備えることを特徴とする空間抽出装置の抽出方法。
【請求項5】
前記DSI格納ステップは、負値となる場合に取り得る範囲の最小値を基に前記各座標のオフセット値を加算して正のDSIとすることを特徴とする請求項4記載の空間抽出装置の抽出方法。
【請求項6】
前記DSI格納ステップは、小数値となる場合にスケール因子を設定し乗じて全データを整数とすることを特徴とする請求項4又は5記載の空間抽出装置の抽出方法。
【請求項7】
空間データの各座標を、0埋めして大きな桁から順に1数字ずつ順に並べてDSIとしてデータベースに格納するDSI格納処理と、
抽出条件に従って前記データベースからデータを抽出する抽出処理と、を備えることを特徴とするコンピュータに実行させるプログラム。

【図1】
image rotate

【図2】
image rotate