- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试使用以下代码计算日出和日落的方位角:
import ephem
import csv
import math
def convert_angle(angle):
fields = math.modf(angle)
deg = fields[1]
min_dec = abs(fields[0]*60)
min_fields = math.modf(min_dec)
minu = min_fields[1]
sec = min_fields[0]*60
s = '\'{:2.0f}:{:2.0f}:{:2.1f}\''.format(deg,minu,sec)
return s
sun = ephem.Sun()
with open('locations.txt', 'rb') as csvfile:
rdrreader = csv.reader(csvfile, delimiter='\t', quotechar='"')
for row in rdrreader:
print row[2],row[5],row[6]
lat = convert_angle(float(row[5]))
lon = convert_angle(float(row[6]))
print lat,lon
obs = ephem.Observer()
obs.lat = lat
obs.lon = lon
rising = obs.next_rising(sun)
print('Visual sunrise: %s' % rising)
脚本对我的格式不满意:
ipdb> c
'60:47:31.2' '-161:52:35.5'
> /Users/mmuratet/weather/solar_ephem.py(35)<module>()
34 obs = ephem.Observer()
3--> 35 obs.lat = lat
36 obs.lon = lon
ipdb> s
ValueError: 'your angle string %r does not have the format [number[:number[:number]]]'
> /Users/mmuratet/weather/solar_ephem.py(35)<module>()
34 obs = ephem.Observer()
3--> 35 obs.lat = lat
36 obs.lon = lon
但同样的命令可以在带有剪切和粘贴的 python 控制台中运行
>>> obs.lat = '60:47:31.2'
>>> print obs
<ephem.Observer date='2015/3/3 20:00:58' epoch='2000/1/1 12:00:00' lon=-161:52:35.5 lat=60:47:31.2 elevation=0.0m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
我知道一定有一个简单明了的解决方案,但我没有看到。任何建议将不胜感激。
这是一些数据:
AK Bethel PABC 60.791987#N 161.876539#W 60.7919870 -161.876539
AK Fairbanks/Pedro Dome PAPD 65.0351238#N 147.5014222#W 65.0351238 -147.5014222
最佳答案
看起来你的 lat
和 lon
字符串里面都有单引号,一个在字符串的开头,一个在字符串的结尾:
s = '\'{:2.0f}:{:2.0f}:{:2.1f}\''.format(deg,minu,sec)
单引号不是科学家书写纬度或经度的方式的一部分,因此 PyEphem 感到困惑。尝试构建没有额外两个字符的字符串:
s = '{:2.0f}:{:2.0f}:{:2.1f}'.format(deg,minu,sec)
当它只看到数字和冒号时,PyEphem 应该很高兴!
关于Python ephem 模块无法识别看似有效的纬度字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28842052/
PyEphem 中 ephem.date(...) 和 ephem.Date(...) 的行为有区别吗?据我所知,两者具有相同的效果。 最佳答案 python 的好处是你通常可以阅读源代码。 我发现我
我在 Windows 下导入 ephem 时遇到问题。我认为这是一个 32/64 位问题。 Z:\>python Python 2.7.2 (default, Jun 12 2011, 14:24:4
我试图在我的树莓派上用 python 导入 pyephem,但出现以下错误: pi@ospi ~/downloads/pyephem-3.7.5.3 $ python Python 2.7.3 (de
我正在尝试使用以下代码计算日出和日落的方位角: import ephem import csv import math def convert_angle(angle): fields = m
我正在尝试计算给定日期和位置的确切日照时间。我一直在查看用于日出和集合计算的 python 模块“Ephem”。这是下面的代码: import ephem California_forest = ep
输出应将第一个日期处理为“日”,将第二个日期处理为“夜”。我已经玩了几个小时了,不知道我做错了什么。有什么想法吗? 编辑我认为问题是由于我的日期比较实现造成的 输出: $ python time_of
我正在尝试使用ephem TLE 数据跟踪月球的位置,然后将其存储在data.csv 文件中。但是,我找不到它! 下面的代码是我正在尝试做的事情的示例,这是针对国际空间站的,它是我找不到的月球的“第
我有一个包含 DateTime 索引的每日时间序列。我想计算 DataFrame 中每一天的日出和日落时间。结果将显示在 rise 和 set 列中。下面是我使用 pyephem 的脚本: impor
我想设置一个Python程序,能够从不同的位置提取日出/日落,以触发本地位置的灯光来象征远程日出——如果你真的在那里的话。我的意思是,如果你住在柏林,并且 12 月中旬的日出/日落是上午 7:45/下
import ephem date = '2018/9/20' sun = ephem.Sun() sun.compute(date) print 'Sun in', list(ephem.const
ephem python库可以完美判断下一个日出日落。 我想知道在某个时间外面是否有光。在 ephem 中是否有一个简单的函数调用返回这个? 最佳答案 像美国海军天文台这样的组织对“外面很亮”有定义—
我想在 Windows XP 下的 Python 3.3.0 版本中安装 ephem 包。 我首先在系统命令提示符下尝试了 pip install ephem 路径。进程中止,错误消息为 Unable
我看过此处有关使用 ephem 计算日出和日落的示例,效果很好。 当我试图计算这两个时间之间的中点时,我遇到了麻烦。这是我拥有的: import datetime import ephem o = e
感谢 http://www.lfd.uci.edu/%7Egohlke/pythonlibs/ 分发的预编译版本,我终于可以在我的 Windows7 64 位机器和 Python 3.3.1 中安装天
尝试在标准 python datetime 例程 datetime.datetime 和 Pyphem 例程 ephem.Date 之间进行转换,有时(除了预期的截断)在一个范围内存在特殊差异第二。
我刚刚在 pyenv 中使用 pip 成功安装了 PyEphem。但是,在导入时我收到: ImportError: /python2.7/site-packages/ephem/_libastro.s
如果我正在使用一个不存在的成员,我非常喜欢让 pylint 告诉我。但是,我的新项目同时使用了 twisted 和 ephem 模块,这似乎混淆了 pylint。 我怎样才能摆脱这些(不正确的)pyl
我是一名优秀的程序员,十分优秀!