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

1.背景

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

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

2.四种处理方法

2.1 公式计算法

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的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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 是三维地球,不存在投影变形,添加两个点,连接成路径就能统计两点间的最短地面距离。


文章作者: 锐多宝
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 锐多宝 !
评论
 上一篇
2022-03-28 锐多宝
下一篇 
2022-03-28 锐多宝
  目录