Name

PostGIS_DropBBox — 从几何体中删除边界框缓存。

Synopsis

geometry PostGIS_DropBBox(geometry geomA);

描述

从几何体中删除边界框缓存。这会减小几何体大小,但会降低基于边界框的查询速度。它还用于放置损坏的边界框。缓存边界框损坏的一个明显迹象是ST_Intersects和其他关系查询省略了理应返回TRUE的几何图形。

[Note]

边界框被自动添加到几何图形中,并提高了查询速度,因此通常不需要这样做,除非生成的边界框以某种方式损坏或您的旧安装缺少边界框。然后你需要去掉旧的和ReadD。在8.3-8.3.6系列中观察到了这种损坏,当几何图形更改时,缓存的bbox并不总是重新计算,并且升级到较新的版本而不重新加载转储不会纠正已经损坏的箱。因此,您可以使用下面的内容手动更正,并读取BBox或执行转储重新加载。

This method supports Circular Strings and Curves

示例

--This example drops bounding boxes where the cached box is not correct
                        --The force to ST_AsBinary before applying Box2D forces a recalculation of the box, and Box2D applied to the table geometry always
                        -- returns the cached bounding box.
                        UPDATE sometable
 SET geom =  PostGIS_DropBBox(geom)
 WHERE Not (Box2D(ST_AsBinary(geom)) = Box2D(geom));

        UPDATE sometable
 SET geom =  PostGIS_AddBBox(geom)
 WHERE Not PostGIS_HasBBOX(geom);


 

另请参阅

PostGIS_AddBBox, PostGIS_HasBBox, 方框2D