3

土地区画として何百万ものポリゴンを含む典型的なデータベースがあり、これらのポリゴンを線に分割してから、互いに重なっている線を削除したいと考えています。これらの線は、mapnik/and または geoserver でレンダリングするためだけに使用されます。現時点では、すべての区画の境界が 2 回レンダリングされるからです。

パーセル ポリゴンを新しいテーブル (「boundary_lines」) に分割し、重複する線を検索して削除することを提案します。postgisでこれらの重複する行を削除するにはどうすればよいですか?

4

1 に答える 1

1

ST_Equals を使用:
http://postgis.refractions.net/docs/ST_Equals.html

SQL ステートメントは、おそらく次のようになります。

SELECT y.id, z.id 
FROM mytable y, mytable z
WHERE ST_Equals(y.the_geom,z.the_geom)

クエリの実行には永遠に時間がかかりますが、できれば一度だけ実行する必要があります。実行後、結果を取得し、重複する ID を慎重に削除します。

これは、正確に重なっていない境界を取り除くわけではないことに注意してください。

于 2010-08-30T02:50:57.467 に答える