3

基本上我想做的是:

  • 取一个观察点(使用纬度/经度)
  • 在给定开始日期的情况下计算下一个春分和至日的日期
  • 找到每个日落方位角
  • 找到每个日出方位角

*请注意,我在 ArcGIS 中工作,所以我的一些值是从外部表格中提取的

这是我所拥有的:

sun = ephem.Sun()
final = ephem.Observer()
final.lon = row[1]
final.lat = row[2]
final.elevation = row[3]

equinoxDate = ephem.next_equinox('0001/01/01')
equinoxSetDate = final.next_setting(ephem.Sun(), start=equinoxDate, use_center=True)
final.date = equinoxSetDate
sun.compute(final)

print sun.az

我一直在挂断“下一个设置”部分。我得到 NeverUpError... 如果我将其切换到 previous_setting、next_rising、previous_rising... 没关系。我总是收到 NeverUpError 或 AlwaysUpError。

如果有人可以帮我找到春分日落的方位角(在任何日期),那么我可以确定其余的。

如果有不清楚的地方,请告诉我。

谢谢!

4

1 回答 1

1

我想到了。我收到错误是因为:final.lon、final.lat 被 pyephem 视为字符串。所以我通过说 final.lon = str(row[1]) 来切换它并从那里开始。现在效果很好!布兰登,你的价值观是正确的。

sun = ephem.Sun()
final = ephem.Observer()
final.lon = str(row[1])
final.lat = str(row[2])
final.elevation = row[3]

equinoxDate = ephem.next_equinox('0001/01/01')
equinoxSetDate = final.next_setting(ephem.Sun(), start=equinoxDate, use_center=True)
final.date = equinoxSetDate
sun.compute(final)

print sun.az
于 2013-11-08T20:35:26.583 回答