mycad 发表于 2009-7-31 10:49:00

关于yf2003测绘方位角的计算公式

<p><font face="Verdana" color="#da2549"><strong>yfy2003</strong><font color="#000000">和</font><strong><font face="Verdana" color="#61b713">gyl的</font>
                        </strong></font>测绘方位角计算很方便,首先感谢一下他的无私奉献精神。但是公式不完整;下面是本人使用C#计算的代码;公式引用 <strong><font face="Verdana" color="#da2549">yfy2003</font></strong> 和<strong><font face="Verdana" color="#61b713">gyl的。感谢他们。</font></strong></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;<strong><font face="Verdana" color="#da2549">yfy2003</font></strong></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;//Azimuth = Math.Acos(D_21x / Dis) * sgn(D_21y)*180/Math.PI&nbsp; + 360;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //if (Azimuth&gt;360)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// Azimuth=Azimuth-360;<br/></p><p><strong><font face="Verdana" color="#61b713">//gyl</font></strong></p><p>Azimuth = 180 - (90 * sgn(D_21y)) - Math.Atan(D_21x / D_21y)*180/Math.PI&nbsp; ;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.textBox5.Text = Azimuth.ToString();</p><p><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p><p><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private int sgn(double n)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (n &gt; 0) return 1;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else if (n &lt; 0) return -1;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 0;&nbsp;&nbsp; </p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //Sign(y)&nbsp;&nbsp; (y&gt;=0?1:-1)&nbsp;&nbsp; </p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p><p></p><p></p><p>经过测试结果均正确</p><p></p>
页: [1]
查看完整版本: 关于yf2003测绘方位角的计算公式