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

length

length是Turf中的一个函数。它用于计算两点之间的距离,也可以计算整个线段或者多段线的长度。函数可以接受以下参数:

  • geojson:一个Feature,可以是PointLineString或者MultiLineString

函数返回一个数字,表示输入几何图形的长度或者两点之间的距离。

参数

geojson

一般为PointLineString或者MultiLineString类型的Feature。可以是一个单点、一条线或者多条线段组成的多段线。例如:

var point = {
    "type": "Feature",
    "geometry": {
        "type": "Point",
        "coordinates": [118.783452, 32.050698]
    }
};

var line = {
    "type": "Feature",
    "geometry": {
        "type": "LineString",
        "coordinates": [
            [118.783452, 32.050698],
            [118.781205, 32.049732],
            [118.781142, 32.048483],
            [118.781771, 32.04662]
        ]
    }
};

返回值

函数返回一个数字,表示输入几何图形的长度或者两点之间的距离。

使用示例

var point1 = turf.point([118.783452, 32.050698]);
var point2 = turf.point([118.781205, 32.049732]);

var line = turf.lineString([
    [118.783452, 32.050698],
    [118.781205, 32.049732],
    [118.781142, 32.048483],
    [118.781771, 32.04662]
])

var pointDistance = turf.length(point1, point2, {units: 'kilometers'});
console.log(pointDistance);  // 0.1922

var lineDistance = turf.length(line, {units: 'kilometers'});
console.log(lineDistance);  // 0.39

在上面的例子中,我们分别计算了点之间的距离和线段的长度。函数的第二个参数{units: 'kilometers'}表示输出结果的单位是公里。