两点之间的球面距离的计算基于地球来计算,通过输入两点的经纬度坐标进行计算,使用到的公式为Haversine公式,如下:
界面设计:
实现代码如下:
//计算球面距离函数
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);
}
实现效果: