Namn

PostGIS_DropBBox — Ta bort begränsningsboxens cache från geometrin.

Synopsis

geometry PostGIS_DropBBox(geometry geomA);

Beskrivning

Ta bort bounding box-cachen från geometrin. Detta minskar geometrins storlek, men gör frågor baserade på bounding box långsammare. Det används också för att släppa en korrupt bounding box. Ett tecken på en korrupt cachelagrad bounding box är när ST_Intersects och andra relationsfrågor utelämnar geometrier som rätteligen borde returnera true.

[Notera]

Begränsningsrutor läggs automatiskt till geometrier och förbättrar hastigheten på frågor så i allmänhet behövs detta inte om inte den genererade begränsningsrutan på något sätt blir skadad eller om du har en gammal installation som saknar begränsningsrutor. Då måste du ta bort den gamla och lägga till den på nytt. Denna typ av korruption har observerats i 8.3-8.3.6-serien varigenom cachade bboxar inte alltid omräknades när en geometri ändrades och uppgradering till en nyare version utan en omladdning av dumpning kommer inte att korrigera redan korrupta boxar. Så man kan korrigera manuellt med hjälp av nedan och lägga till bboxen igen eller göra en dump-omladdning.

Denna metod stöder cirkulära strängar och kurvor.

Exempel

This example drops cached bounding boxes where the stored box is wrong. Applying Box2D to ST_AsBinary forces a fresh box calculation, while Box2D on the table geometry reads the cached box.

Code
UPDATE sometable
SET geom =  PostGIS_DropBBox(geom)
WHERE Not (Box2D(ST_AsBinary(geom)) = Box2D(geom));
Rasterutdata
UPDATE ...

After dropping corrupt cached boxes, re-add them where needed.

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