Вычисление длины тени с помощью PyEphem

Я использую PyEphem и хочу вычислить длину тени (предположим, что палка единичной длины помещена в землю). Длина будет указана в формате cot (phi), где phi - это угол возвышения Солнца (поправьте меня, если я ошибаюсь). Я не уверен , какое поле использовать на Солнце ? В приведенном ниже примере я m с использованием угла alt:

import ephem, math
o = ephem.Observer()
o.lat, o.long = '37.0625', '-95.677068'
sun = ephem.Sun()
sunrise = o.previous_rising(sun, start=ephem.now())
noon = o.next_transit(sun, start=sunrise)
shadow = 1 / math.tan(sun.alt)

Пожалуйста, проверьте мою интерпретацию ниже:

  1. Если касательная бесконечна, это означает, что солнце находится прямо над головой и нет тени.
  2. Если касательная равна нулю, это означает, что солнце находится на горизонте, а тень бесконечно длинная.
  3. Я не знаю, как интерпретировать отрицательные результаты от раскладушки (фи). Может ли кто-нибудь мне помочь?

Наконец, я не понимаю, как использовать PyEphem для работы в обратном направлении от длины тени до следующего раза, когда солнце отбрасывает тень такой длины, учитывая ephem.Observer ().

Буду признателен за помощь с этим.

8
задан Gilles 'SO- stop being evil' 28 February 2012 в 17:07
поделиться