일몰 시간을 계산할 때는 일반적으로 태양의 상대적 위치를 설명하기 위해 Zenith라는 각도 값을 사용해야합니다. Zenith 값은 일몰, 일출 또는 기타 천문학적 사건을 계산하는 데 중요한 매개 변수입니다. 다른 천정 값은 시민 일몰, 해상 일몰 및 천문학적 일몰과 같은 다른 천문 사건을 나타냅니다. 이 기사에서는 PHP 언어로 프로그램을 작성하여 다른 천정 값을 기반으로 민사, 해상 및 천문학적 일몰 시간을 계산하는 방법을 설명합니다.
천정 값 또는 "천문 각도"는 수평선에 대한 태양의 각도를 나타냅니다. 구체적으로, 천정 값은 태양의 중심에서 수평선까지의 각도를 나타냅니다. 다른 천정 값은 다른 천문학적 사건을 나타내는 데 사용됩니다.
시민 일몰 : 보통, 96 °의 천정 값이 사용되며, 이는 태양이 하늘이 어두워지면 96도 아래의 위치로 떨어지고, 보통 일몰 후 30 분에서 1 시간이 지났다는 것을 나타냅니다.
해상 일몰 : 천정 값은 102 °이며, 이는 태양이 수평선의 102도 미만의 위치로 떨어 졌음을 나타냅니다. 이것은 일반적으로 내비게이션에 사용됩니다. "일몰 후의 가시성"을 정의합니다.
천문학적 일몰 : 천정 값은 108 °입니다. 현재 태양은 수평선보다 완전히 낮으며 하늘은 완전히 어두워지며 천문 관찰에 적합합니다.
일몰 시간 계산에는 일반적으로 복잡한 일련의 천문학적 공식이 포함되지만 기존 오픈 소스 PHP 라이브러리를 활용 하여이 프로세스를 단순화 할 수 있습니다. 위도와 경도 및 천정 각도를 기반으로 간단한 계산 방법을 사용합니다.
우리는 PHP를 통해 프로그램을 작성하여 날짜와 위치 (위도 및 경도) 및 Zenith 값을 입력하여 다양한 유형의 일몰 시간을 계산합니다. 일몰 시간을 계산하기위한 PHP 라이브러리가 이미 있고 다음은 프로그램의 단계라고 가정 해 봅시다.
<?php
// 일몰 시간을 계산하기위한 라이브러리를 소개하십시오
include('sunset_calculator.php');
// 위도와 경도를 설정하십시오(예를 들어:베이징의 위도와 경도)
$latitude = 39.9042;
$longitude = 116.4074;
$date = '2025-04-26'; // 날짜 설정
// 다르게 설정합니다Zenith값
$zenith_values = [
'civil' => 96, // 민간인 일몰
'nautical' => 102, // 항해 일몰
'astronomical' => 108, // 천문학적 일몰
];
// 다른 것에 따르면Zenith값일몰 시간을 계산하십시오
foreach ($zenith_values as $type => $zenith) {
$sunset_time = getSunsetTime($latitude, $longitude, $date, $zenith); // 일몰 시간을 계산하십시오
echo "존재하다 {$date},사용{$type}(Zenith={$zenith}°)일몰 시간입니다: {$sunset_time}\n";
}
// 일몰 시간을 계산하십시오~의函数
function getSunsetTime($lat, $lon, $date, $zenith) {
// 여기에 특정 전화가 있습니다API일몰 시간을 얻으러 오세요,예를 들어m66.net~의API
$url = "https://api.m66.net/sunset?latitude={$lat}&longitude={$lon}&date={$date}&zenith={$zenith}";
// 사용cURL부르다API
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
curl_close($ch);
// 解析返回~의数据并返回日落时间
$data = json_decode($response, true);
return $data['sunset_time'];
}
?>
위도와 경도 설정 : 우리는 특정 위치 (예 : 베이징의 위도 및 경도)의 위도와 경도에 들어가 날짜를 설정합니다.
다른 천정 값 : 다른 유형의 천정 값, 즉 96 °, 102 ° 및 108 °가 정의됩니다.
일몰 시간 계산 : GetSunsetTime 함수를 호출하고 위도, 경도, 날짜 및 Zenith 값을 전달하여 일몰 시간을 계산하십시오.
API 요청 : API를 호출하여 일몰 시간을 계산하고 반환합니다 ( M66.net 의 API가 있다고 가정).
출력 결과 : 다른 천정 값에 따른 출력 토목, 내비게이션 및 천문학적 일몰 시간.
실제 프로그램에서는 외부 API를 호출하여 정확한 일몰 시간을 얻습니다. 예를 들어, getSunsettime 함수에서 가상의 API https://api.m66.net/sunset을 사용하여 일몰 시간을 계산합니다.
API 요청은 위도, 경도, 날짜 및 Zenith 각도를 전달하고 API는 계산 된 일몰 시간을 반환합니다. 이 API는 사용자 제공 데이터를 기반으로 동적으로 계산할 수 있으며 결과를 프로그램에 반환합니다.