public static class 角度换算
{
//将ddd.mmss转为弧度
static public double DEG(double ang)
{
int 符号 = 1;
if (ang < 0)
{
符号 = -1;
ang = -ang;
}
ang += 1.0E-10;//加 1.0E-6 秒
int 度 = (int)ang;
double t = (ang - 度) * 100;
int 分 = (int)(t);
double 秒 = t - 分 - 1.0E-8;//减 1.0E-6 秒
if (秒 < 0) 秒 = 0;
return 符号 * (度 + 分 / 60.0 + 秒 / 36.0) / 180.0 * Math.PI;
}
//将弧度转为ddd.mmss
static public double DMS(double ang)
{
int fuhao = 1;
if (ang < 0)
{
fuhao = -1;
ang = -ang;
}
ang = ang * 180.0 / Math.PI + 2.78E-10;//加 1.0E-6 秒
int d = (int)ang;
ang = (ang - d) * 60.0;
int m = (int)ang;
double s = (ang - m) * 60.0 - 1.0E-6;//减 1.0E-6 秒
if (s < 0) s = 0;
return (d + m / 100.0 + s / 10000.0) * fuhao;
}
}