현재 위치: > 최신 기사 목록> 다른 천정 값을 사용자 정의하여 민사, 해상 및 천문학적 일몰 시간을 얻는 방법?

다른 천정 값을 사용자 정의하여 민사, 해상 및 천문학적 일몰 시간을 얻는 방법?

M66 2025-07-07

일몰 시간을 계산할 때는 일반적으로 태양의 상대적 위치를 설명하기 위해 Zenith라는 각도 값을 사용해야합니다. Zenith 값은 일몰, 일출 또는 기타 천문학적 사건을 계산하는 데 중요한 매개 변수입니다. 다른 천정 값은 시민 일몰, 해상 일몰 및 천문학적 일몰과 같은 다른 천문 사건을 나타냅니다. 이 기사에서는 PHP 언어로 프로그램을 작성하여 다른 천정 값을 기반으로 민사, 해상 및 천문학적 일몰 시간을 계산하는 방법을 설명합니다.

1. Zenith 값이란 무엇입니까?

천정 값 또는 "천문 각도"는 수평선에 대한 태양의 각도를 나타냅니다. 구체적으로, 천정 값은 태양의 중심에서 수평선까지의 각도를 나타냅니다. 다른 천정 값은 다른 천문학적 사건을 나타내는 데 사용됩니다.

  • 시민 일몰 : 보통, 96 °의 천정 값이 사용되며, 이는 태양이 하늘이 어두워지면 96도 아래의 위치로 떨어지고, 보통 일몰 후 30 분에서 1 시간이 지났다는 것을 나타냅니다.

  • 해상 일몰 : 천정 값은 102 °이며, 이는 태양이 수평선의 102도 미만의 위치로 떨어 졌음을 나타냅니다. 이것은 일반적으로 내비게이션에 사용됩니다. "일몰 후의 가시성"을 정의합니다.

  • 천문학적 일몰 : 천정 값은 108 °입니다. 현재 태양은 수평선보다 완전히 낮으며 하늘은 완전히 어두워지며 천문 관찰에 적합합니다.

2. 일몰 시간을 계산하는 방법?

일몰 시간 계산에는 일반적으로 복잡한 일련의 천문학적 공식이 포함되지만 기존 오픈 소스 PHP 라이브러리를 활용 하여이 프로세스를 단순화 할 수 있습니다. 위도와 경도 및 천정 각도를 기반으로 간단한 계산 방법을 사용합니다.

2.1 일몰 계산 프로그램을 작성하기 위해 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'];
}
?>

2.2 프로그램 설명

  1. 위도와 경도 설정 : 우리는 특정 위치 (예 : 베이징의 위도 및 경도)의 위도와 경도에 들어가 날짜를 설정합니다.

  2. 다른 천정 값 : 다른 유형의 천정 값, 즉 96 °, 102 ° 및 108 °가 정의됩니다.

  3. 일몰 시간 계산 : GetSunsetTime 함수를 호출하고 위도, 경도, 날짜 및 Zenith 값을 전달하여 일몰 시간을 계산하십시오.

  4. API 요청 : API를 호출하여 일몰 시간을 계산하고 반환합니다 ( M66.net 의 API가 있다고 가정).

  5. 출력 결과 : 다른 천정 값에 따른 출력 토목, 내비게이션 및 천문학적 일몰 시간.

3. API 일몰 시간을 요구합니다

실제 프로그램에서는 외부 API를 호출하여 정확한 일몰 시간을 얻습니다. 예를 들어, getSunsettime 함수에서 가상의 API https://api.m66.net/sunset을 사용하여 일몰 시간을 계산합니다.

API 요청은 위도, 경도, 날짜 및 Zenith 각도를 전달하고 API는 계산 된 일몰 시간을 반환합니다. 이 API는 사용자 제공 데이터를 기반으로 동적으로 계산할 수 있으며 결과를 프로그램에 반환합니다.