2016-10-24 29 views
3

地図上に衛星追跡をプロットしたいと思います。だから、私はPythonでSGP4 1.4を使用します.TLEデータを入力してください.but outdataは私が望むものではありません。ですから、出力データをECEFデータに変換し、経度と緯度を取得したいと思います。skyfiedを使用してSGP4 TEME座標をECEFに変換するにはどうすればよいですか?

私はskyfiedがTEMEをECEFに変換できることは知っていますが、使用方法はわかりません。

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

と私はskyfieldを使用すると、エラーに会った:

from skyfield.api import load 
ts=load.timescale() 

エラーは次のとおりです。

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] > 
+0

ライブラリは 'のウェブサイトから(最後の行にリンク)ファイル' deltat.data'をダウンロードしようとskyfield'とそれを行うことはできません。あなたのインターネット接続をチェックするか、 'deltat.data'ファイルをダウンロードして作業ディレクトリに入れてみてください。 –

答えて

1

私はそれをすることによっていくつかのコードを追加し解決しています。 iokit.pyで 「関数のダウンロード()335ライン

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)) 
関連する問題