Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python PyEphem可以用于计算任何对象的设定时间和上升时间吗?_Python_Coordinates_Pyephem_Astropy - Fatal编程技术网

Python PyEphem可以用于计算任何对象的设定时间和上升时间吗?

Python PyEphem可以用于计算任何对象的设定时间和上升时间吗?,python,coordinates,pyephem,astropy,Python,Coordinates,Pyephem,Astropy,有没有办法使用Pyphem计算目标列表的上升/设定值?我有一个目标坐标的astropy.表,我想用PyEphem(或另一个软件包)为观测者参考框架中的每个对象生成另外两列,带上升和设定时间 我知道Pyphem有一个预装对象的目录,比如明亮的恒星和行星,但我想做的是利用它的位置。下一个设置(ephem.Object())和位置。下一个上升(ephem.Object())函数来计算我的目标列表何时可以观测到,而不仅仅是明亮的恒星和行星 我知道Pyphem还有其他替代品,到目前为止,我已经尝试安装As

有没有办法使用Pyphem计算目标列表的上升/设定值?我有一个目标坐标的
astropy.表
,我想用PyEphem(或另一个软件包)为观测者参考框架中的每个对象生成另外两列,带上升和设定时间

我知道Pyphem有一个预装对象的目录,比如明亮的恒星和行星,但我想做的是利用它的
位置。下一个设置(ephem.Object())
位置。下一个上升(ephem.Object())
函数来计算我的目标列表何时可以观测到,而不仅仅是明亮的恒星和行星

我知道Pyphem还有其他替代品,到目前为止,我已经尝试安装Astroplan,但没有成功(不确定这是否稳定),我已经查看了Skyfield,但我还没有看到Pyphem上有任何额外的功能

这与我的表现在的外观类似,最后两列被添加,作为我希望它成为的示例

RA              Dec             Apparent Magnitude  Rise Time   Set Time
deg             deg 
float64         float64         float64
0.0             90.0            20.1080708665       06:04:34    22:43:17
18.9473684211   80.5263157895   22.7223534546       06:25:01    22:21:56
37.8947368421   71.0526315789   19.4416167208
56.8421052632   61.5789473684   20.7207435685
75.7894736842   52.1052631579   19.9318711443
94.7368421053   42.6315789474   23.8544483535
113.684210526   33.1578947368   15.8981196334
132.631578947   23.6842105263   24.2866475431
151.578947368   14.2105263158   15.9503148326
170.526315789   4.73684210526   16.5505303858
189.473684211   -4.73684210526  24.194771397

您确实提到您可能也对
PyEphem
的替代品感兴趣,因此我将为您提供一种使用
astroplan
的方法:

这里唯一的障碍是,您必须以不同的方式设置坐标,因为
astroplan
可以处理
SkyCoord
s的
列表,但不能包含数组的
SkyCoord

# What to look at
coordinates = SkyCoord(ra=np.linspace(0, 360, 20) *u.degree,
                       dec=np.linspace(-60, 60, 20) *u.degree)
# Replace these by you table-columns, e.g. ra=table['RA']

# Where is it observed
observer_location = Observer.at_site('lapalma') # Just as example

# When to observe
time = Time(['2016-03-18 01:00:00']) # Today ... there probably is even a convenience for this

# The ugly part... with the list comprehension
coordinates2 = [i for i in coordinates]
# Calculate the time of rise/set
rise = observer_location.target_rise_time(time, coordinates2, which='next')
set = observer_location.target_set_time(time, coordinates2, which='next')
从时间上看,这似乎是合理的,即使最后一步打印了多个关于有限精度的警告

print(rise.iso)
array(['2016-03-18 12:11:40.396', '2016-03-18 11:54:31.989',
       '2016-03-18 12:23:42.034', '2016-03-18 13:07:22.969',
       '2016-03-18 13:58:27.418', '2016-03-18 14:53:52.965',
       '2016-03-18 15:52:03.338', '2016-03-18 16:51:58.965',
       '2016-03-18 17:52:59.172', '2016-03-18 18:54:34.040',
       '2016-03-18 19:56:18.074', '2016-03-18 20:57:47.969',
       '2016-03-18 21:58:38.462', '2016-03-18 22:58:20.275',
       '2016-03-18 23:56:14.195', '2016-03-19 00:51:22.408',
       '2016-03-18 01:46:02.343', '2016-03-18 02:29:20.391',
       '2016-03-18 02:57:54.607', '2016-03-18 02:37:40.890'], 
      dtype='<U23')
打印(rise.iso)
数组(['2016-03-18 12:11:40.396','2016-03-18 11:54:31.989',
'2016-03-18 12:23:42.034', '2016-03-18 13:07:22.969',
'2016-03-18 13:58:27.418', '2016-03-18 14:53:52.965',
'2016-03-18 15:52:03.338', '2016-03-18 16:51:58.965',
'2016-03-18 17:52:59.172', '2016-03-18 18:54:34.040',
'2016-03-18 19:56:18.074', '2016-03-18 20:57:47.969',
'2016-03-18 21:58:38.462', '2016-03-18 22:58:20.275',
'2016-03-18 23:56:14.195', '2016-03-19 00:51:22.408',
'2016-03-18 01:46:02.343', '2016-03-18 02:29:20.391',
'2016-03-18 02:57:54.607', '2016-03-18 02:37:40.890'], 

dtype='好的,谢谢你,昨天我尝试安装Astroplan时遇到了麻烦,使用了pip和git克隆方法。我有点希望在Pyphem中会有一个解决方案,因为Astroplan还不稳定,但我可以尝试再次安装它,如果可行的话,尝试你的方法。