İklim Normalleri
Hava Durumu Tarım Kredi / istek: 5Bir nokta için çok yıllık aylık ortalamalar: sıcaklık, toplam yağış, yağışlı/donlu gün, GDD ve ET0. Weather data © Open-Meteo / OpenWeather / MET Norway.
GET
https://api.apikodu.com/api/v1/climate/normals
Dokümantasyon
Genel bakış
Bir nokta için çok yıllık aylık normaller: sıcaklık ortalamaları, aylık toplam yağış, yağışlı/donlu gün sayısı, GDD (taban 10 °C) ve ET0. Değerler çevre 4 hücreden interpolasyonla üretilir. Weather data © Copernicus ERA5 / ERA5-Land (contains modified Copernicus Climate Change Service information) / Open-Meteo / OpenWeather / MET Norway.
Kimlik doğrulama
Her istekte x-api-key başlığı zorunludur. Kullanılan kredi ve kalan kota yanıt başlıklarında (x-api-credits-used, x-api-remaining-credits, x-rate-limit-*) döner.
İstek
GET
https://api.apikodu.com/api/v1/climate/normals?latitude=39.92&longitude=32.87
GET query.
Parametreler
| Ad | Tip | Zorunlu | Varsayılan | Seçenekler | Açıklama |
|---|---|---|---|---|---|
latitude |
number | * Zorunlu | — | — | Nokta enlemi -90..90. |
longitude |
number | * Zorunlu | — | — | Nokta boylamı -180..180. |
month |
integer | Opsiyonel | — | — | 1–12. Boşsa 12 ayın tamamı döner. |
years |
integer | Opsiyonel | 2 |
— | Ortalama için geriye kaç yıl. Varsayılan 2; saklanan geçmiş en fazla 730 gün olduğundan daha büyük değer bu süreyle sınırlanır. |
Yanıt
| Ad | Tip | Açıklama |
|---|---|---|
sampleFrom |
string | Örneklem başlangıç YYYY-MM-DD. |
sampleTo |
string | Örneklem bitiş YYYY-MM-DD. |
gddBaseC |
integer | GDD taban sıcaklığı °C (10). |
months |
array | İstenen aylar için normaller. |
months[].month |
integer | Ay 1–12. |
months[].tminMeanC |
number | Ortalama günlük minimum sıcaklık °C. |
months[].tmaxMeanC |
number | Ortalama günlük maksimum sıcaklık °C. |
months[].tmeanMeanC |
number | Ortalama günlük ortalama sıcaklık °C. |
months[].precipTotalMeanMm |
number | Yıllar arası ortalama aylık toplam yağış mm. |
months[].rainyDaysMean |
number | Ortalama yağışlı gün sayısı (≥1 mm). |
months[].frostDaysMean |
number | Ortalama donlu gün sayısı (tmin ≤ 0 °C). |
months[].gddMean |
number | Yıllar arası ortalama aylık GDD toplamı (taban 10, tavan 30). |
months[].et0TotalMeanMm |
number | Yıllar arası ortalama aylık ET0 toplamı mm. |
months[].sampleYears |
integer | O ayda veri bulunan yıl sayısı. |
gridLatitude |
number | İsteği çevreleyen 0.1° grid köşesinin enlemi (interpolasyon referansı). |
gridLongitude |
number | 0.1° grid köşesinin boylamı. |
gridInterpolated |
boolean | true: değerler çevre 4 hücreden bilineer harmanlandı. false: tek hücre. |
sources |
array | Yanıta katkı veren veri kaynakları: copernicus-era5-land, open-meteo, openweather, met-norway. Geçmiş günlerde (yaklaşık bir haftadan eski) Copernicus ERA5 / ERA5-Land önceliklidir; UV, yağış olasılığı ve yağışlı saat / günlerin hava kodu ERA5-Land değişkenlerinden türetilir, rüzgâr hamlesi ERA5'ten (0,25°) gelir; bulut oranı ve yağışsız hava kodu varsa diğer kaynaklardan tamamlanır. Kıyı / deniz noktalarında ERA5-Land değerleri en yakın kara ızgara noktasından alınır. |
disclaimer |
string | Karar destek uyarısı ve kaynak atfı. |
Hatalar
| HTTP | code | Açıklama |
|---|---|---|
400 |
-257 |
latitude/longitude yok veya aralık dışında (enlem -90..90, boylam -180..180). |
400 |
-258 |
fromDate/toDate YYYY-MM-DD değil, aralık 366 günü aşıyor, ya da son 2 yıl / dünden sonrası isteniyor. |
400 |
-259 |
granularity/days/hours/metric/op/comparator geçersiz. |
429 |
-316 |
Firmanın günlük yeni konum (hücre) limiti (50) doldu. Daha önce sorgulanan konumlar çalışmaya devam eder; yeni konum ertesi gün (UTC). Retry-After başlığı gün sonuna kalan saniye. |
503 |
-261 |
Bu konum için henüz saklı veri yok. Hücreler oluşturuldu, toplayıcı dolduruyor. Kısa süre sonra tekrar dene. |
401 |
-100 |
x-api-key yok, boş, prefix/uzunluk hatalı, pasif, yasaklı, süresi dolmuş, IP kısıtına takıldı veya bu API anahtara izinli değil. |
429 |
-221 |
Dakikalık istek limiti aşıldı. Yanıt başlıkları: x-rate-limit-limit, x-rate-limit-remaining, x-rate-limit-reset. |
429 |
— | Paket kredi kotası bu isteğin kredisini karşılamıyor. Gövde { error, limit, currentUsage, requestCost } olabilir (code alanı yok). |
500 |
-1 |
Beklenmeyen sunucu hatası. message genel bir hata metnidir; teknik ayrıntı içermez. |
Notlar
- Başarılı gövde { data: { ... } } şeklindedir. Hata gövdesi { code, message } şeklindedir. code alanı ApiResponseCode enum değeridir (negatif tam sayı).
Örnek yanıt
{
"data": {
"gridLatitude": 39.90,
"gridLongitude": 32.90,
"gridInterpolated": true,
"sampleFrom": "2024-08-31",
"sampleTo": "2026-08-29",
"gddBaseC": 10,
"months": [
{
"month": 6,
"tminMeanC": 14.6,
"tmaxMeanC": 28.7,
"tmeanMeanC": 21.7,
"precipTotalMeanMm": 33.5,
"rainyDaysMean": 4.5,
"frostDaysMean": 0.0,
"gddMean": 351.2,
"et0TotalMeanMm": 168.4,
"sampleYears": 2
},
{
"month": 7,
"tminMeanC": 17.1,
"tmaxMeanC": 32.4,
"tmeanMeanC": 24.8,
"precipTotalMeanMm": 9.0,
"rainyDaysMean": 1.0,
"frostDaysMean": 0.0,
"gddMean": 458.6,
"et0TotalMeanMm": 195.2,
"sampleYears": 2
}
],
"sources": [
"open-meteo"
],
"disclaimer": "Multi-year monthly averages from Copernicus ERA5 / ERA5-Land, Open-Meteo, OpenWeather and MET Norway. Contains modified Copernicus Climate Change Service information. Decision support only."
}
}
Kod örnekleri
const response = await fetch('https://api.apikodu.com/api/v1/climate/normals', {
method: 'GET',
headers: {
'x-api-key': 'YOUR_API_KEY'
}
});
const data = await response.json();
console.log(data);
import requests
headers = {
'x-api-key': 'YOUR_API_KEY'
}
response = requests.get('https://api.apikodu.com/api/v1/climate/normals', headers=headers)
print(response.json())
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("x-api-key", "YOUR_API_KEY");
var response = await client.GetStringAsync("https://api.apikodu.com/api/v1/climate/normals");
Console.WriteLine(response);
$response = file_get_contents('https://api.apikodu.com/api/v1/climate/normals', false, stream_context_create([
'http' => [
'header' => "x-api-key: YOUR_API_KEY"
]
]));
print_r(json_decode($response, true));
curl -X GET 'https://api.apikodu.com/api/v1/climate/normals' \
-H 'x-api-key: YOUR_API_KEY'
Hemen denemeye başlayın
Ücretsiz hesap açın, API anahtarınızı alın ve ilk isteğinizi dakikalar içinde gönderin.