名稱

PostGIS_DropBBox — 從幾何圖形中移除邊界框快取。

概要

geometry PostGIS_DropBBox(geometry geomA);

描述

從幾何圖形中移除邊界框快取。這會減少幾何圖形的大小,但會使基於邊界框的查詢速度變慢。它也用於移除損壞的邊界框。一個明顯的損壞快取邊界框跡象是,當您的 ST_Intersects 和其他關係查詢遺漏了本應返回 true 的幾何圖形時。

[Note]

邊界框會自動添加到幾何圖形中並提高查詢速度,因此通常不需要這樣做,除非產生的邊界框不知何故損壞,或者您有一個缺少邊界框的舊安裝。那麼您需要移除舊的並重新添加。這種損壞已在 8.3-8.3.6 系列中觀察到,當幾何圖形更改時,快取的邊界框並非總是重新計算,並且升級到較新版本而不重新載入傾印將無法更正已損壞的框。因此,可以使用以下方法手動更正並重新添加邊界框或執行傾印重新載入。

此方法支援圓弧字串和曲線。

範例

--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);