İklim Normalleri

İklim Normalleri

Hava Durumu Tarım Kredi / istek: 5

Bir 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.

Ücretsiz başla