Locations v1 / Meteo
Normale climatice
Normalele climatice lunare: media multianuală a fiecărei luni pentru o staţie ori pentru punctul cel mai apropiat de coordonatele date. Referinţa faţă de care se spune „a fost o lună caldă".
GET
https://oneapi.ro/api/locations/v1/meteo/normale
Parametri de interogare
NumeTipDescriereValori acceptate
sirutaopțional
integer | null
Codul SIRUTA al locului. Exclusiv cu
lat+lng și cu statie.
1
latopțional
number | null
Latitudinea punctului (cu
lng).
43 – 49
lngopțional
number | null
Longitudinea punctului (cu
lat).
20 – 30
statieopțional
string | null
Codul WSI, dacă vrei o stație anume în loc de cea mai apropiată.
max 32 car.
de_la_anulopțional
integer | null
Primul an al perioadei de referință (implicit 1991).
1850 – 2100
la_anulopțional
integer | null
Ultimul an al perioadei de referință (implicit 2020).
1850 – 2100
Cum se comportă
- Implicit se folosește perioada standard OMM 1991–2020, ca cifrele să fie comparabile cu literatura climatică. Când o schimbi,
perioada.standarddevinenull— semn că rezultatul nu mai e o normală standard. - Dacă dai un loc, alegem cea mai apropiată stație CU DATE și spunem în
statie.distanta_kmși înreprezentativitatecât de bună e aproximarea. Peste 35 km, marcăm explicit că reprezentativitatea e slabă. - Mediile ignoră zilele nemăsurate.
zile_cu_temperaturaspune pe câte zile se sprijină fiecare lună — o lună cu trei măsurători arată la fel de netedă ca una completă dacă nu te uiți acolo.
La ce folosește
- Dimensionezi o instalație pornind de la temperatura medie a lunii celei mai reci.
- Scrii secțiunea de climă dintr-un studiu de fezabilitate, cu perioada standard OMM.
- Compari clima a două locuri pe aceeași perioadă de referință.
Structura răspunsului
CâmpTipDescriere
data.punct
object
Punctul cerut;
null dacă ai cerut o stație direct.
data.punct.lat
number
Latitudinea, în grade zecimale (WGS 84).
data.punct.lng
number
Longitudinea, în grade zecimale (WGS 84).
data.punct.sursa
string
data.punct.cod_siruta
integer
Codul SIRUTA al unităţii teritoriale.
data.punct.nume
string
Numele, aşa cum îl publică sursa.
data.punct.nivel
string
Nivelul din ierarhia clasificării — cu cât e mai adânc, cu atât e mai detaliat.
data.statie
object
Stația pe care se sprijină răspunsul, cu
distanta_km când a fost aleasă de noi.
data.statie.wsi
string
Identificatorul OMM al stației.
data.statie.nume
string
Numele, aşa cum îl publică sursa.
data.statie.latitudine
number
Latitudinea, în grade zecimale (WGS 84).
data.statie.longitudine
number
Longitudinea, în grade zecimale (WGS 84).
data.statie.fara_catalog
boolean
true dacă stația are serie dar nu și fișă de catalog (fără nume, fără coordonate, invizibilă în căutările geografice).
data.statie.localitate.cod_siruta
integer
Codul SIRUTA al unităţii teritoriale.
data.statie.localitate.nume
string
Numele, aşa cum îl publică sursa.
data.statie.judet
string
Judeţul la care se referă valoarea.
data.statie.judet_cod
string
Codul judeţului, două litere.
data.statie.primul_an
integer
Primul an cu măsurători.
data.statie.ultimul_an
integer
Ultimul an cu măsurători.
data.statie.zile_cu_date
integer
Câte zile măsurate are stația în total.
data.statie.parametri
array
Codurile parametrilor publicați:
ta/tn/tx temperaturi, r precipitații, ff vânt, p presiune la nivelul mării.
data.statie.distanta_km
number
Distanţa în kilometri, în linie dreaptă.
data.perioada
object
Intervalul de ani folosit și, dacă e cazul, eticheta
OMM 1991–2020.
data.perioada.de_la_anul
integer
data.perioada.la_anul
integer
data.perioada.standard
string
data.normale[].luna
integer
Luna, 1–12.
data.normale[].temp_medie
number
Temperatura medie a lunii, °C.
data.normale[].temp_minima_medie
number
Media minimelor zilnice, °C — nu minima absolută.
data.normale[].temp_maxima_medie
number
Media maximelor zilnice, °C.
data.normale[].temp_minima_absoluta
number
Cea mai scăzută temperatură înregistrată în luna aia, pe toată perioada.
data.normale[].temp_maxima_absoluta
number
Cea mai ridicată temperatură înregistrată în luna aia, pe toată perioada.
data.normale[].precipitatii_lunare_medii_mm
number
Cantitatea medie de precipitații a lunii, mm.
data.normale[].zile
integer
Câte zile din perioadă au vreun fel de măsurătoare.
data.normale[].zile_cu_temperatura
integer
Pe câte zile se sprijină mediile de temperatură.
data.observatie
string
Precizare despre cum se citeşte răspunsul: o convenţie de calcul sau o limită a datelor.
data.reprezentativitate
object
Cât de bine descrie stația locul cerut: sursa alegerii, distanța și, la nevoie, avertismentul explicit.
data.reprezentativitate.sursa
string
data.reprezentativitate.distanta_km
number
Distanţa în kilometri, în linie dreaptă.
data.reprezentativitate.buna
boolean
data.reprezentativitate.observatie
string
Precizare despre cum se citeşte valoarea de alături.
data.sursa
object
Sursa datelor: Administrația Națională de Meteorologie, seria zilnică oficială, licență CC-BY-4.0. Conține și data ultimei importări.
data.sursa.nume
string
Denumirea sursei oficiale.
data.sursa.url
string
Adresa publică a sursei.
data.sursa.licenta
string
Licenţa sub care sursa permite reutilizarea.
meta.distanta.metoda
string
Mereu
linie_dreapta: distanţa geodezică pe suprafaţa Pământului, nu pe drum.
meta.distanta.detaliu
string
Aceeaşi informaţie, în cuvinte.
Exemple de răspuns
GEThttps://oneapi.ro/api/locations/v1/meteo/normale?siruta=54975
{
"data": {
"punct": {
"lat": 46.775869737866465,
"lng": 23.60115997499754,
"sursa": "siruta",
"cod_siruta": 54975,
"nume": "Cluj-Napoca",
"nivel": "uat_centroid"
},
"statie": {
"wsi": "0-20000-0-15120",
"nume": "Cluj-Napoca",
"latitudine": 46.777778,
"longitudine": 23.571389,
"fara_catalog": false,
"localitate": {
"cod_siruta": 54975,
"nume": "Cluj-Napoca"
},
"judet": "Cluj",
"judet_cod": "CJ",
"primul_an": 1921,
"ultimul_an": 2026,
"zile_cu_date": 38525,
"parametri": [
"ff",
"p",
"r",
"ta",
"tn",
"tx"
],
"distanta_km": 2.3
},
"perioada": {
"de_la_anul": 1991,
"la_anul": 2020,
"standard": "OMM 1991–2020"
},
"normale": [
{
"luna": 1,
"temp_medie": -2.5,
"temp_minima_medie": -5.2,
"temp_maxima_medie": 0.9,
"temp_minima_absoluta": -19.9,
"temp_maxima_absoluta": 14.1,
"precipitatii_lunare_medii_mm": 27.3,
"zile": 930,
"zile_cu_temperatura": 930
}
],
"observatie": "Mediile ignoră zilele nemăsurate — `zile_cu_temperatura` spune pe câte zile se sprijină fiecare lună. O lună cu trei măsurători apare la fel de „netedă\" ca una completă dacă nu te uiți acolo.",
"reprezentativitate": {
"sursa": "cea_mai_apropiata_statie",
"distanta_km": 2.3,
"buna": true,
"observatie": "Stația e suficient de aproape pentru o estimare rezonabilă a climei locului."
},
"sursa": {
"nume": "Administrația Națională de Meteorologie (ANM) — date climatologice zilnice, controlate calitativ",
"url": "https://odp.meteoromania.ro/",
"licenta": "CC BY 4.0, cu indicarea sursei."
}
},
"meta": {
"distanta": {
"metoda": "linie_dreapta",
"detaliu": "Distanţele sunt geodezice, în linie dreaptă pe suprafaţa Pământului (WGS84) — nu pe drum."
}
}
}
GEThttps://oneapi.ro/api/locations/v1/meteo/normale?statie=0-20000-0-15120
{
"data": {
"punct": {
"lat": 46.775869737866465,
"lng": 23.60115997499754,
"sursa": "siruta",
"cod_siruta": 54975,
"nume": "Cluj-Napoca",
"nivel": "uat_centroid"
},
"statie": {
"wsi": "0-20000-0-15120",
"nume": "Cluj-Napoca",
"latitudine": 46.777778,
"longitudine": 23.571389,
"fara_catalog": false,
"localitate": {
"cod_siruta": 54975,
"nume": "Cluj-Napoca"
},
"judet": "Cluj",
"judet_cod": "CJ",
"primul_an": 1921,
"ultimul_an": 2026,
"zile_cu_date": 38525,
"parametri": [
"ff",
"p",
"r",
"ta",
"tn",
"tx"
],
"distanta_km": 2.3
},
"perioada": {
"de_la_anul": 1991,
"la_anul": 2020,
"standard": "OMM 1991–2020"
},
"normale": [
{
"luna": 1,
"temp_medie": -2.5,
"temp_minima_medie": -5.2,
"temp_maxima_medie": 0.9,
"temp_minima_absoluta": -19.9,
"temp_maxima_absoluta": 14.1,
"precipitatii_lunare_medii_mm": 27.3,
"zile": 930,
"zile_cu_temperatura": 930
}
],
"observatie": "Mediile ignoră zilele nemăsurate — `zile_cu_temperatura` spune pe câte zile se sprijină fiecare lună. O lună cu trei măsurători apare la fel de „netedă\" ca una completă dacă nu te uiți acolo.",
"reprezentativitate": {
"sursa": "cea_mai_apropiata_statie",
"distanta_km": 2.3,
"buna": true,
"observatie": "Stația e suficient de aproape pentru o estimare rezonabilă a climei locului."
},
"sursa": {
"nume": "Administrația Națională de Meteorologie (ANM) — date climatologice zilnice, controlate calitativ",
"url": "https://odp.meteoromania.ro/",
"licenta": "CC BY 4.0, cu indicarea sursei."
}
},
"meta": {
"distanta": {
"metoda": "linie_dreapta",
"detaliu": "Distanţele sunt geodezice, în linie dreaptă pe suprafaţa Pământului (WGS84) — nu pe drum."
}
}
}
GEThttps://oneapi.ro/api/locations/v1/meteo/normale?statie=0-20000-0-15208
{
"data": {
"punct": null,
"statie": {
"wsi": "0-20000-0-15208",
"nume": "Alba Iulia",
"latitudine": 46.063911,
"longitudine": 23.563402,
"fara_catalog": false,
"localitate": {
"cod_siruta": 1017,
"nume": "Alba Iulia"
},
"judet": "Alba",
"judet_cod": "AB",
"primul_an": 1881,
"ultimul_an": 2026,
"zile_cu_date": 43155,
"parametri": [
"ff",
"p",
"r",
"ta",
"tn",
"tx"
]
},
"perioada": {
"de_la_anul": 1991,
"la_anul": 2020,
"standard": "OMM 1991–2020"
},
"normale": [
{
"luna": 1,
"temp_medie": -1.6,
"temp_minima_medie": -4.5,
"temp_maxima_medie": 2.2,
"temp_minima_absoluta": -22.4,
"temp_maxima_absoluta": 15.1,
"precipitatii_lunare_medii_mm": 22.7,
"zile": 930,
"zile_cu_temperatura": 930
}
],
"observatie": "Mediile ignoră zilele nemăsurate — `zile_cu_temperatura` spune pe câte zile se sprijină fiecare lună. O lună cu trei măsurători apare la fel de „netedă\" ca una completă dacă nu te uiți acolo.",
"reprezentativitate": {
"sursa": "statie_ceruta",
"observatie": "Ai cerut stația explicit; nu se aplică nicio aproximare geografică."
},
"sursa": {
"nume": "Administrația Națională de Meteorologie (ANM) — date climatologice zilnice, controlate calitativ",
"url": "https://odp.meteoromania.ro/",
"licenta": "CC BY 4.0, cu indicarea sursei."
}
}
}
Coduri de eroare
| Cod | Slug | Când apare |
|---|---|---|
| 401 | neautentificat | Token lipsă, invalid, expirat sau revocat. |
| 403 | feature_indisponibil | Planul curent nu include funcţia de care ţine ruta. |
| 404 | negasit | Trei cauze distincte, pe care mesajul le separă: stație inexistentă, loc fără coordonate în nomenclator, sau nicio stație cu serie zilnică importată. |
| 422 | validare | Niciun loc dat, sau două forme deodată. |
| 429 | cota_depasita | Cota lunară a planului a fost depăşită (vezi Retry-After). |
Toate erorile au aceeași formă. eroare.cod e stabil și e cel după care trebuie să ramifici în cod — nu după textul din mesaj, care se poate schimba.
{
"eroare": {
"cod": "validare",
"mesaj": "Niciun loc dat, sau două forme deodată.",
"detalii": {
"siruta": [
"Valoarea trimisă nu respectă regula parametrului."
]
}
}
}