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

Uma*_*uas 16 iphone xcode type-conversion mapkit ios

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

Geo*_*ton 68

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

Radians = Degrees * PI / 180
Run Code Online (Sandbox Code Playgroud)

反之,

Degrees = Radians * 180 / PI
Run Code Online (Sandbox Code Playgroud)


小智 17

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

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

之前已经提出过类似的问题,即将Lat-Lon转换为笛卡尔坐标.

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

您所拥有的纬度很可能是在一个名为WGS-84的坐标系中给出的,这是大多数硬件GPS单元使用的坐标系,它采用椭球模型.

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