首页 > 解决方案 > 如何简化和消除 GeoJSON 多边形中的重叠

问题描述

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

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

想到的一些想法是将坐标捕捉到网格并删除重叠的坐标或具有许多预定义区域并使用此多边形来选择应包含哪些区域,但我是该领域的菜鸟,并希望在那里已经是这个问题的一些好的算法或解决方案。

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

我特别想修补的重叠问题区域: 放大的例子

标签: node.jsgeojsongoogle-cloud-sql

解决方案


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

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

基本上,它将根据您在 options 参数中传递的容差返回一个简化的 GeoJSON 多边形

在此处输入图像描述


推荐阅读