【问题标题】:Distance between two points over a path with turf.jsturf.js 路径上两点之间的距离
【发布时间】:2017-01-16 02:21:17
【问题描述】:

可以使用 turfjs 计算直线路径上两点之间的距离吗?怎么样?

【问题讨论】:

    标签: turfjs


    【解决方案1】:

    使用turf.lineSlice 使用您的两个点切割线。这将返回一条新线,其中仅包含两点之间线上的部分。接下来,您可以使用turf.lineDistance 计算该切片线的距离。

    var line = {
      "type": "FeatureCollection",
      "features": [
        {
          "type": "Feature",
          "properties": {},
          "geometry": {
            "type": "LineString",
            "coordinates": [
              [4.0155029296875, 40.18726672309203 ],
              [4.0814208984375, 40.195659093364654 ],
              [4.15283203125, 40.19146303804063 ],
              [4.185791015625, 40.17887331434696 ],
              [4.2242431640625, 40.15788524950653 ],
              [4.273681640625, 40.111688665595956 ],
              [4.3011474609375, 40.06125658140474 ],
              [4.290161132812499, 40.02340800226773 ],
              [4.3341064453125, 39.97291055131899 ],
              [4.4000244140625, 39.96870074491696 ],
              [4.4659423828125, 39.977120098439634 ],
              [4.531860351562499, 40.002371935876475 ],
              [4.5648193359375, 40.052847601823984 ],
              [4.5648193359375, 40.11588965267845 ]
            ]
          }
        }
      ]
    };
    
    var start = {
      "type": "Feature",
      "properties": {},
      "geometry": {
        "type": "Point",
        "coordinates": [4.2400360107421875, 40.143189742924406 ]
      }
    };
    var stop = {
      "type": "Feature",
      "properties": {},
      "geometry": {
        "type": "Point",
        "coordinates": [4.3059539794921875, 40.00815750046493 ]
      }
    };
    
    var sliced = turf.lineSlice(start, stop, line.features[0]);
    var length = turf.lineDistance(sliced, 'kilometers');
    

    【讨论】:

    • 谢谢!来自阿根廷乌斯怀亚 :)
    • 只是添加 turf.lineDistance 已被弃用,因此对于 @turf npm 库,它是 turfjs.org/docs/#length var length = turf.length(sliced, {units: 'miles'});
    猜你喜欢
    • 2021-04-30
    • 1970-01-01
    • 2021-11-03
    • 1970-01-01
    • 2012-06-14
    • 2018-05-07
    • 1970-01-01
    • 2020-03-11
    • 2019-01-23
    相关资源
    最近更新 更多