加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

坐标反算(已知两点坐标反算方位角)最简通用公式

(2013-02-25 09:43:28)
分类: GIS
坐标反算(已知两点坐标反算方位角)最简通用公式
     坐标方位角的计算是测绘相关专业同仁们不能回避的问题,书上给出的公式都是用反正切函数外加象限判断。
 
     在实际编程计算中,用Excel编辑公式:一般用ATAN2再加条件判断算得的角是不是小于360度,如果小于则加上360度的方法;用CASIO计算器编程计算:一般用Pol()函数,外加条件判断,也可以用复数功能计算(王中伟教授日志里有专门的论述);VB类计算机语言编程:好像找不到类似ATAN2和Pol()函数之类的函数,只能用象限法了。但是在ExcelVBA里面编程我一般是通过worksheetfunction.atan2来引用Excel的自带函数ATAN2来实现编程计算的。
 
     今天在明经通道论坛(bbs.mjtd.com)里发现了这个公式,经过验算正确。此等好公式不敢独享,特此上传。
 
    式中:
         Sgn函数是用于判断括号内数值的正负的,括号内的值如果为负则返回-1,为正则返回1,为0则返回0.在一些编程工具中可没有类似函数,但是我们可以用对数值求其绝对值再除以该数值的方法来实现,即:Sgn(ΔYAB)=Abs(ΔYAB)/ΔYAB
        ΔYAB=(YB-YA)
        ΔXAB=(XB-XA)
    求A-B的方位角都是用B点的坐标值减A点的坐标值,千万别搞混了。
下面是在Excel中验算的截图:
算得的方位角值为数值角度,需要注意的是因为Excel里面的角度值都是以弧度为单位的,所以在ATAN((A3-A2)/(B3-B2))前一定要加上DEGREES函数把角度化为度才能与前两项相加。
 
这个公式再次证明一个道理:好的数学模型对于编程计算来说可以起到事半功倍的作用!
 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有