批量经纬度转成空间直角坐标系

直接上代码。。

import numpy
#从键盘自定义输入扁率,长半轴,椭球高(区域中心高)等
#f=1/(298.257)
f=float(input("f:"))
#a=6378140.0
a=float(input("a:"))
L=0.0
e=2*f-f*f
B=0.0
H=float(input("H:"))
f1=open(r'C:\Users\suns\Desktop\POI1.txt','r')
f2=open(r'C:\Users\suns\Desktop\new.txt','w')
#从文本中读取经纬度转成空间直角坐标X,Y,Z
for i in f1:
     st=i.split(',')
     L=float(st[0])
     B=float(st[1])
     n1=e*numpy.math.sin(B/57.29578)
     n2=n1*n1
     n3=1-n2
     n4=numpy.math.sqrt(n3)  
     n5=a/n4
     X=(H+n5)*(numpy.math.cos(B/57.29578)*numpy.math.cos(L/57.29578))
     Y=(H+n5)*(numpy.math.cos(B/57.29578)*numpy.math.sin(L/57.29578))
     Z=(n5*(1-e*e)+H)*(numpy.math.sin(B/57.29578))
     f2.write(str(X)+","+str(Y)+","+str(Z)+"\n")
f1.close()
f2.close()

其实应该要和坐标转换结合起来,有待改进........

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

兰小莫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值