[PYTHON] PyEphem을 사용하여 새벽과 일몰 시간 계산하기
PYTHONPyEphem을 사용하여 새벽과 일몰 시간 계산하기
PyEphem을 사용하여 Dawn, Dusk, 일몰 시간을 계산할 수 있습니까? 나는 PyEphem을 사용하여 낮과 밤 시간을 만들었지 만 일몰 / 황혼 / 새벽에는 아무것도 찾지 못했습니다.
해결법
-
==============================
1.새벽 amd 황혼의 경우, 황혼에 관한 pyephem 문서를 참조하십시오. 간단히 말해서, 새벽과 황혼은 태양의 중심이 수평선 아래의 특정 각도에있는 시간을 표현합니다. 이 계산에 사용 된 각도는 각각 6도, 12도 및 18도를 사용하는 "민간인", 항해 (항해) 및 천문학의 황혼의 정의에 따라 다릅니다.
새벽 amd 황혼의 경우, 황혼에 관한 pyephem 문서를 참조하십시오. 간단히 말해서, 새벽과 황혼은 태양의 중심이 수평선 아래의 특정 각도에있는 시간을 표현합니다. 이 계산에 사용 된 각도는 각각 6도, 12도 및 18도를 사용하는 "민간인", 항해 (항해) 및 천문학의 황혼의 정의에 따라 다릅니다.
야당에서 일출은 태양의 가장자리가 수평선 바로 위 / 아래 (0도)에 나타나거나 해가 지날 때 사라집니다. 그러므로 모두, 민간인, 선원 및 천문학 애호가 모두 똑같은 상승 / 정각을 얻습니다. (pyephem 문서의 Naval Observatory 상승 및 설정 참조).
요약하면, 한 번 pyephem.Observer (lat, long, date, time, pressure (고도에 대한?) 등), 다양한 황혼의 시간 (새벽, 황혼)과 일출과 일몰 시간을 적절히 매개 변수화했다 에서 얻은 Observer.previous_rising () 및 Observer.next_setting () 메소드는, 이로써 첫 번째 인수는 ephem.Sun ()이고 황혼 계산에 use_center = 인수를 True로 설정해야합니다. 수평선은 0 (또는 대기의 굴절을 고려하면 0:34) 또는 -6, -12 또는 -18입니다.
-
==============================
2.다음 스크립트는 PyEphem을 사용하여 일출, 일몰 및 황혼 시간을 계산합니다. 의견은 각 부분의 역할을 설명하기에 충분해야합니다.
다음 스크립트는 PyEphem을 사용하여 일출, 일몰 및 황혼 시간을 계산합니다. 의견은 각 부분의 역할을 설명하기에 충분해야합니다.
import ephem #Make an observer fred = ephem.Observer() #PyEphem takes and returns only UTC times. 15:00 is noon in Fredericton fred.date = "2013-09-04 15:00:00" #Location of Fredericton, Canada fred.lon = str(-66.666667) #Note that lon should be in string format fred.lat = str(45.95) #Note that lat should be in string format #Elevation of Fredericton, Canada, in metres fred.elev = 20 #To get U.S. Naval Astronomical Almanac values, use these settings fred.pressure= 0 fred.horizon = '-0:34' sunrise=fred.previous_rising(ephem.Sun()) #Sunrise noon =fred.next_transit (ephem.Sun(), start=sunrise) #Solar noon sunset =fred.next_setting (ephem.Sun()) #Sunset #We relocate the horizon to get twilight times fred.horizon = '-6' #-6=civil twilight, -12=nautical, -18=astronomical beg_twilight=fred.previous_rising(ephem.Sun(), use_center=True) #Begin civil twilight end_twilight=fred.next_setting (ephem.Sun(), use_center=True) #End civil twilight
지평선을 재배치하면 지구의 곡률을 중심으로 빛의 굴절이 일어난다. 파이 헴 (PyEhem)은 온도와 압력을 가하면 더 정확히 계산할 수 있지만, 해군 천문력 연대는 대기를 무시하고 단순히 수평선을 재배치하기를 선호합니다. 나는이 종류의 계산을 검사 할 수있는 권위있는 자료이기 때문에 여기 USNAA를 언급합니다. NOAA 웹 사이트에서 답변을 확인할 수도 있습니다.
PyEphem은 UTC 시간으로 값을 취하고 반환합니다. 즉, 현지 시간을 UTC로 변환 한 다음 UTC를 로컬 시간으로 변환하여 찾고있는 해답을 찾아야합니다. 나는이 대답을 쓴 날짜에 ADT 시간대 인 캐나다의 Fredericton을 UTC보다 3 시간 늦 춥니 다.
킥을 위해서, 나는 또한 태양 정오의 계산에 던져 넣었다. 이것은 예상보다 시간이 더 많이 소요됩니다. 이는 일광 절약 시간제 사용의 부작용입니다.
이 모든 것이 반환됩니다.
begin civil twilight: 2013/9/4 09:20:46 sunrise: 2013/9/4 09:51:25 noon: 2013/9/4 16:25:33 sunset: 2013/9/4 22:58:49 end civil twilight: 2013/9/4 23:29:22
ADT 시간대로 변환하려면 3 시간을 빼야합니다.
이 PyEhem 문서 페이지에는 위의 내용이 많이 포함되어 있습니다. 비록 내가 혼란스럽고 StackOverflow에서 그 링크의 중요한 부분을 포함하고있는 점을 분명히하려고 노력했습니다.
-
==============================
3.황혼 / 새벽의 다른 정의에 따라 수평선 아래에 수평선 매개 변수를 설정하려고 할 수 있습니다.
황혼 / 새벽의 다른 정의에 따라 수평선 아래에 수평선 매개 변수를 설정하려고 할 수 있습니다.
from https://stackoverflow.com/questions/2637293/calculating-dawn-and-sunset-times-using-pyephem by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] Django AutoFields를 더 높은 수로 시작하는 방법 (0) | 2018.11.08 |
---|---|
[PYTHON] Python 2.7을 사용하여 matplotlib 플롯의 축에 소수점 및 과학 표기법을 표시 할 수 있습니까? (0) | 2018.11.08 |
[PYTHON] RegEx를 사용하여 Python에서 IP 주소 일치시키기 (0) | 2018.11.08 |
[PYTHON] Python 파일 구문 분석 : 텍스트 파일에서 트리 만들기 (0) | 2018.11.08 |
[PYTHON] 동일한 메소드 이름을 가진 다른 경로의 Python 다중 상속 (0) | 2018.11.08 |