2 个拉特隆点之间的距离
我想计算出两个拉特隆点之间的距离。 简单距离公式 http://www.purplemath.com/modules/distform.htm不正确,因为我们正在处理两种不同的度量(纬度和经度)。
这个问题有标准的解决方案吗?
I want to work out the distance between 2 latlon points.
The simple distance formula http://www.purplemath.com/modules/distform.htm is not correct because we are dealing with 2 different measures (lat and lon).
Is there a standard solution to this problem?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
使用半正矢公式。
请参阅此链接 http://www.movable-type.co.uk/scripts/ latlong.html
use
Haversine formula
.see this link http://www.movable-type.co.uk/scripts/latlong.html
试试这个,
它使用“半正矢”公式来计算两点之间的大圆距离(即地球表面上的最短距离),给出点之间的“乌鸦飞行”距离(忽略任何山丘!) 。
半正矢公式:
Δlat = lat2− lat1
Δlong = long2−long1
a = sin²(Δlat/2) + cos(lat1).cos(lat2).sin²(Δlong/2)
c = 2.atan2(√a, √(1−a))
d = Rc
或使用链接http://www.movable-type。 co.uk/scripts/latlong.html
try this,
This uses the ‘haversine’ formula to calculate great-circle distances between the two points – that is, the shortest distance over the earth’s surface – giving an ‘as-the-crow-flies’ distance between the points (ignoring any hills!).
Haversine formula:
Δlat = lat2− lat1
Δlong = long2− long1
a = sin²(Δlat/2) + cos(lat1).cos(lat2).sin²(Δlong/2)
c = 2.atan2(√a, √(1−a))
d = R.c
or go with the link,http://www.movable-type.co.uk/scripts/latlong.html
尝试这个 javascript hasrsine 函数以及 torad() 辅助函数,我将其用于我的地图应用程序
希望这会有所帮助。
Try this javascript haversine function alongside the torad() helper function, which I use for my map app
Hope this helps.