假设我在某个时间有一个物体的(ECEF)纬度、经度和到地球的距离。我需要得到它的 J2000 坐标。我正在做的是
import skyfield.api
planets = skyfield.api.load('de421.bsp')
earth = planets['earth']
ts = skyfield.api.load.timescale()
sat = earth + skyfield.api.Topos(latitude_degrees=latitude, longitude_degrees=longitude)
obs = earth.at(ts.utc(time)).observe(sat)
x, y, z = obs.km
然后,我会将其归一化[x, y, z]
并乘以到地球的距离。涉及到两个问题:
- 这样做是否正确?
- 有没有更快的方法而不加载'de421.bsp'?