如何简化和删除 GeoJSON 多边形中的重叠

How to simplify and remove overlap in GeoJSON polygons

我正在使用一个 API,它使用 GeoJSON 多边形(我不控制)指定区域,并使用它们在云 SQL 数据库中查询数据。当许多多边形具有重叠的小人工制品时,就会出现问题,而 Cloud SQL 不支持这一点。

我希望获得有关如何简化或平滑这些多边形以移除这些人工制品的帮助。 对于我的用例,我绝对不需要此多边形中指定的详细程度。在下面的示例中,我假设大约 20-30 个点就足够准确了。

我想到的一些想法是将坐标捕捉到网格并删除重叠的坐标,或者有很多预定义区域并使用此多边形 select 应该包括哪些区域,但我这个领域的新手,希望已经有一些好的算法或解决方案来解决这个问题。

GeoJSON 示例:https://gist.github.com/kennethlynne/2c94a6b895fe3bac686b397df4405344

我特别想修补的重叠问题区域:

查看 Turf.js 库中的 simplify 方法,看看这是否是您正在寻找的简化方法:

https://turfjs.org/docs/#simplify

基本上它会return一个基于您在选项参数中传递的公差的简化 GeoJSON 多边形