四种方法获取地球上两点的真实地面距离

1.背景

使用非等距离投影,无法获取较大空间距离的两点真实地面距离。
特别是我们经常使用的墨卡托投影是等角投影,特性是水平方向形变必须与竖直方向形变一致。

而如果没有投影坐标,使用arcgis等地理软件,无法计算真实地面距离。

2.四种处理方法

2.1 公式计算法

d=111.12*cos{1/[sin ΦAsin ΦB 十 cos ΦAcos ΦBcos( λB—λA)]}

其中A点经度,纬度分别为λA和ΦA,B点的经度、纬度分别为λB和ΦB,d为距离。
111.12的来源是赤道周长4万公里,则 40000 公里/360 度=111.11公里/度(地球是非常近似球体的)。
附上一段JavaScript的代码:

function degreesToRadians(degrees) {
  return degrees * Math.PI / 180;
}

function distanceInKmBetweenEarthCoordinates(lat1, lon1, lat2, lon2) {
  var earthRadiusKm = 6371;

  var dLat = degreesToRadians(lat2-lat1);
  var dLon = degreesToRadians(lon2-lon1);

  lat1 = degreesToRadians(lat1);
  lat2 = degreesToRadians(lat2);

  var a = Math.sin(dLat/2) * Math.sin(dLat/2) +
          Math.sin(dLon/2) * Math.sin(dLon/2) * Math.cos(lat1) * Math.cos(lat2); 
  var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); 
  return earthRadiusKm * c;
}

2.2 在线工具计算

使用在线工具,直接得到答案,在线工具地址为:
https://keisan.casio.com/exec/system/1224587128

2.3 arcgis pro

这个我不会,哈哈哈,因为电脑里面没装pro。给一个视频:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
在这里插入图片描述

2.4 Google earth计算

Google earth 是三维地球,不存在投影变形,添加两个点,连接成路径就能统计两点间的最短地面距离。

可以前往“地信遥感数据汇”(https://www.gisrsdata.com/)获取更多数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叫我锐多宝

请我喝杯啤酒吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值