Я хочу рассчитать время восхода и захода солнца за полный год для данного местоположения с учетом топографии. Возможно, восход / закат не являются правильными терминами, но я хочу, чтобы солнце взошло над горизонтом и когда оно опускается ниже горизонта, принимая во внимание любые холмы.
Я использую QGIS или GRASS. Я могу использовать r.horizon для генерации угла горизонта от конкретной точки, но я не уверен, как добраться оттуда до времени восхода / захода солнца.
Ответы:
Я установил пакет ephem python в свою систему Linux GNU / Debian и мог использовать его на консоли Python QGIS. Я создал наблюдателя для точки возле озера Юта (США), и она рассчитывала восходящее и заходящее солнце на день «2010/6/21». Сценарий был:
После запуска на консоли Python QGIS, результат был:
Это ответ.
Редактирование заметки :
Определение нового горизонта (например, 5 градусов):
результат:
источник
Вы можете использовать такую библиотеку, как PyEphem, чтобы найти для заданного местоположения высоту, день, время (а) и планету; азимут и высотный угол солнца.
источник
Вы можете использовать немного Python, чтобы сделать это, но сначала вам нужно сгенерировать словарь или таблицу с позиции наблюдателя, угол которой к горизонту реального мира, по-видимому, равен. Это должно происходить, скажем, с интервалами в 1 градус, где 0 = истинный север и для каждого градуса указывается угол горизонта. Это может исходить от вашего r.horizon.
Затем вы можете использовать
pyephem
a) для созданияobserver
на широте, долготе и высоте вашего наблюдателя и для каждой минуты данного дня использовать его для вычисления видимых положений солнца, они будут представлены как четыре значения, ra, dec, alt и аз.Затем для каждого значения времени вы можете сравнить альт со значением из таблицы высот по этому азимуту, и когда альт будет больше, чем значение в таблице, вы сможете увидеть солнце.
Возможно даже, что вы сможете найти некоторые точки, где в определенный день солнце поднимается в долине, а затем выходит за пределы площадки за горой, а затем вновь появляется над или с другой стороны горы.
источник