나는 내 궤도에서 각 전파 단계에 대한 데카르트 위치 및 속도 벡터를 얻으려고합니다. OrbitalPy http://pythonhosted.org/OrbitalPy/을 사용하여 고전적인 Keplerian 요소로 궤도를 생성합니다.Python OrbitalPy Traceback 오류 데카르트 상태 벡터 Keplerian 요소의 위치 및 속도
내가class orbital.utilities.StateVector
에서 상태 벡터 (위치와 속도 모두)를 얻을 수 있어야 문서에 따르면
하지만이 유형의 오류 얻을 : (새로운)은 정확히 3 개 인수를 (2 주어진)
합니다 다음은 코드입니다.
from scipy.constants import kilo
import orbital
from orbital import earth, KeplerianElements, Maneuver, plot, utilities
from orbital.utilities import Position, Velocity
import matplotlib.pyplot as plt
import numpy as np
#Orbit Setup
orbitPineapple = KeplerianElements.with_period(96 * 60, body=earth, i=(np.deg2rad(51.6)))
plot(orbitPineapple)
plt.show()
orbitPineapple
Out[23]: KeplerianElements(a=6945033.343911132,
e=0,
i=0.90058989402907408,
raan=0,
arg_pe=0,
M0=0.0,
body=orbital.bodies.earth,
ref_epoch=<Time object: scale='utc' format='jyear_str' value=J2000.000>)
prop1 = orbital.maneuver.PropagateAnomalyTo(M=1.00)
orbitX = orbitPineapple.apply_maneuver(prop1)
plot(orbitPineapple, title='Go Pineapple!')
plt.show()
orbital.utilities.StateVector(orbitPineapple)
TypeError Traceback (most recent call last)
<ipython-input-53-91fb5303082b> in <module>()
4 #print(orbital.utilities.StateVector.velocity(orbitPineapple))
5
----> 6 orbital.utilities.StateVector(orbitPineapple)
7 #orbital.utilities.StateVector.position(orbitPineapple())
8
TypeError: __new__() takes exactly 3 arguments (2 given)
위치 벡터는 좌표계를 다른 시스템으로 변환하려는 사람을 위해 AstroPy의 GCRS 인 Geocentric Equatorial Inertial (GEI) 참조 프레임에 있습니다. 'gcrs.transform_to()'는 AstroPy에서 훌륭합니다. – Rose