総描で往生

基盤地図情報の続き。
全国をカバーする大縮尺になると行政区域をそのままレンダリングすると厳しいので、都道府県エリアを、そんなに時間を食わずにレンダリングしたくなりました。
で、PostGISにはST_Simplifyがあるので、これを使用。
市区町村→ST_Simplify→都道府県ごとに結合→ウマー でやってみる。
なんか変なエラーが出ました。SRIDが違うって!?おっかしいなあ、カラムも結合したフィーチャーも同じSRID持ってるのに、しかも内陸部だけ出るのが変だよな…、あ、ジオメトリタイプが違うんですか、それは失礼しました、ていうかエラーメッセージ見ろよ。内陸県はシングルポリゴンになっていただけでした。
ST_Multiで強引にマルチポリゴンにして、まあなんとか。タッチしているかのチェックはしてませんが、見た目は問題なしのもよう。
こんどはさらに大縮尺に対応してみようと、まずは都道府県ポリゴンを結合しようとしたところ、バウンダリボックスがおかしい(経度方向の幅がゼロ)とのかどでGEOSがエラーを出してきました。ST_Simplifyが無理にオブジェクトを作ってたというわけですね。
マルチポリゴンをシングルポリゴンにする方法が分からず、shp2pgsqlにマルチポリゴンをシングルポリゴンにすることができるのですが、「24個要素があるからダメ」とか言われる始末。
とりあえず、(1)ST_Simplifを使わずに都道府県レベルで結合して、(2)(1)にST_Simplifyをかけて都道府県ごとのレンダリング用データにして、(3)(1)を結合したうえでST_Simplifyをかけて全国のレンダリングデータにする、という力技を考え付いたので、いまやってます。ちなみに(1)で、モルモット機で2時間かかっててぐへー。(2)は秒殺でした。いま(3)の途中。