给定两个多边形:
POLYGON((1 0, 1 8, 6 4, 1 0))
POLYGON((4 1, 3 5, 4 9, 9 5, 4 1),(4 5, 5 7, 6 7, 4 4, 4 5))
如何计算并集(组合多边形)?
Dave's example使用SQL server来生成联合,但我需要在代码中完成相同的操作。我正在寻找任何语言中的数学公式或代码示例,以揭示实际的数学知识。我正在尝试制作将国家动态组合成区域的地图。我在这里问了一个相关的问题:Grouping geographical shapes
发布于 2010-04-19 21:36:41
你需要使用determine which points lie inside。删除这些点后,可以将一组“外部”点插入到另一组点中。您的插入点(例如,右侧图片中箭头的位置)是您必须从输入集中删除点的位置。
发布于 2010-04-19 21:38:48
问得好!我以前从未尝试过这一点,但现在我将尝试一下。
首先:你需要知道这两个形状重叠的地方。为此,您可以查看多边形A中的每条边,并查看它与多边形B中的边相交的位置。在此示例中,应该有两个交点。
然后:制作联合形状。您可以获取A和B中的所有顶点以及交点,然后排除包含在最终图形中的顶点。要找到这些点,看起来你可以找到A在B中的任何顶点,以及B在A中的任何顶点。
发布于 2010-04-20 05:30:33
试试gpc。
https://stackoverflow.com/questions/2667748
复制相似问题