首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用天际化将SGP4 TEME坐标转换为ECEF?

如何使用天际化将SGP4 TEME坐标转换为ECEF?
EN

Stack Overflow用户
提问于 2016-10-24 10:30:40
回答 2查看 1.7K关注 0票数 3

我想在地图上绘制卫星跟踪图。因此,我在python数据中使用SGP4 1.4,但输出数据不是我想要的。所以我想把输出数据转换成ECEF数据,得到经度和纬度。

我知道天际化可以把TEME转换成ECEF,但我不知道如何使用它。

https://github.com/skyfielders/python-skyfield/blob/master/skyfield/sgp4lib.py

我用天域遇到了错误:

代码语言:javascript
复制
from skyfield.api import load
ts=load.timescale()

错误是:

代码语言:javascript
复制
File "D:\Anaconda2\lib\site-packages\skyfield\iokit.py", line 213, in timescale
    data = self('deltat.data')

File "D:\Anaconda2\lib\site-packages\skyfield\iokit.py", line 166, in __call__
    download(url, path, self.verbose)

File "D:\Anaconda2\lib\site-packages\skyfield\iokit.py", line 329, in download
    raise IOError('cannot get {0} because {1}'.format(url, e))

IOError: cannot get http://maia.usno.navy.mil/ser7/deltat.data because <urlopen error [Errno 10060] >
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-01 06:17:19

我增加了一些代码来解决这个问题。在iokit.py的函数中下载() 335行

代码语言:javascript
复制
 try:
    print (url)  #original

    try:
        connection = urlopen(url)
    except:
       import urllib2
       user_agent ='"Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36"' #cxh
       headers = { 'User-Agent' : user_agent }
       proxy = urllib2.ProxyHandler({}) 
       opener = urllib2.build_opener(proxy) 
       urllib2.install_opener(opener) 
       req ,= urllib2.Request(url, headers = headers) 
       response = urllib2.urlopen(url) 
       connection= response
       print ('get data successfully')

except Exception as e:
    raise IOError('cannot get {0} because {1}'.format(url, e))
票数 1
EN

Stack Overflow用户

发布于 2022-03-23 08:37:58

在下面的链接中,您可以使用SGP4版本,它在三个坐标系中返回卫星的状态向量,即TEME、ECEF和ECI。code

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40216183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档