3

我有一个典型的数据库,其中包含数百万个多边形作为地块,我想将这些多边形分割成线,然后删除彼此重叠的线。这些线将纯粹用于在 mapnik/and 或 geoserver 中进行渲染,因为此时每个宗地边界都会被渲染两次。

我建议将宗地多边形分割成一个新表(“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 回答