Почему в turf функция union выдает ошибку found non-noded intersection

238
16 декабря 2017, 08:41

В turf ломается функция union при объединении полигонов. Почему так происходит?

var polygons_data = [
[[[-150.46681563135994,-1.439821242368066],[-153.61494141185997,2.3379296942319727],[-151.8279192046993,0.19350304563917356],[-150.46681563135994,-1.439821242368066]]],
[[[-168.293895,0.815157],[-151.8456612595276,0.2147935114331218],[-159.178835,-0.599073],[-168.293895,0.815157]]]
];
var polygons = [];
for (var i=0; i<polygons_data.length; i++) {    
  polygons.push(turf.polygon(polygons_data[i]));  
}
console.log(turf.union(polygons[0], polygons[1]));

Выдает ошибку:

uncaught exception: TopologyException: found non-noded intersection
between LINESTRING ( -150.46681563135994 -1.439821242368066,-151.8456612595276 0.21479351143312128 ) and LINESTRING ( -151.8456612595276 0.21479351143312186, -151.8279192046993 0.19350304563917356 )

Пример можно посмотреть тут.

READ ALSO
JS: что делает этот код?

JS: что делает этот код?

Взломали сайт на modxВ PHP скриптах кое-как разобрался, а с JS возникли проблемы

219
Как правильно пересылать на главную с помощью javascript?

Как правильно пересылать на главную с помощью javascript?

В браузере mobile safari (на ios 10) наблюдая странный багПри вызове кода

249
Посчитать сумму

Посчитать сумму

Есть код, который генерирует списокДанные берутся из форм

352