以度/弧度转换纬度/经度?

时间:2012-04-13 11:33:55

标签: iphone ios xcode mapkit type-conversion

如何以度/弧度转换纬度和经度? 你们有任何公式或任何想法吗? 我想在MapKit上显示它。 感谢.....

2 个答案:

答案 0 :(得分:63)

由于纬度和经度是以度为单位度量的,因此您可以使用以下公式转换为弧度,然后返回到度数:

Radians = Degrees * PI / 180

反过来,

Degrees = Radians * 180 / PI

答案 1 :(得分:16)

如果你像地球一样看地球,经度和纬度已经以度为单位给出。经度表示为-180度(-pi弧度)至180度(pi弧度),0度以本初子午线为中心。相对于赤道,纬度表示为-90度(-pi / 2弧度)至90度(pi / 2弧度)。这已经是一个球面坐标系(取决于我在下面给出的注意事项),地球半径约为6371 km。

所以只需通过乘以pi / 180进行转换,就像在任何正常意义上将度数转换为弧度一样。如果你想使用这些弧度来做一些具体的事情,比如计算两个纬度/经度之间的距离,那么你应该看一些预先存在的sources

以前曾提出类似的问题,即Convert Lat-Lon to Cartesian Coordinates

一般来说,许多转换问题的“正确”答案取决于您的答案中可接受的错误(距离为20英里可能会偏离1英里等)并且世界模型是合适的在您的问题域中。世界更好地用椭圆体(压扁的球体)而不是球体来近似,但是假设地球是球体并且引入的误差可以是最小的,则更容易执行计算。特别是如果你的程序只是在寻找那些不会用于工程项目的“粗略”答案。

你所拥有的纬度很可能是在一个名为WGS-84的坐标系中给出的,这是大多数硬件GPS装置使用的,它假设是一个椭圆体模型。

请注意,我有更多的来源,但我想我的声誉很低,所以我只能发布两个链接。我建议在维基百科上阅读关于WGS-84,地球半径,球面坐标,本初子午线和赤道的一些视觉参考。