为了账号安全,请及时绑定邮箱和手机立即绑定

如何合并复杂的多边形?

如何合并复杂的多边形?

ITMISS 2019-11-27 09:56:47
给定两个多边形: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生成联合,但是我需要在代码中完成相同的操作。我正在寻找可以公开实际数学的任何语言的数学公式或代码示例。我正在尝试制作将国家动态地组合成区域的地图。我在这里问了一个相关的问题:对地理形状进行分组
查看完整描述

3 回答

?
隔江千里

TA贡献1906条经验 获得超10个赞

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


查看完整回答
反对 回复 2019-11-27
?
呼唤远方

TA贡献1856条经验 获得超11个赞

好问题!我以前从未尝试过,但是现在我会尝试一下。

首先:您需要知道这两个形状在哪里重叠。为此,您可以查看“多边形A”中的每个边,查看其相交的位置以及在“多边形B”中的边。在此示例中,应该有两个相交点。

然后:制作并集形状。您可以获取A和B中的所有顶点以及相交点,然后排除最终形状所包含的顶点。为了找到这些点,您似乎可以找到位于B内的A的任何顶点,以及位于A内的B的任何顶点。


查看完整回答
反对 回复 2019-11-27
  • 3 回答
  • 0 关注
  • 1270 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信