两点之间的球面距离的计算(C#)

  两点之间的球面距离的计算基于地球来计算,通过输入两点的经纬度坐标进行计算,使用到的公式为Haversine公式,如下:

两点之间的球面距离的计算(C#)_第1张图片

界面设计:

两点之间的球面距离的计算(C#)_第2张图片

实现代码如下:

        //计算球面距离函数
        public double CalDis(double a, double b, double s)
        {
            return Math.Acos(Math.Sin(a) * Math.Sin(b) + Math.Cos(a) * Math.Cos(b) * Math.Cos(s)) * 6371;
        }
        //计算球面距离
        private void button3_Click(object sender, EventArgs e)
        {
            double a = Convert.ToDouble(textBox5.Text);
            double b = Convert.ToDouble(textBox4.Text);
            double c = Convert.ToDouble(textBox3.Text);


            double lS = CalDis(a, b, c);
            label8.Text = "球面距离为:" + Math.Round(lS, 4);
        }

实现效果:

两点之间的球面距离的计算(C#)_第3张图片

 

你可能感兴趣的:(c#,开发语言)