这是Turf中MISC模块的一个工具函数,用于检测给定的线是否有自交问题,即“kinks”。若存在自交问题,则会返回自交点坐标的数组。
使用npm安装Turf:
npm install @turf/turf
在脚本中引入kinks函数:
const kinks = require('@turf/kinks');
const line = turf.lineString([[0, 0], [1, 1], [1, 2], [2, 2], [2, 3], [3, 3]]);
const intersect = kinks(line);
执行以上代码后,将会得到一个名为intersect
的数组,其中包含了线line
上的所有自交点。如果线line
没有自交问题,则返回空数组[]
。
line
:一个线几何对象,必填。一个包含自交点坐标的数组,若没有自交问题则返回空数组[]
。
const line1 = turf.lineString([[0, 0], [1, 1], [1, 2], [2, 2], [2, 3], [3, 3]]);
const line2 = turf.lineString([[1, 1], [1, 2], [2, 2], [2, 3], [3, 3]]);
const intersect = kinks(line1); // 返回[[1, 1], [2, 2], [3, 3]]
const noIntersect = kinks(line2); // 返回[]