Turf中的convex
是一个方法,可以计算给定输入点集的凸包。凸包是一个多边形,在四面八方的角度内都不会凹陷,其腰也保持平直不弯曲。convex
方法会返回一个形成凸包的多边形的坐标数组。
以下是一个包含三个点的示例数据,我们将使用此数据说明该方法:
var points = [
[-75.343, 39.984],
[-75.833, 39.284],
[-75.999, 39.231]
];
调用 turf.convex()
方法,并将点集作为输入参数传递到其中,如下所示:
var turf = require("@turf/turf");
var polygon = turf.convex(points);
convex()
方法接受一个包含点集的数组,点集由二元数组表示,如下所示:
var points = [
[longitude, latitude],
[longitude, latitude],
[longitude, latitude],
...
];
convex()
方法返回一个 Turf.Polygon
类型的凸包,形成凸包的多边形的坐标数组,如下所示:
{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[-75.999, 39.231],
[-75.343, 39.984],
[-75.833, 39.284],
[-75.999, 39.231]
]
]
}
}
convex()
方法是在GIS、测绘、地理信息等领域常常使用的算法之一,常常被用于寻找最小外包矩形、聚类分析等应用场景。在许多需要基于点集的几何形状进行研究和分析中,凸包都是重要的基础。