如何用坐标计算两点的距离?

时间:2017-10-09 06:34:24

标签: javascript php math leaflet geojson

我有一个包含100多条折线的Geojson文件, 例如:

{
  "type":"MultiLineString",
   "coordinates":
    [
     [
      [73.970889292119,15.272263607379],
      [73.970743508934,15.272184655773] 
    ]
   ]
}

如何计算折线的距离(以公里为单位)或如何计算传单中的折线?

1 个答案:

答案 0 :(得分:0)

给定polylines数组,您可以应用math公式,以便在我们知道的情况下从两个中找出距离 coordonates 的要点。

enter image description here

let polylines=[{
  "type":"MultiLineString",
   "coordinates":
    [
     [
      [73.970889292119,15.272263607379],
      [73.970743508934,15.272184655773] 
    ]
   ]
},{
  "type":"MultiLineString2",
   "coordinates":
    [
     [
      [34.970889292119,15.272263607379],
      [67.970743508934,67.272184655773] 
    ]
   ]
}];
polylines=polylines.map(function(item){
  let latitude1=item.coordinates[0][0][0];
  let longitude1=item.coordinates[0][0][1];
  let latitude2=item.coordinates[0][1][0];
  let longitude2=item.coordinates[0][1][1];
  let distance=Math.sqrt(Math.pow((latitude1-latitude2),2)+Math.pow((longitude1-longitude2),2));
  return {type:item.type, distance:distance};
});
console.log(polylines);