# interpolation

# interpolate

npm install @turf/interpolate

接收一组点要素集,通过传入的 properties 参数使用反距离加权法(IDW)估算要素集并返回

参数

入参 类型 描述
points FeatureCollection<Point> 传入的要素集
cellSize Number 每个网格点之间的距离
options Object 可配置项

options

属性 类型 默认值 描述
gridType String "square" 出参要素集的要素类型,可选值有:"square"(矩形)、"point"(点)、"hex"(六边形)、"triangle"(三角形)
property String "elevation" 参与计算的属性
units String "kilometers" 单位,可选的有 degrees、radians、miles、kilometers
weight Number 1 调节距离衰减权重的指数

返回

FeatureCollection<Point|Polygon>

范例

var points = turf.randomPoint(30, { bbox: [50, 30, 70, 50] });

// add a random property to each point
turf.featureEach(points, function (point) {
  point.properties.solRad = Math.random() * 50;
});
var options = { gridType: "points", property: "solRad", units: "miles" };
var grid = turf.interpolate(points, 100, options);

# isobands

npm install @turf/isobands

接收点要素集,根据参与分级的属性和分级的数组计算出等值面并返回

值得注意的是,该方法可能还未实现

参数

入参 类型 描述
pointGrid FeatureCollection<Point> 传入的要素集
breaks Array 分级的数组
options Object 可配置项

options

属性 类型 默认值 描述
zProperty String "elevation" 参与分级的属性
commonProperties Object {} 每个要素的属性
breaksProperties Array []

返回

Feature<LineString>

# isolines

npm install @turf/isolines

接收点要素集,根据参与分级的属性和分级的数组计算出等值线并返回

参数

入参 类型 描述
points FeatureCollection<Point> 传入的要素集
breaks Array 分级的数组
options Object 可配置项

options

属性 类型 默认值 描述
zProperty String "elevation" 参与分级的属性
commonProperties Object {} 每个要素的属性
breaksProperties Array []

返回

FeatureCollection<MultiLineString>

范例

// create a grid of points with random z-values in their properties
var extent = [0, 30, 20, 50];
var cellWidth = 100;
var pointGrid = turf.pointGrid(extent, cellWidth, { units: "miles" });

for (var i = 0; i < pointGrid.features.length; i++) {
  pointGrid.features[i].properties.temperature = Math.random() * 10;
}
var breaks = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; // 生成10个type为MutiLineString的要素,范围分别是 0-1、1-2 以此类推

var lines = turf.isolines(pointGrid, breaks, { zProperty: "temperature" });

# planepoint

npm install @turf/planepoint

接收一个 type 为 Polygon三角形平面要素,并在该要素内获取一个点要素,计算并返回该点的 z 值。面要素应该包含a,b,c三个属性值

值得注意的是,z 值即标准分数

参数

入参 类型 描述
point Coord 需要被计算 z 值的点
triangle Feature<Polygon> 三角形平面要素

返回

Number - z 值数值

范例

var point = turf.point([-75.3221, 39.529]);
// "a", "b", and "c" values represent the values of the coordinates in order.
var triangle = turf.polygon(
  [
    [
      [-75.1221, 39.57],
      [-75.58, 39.18],
      [-75.97, 39.86],
      [-75.1221, 39.57]
    ]
  ],
  {
    a: 11,
    b: 122,
    c: 44
  }
);

var zValue = turf.planepoint(point, triangle); // 37.43364475092331
point.properties.zValue = zValue;

# tin

npm install @turf/tin

接收一组点要素集合,创建该集合的 TIN(Triangulated Irregular Network,不规则三角形格网)并返回

参数

入参 类型 描述
points FeatureCollection<Point> 三角形平面要素
z String 可选,如果未给定则不会向出参的面要素添加 properties

返回

FeatureCollection<Polygon>

范例

// generate some random point data
var points = turf.randomPoint(30, { bbox: [50, 30, 70, 50] });

// add a random property to each point between 0 and 9
for (var i = 0; i < points.features.length; i++) {
  points.features[i].properties.z = ~~(Math.random() * 9);
}
var tin = turf.tin(points, "z");
Last Updated: 7/29/2020, 5:22:41 PM