MEASUREMENT
COORDINATE MUTATION
TRANSFORMATION
FEATURE_CONVERSION
MISC
HELPER
RANDOM
GRIDS
AGGREGATION
META
ASSERTIONS
BOOLEANS
UNIT CONVERSION
DATA
JOINS
CLASSIFICATION

concave

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对象,然后将该对象作为图层添加到地图中。该几何对象将以半透明紫色进行填充。

参考文献