以下是使用 C# 语言编写的一个高斯投影正算程序的示例,可将输入的大地坐标(经度、纬度)转换为高斯平面直角坐标(X、Y):

using System;

namespace GaussProjection
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine('请输入点的大地坐标(经度、纬度):');
            Console.Write('经度:');
            double longitude = Convert.ToDouble(Console.ReadLine());
            Console.Write('纬度:');
            double latitude = Convert.ToDouble(Console.ReadLine());

            double a = 6378137.0; // 地球长半轴
            double e = 0.0818191908426; // 第一偏心率
            double L0 = 105; // 中央经线

            double B = latitude * Math.PI / 180; // 将纬度转换为弧度
            double L = longitude - L0; // 经度与中央经线差值

            double W = Math.Sqrt(1 - Math.Pow(e, 2) * Math.Pow(Math.Sin(B), 2));
            double N = a / W;

            double t = Math.Tan(B);
            double eta = e * Math.Cos(B);
            double x = a * (1 - Math.Pow(e, 2)) * (1 + 3 / 4 * Math.Pow(eta, 2) + 45 / 64 * Math.Pow(eta, 4) + 175 / 256 * Math.Pow(eta, 6) + 11025 / 16384 * Math.Pow(eta, 8)) * B
                - a * (1 - Math.Pow(e, 2)) * (3 / 4 * Math.Pow(eta, 2) + 15 / 16 * Math.Pow(eta, 4) + 525 / 512 * Math.Pow(eta, 6) + 2205 / 2048 * Math.Pow(eta, 8)) * Math.Sin(2 * B)
                + a * (1 - Math.Pow(e, 2)) * (15 / 32 * Math.Pow(eta, 4) + 105 / 256 * Math.Pow(eta, 6) + 2205 / 4096 * Math.Pow(eta, 8)) * Math.Sin(4 * B)
                - a * (1 - Math.Pow(e, 2)) * (35 / 192 * Math.Pow(eta, 6) + 315 / 1024 * Math.Pow(eta, 8)) * Math.Sin(6 * B)
                + a * (1 - Math.Pow(e, 2)) * (315 / 3072 * Math.Pow(eta, 8)) * Math.Sin(8 * B);

            double y = N * (L + Math.Pow(L, 3) * (1 / 6 + Math.Pow(t, 2) + Math.Pow(t, 4) * 1 / 120) + Math.Pow(L, 5) * (1 / 120 + Math.Pow(t, 2) / 24) + Math.Pow(L, 7) * 1 / 5040);

            Console.WriteLine('高斯平面直角坐标为:');
            Console.WriteLine('X:' + x);
            Console.WriteLine('Y:' + y);

            Console.ReadLine();
        }
    }
}

运行程序后,根据提示输入点的经度和纬度,程序将计算出对应的高斯平面直角坐标(X、Y)并输出。

C# 高斯投影正算程序:大地坐标转高斯平面直角坐标

原文地址: https://www.cveoy.top/t/topic/bfJT 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录