九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
C# 高斯正算 高斯反算 高斯換帶等

首先,你要確定橢球參數(shù):

C#代碼 
  1. a = 6378140;  //西安80橢球 IGA75  

  2. e2 = 0.006694384999588;  

  3. m0 = a * (1 - e2);  

  4. m2 = 3.0 / 2 * e2 * m0;  

  5. m4 = 5.0 / 4 * e2 * m2;  

  6. m6 = 7.0 / 6 * e2 * m4;  

  7. m8 = 9.0 / 8 * e2 * m6;  

  8. a0 = m0 + m2 / 2 + (3.0 / 8.0) * m4 + (5.0 / 16.0) * m6 + (35.0 / 128.0) * m8;  

  9. a2 = m2 / 2 + m4 / 2 + 15.0 / 32 * m6 + 7.0 / 16 * m8;  

  10. a4 = m4 / 8 + 3.0 / 16 * m6 + 7.0 / 32 * m8;  

  11. a6 = m6 / 32 + m8 / 16;  

  12. a8 = m8 / 128;  

  13. xx = 0;  

  14. yy = 0;  

  15. _x = 0;  

  16. _y = 0;  

  17. BB = 0;  

  18. LL = 0;  

 下面才開始正題:

 高斯正算:把經(jīng)緯度坐標轉(zhuǎn)換為平面坐標

C#代碼 
  1. void GaussPositive(double B, double L, double L0)  

  2. {  

  3.     double X, t, N, h2, l, m, Bmiao, Lmiao;  

  4.     int Bdu, Bfen, Ldu, Lfen;  

  5.     Bdu = (int)B;  

  6.     Bfen = (int)(B * 100) % 100;  

  7.     Bmiao = (B - Bdu - Bfen * 0.01) * 10000.0;  

  8.     B = Bdu * PI / 180.0 + (Bfen / 60.0) * PI / 180.0 + Bmiao / 3600.0 * PI / 180.0;  

  9.     Ldu = (int)L;  

  10.     Lfen = (int)(L * 100) % 100;  

  11.     Lmiao = (L - Ldu - Lfen * 0.01) * 10000.0;  

  12.     L = Ldu * PI / 180.0 + (Lfen / 60.0) * PI / 180 + Lmiao / 3600.0 * PI / 180.0;  

  13.     l = L - L0 * PI / 180;  

  14.     X = a0 * B - Math.Sin(B) * Math.Cos(B) * ((a2 - a4 + a6) + (2 * a4 - 16.0 / 3.0 * a6) * Math.Sin(B) * Math.Sin(B) + 16.0 / 3.0 * a6 * Math.Pow(Math.Sin(B), 4)) + a8 / 8.0 * Math.Sin(8 * B);  

  15.     t = Math.Tan(B);  

  16.     h2 = e2 / (1 - e2) * Math.Cos(B) * Math.Cos(B);  

  17.     N = a / Math.Sqrt(1 - e2 * Math.Sin(B) * Math.Sin(B));  

  18.     m = Math.Cos(B) * l;  

  19.     xx = X + N * t * ((0.5 + (1.0 / 24.0 * (5 - t * t + 9 * h2 + 4 * h2 * h2) + 1.0 / 720.0 * (61 - 58 * t * t + Math.Pow(t, 4)) * m * m) * m * m) * m * m);  

  20.     yy = N * ((1 + (1.0 / 6.0 * (1 - t * t + h2) + 1.0 / 120.0 * (5 - 18 * t * t + Math.Pow(t, 4) + 14 * h2 - 58 * h2 * t * t) * m * m) * m * m) * m);  

  21.     yy = yy + 500000;  

  22. }  

    高斯反算:把平面坐標轉(zhuǎn)換為經(jīng)緯度坐標:

C#代碼 
  1. void GaussNegative(double x, double y, double L0)  

  2.    double Bf, Vf, l, tf, hf2, Nf, Bmiao, Lmiao;  

  3.    int Bdu, Bfen, Ldu, Lfen;  

  4.    y = y - 500000;  

  5.    Bf = hcfansuan(x);  

  6.    Vf = Math.Sqrt(1 + e2 / (1 - e2) * Math.Cos(Bf) * Math.Cos(Bf));  

  7.    tf = Math.Tan(Bf);  

  8.    hf2 = e2 / (1 - e2) * Math.Cos(Bf) * Math.Cos(Bf);  

  9.    Nf = a / Math.Sqrt(1 - e2 * Math.Sin(Bf) * Math.Sin(Bf));  

  10.    BB = (Bf - 0.5 * Vf * Vf * tf * (Math.Pow(y / Nf, 2) - 1.0 / 12 * (5 + 3 * tf * tf + hf2 - 9 * hf2 * tf * tf) * Math.Pow(y / Nf, 4) + 1.0 / 360 * (61 + 90 * tf * tf + 45 * tf * tf) * Math.Pow(y / Nf, 6))) * 180 / PI;  

  11.    Bdu = (int)BB;  

  12.    Bfen = (int)((BB - Bdu) * 60);  

  13.    Bmiao = ((BB - Bdu) * 60 - Bfen) * 60;  

  14.    BB = Bdu + 0.01 * Bfen + 0.0001 * Bmiao;  

  15.    l = 1.0 / Math.Cos(Bf) * (y / Nf - 1.0 / 6.0 * (1 + 2 * tf * tf + hf2) * Math.Pow(y / Nf, 3) + 1.0 / 120.0 * (5 + 28 * tf * tf + 24 * Math.Pow(tf, 4) + 6 * hf2 + 8 * hf2 * tf * tf) * Math.Pow(y / Nf, 5)) * 180.0 / PI;  

  16.    LL = L0 + l;  

  17.    Ldu = (int)LL;  

  18.    Lfen = (int)((LL - Ldu) * 60);  

  19.    Lmiao = ((LL - Ldu) * 60 - Lfen) * 60;  

  20.    LL = Ldu + 0.01 * Lfen + 0.0001 * Lmiao;  

   里面涉及到的弧長反算:

C#代碼 
  1. double hcfansuan(double pX)  

  2. {  

  3.     double Bf0 = pX / a0;  

  4.     double Bf1, Bf2;  

  5.     Bf1 = Bf0;  

  6.     Bf2 = (pX - F(Bf1)) / a0;  

  7.     while ((Bf2 - Bf1) > 1.0E-11)  

  8.     {  

  9.         Bf1 = Bf2;  

  10.         Bf2 = (pX - F(Bf1)) / a0;  

  11.     }  

  12.     return Bf1;  

  13. }  

    高斯換帶就比較簡單了:

C#代碼 
  1. void GaussZone(double x, double y, double L0, double L0new)  

  2. {  

  3.     GaussNegative(x, y, L0);  

  4.     GaussPositive(BB, LL, L0new);  

  5. }  

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
大地坐標轉(zhuǎn)經(jīng)緯度算法 c# 高斯坐標轉(zhuǎn)經(jīng)緯度算法
C#后臺四舍五入的方法
C# 代碼詮釋"每天進步一點點"
java解四元一次方程
Slippy map tilenames(瓦片和經(jīng)緯度換算)
Google Map瓦片圖算法分析
更多類似文章 >>
生活服務(wù)
熱點新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服