在PostGIS中寻求构建轮廓的通用策略?


22

我有一个从栅格数据集矢量化的建筑轮廓数据集。数据集当前只是栅格数据的矢量表示。我想要一个仅在建筑物的拐角处具有顶点的多边形数据集。我试图在PostGIS中使用Simplify命令,但效果有限。

有没有更好的办法?

Answers:


17

有许多专用于简化的算法。您可以在此网站上查看概述。另请参阅此问题。您可以使用:

  • 简化建筑物轮廓:包括递归删除轮廓太短的边缘并加长相邻的边缘。例:

替代文字

  • 最小的周围矩形算法:它包括用最小的周围矩形代替建筑物的几何形状。该矩形也可以缩放到建筑物初始区域。例:

替代文字

  • 平方算法:它包括对边缘进行轻微旋转以使角完美地平方。例:

替代文字

这些转换可能足以满足您的需求。合并它们可能很有趣。

我几乎100%确信PostGIS中没有实现这些算法。有些是在我正在开发的Opencarto Java库中实现的。让我知道是否要测试!


1
您能否简要说明一下在Opencarto中针对“建筑轮廓简化”所指的是哪种算法。我在Wiki或Opencarto的代码中找不到直接信息。
Benjist

它是“ ShortEdgesDeletion”。您可以在github上找到它:github.com/jgaffuri/OpenCarto/blob/master/src/main/java/org/…–
julien



3

这样的事情可能会解决问题:

“如果我们大量缓冲,然后反转相同数量的缓冲,我们将得到与原始形状相似但没有皱纹的东西。”

http://blog.opengeo.org/2010/11/22/removing-complexities/


这是一种有趣的方法,似乎相对有效。感谢您的指导,我可以使用它。如果它包含一个包含所引用的核心思想的简单短语,而不仅仅是一个链接,那么您的答案会更好。
马特·威尔基2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.