图片缩略图

LatLon距离

版本1.0.0.0 (1.64 KB) 中号Sohrabinia
基于latlon坐标的两个点之间的距离查找

73下载

更新2012年10月30日

查看许可协议

这个函数使用地球上两点之间的经纬度坐标来确定距离(以公里为单位)。距离是用两种距离函数计算的:哈弗斯和毕达哥拉斯。第一个输出基于Haversine函数,对于较长的距离更准确。

--Inputs:
latlon1:起始点latlon [lat lon]
latlon2:终点latlon [lat lon]

——输出:
d1km:用哈弗斯公式计算的距离
d2km:根据毕达哥拉斯定理计算的距离

--Example 1,短距离:
latlon1 = (-43 - 172);
latlon2 = [ - 44 171];
[d1km d2km] =距离(latlon1 latlon2)
d1km =
137.365669065197(公里)
d2km =
137.368179013869(公里)
%d1km近似等于d2km

--Example 2,更长的距离:
latlon1 = (-43 - 172);
latlon2 = (-108);
[d1km d2km] =距离(latlon1 latlon2)
d1km =
10734.8931427602(公里)
d2km =
31303.4535270825(公里)
d1km与d2km有很大的不同(d2km不能用于更远的距离)。

引用作为

M Sohrabinia(2020)。LatLon距离(//www.tianjin-qmedu.com/matlabcentral/fileexchange/38812-latlon-distance), MATLAB中央文件交换。检索

评论和评分(23)

迈克尔Pietruschka

大卫·佛朗哥

Sejoon安

非常感谢!

大卫·迈耶

也有内置的功能'距离'和'deg2km',这产生相同的结果,在所有情况下,我已经尝试

SepehrX

Tarsha

谢谢你!它太棒了!

Babita Jangir

xszm

理查德。

完美的工作。

Vardenis Pavardenis

Manoj派

如何应用输入

Maninder正面

Aysu本页Özel

中号Sohrabinia

@Seb:如实施例中所示的十进制度。感谢评分的代码。

中号Sohrabinia

谢谢你的建议,Justin,我会试着回到这个话题,我已经离开Matlab好几年了。我承认我没有在处理异常上花太多的精力,目的是计算正确的距离,我相信它是正确的。

Aticha Boousuwan

拉斐尔·d

sandeep manjanna

Seb的偏见

你好,

有个问题,输入是秒还是十进制?

谢谢!

DHRUPAL沙

直往前行。方便GPS用户使用

贾斯汀威诺阿

这段代码做了它说它应该,但有两个2分钟的变化,使它更好:

1)将所有操作向量化,这样你就可以放入一个lat,lon坐标列表。基本上,在所有东西的前面加一个“。”。超级简单而且更好

2)增加一张楠的支票。如果两个点太接近,你会得到NaN,而它应该是零。非常容易做到:

> d1km(isnan(d1)) = 0;

我希望这对你有帮助

天阳丽

伊恩·夏皮罗

简单而有效的。做它需要做的事。

MATLAB版本兼容性
创建R2008b
与任何版本兼容
平台的兼容性
视窗 macOS Linux
确认

启发:pathdist