///<summary>
/// GPS经纬度换算成x,y坐标
///</summary>
///<param name="l">精度</param>
///<param name="B">纬度</param>
///<param name="xc">X坐标</param>
///<param name="yc">Y坐标</param>
publicstaticvoid MCT84Bl2xy(double l, double B, outdouble xc, outdouble yc)
{
try
{
l = l * Math.PI /180;
B = B * Math.PI /180;
double B0 =30* Math.PI /180;
double N =0, e =0, a =0, b =0, e2 =0, K =0;
a =6378137;
b =6356752.3142;
e = Math.Sqrt(1- (b / a) * (b / a));
e2 = Math.Sqrt((a / b) * (a / b) -1);
double CosB0 = Math.Cos(B0);
N = (a * a / b) / Math.Sqrt(1+ e2 * e2 * CosB0 * CosB0);
K = N * CosB0;
double Pi = Math.PI;
double SinB = Math.Sin(B);
double tan = Math.Tan(Pi /4+ B /2);
double E2 = Math.Pow((1- e * SinB) / (1+ e * SinB), e /2);
double xx = tan * E2;
xc = K * Math.Log(xx);
yc = K * l;
return;
}
catch (Exception ErrInfo)
{
}
xc =-1;
yc =-1;
}