python 将 au 转换为 km
python convert au to km
我正在尝试编写一个非常简单的程序,它以公里为单位打印到任何行星的当前距离。我正在使用天域。
这是我的火星代码:
from skyfield.api import earth, mars, now
ra, dec, distance = earth(now()).observe(mars).radec()
print(distance)
这将以天文单位打印出距离。
为了转换成公里,我试着乘以 149597871:
from skyfield.api import earth, mars, now
ra, dec, distance = earth(now()).observe(mars).radec()
print(distance*149597871)
但是这个 returns 一个错误:
TypeError: unsupported operand type(s) for *: 'Distance' and 'int'
我能做什么?
distance
是一个 Distance
对象,所以如果您想要以公里为单位的距离,您可以简单地使用 distance.km
。如果你想自己做转换,你可以使用distance.AU * 149597871
。 (如果不完全匹配,是因为Skyfield使用149597870.700km/au进行转换)
您可以在源代码 here 中查看此 class 的实现。
我正在尝试编写一个非常简单的程序,它以公里为单位打印到任何行星的当前距离。我正在使用天域。 这是我的火星代码:
from skyfield.api import earth, mars, now
ra, dec, distance = earth(now()).observe(mars).radec()
print(distance)
这将以天文单位打印出距离。 为了转换成公里,我试着乘以 149597871:
from skyfield.api import earth, mars, now
ra, dec, distance = earth(now()).observe(mars).radec()
print(distance*149597871)
但是这个 returns 一个错误:
TypeError: unsupported operand type(s) for *: 'Distance' and 'int'
我能做什么?
distance
是一个 Distance
对象,所以如果您想要以公里为单位的距离,您可以简单地使用 distance.km
。如果你想自己做转换,你可以使用distance.AU * 149597871
。 (如果不完全匹配,是因为Skyfield使用149597870.700km/au进行转换)
您可以在源代码 here 中查看此 class 的实现。