經緯度座標有叄種格式,『度分秒』『度分』『度』.
『度分秒』等於『時分秒』, 『1度=60分=3600秒』『1分=60秒』
經緯度座標 | |
度分秒DMS | DDD°MM’SS” |
度分DM | DDD°MM.MMM’ |
度D | DDD.DDDDD° |
度分秒 | 轉换 |
分轉度 | 除60 |
秒轉度 | 除3600 |
秒轉分 | 除60 |
度轉分 | 度小數乘60 |
分轉秒 | 分小數乘60 |
『度分秒』轉『度』
例『35°41′37.5″』即係『35度41分37.5秒』 |
41分轉度= 41/60 |
37.5秒轉度=37.5/3600 |
35 + 41/60 + 37.5/3600=35.69375度 |
void DMS_TO_DD(float D,float M,float S,double * DD)
{ *DD = D + M/60.0f + S/3600.0f; } |
『度分』轉『度』
例『35°41.625』即係『35度41.625分』 |
41.625分轉度= 41/60 |
35 + 41.625/60 =35.69375度 |
void DM_TO_DD(float D, float M, double* DD)
{ *DD = D + M / 60.0f; // 除60 } |
『度』轉『度分』
例『35.6937632°』即係『35度41.625792分』 |
『0.6937632°』度轉分 0.6937632*60=41.625792′ |
35 + 0.6937632*60=『35°41.625792’』=『35度41.625792分』 |
void DD_TO_DM(double DD,int * D,float * M)
{ *D = (int)DD; // 度取整 *M = (DD – *D) * 60; // 度小數乘60 } |
『度』轉『度分秒』
例『35.6937632°』度即係『35度, 41分, 37.54秒』 |
取度小數『0.6937632°』度轉分 0.6937632°*60=41.625792′ |
取分小數『0.625792’』分轉秒 0.625792’*60=37.54752″ |
35°+ 0.6937632°*60 + 0.625792’*60=『35°41′37.5″』=『35度, 41分, 37.54秒』 |
void DD_TO_DMS(double DD, float* D, float* M, float* S)
{ float MM; *D = (int)DD; // 度取整 MM = (DD – *D) * 60; // 度小數乘60 *M = (int)MM;// 分 *S = (*M – MM) * 60;// 分小數乘60 } |
1日 | 360度 |
1度 | 60分=3600秒 |
1分 | 60秒 |