mysql_SunRiseSet
1.0.0
MySQL/mariadb 기능 날짜 및 위도/경도에 따라 일출/일몰 시간을 계산합니다.
이 구현은 http://web.archive.org/web/20161202180207/http://williams.bwh.net/sunrise_sunset_algorithm.htm에있는 알고리즘을 기반으로합니다.
보다 강력한 변형은 lib_mysqludf_astro에 따라 MySQL로드 가능한 기능 구현으로 찾을 수 있습니다.
예를 들어 Sunriseset.sql 코드를 실행하십시오
mysql -u <username> -p <yourdb> < SunRiseSet.sql
날짜, 위치 및 돌아올 때와 함께 기능을 호출하십시오 (일출, 일몰)
매개 변수는 다음과 같습니다.
관심 날짜-MySQL 날짜 형식 yyyy-mm-dd
위치 위도 - 플로트
위치 경도 - 플로트
동쪽과 웨스트에게는 음수가 있습니다.
일출/일몰을위한 Sun 's Zenith : enum ['공식 ','시민 ','해상 ','천문학적 '] 또는 플로트
원하는 결과 - 열거 [ 'Sunrise', 'Sunset']
위도 0.0000 및 경도 0.0000을 로컬 설정으로 교체하십시오.
-- official sunset/sunrise
SELECT system.SunRiseSet(NOW(), 0.0000, 0.0000, 'official', 'sunset'), system.SunRiseSet(NOW(), 0.0000, 0.0000, 'official', 'sunrise');
SELECT system.SunRiseSet(NOW(), 0.0000, 0.0000, 90+(50/60), 'sunset'), system.SunRiseSet(NOW(), 0.0000, 0.0000, 90.833333333, 'sunrise');
-- civil
SELECT system.SunRiseSet(NOW(), 0.0000, 0.0000, 'civil', 'sunset'), system.SunRiseSet(NOW(), 0.0000, 0.0000, 'civil', 'rise');
SELECT system.SunRiseSet(NOW(), 0.0000, 0.0000, 96, 'sunset'), system.SunRiseSet(NOW(), 0.0000, 0.0000, 96, 'rise');
-- nautical
SELECT system.SunRiseSet(NOW(), 0.0000, 0.0000, 'nautical', 'set'), system.SunRiseSet(NOW(), 0.0000, 0.0000, 'nautical', 'rise');
-- astronomical
SELECT system.SunRiseSet(NOW(), 0.0000, 0.0000, 'astro', 'sunset'), system.SunRiseSet(NOW(), 0.0000, 0.0000, 'astro', 'sunrise');
-- self defined sun horizon level
SELECT system.SunRiseSet(NOW(), 0.0000, 0.0000, 86.2, 'sunset'), system.SunRiseSet(NOW(), 0.0000, 0.0000, 86.2, 'sunrise');