PostGIS_DropBBox — Elimina el caché de cuadro delimitador de la geometría.
geometry PostGIS_DropBBox(geometry geomA);
Elimina el caché de cuadro delimitador de la geometría. Esto reduce el tamaño de la geometría, pero hace más lentas las consultas basadas en el cuadro delimitador. También se utiliza para eliminar un cuadro delimitador corrupto. Un signo tale-tell de un cuadro delimitador dañado en caché es cuando su ST_Intersects y otras consultas de relación dejan fuera las geometrías que legítimamente deben devolver true.
|
|
|
Los cuadros delimitadores se agregan automáticamente a las geometrías y mejoran la velocidad de las consultas, por lo que en general esto no es necesario a menos que el cuadro delimitador generado de alguna manera se corrompa o tenga una instalación antigua que carezca de cuadros delimitadores. Entonces usted necesita eliminar el viejo y reagregar. Este tipo de corrupción se ha observado en la serie 8.3-8.3.6, por la cual las bboxes cacheadas no siempre se recalcularon cuando una geometría cambió y la actualización a una versión más reciente sin una recarga de volcado no corregirá las cajas ya corruptas. También uno puede corregir manualmente usando bajar y reagregar el Bbox o hace una recarga de la descarga. |
This method supports Circular Strings and Curves.
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.
UPDATE sometable SET geom = PostGIS_DropBBox(geom) WHERE Not (Box2D(ST_AsBinary(geom)) = Box2D(geom));
UPDATE ...
After dropping corrupt cached boxes, re-add them where needed.
UPDATE sometable SET geom = PostGIS_AddBBox(geom) WHERE Not PostGIS_HasBBOX(geom);
UPDATE ...