Geometryの圧縮
In order to compress any geometry stored into a given DB, you can use the following SQL sample:
http://www.gaia-gis.it/spatialite-2.4.0/SpatiaLite-Geometries-Addendum.pdf
BEGIN; UPDATE table_1 SET geom = CompressGeometry(geom); UPDATE table_2 SET geom = CompressGeometry(geom); ... UPDATE table_N SET geom = CompressGeometry(geom); COMMIT; VACUUM;
SpatiaLite 2.4.0 RC-2(安定版ではない)からの機能らしい。Geometry型を圧縮できる。Within(Geometry)なんかの機能は圧縮済みのGeometryでも変りなく使えるようなので、大分容量の節減になる。
3Dにも対応、とか書いてある模様。高度なんかの情報を扱い易くなったという事だと思う。
効果の程
SpatiaLite 2.4.0 RC-2 binariesからspatialite-gui-win-x86-1.3.0.zipを落として、8地方のシェープファイルを統合 - 泥縄トラップの全国統合版のシェープファイルを取り込んでみた。
取り込みの時点で「Geometryの圧縮」のチェックボックスがあり、これにチェックを入れて取り込んだ結果のDBファイルの大きさが86.3 MB。ひとつの市区町村の中でGeometryが複数になっている分を考慮して、AAC(行政区域コード)と都道府県や市区町村郡といった地名だけのテーブルと、AACとGeometryのテーブルとを分けた場合のDBファイルが83.4 MBとなった。圧縮可愛いよ圧縮。