我如何删除postgis中的重叠行

时间:2010-08-04 18:29:28

标签: postgresql gis postgis

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

我建议将宗地多边形拆分为新表(“boundary_lines”),然后搜索并删除重叠的行。我将如何在postgis中删除这些重叠的行?

1 个答案:

答案 0 :(得分: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。

请注意,这不会消除不完全重叠的边界。