現在の位置: ホーム> 最新記事一覧> さまざまな天頂価値をカスタマイズして、市民的、航海的、天文学的な夕日を獲得する方法は?

さまざまな天頂価値をカスタマイズして、市民的、航海的、天文学的な夕日を獲得する方法は?

M66 2025-07-07

日没時間を計算するときは、通常、ゼニスと呼ばれる角度値を使用して、太陽の相対的な位置を記述する必要があります。ゼニス値は、日没、日の出、またはその他の天文学的なイベントの計算における重要なパラメーターです。さまざまな天頂の値は、それぞれ異なる視界と暗闇の基準に対応する、市民の夕日、航海の夕日、天文学的な夕日など、さまざまな天文学的な出来事を表しています。この記事では、PHP言語でプログラムを作成して、さまざまな天頂値に基づいて市民、航海、および天文学的な日没時間を計算する方法について説明します。

1.天頂の価値とは何ですか?

天頂値、または「天文学的な角度」は、地平線に対する太陽の角度を指します。具体的には、天頂値は、太陽の中心から地平線までの角度を表します。さまざまな天頂値を使用して、さまざまな天文学的なイベントを表します。

  • 市民の夕日:通常、96°の天頂値が使用されており、太陽が空が暗くなり始め、通常は日没後30分から1時間後に暗くなり始めることを示しています。

  • 航海の夕日:天頂値は102°で、太陽が地平線の102度未満の位置に落ちたことを示しています。これは通常、「日没後の視界」を定義するためにナビゲーションで使用されます。

  • 天文学的な夕日:ゼニス値は108°で、この時点で太陽は地平線よりも完全に低く、空は完全に暗くなり、天文学的な観察に適しています。

2。夕日の時間を計算する方法は?

日没時間の計算には、通常、一連の天文学的な一連の一連が含まれますが、既存のオープンソースPHPライブラリを活用することでこのプロセスを簡素化できます。緯度と経度と天頂角に基づいた簡単な計算方法を使用します。

2.1 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'];
}
?>

2.2プログラムの説明

  1. 緯度と経度を設定する:特定の場所(北京の緯度や経度など)の緯度と経度を入力し、日付を設定します。

  2. 異なるゼニス値:さまざまなタイプの天頂値、つまり96°、102°、および108°が定義されています。

  3. 日没時間の計算getSunsettime関数を呼び出し、緯度、経度、日付、頂点の値を通過して日没時間を計算します。

  4. APIリクエスト:APIを呼び出して日没時間を計算して返します( M66.netにAPIがあると仮定します)。

  5. 出力の結果:異なる天頂値に応じた出力市民、ナビゲーション、天文学的な日没時間。

3。API日没時間の呼び出し

実際のプログラムでは、外部APIを呼び出すことにより、正確な夕日時間を取得します。たとえば、 GetSunsettime関数では、仮説的なAPI https://api.m66.net/sunsetを使用して、日没時間を計算します。

API要求は、緯度、経度、日付、天頂角を渡し、APIは計算された日没時間を返します。このAPIは、ユーザーが提供するデータに基づいて動的に計算でき、結果をプログラムに返すことができます。