Hava Toplulaştırma

Hava Toplulaştırma

Hava Durumu Hesaplama Tarım Kredi / istek: 3

Bir tarih aralığında seçilen metrik için toplam / ortalama / min / max veya eşiği aşan gün sayısı.

GET https://api.apikodu.com/api/v1/weather/aggregate
Dokümantasyon
Genel bakış

Bir tarih aralığında seçilen metrik için toplam / ortalama / min / max, veya bir eşiği karşılaştırıcıya göre aşan gün sayısı (op=count).

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/weather/aggregate?latitude=39.92&longitude=32.87&fromDate=2026-06-01&toDate=2026-06-30&metric=precip&op=sum
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.
fromDate string * Zorunlu 2026-06-01 — Başlangıç YYYY-MM-DD. Aralık ≤ 366 gün.
toDate string * Zorunlu 2026-06-30 — Bitiş YYYY-MM-DD. En fazla dün (UTC): toplamlar yalnız gözlenmiş günlerden.
metric string * Zorunlu precip temp tmin tmax precip snow wind humidity et0 temp, tmin, tmax, precip, snow, wind, humidity, et0.
op string * Zorunlu sum sum mean min max count sum, mean, min, max, count. count için threshold gerekir.
threshold number Opsiyonel — — Eşik. Yalnızca op=count için.
comparator string Opsiyonel gt gt gte lt lte gt, gte, lt, lte. Varsayılan gt. Yalnızca op=count için.
Yanıt
Ad Tip Açıklama
metric string Kullanılan metrik.
op string Kullanılan işlem.
threshold number op=count ise eşik, değilse null.
comparator string op=count ise karşılaştırıcı, değilse null.
fromDate string Pencere başlangıç.
toDate string Pencere bitiş.
daysTotal integer Penceredeki takvim günü sayısı.
daysWithData integer Metriğin hesaplanabildiği gün sayısı.
missingCount integer Verisi olmayan gün sayısı.
value number sum/mean/min/max sonucu. op=count ise null.
count integer op=count ise eşiği aşan gün sayısı. değilse null.
unit string Sonuç birimi (°C, mm, km/h, %). op=count ise days.
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,
    "metric": "precip",
    "op": "sum",
    "threshold": null,
    "comparator": null,
    "fromDate": "2026-06-01",
    "toDate": "2026-06-30",
    "daysTotal": 30,
    "daysWithData": 30,
    "missingCount": 0,
    "value": 41.7,
    "count": null,
    "unit": "mm",
    "sources": [
      "open-meteo"
    ],
    "disclaimer": "Weather data aggregated 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/weather/aggregate', {
        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/weather/aggregate', 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/weather/aggregate");
      Console.WriteLine(response);
  
  
      $response = file_get_contents('https://api.apikodu.com/api/v1/weather/aggregate', 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/weather/aggregate' \
        -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