ケッペン気候区分計算ツール
ケッペン気候区分計算ツールは、12か月分の月平均気温と月降水量を、Af、Cfb、BWh、ETなどのケッペン・ガイガー記号に変換します。最初に乾燥限界を判定し、その後、熱帯・温帯・冷帯・寒帯に関する気温条件と降水の季節性を調べます。夏季と冬季の6か月を正しく扱うため、該当する半球を選択してください。結果には区分名だけでなく、年平均気温、年降水量、乾燥限界などの診断値も含まれるため、記号だけでは分からない判定根拠をご確認いただけます。
無料で実行
月別平年値を暦順に準備します
月平均気温は摂氏で正確に12個、月降水量はミリメートルで正確に12個入力してください。どちらの配列も1月から12月までの順に並べます。ケッペン・ガイガー方式は特定の異常年の天候ではなく気候を表すため、数十年間から求めた平年値が最も適しています。降水量に負の値は使用できませんが、気温は0度未満でも問題ありません。北半球または南半球を指定すると、4月から9月と10月から3月が適切な夏半年・冬半年に割り当てられます。この区別は、夏季乾燥と冬季乾燥の文字、および乾燥限界に用いる降水分布に影響します。月が不足または超過した配列について、ツールが欠けた月を推測することはなく、入力エラーとして返します。数値以外や有限でない値も受け付けません。表計算ソフトから転記する場合は、降水量がセンチメートルではなくミリメートルであること、気温が日最高気温ではなく月平均であることをご確認ください。単位と暦順が揃っていることが、その後のすべての判定に不可欠です。
しきい値を判定する順序を確認します
分類は決定木に沿って進みます。乾燥度は年平均気温だけでなく、降水が夏半年、冬半年、またはどちらにも偏らないかによって変わるため、最初に乾燥気候Bを判定します。年降水量が乾燥限界の半分未満なら砂漠BW、半分以上で限界未満ならステップBSです。続いて年平均気温から高温のhまたは低温のkを付けます。乾燥気候でなく、すべての月が摂氏18度以上なら熱帯気候Aです。熱帯の降水条件から、熱帯雨林f、モンスーンm、乾季のあるwまたはsを決めます。寒帯気候Eでは摂氏10度を超える月がありません。最暖月も0度未満なら氷雪EF、それ以外はツンドラETです。残りは、最寒月が0度より高ければ温帯C、0度以下なら冷帯Dとなります。夏季乾燥、冬季乾燥、年中湿潤から2文字目を決め、最暖月と摂氏10度を超える月数から最後の文字を決めます。極端に寒い冷帯のd条件もこの段階で評価します。
結果を適切に読み取り比較します
返された記号は、入力した月別系列を再現可能な形で要約したものとしてお使いください。気候名に加え、年平均気温、年降水量、計算された乾燥限界、最寒月と最暖月の平均値が表示されるため、主な分岐を選んだ理由を確認できます。境界付近の結果には注意が必要です。平年期間、観測所の標高、欠測値の処理、格子データの補間方法が少し異なるだけで、隣接する区分へ変わる場合があります。公開されているケッペン・ガイガー地図の中には、CとDの境界にマイナス3度を用いるものもあります。本ツールは広く採用される0度境界を使用し、その選択を明示しています。地点の推定、測定値の補正、標高補正、将来予測の評価は行いません。比較時は、平年期間、空間解像度、単位、欠測処理が同じデータをご利用ください。計算は決定的であり、同じ配列と半球設定からは常に同じ結果が得られます。ブラウザーでは無料で、APIによる自動処理は1回$0.002です。
活用例
気象観測所を区分する
公開された月別平年値を、判定しきい値付きのケッペン・ガイガー記号へ変換できます。
地図上の気候区分を検証する
観測所または格子の月別値を地図の区分と比べ、境界付近の違いを調べられます。
研究処理を標準化する
同一の決定的な規則を多数の地点へ適用し、一貫した出力項目を分析に利用できます。
よくある質問
C気候とD気候を分ける気温境界は何ですか?
最寒月の摂氏0度を境界にします。ほかの条件を満たす場合、0度より高ければC、0度以下ならDです。
半球を選ぶ必要があるのはなぜですか?
夏季乾燥と冬季乾燥の規則では、反対側の6か月を比較します。半球によって夏に属する暦月が決まります。
1年分のデータも使用できますか?
計算は可能ですが、この方式は1年間の天候ではなく長期的な気候を表すため、数十年間の平年値が望ましいです。
熱帯や温帯より先に乾燥気候を判定するのはなぜですか?
ケッペン・ガイガー方式で定められた判定順序だからです。乾燥限界を満たす地点は、気温が別の群に合っていてもB群になります。
配列が12個でない場合はどうなりますか?
正確に12個の月別値が必要な配列を示す入力エラーとなり、計算は実行されません。
APIでの分類料金はいくらですか?
APIリクエスト1回につき$0.002です。同じ決定的な計算をブラウザーでは無料でご利用いただけます。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/earth/koppen-classification \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"temperatures_c":[26.5,26.8,27.1,27.3,27.1,26.6,26.2,26.3,26.5,26.7,26.6,26.4],"precipitation_mm":[220,210,240,260,250,190,170,160,180,210,230,240]}'const res = await fetch("https://api.kit.forhosting.com/earth/koppen-classification", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"temperatures_c": [
26.5,
26.8,
27.1,
27.3,
27.1,
26.6,
26.2,
26.3,
26.5,
26.7,
26.6,
26.4
],
"precipitation_mm": [
220,
210,
240,
260,
250,
190,
170,
160,
180,
210,
230,
240
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/earth/koppen-classification",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"temperatures_c": [
26.5,
26.8,
27.1,
27.3,
27.1,
26.6,
26.2,
26.3,
26.5,
26.7,
26.6,
26.4
],
"precipitation_mm": [
220,
210,
240,
260,
250,
190,
170,
160,
180,
210,
230,
240
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/earth/koppen-classification", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"temperatures_c":[26.5,26.8,27.1,27.3,27.1,26.6,26.2,26.3,26.5,26.7,26.6,26.4],"precipitation_mm":[220,210,240,260,250,190,170,160,180,210,230,240]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"temperatures_c":[26.5,26.8,27.1,27.3,27.1,26.6,26.2,26.3,26.5,26.7,26.6,26.4],"precipitation_mm":[220,210,240,260,250,190,170,160,180,210,230,240]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/earth/koppen-classification", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"temperatures_c": [
26.5,
26.8,
27.1,
27.3,
27.1,
26.6,
26.2,
26.3,
26.5,
26.7,
26.6,
26.4
],
"precipitation_mm": [
220,
210,
240,
260,
250,
190,
170,
160,
180,
210,
230,
240
]
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "earth.koppen_classification",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_items | 12 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |