日照時間計算機
赤道では毎日12時間の日照があり、極に近づくと夏は24時間、冬は0時間に近づきます。年間通日と緯度を入力すると、その日に太陽が出ている時間が分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 日
- 172
- 緯度
- 0
- 結果
- 12
- 赤緯 (°)
- 23.45
- 日照時間
- 12
- 時角 (°)
- 90
日照時間計算機は、建築家、栽培者、船員、天文学の学生が繰り返し問う季節の問題に答えます。ある緯度に、一年のある日、何時間の日差しが届くのか。この機能は通日と観測者の測地緯度を受け取り、標準の余弦季節モデルで太陽赤緯を近似し、幾何学的な日照の長さを時間で返します。赤道ではモデルは毎日十二時間になり、極へ向かうと現地の夏至付近で二十四時間へ伸び、現地の冬至付近で零へ縮みます。
太陽赤緯、時角、日照時間が決まるしくみ
日照の長さは、太陽の幾何学的中心が真の地平線の上にいる時間です。その間隔は日の出の太陽時角の二倍であり、時角は観測者の緯度 φ と太陽赤緯 δ の二つの角が分かれば球面天文学から決まります。赤緯は太陽直下点の緯度であり、回帰年のあいだ黄道傾斜のほぼプラスからマイナスまで振れます。
完全な還元は太陽の真黄経、中心差、章動を用いますが、工学と教室では滑らかな季節曲線だけで足りることが多いです。本計算機は Cooper の余弦季節モデルを用い、傾斜を 23.45 度に固定し、ピークを通日 172(非閏暦の 6 月 21 日付近)に置きます。
δ は 23.45 度に、2π を 365 で割ったものに通日から 172 を引いた値を掛けた余弦を掛けたものです。幾何学的な日の出の恒等式は cos ω₀ がマイナス tan φ かける tan δ、日照時間 D はその余弦の arccos に 24 を π で割ったものを掛けた値で、度で表した時角の十五分の二にも等しいです。
tan φ tan δ の絶対値が 1 以上のとき、arccos は実数直線上で未定義です。太陽は沈まない(白夜、24 時間)か、昇らない(極夜、0 時間)です。モデルは大気差、有限の太陽視直径、均時差を無視するので、0.833 度の伏角を使う常用出没表とは数分ずれます。
ここでの恒等式は赤緯モデルとともに教える閉じた形の幾何学的日長です。経路が純浮動小数点演算だからです。
日照時間が役立つ場面と極地での結果
温室、ブドウ園の管理者、屋外行事の計画者は、暦日と敷地の緯度が既に分かっており、暦表スタックを立てずに季節の光周期が欲しいときに日照時間計算機を使います。建築家とエネルギーモデル担当は、典型気象年ファイルへ進む前に北緯 40 度や 50 度の冬の日照をスケッチし、ガラス面積と照明負荷を見積もります。
船員と高緯度の現地班は、北緯 70 度の夏の一日が通常の出没対のままか、すでに白夜へ入ったかを確認します。教室と試験準備の生成器は、赤道の十二時間と、マイナス 90 からプラス 90 の外の緯度の拒否の両方を採点できるよう、幾何学的恒等式の決定的な神託を必要とします。
米国の夏時間開始日でも、時間帯と経度付きの常用薄明や出没時計でも、正午の太陽高度の求解でも、太陽質量やパネルワット数の換算でもありません。通日と緯度があり、幾何学的な日照の時間だけが必要なときにこの能力を選んでください。
活用例
栽培と行事のための季節光周期
温室、ブドウ園、屋外行事の担当は、暦表ライブラリを入れずに暦日と敷地緯度を日照時間へ換えます。
建築と昼光のスケッチ
初期のエネルギーモデルは、典型気象年ファイルが揃う前に、設計緯度での冬と夏の日長を知り、ガラスと照明を寸法取りします。
よくある質問
日照時間計算機は通日と緯度から長さをどう求めますか?
太陽赤緯を δ=23.45·cos(2π/365·(N−172)) で近似し、D=(24/π)·arccos(−tan(φ)·tan(δ)) を評価します。整数 day(1–366)と度の lat を送ってください。
緯度が −90 から 90 度の外だとどうなりますか?
極を超える緯度はこのモデルの地理位置ではなく、要求は課金されません。
赤道では毎日十二時間の日照になるのはなぜですか?
lat 0 では tan(φ) が零なので、日の出時角は 90 度、幾何モデルでは D がちょうど 12 時間になり、赤緯には依りません。
極地の近くでは計算結果はどうなりますか?
太陽が沈まない白夜では24時間、太陽が昇らない極夜では0時間を返します。北緯70度の調査チームも、夏のある日にまだ日没があるかどうかを確かめられます。
地元の日の出の表と数分ずれるのはなぜですか?
公表されている表の多くは、空気による光の屈折や太陽の円盤の大きさを考慮しています。この計算は太陽の中心が平らな地平線の上にある時間を求めるため、数分の差が出ることがあります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/phys/daylight \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"day":172,"lat":40}'const res = await fetch("https://api.kit.forhosting.com/phys/daylight", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"day": 172,
"lat": 40
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/phys/daylight",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"day": 172,
"lat": 40
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/phys/daylight", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"day":172,"lat":40}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"day":172,"lat":40}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/phys/daylight", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"day": 172,
"lat": 40
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "phys.daylight",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
マイナス九十度からプラス九十度までの閉区間の外の緯度は、折り返しや虚数の結果ではなく invalid_input で拒まれます。
太陽赤緯、時角、日照時間が決まるしくみ
同じ入力は常に同じ JSON を返します。
入力契約、応答の形、緯度範囲の誤り
day 1 は 1 月 1 日、day 172 は北半球の夏至付近、366 は閏日を 367 番目の回帰年標本を作らずに扱うために許されます。極を超えると緯度の正接は定義されず、91 度を余緯度へ折り返すと別地点の日照を黙って計算してしまうからです。欠落した day、非整数の day、day 0、day 367 も同様に拒まれます。例:day 172 と lat 0 はちょうど十二時間です。赤道の tan が零で、零の arccos が直角だからです。検証失敗は前払い残高を消費しません。必須の有限数を二つ入れた JSON 本体を送ってください。day は通日の整数で 1 から 366 まで(別名 day_of_year、doy、n、N)、lat は観測者緯度で十進度のマイナス 90 からプラス 90 まで(別名 latitude、phi、latitude_deg)です。各欄は JSON の数でも数字の文字列でもよく、論理値、空文字、非有限値は欄名付きの invalid_input で失敗します。lat がマイナス 90 からプラス 90 度の閉区間の外なら、タスクは invalid_input で失敗し課金されません。成功時は本体が day と lat をエコーし、余弦モデルの declination_deg、主結果の日照時間 daylight_hours、その別名 result、日の出時角 hour_angle_deg(極夜は 0、白夜は 180)、regime(normal、midnight_sun、polar_night)、どの近似が時間を出したかを記録するための formula と method を返します。料金は成功した要求ごとに単位 item の定額 $0.002 です。
日照時間 API の利用者、極域の場合、このページが扱わないもの
北の緯度で day 172 を送ると現地の最大、day 355 で現地の最小、夏の日に lat 90 を送ると 24 時間と regime midnight_sun、冬の日なら 0 時間と polar_night が読めます。このページは日照時間計算機、日付と緯度からの日照の長さ、太陽赤緯モデルからの光周期を探す人向けです。実装は純粋な parse の tier A なので、成功した呼び出しは公表の基本料金 $0.002 で、モデルのトークンも外向きのネットワークもありません。
連携の活用例
教室と極域レジームの確認
学生と採点者は、赤道の十二時間の恒等式、白夜と極夜のクランプ、緯度が −90 から 90 度の外のときの invalid_input を確かめます。
技術的な質問
白夜と極夜は扱いますか。
扱います。|tan(φ) tan(δ)| ≥ 1 のとき実数の日の出時角はなく、daylight_hours は regime midnight_sun で 24、または regime polar_night で 0 です。
この日照時間計算機の料金はいくらですか。
ブラウザの道具は無料です。API 要求は成功した呼び出しごとに前払い KIT 残高から $0.002 です。無効な入力は課金されません。