私は次のように定義されたisolinesのpostgisテーブルを持っています:
CREATE TABLE myisolines
(
gid serial NOT NULL,
isotime timestamp without timezone,
val numeric(10,4),
geom geometry(LineString,4326)
);
視覚的には、このラインストリングオブジェクトは次のようになります。
データの空間範囲がわかっているので、Bboxを追加して、LineStringを閉じているようにすることができます。
重複しないが連続したサーフェスを作成し、ポリゴンが形成された最低の等値線を持つ列を持つ、ポリゴンmyisopolygons
を含むmyisolines
テーブルから、アイソポリゴンのテーブルを作成します。セルフクローズドアイソライン(アイランド)またはbboxでクローズされたアイソラインから形成できることを理解しています。その場合、その特定のアイソラインからを取得する必要があります。視覚的には次のようになります。val
val
val
どういうわけかトポロジーを作ってから面をポリゴンに変換できると思ったのですが、どうしたらいいのかわかりません。これはどのように行うことができますか?
もう1つのオプションは、bboxと作成された各ポリゴンの間の差分関数を再帰的に使用することですが、これは正しい方法ではなく、まったく高速ではありません。