2个城市之间的经度和纬度距离等式是啥[重复]
Posted
技术标签:
【中文标题】2个城市之间的经度和纬度距离等式是啥[重复]【英文标题】:what is the equation of longitude and latitude distance between 2 cities [duplicate]2个城市之间的经度和纬度距离等式是什么[重复] 【发布时间】:2014-07-30 23:33:50 【问题描述】:我想要用c++计算一个城市的经纬度与另一个城市的经纬度之间的距离的方程,哎呀
【问题讨论】:
@aruisdante 我知道这就是我删除的原因,可能是循环扇区的弧。 有很多很多很多不同的方法来计算距离,具体取决于您要测量的内容。你是在测量沿地面的距离吗?当乌鸦飞翔时,您是否正在测量一个大弧?您是否正在测量来自 UTM 等线性投影的直线距离?我强烈建议对执行此操作的各种方法进行一些谷歌搜索。 让我们假设城市位于平面上而不是球面上! projecting 他们在这片平原上怎么样?一旦它们在那里,常规的旧欧几里得距离将为您提供合理的近似值,但对于非常大的距离,它仍然是一个粗略的估计。 我需要一种计算从一个城市的经纬度到另一城市经纬度的距离的方法。使用标准距离公式来计算这个值(假设城市位于平面上而不是球面上!) 【参考方案1】:假设您正在寻找一个很大的弧距(鸟儿飞行时最直接的路线),您需要的是 Haversine 公式: https://en.wikipedia.org/wiki/Haversine_formula
一个示例应用程序(用您选择的任何编程语言都应该很容易重写):
dlon = lon2 - lon1
dlat = lat2 - lat1
a = (sin(dlat/2))^2 + cos(lat1) * cos(lat2) * (sin(dlon/2))^2
c = 2 * a * tan2(sqrt(a), sqrt(1-a))
d = R * c //where R is the radius of the Earth
【讨论】:
道歉 - 我在回复被标记为重复之前就开始写回复了。 我不确定我是否理解这个问题。 c 的公式已包含在答案中。以上是关于2个城市之间的经度和纬度距离等式是啥[重复]的主要内容,如果未能解决你的问题,请参考以下文章