度转成度分秒
double deg2dddmmss(double degIn)
{
double sign = degIn < 0.0 ? -1.0 : 1.0, a = fabs(degIn);
double ddd = 0, mm = 0, ss = 0, dddmmss = 0;
ddd = floor(a); // 度
mm = floor((a - ddd) * 60); // 分
ss = ((a - ddd) * 60 - mm) * 60; // 秒
dddmmss = ((ddd * 10000.0 + mm * 100.0 + ss)) * sign;
return dddmmss;
}
度分转度
ddmm.mmmm(度分)转换成常用坐标dd.ddddd
double dmm2deg(double dmm)
{
return floor(dmm / 100.0) + fmod(dmm, 100.0) / 60.0;
}
度dd.ddddd转度分ddmm.mmmm
double deg2dmm(double degIn)
{
double sign = degIn < 0.0 ? -1.0 : 1.0, a = fabs(degIn);
double dmm = (floor(a) * 100 + (a - floor(a)) * 60.0);
dmm *= sign;
return dmm;
}