日没時間を計算するときは、通常、ゼニスと呼ばれる角度値を使用して、太陽の相対的な位置を記述する必要があります。ゼニス値は、日没、日の出、またはその他の天文学的なイベントの計算における重要なパラメーターです。さまざまな天頂の値は、それぞれ異なる視界と暗闇の基準に対応する、市民の夕日、航海の夕日、天文学的な夕日など、さまざまな天文学的な出来事を表しています。この記事では、PHP言語でプログラムを作成して、さまざまな天頂値に基づいて市民、航海、および天文学的な日没時間を計算する方法について説明します。
天頂値、または「天文学的な角度」は、地平線に対する太陽の角度を指します。具体的には、天頂値は、太陽の中心から地平線までの角度を表します。さまざまな天頂値を使用して、さまざまな天文学的なイベントを表します。
市民の夕日:通常、96°の天頂値が使用されており、太陽が空が暗くなり始め、通常は日没後30分から1時間後に暗くなり始めることを示しています。
航海の夕日:天頂値は102°で、太陽が地平線の102度未満の位置に落ちたことを示しています。これは通常、「日没後の視界」を定義するためにナビゲーションで使用されます。
天文学的な夕日:ゼニス値は108°で、この時点で太陽は地平線よりも完全に低く、空は完全に暗くなり、天文学的な観察に適しています。
日没時間の計算には、通常、一連の天文学的な一連の一連が含まれますが、既存のオープンソースPHPライブラリを活用することでこのプロセスを簡素化できます。緯度と経度と天頂角に基づいた簡単な計算方法を使用します。
PHPを介してプログラムを作成して、日付と位置(緯度と経度)と天頂値の値を入力して、さまざまなタイプの日没時間を計算します。日没時間を計算するための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関数を呼び出し、緯度、経度、日付、頂点の値を通過して日没時間を計算します。
APIリクエスト:APIを呼び出して日没時間を計算して返します( M66.netにAPIがあると仮定します)。
出力の結果:異なる天頂値に応じた出力市民、ナビゲーション、天文学的な日没時間。
実際のプログラムでは、外部APIを呼び出すことにより、正確な夕日時間を取得します。たとえば、 GetSunsettime関数では、仮説的なAPI https://api.m66.net/sunsetを使用して、日没時間を計算します。
API要求は、緯度、経度、日付、天頂角を渡し、APIは計算された日没時間を返します。このAPIは、ユーザーが提供するデータに基づいて動的に計算でき、結果をプログラムに返すことができます。