知方号

知方号

测绘中解析交会计算(利用c#编程)<前方交会计算实例>

测绘中解析交会计算(利用c#编程)

测绘常识:测绘知识常识十:如何做前方交会、侧边交会、后边交会、边角交会

c#在panel上画弧:C# DrawArc(画弧)_Gou_Hailong的博客-CSDN博客

前方交会

成果展示:(坐标是老师要求的,所以看起来有点奇怪,学会方法就好了)

 主要代码:

写了一个计算前方交会的方法

写程序需要判断角度的大小,正负,因为程序里面没有减去负数相当于加上其正数的转换,所以需要特别注意角度的范围,所以在这基础上公式中加上了变量sign去完成判断正负的功能。

//交会计算方法 private void get_p() { const double PI = Math.PI; //判断A,B,P排列顺序与方位角增加方向,一致sign=1,相反sign=-1 int sign=1; az_ab = Math.Atan((yb - ya) / (xb - xa))* (180 / PI); Dab = Math.Sqrt(Math.Pow(xa - xb, 2.0) + Math.Pow(ya - yb, 2.0)); az_ba = Math.Atan((xa - xb) / (ya - yb ))* (180 / PI); if (az_ab > az_ba) { }//顺时针排列,一致 else if (az_ab < az_ba) { sign = -1; }//逆时针排列,相反 cot_a = 1 / Math.Tan(angle_a * PI / 180); cot_b = 1 / Math.Tan(angle_b * PI / 180); xp = (xa * cot_b + xb * cot_a + sign*(ya - yb)) / (cot_a + cot_b); xp = Math.Round(xp, 3); yp = (ya * cot_b + yb * cot_a + sign*(xb - xa)) / (cot_a + cot_b); yp = Math.Round(yp, 3); }

a,b是已知点,p点是待求坐标点

az_ab:指的是a到b的方位角,带方向

Dab是ab之间的距离

angle_a是角a的角度,然后以此类推(这是运用前方交会的公式,见

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。

上一篇 没有了

下一篇没有了