下面是编程之家 jb51.cc 通过网络收集整理的代码片段。
编程之家小编现在分享给大家,也给大家做个参考。
import math wgs84={"a":6378137,"b":6356752.3142,} def num2blh(num): ''' 23.434=>23: ''' dd=int(num) mm=int((num-dd)*60) ss=(num*60-int(num*60))*60 return ":".join([str(x) for x in (dd,mm,ss)]) def XYZ2BLH(x,y,z,epi): ''' x,z:分别对应空间直角坐标系坐标 epi:椭球长短轴 ''' x,z=float(x),float(y),float(z) a,b=epi["a"],epi["b"] e=math.sqrt(a**2-b**2)/a ep=math.sqrt(a**2-b**2)/b L=math.atan(y/x)*180/math.pi+180 r=math.sqrt(x**2+y**2) R=math.sqrt(r**2+z**2) u=math.atan(b*z*(1+ep**2*b/R)/(a*r)) B=math.atan((z+ep**2*b*math.sin(u)**3)/(r-e**2*a*math.cos(u)**3)) BB=B*180/math.pi H=r*math.cos(B)+z*math.sin(B)-a*math.sqrt(1-e**2*math.sin(B)**2) return (BB,L,H)
以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。