コード例 #1
0
ファイル: UnitSpheroid.cs プロジェクト: Yubao-wss/ProjApp
        public void TestBltoxy()
        {
            {
                //Spheroid BJ = new Spheroid(6378245, 298.3);

                IProj proj = new GaussProj(Spheroid.CreateBeiJing1954());

                double B = SurMath.DMStoRAD(21.58470845);
                double l = SurMath.DMStoRAD(2.25314880);
                proj.Bltoxy(B, l, out double x, out double y, out _, out _);
                //B = 21 ◦ 58 ′ 47.0845 ′′ ,L = 113 ◦ 25 ′ 31.4880 ′′ ,
                //x = 2433586.692,y = 250547.403
                Assert.AreEqual(2433586.692, x, 1e-3);
                Assert.AreEqual(250547.403, y, 1e-3);
            }

            {
                //B = 21 ◦ 58 ′ 47.0845 ′′ ,L = 113 ◦ 25 ′ 31.4880 ′′ ,
                //x = 2433586.692,y = 250547.403
                IProj proj = new GaussProj(Spheroid.CreateBeiJing1954());

                double B  = SurMath.DMStoRAD(21.58470845);
                double L  = SurMath.DMStoRAD(113.25314880);
                double L0 = SurMath.DMStoRAD(111);
                proj.BLtoXYKM(B, L, L0, 0, 0, out double x, out double y);

                Assert.AreEqual(2433586.692, x, 1e-3);
                Assert.AreEqual(250547.403, y, 1e-3);
            }
        }