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

拓扑使用 turf.intersect 时的异常

拓扑使用 turf.intersect 时的异常

当年话下 2022-08-27 09:19:29
使用turf.intersect与特定多边形时,我收到以下错误:“拓扑异常”“在LINESTRING (-0.140733 51.505327,-0.141097 51.505689)和LINESTRING(-0.141136 51.505674,-0.141068 51.5057)之间找到非节点交集”
查看完整描述

2 回答

?
紫衣仙女

TA贡献1839条经验 获得超15个赞

以下是我如何设法使其工作:


var options = {tolerance: 0.0001, highQuality: true};

poly = turf.cleanCoords(turf.simplify(poly, options));


我还检查了扭结,如果多边形返回 true,则将其分开:


var kinks = turf.kinks(poly);

if (kinks.features.length){

  polys = turf.unkinkPolygon(poly);

...


查看完整回答
反对 回复 2022-08-27
?
冉冉说

TA贡献1877条经验 获得超1个赞

基于这个问题的答案

以下错误是什么意思:拓扑异常:在 LINESTRING 之间找到非非非交集

我发现这个 solotion 也是可行的:

let myWorkingPolygon = turf.buffer(errorThrowingPolygon, 0, {units:"meters"});

缓冲区计算给定特征周围的缓冲区(但此处的缓冲区大小为 0),在此处查找详细信息:https://turfjs.org/docs/#buffer


查看完整回答
反对 回复 2022-08-27
  • 2 回答
  • 0 关注
  • 270 浏览
慕课专栏
更多

添加回答

举报

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