Name

PostGIS_DropBBox — Löscht die umschreibenden Rechtecke der Geometrie.

Synopsis

geometry PostGIS_DropBBox(geometry geomA);

Beschreibung

Löscht die umschreibenden Rechtecke der Geometrie. Dies verringert die Größe der Geometrie, macht aber die auf umschreibenden Rechtecken aufbauenden Abfragen langsamer. Wird auch zum Löschen eines beschädigten umschreibenden Rechtecks benutzt. Ein guter Hinweis auf ein beschädigtes umschreibendes Rechteck ist, wenn ST_Intersects und andere Abfragen über räumliche Beziehungen, Geometrien auslassen die eigentlich TRUE zurückgeben sollten.

[Note]

Umschreibende Rechtecke werden üblicherweise automatisch der Geometrie beigefügt, um die Geschwindigkeit von Abfragen zu steigern. Somit ist es nicht nötig ist dies händisch zu tun, außer das Umgebungsrechteck wurde irgendwie beschädigt, oder Sie verwenden eine alte Installation bei der die umschreibenden Rechtecke noch fehlten. . Falls dies der Fall ist, müssen Sie die alten löschen und neu hinzufügen. Diese Art der Beschädigung wurde in den Versionen 8.3-8.3.6 beobachtet. Der Grund war, dass die zwischengespeicherten umschreibenden Rechtecke nicht immer neu berechnet wurden, wenn sich die Geometrie geändert hat und das Upgraden auf eine neuere Version ohne einen PostgreSQL-Dump erfolgte. Dies kann händisch korrigiert werden, indem man die umschreibenden Rechtecke (BBox) wie unten angeführt neu hinzufügt, oder einen PostgreSQL-Dump einspielt.

Diese Methode unterstützt kreisförmige Strings und Kurven.

Beispiele

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