PostGIS_DropBBox — バウンディングボックスのキャッシュをジオメトリから削除します。
geometry PostGIS_DropBBox(
geometry geomA)
;
バウンディングボックスのキャッシュをジオメトリから削除します。これによりジオメトリのサイズは縮小しますが、バウンディングボックスベースのクエリは遅くなります。 不正なバウンディングボックスの削除にも使います。不正なバウンディングボックスを知るためのサインは、ST_Intersectsや他の関連クエリが当然TRUEになるべきジオメトリを無視する時です。
自動的にジオメトリにバウンディングボックスが追加され、クエリ速度が改善されます。一般的には、生成されたバウンディングボックスが壊れるか、バウンディングボックスが欠けている古い版で使用します。その時は、古いものを削除し、追加しなおす必要があります。この種の破壊は8.3-8.3.6シリーズで見られます。ジオメトリ更新時に、キャッシュされたバウンディングボックスは常には計算されません。また、ダンプ/リロードを使わない新版へのアップデートでは、既に壊れたボックスが修正されません。 |
このメソッドは曲線ストリングと曲線に対応しています
--この例ではキャッシュが不正になっている --バウンダリボックスを削除しています。 --Box2Dを適用する前にST_AsBinaryを強制することで、 --ボックスを強制的に再計算します。 --テーブルジオメトリに適用されたBox2Dは --常にキャッシュされたバウンディングボックスを返します。 UPDATE sometable SET the_geom = PostGIS_DropBBox(the_geom) WHERE Not (Box2D(ST_AsBinary(the_geom)) = Box2D(the_geom)); UPDATE sometable SET the_geom = PostGIS_AddBBox(the_geom) WHERE Not PostGIS_HasBBOX(the_geom);