concave
是Turf中的一个转换函数,用于将给定的输入点集合转换为凸边缘内的凹面多边形。
points
:输入点集合。类型为 Array
,其中每个元素是一个表示坐标点的 Array
,例如 [x, y]
。
maxEdge:
将生成的凹面多边形的最长边缘长度。类型为Number
。
units(可选)
:输入坐标的单位,如果省略,则默认为度("degrees")。
函数返回一个表示凹多边形的GeoJSON对象,包含以下属性:
type
:表示几何对象类型的字符串,这里为“Polygon”。
coordinates
:一个Array
,包含一个或多个封闭环(环)。环是一个Array
,包含多个关键点构成的线段,例如 [ [x1, y1], [x2, y2], ..., [x1, y1] ]
。
var points = [
[-78.82063341140747,35.815785007910715],
[-78.81962442398071,35.814960745696],
[-78.81863498687744,35.82373293643129],
[-78.81267428398132,35.82101313230697],
[-78.82137203216553,35.82412597294141],
[-78.81845760345459,35.82431861274395],
[-78.82049083709717,35.81574412525929]
];
var concavePolygon = turf.concave(points, 0.5, "kilometers");
//在可视化工具如Mapbox GL中显示GeoJSON对象
map.addLayer({
"id": "concaveLayer",
"type": "fill",
"source": {
"type": "geojson",
"data": concavePolygon
},
"paint": {
"fill-color": "rgba(200, 100, 240, 0.5)"
}
});
在这个示例中,我们将输入点列表作为 points
参数,设置最大边缘长度为 0.5
公里并指定单位为 kilometers
。该函数返回一个包含凹面多边形几何对象的GeoJSON对象,然后将该对象作为图层添加到地图中。该几何对象将以半透明紫色进行填充。