我有一个典型的数据库,其中有数百万个多边形作为地块,我想将这些多边形分割成线条,然后去掉彼此重叠的线条。这些线将纯粹用于在mapnik /和geoserver中渲染,因为每个宗地边界都会被渲染两次。
我建议将宗地多边形拆分为新表(“boundary_lines”),然后搜索并删除重叠的行。我将如何在postgis中删除这些重叠的行?
答案 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。
请注意,这不会消除不完全重叠的边界。