[pgsql-jp: 28039] Re: Polygon型カラムにインデックスが作成できない

Isamu Zakoji zako @ fal.co.jp
2002年 11月 21日 (木) 13:05:01 JST


座光寺@ファルコンです。

abe-h @ shinetsu-tecsys.co.jp wrote:
> 
> 少し、本件とはズレますがPath型についても、8191bytesを超えるような
> 巨大Pathがあったとしたら、インデックス作成はできないということでよろしいでしょうか?
> 
そうだと思います。
ただ、indexのタプルを構築する所では、TOAST_INDEX_HACKなんていう
defineがあるので、大きくなるデータタプルに対応する様な指向がある
感じなんですが、よく判っていません。

> 結局、「poly_ops」で空間検索するのと「box_ops」で空間検索するのとでは同等ということでしょうか?

確認した所は、うそをついてました。すいません。
「box_ops」は本当に矩形領域間の判定してしていませんが、「poly_ops」は
rtreeの検索でヒットした後に、
 backend/utils/adt/geo_ops.c
に有るように、演算種別によっては、ちゃんと?ポリゴン構成点を用いた判定
を行っています。でも、ポリゴン同士の重複チェックなどは、外接矩形しかみ
ていないし、中途半端ですね。

> また、上記の「ポリゴンデータとは別に」とは、
> create table spatial(id varchar(20), category varchar(10),
> area varchar(10), men polygon, men_box box);
> のようなテーブルで、
> create index boxidx on spatial using rtree(men_box box_ops);
> のようなインデックスを作成するということですか?
> (men_boxには、box(men)のデータが入るという前提です)
> 
その通りです。

-- 
========================================
 FALCON Corporation Zakoji Isamu
 TEL:052-221-7556  FAX:052-221-7595
 zako @ fal.co.jp or zako @ ma.nma.ne.jp
========================================



pgsql-jp メーリングリストの案内