Math 是否有用于测地纬度/长坐标计算的库或框架?

Math 是否有用于测地纬度/长坐标计算的库或框架?,math,geolocation,geocoding,core-location,geography,Math,Geolocation,Geocoding,Core Location,Geography,我正在制作一个核心位置驱动的应用程序,我必须为给定的纬度/经度对计算很多东西,例如: 到另一个横向/纵向坐标的距离 向y方向移动距离x时的目标横向/纵向坐标 有什么开源的东西可以使用吗?因为您使用的是CoreLocation,所以您可以使用@progrmr指出的 另一方面,因为您指定了开源,而这不是开源,所以您可以按照@MikeT的建议查看实现 (我最初的答案是哈弗森公式,这是有缺陷的。正如@MikeT指出的,哈弗森公式只适用于球体。而地球并不是一个完美的球体。) 有缺陷的原始答案: 听起来

我正在制作一个核心位置驱动的应用程序,我必须为给定的纬度/经度对计算很多东西,例如:

  • 到另一个横向/纵向坐标的距离

  • 向y方向移动距离x时的目标横向/纵向坐标


有什么开源的东西可以使用吗?

因为您使用的是CoreLocation,所以您可以使用@progrmr指出的

另一方面,因为您指定了开源,而这不是开源,所以您可以按照@MikeT的建议查看实现

(我最初的答案是哈弗森公式,这是有缺陷的。正如@MikeT指出的,哈弗森公式只适用于球体。而地球并不是一个完美的球体。)

有缺陷的原始答案:

听起来你想要哈弗森配方


说明了它是什么,并包含了许多实现的链接。我没有检查,但我必须想象其中至少有一些是开源项目。

因为您使用的是CoreLocation,所以可以使用@progrmr指出的

另一方面,因为您指定了开源,而这不是开源,所以您可以按照@MikeT的建议查看实现

(我最初的答案是哈弗森公式,这是有缺陷的。正如@MikeT指出的,哈弗森公式只适用于球体。而地球并不是一个完美的球体。)

有缺陷的原始答案:

听起来你想要哈弗森配方


说明了它是什么,以及(包含指向许多实现的链接。我没有检查,但我必须想象其中至少有一些是开源项目。

有一些C函数可以从一个坐标对或给定起点和终点的目标坐标中确定航向。在坐标之间可以使用CLLocation


这些函数基于余弦球面定律,并从算法和推导而来。

有些C函数从坐标对中执行航向,或从给定起始和航向的目标坐标中执行航向。在坐标之间可以使用CLLocation

这些函数基于余弦球面定律,并从算法推导而来。

已在多种编程语言中实现,包括。该库计算旋转椭球体(或球体)上测地线的长度和相关数学特性.计算误差一般在微米范围内

要查找两个坐标之间的距离,请执行以下操作:

GeodesicData g = Geodesic.WGS84.Inverse(lat1, lon1, lat2, lon2,
                                        GeodesicMask.DISTANCE);
然后获取两点之间距离的
g.s12

问题中的第二个示例是使用
直接
方法投影给定距离和方向的位置。

已用多种编程语言实现,包括。该库计算旋转椭球体(或球体)上测地线的长度和相关数学特性.计算误差一般在微米范围内

要查找两个坐标之间的距离,请执行以下操作:

GeodesicData g = Geodesic.WGS84.Inverse(lat1, lon1, lat2, lon2,
                                        GeodesicMask.DISTANCE);
然后获取两点之间距离的
g.s12


问题中的第二个例子是投影给定距离和方向的位置,使用
Direct
方法找到。

哈弗森公式仅适用于球体上的计算。问题是寻找通常在.Good point@MikeT上暗示的测地线库。我已更新了我的答案,以包括您的更好的建议,并在我的原始答案中提及缺陷。哈弗森公式仅适用于球体上的计算。问题是寻找通常隐含在上的测地线库。Good point@MikeT。我已更新了我的答案,以包括您的更好建议,并在我的原始答案中提及缺陷。