如何合并复杂的多边形?

给定两个多边形:


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的示例使用SQL Server生成联合,但是我需要在代码中完成相同的操作。我正在寻找可以公开实际数学的任何语言的数学公式或代码示例。我正在尝试制作将国家动态地组合成区域的地图。我在这里问了一个相关的问题:对地理形状进行分组


ITMISS
浏览 1279回答 3
3回答

隔江千里

这是一个具有挑战性但易于理解的主题,通常以“对多边形进行规则化的布尔运算”为名。你可以看看 这个MathOverflow答案,其中包括如下图(从艾伦默塔的剪辑库),用粉红色联盟OP的结合:

呼唤远方

好问题!我以前从未尝试过,但是现在我会尝试一下。首先:您需要知道这两个形状在哪里重叠。为此,您可以查看“多边形A”中的每个边,查看其相交的位置以及在“多边形B”中的边。在此示例中,应该有两个相交点。然后:制作并集形状。您可以获取A和B中的所有顶点以及相交点,然后排除最终形状所包含的顶点。为了找到这些点,您似乎可以找到位于B内的A的任何顶点,以及位于A内的B的任何顶点。
打开App,查看更多内容
随时随地看视频慕课网APP