Liigu edasi põhisisu juurde

Üldinfo 

Keskkonna ja ilma valdkonna andmeteenusete keskkond on loodud avaandmete direktiivist tulevnevate väärtuslike andmestikele esitatavate nõuete täitmiseks ning sisaldab keskkonna ja ilma valdkonna andmeteenuseid. Andmeteenuste väljundvorminguks on json ja andmed on mõeldud tarbimiseks peamiselt masin-masin liidese kaudu. Keskkond on aktiivses arenduses ja täieneb jooksvalt väärtuslike andmestikega.

NB! seoses jõudluse probleemide  ja mahupiirangutega tuleb f_kliima päringutes kasutada  päeva, tunni ja minuti päringutes filtreid nagu on allolevates näidetes.

 

Teenuse vaatamiseks internetilehitsejaga inimsõbralikus vormis on soovituslik lisada Chrome-ile laiendus JSON Formatter või kasutata Mozilla Firefox-i või MS EDGE-i.

OpenAPI definitsioon:

JuurURL https://keskkonnaandmed.envir.ee annab OpenAPI formaadis teenuse kirjelduse.

Kliima andmete jaoks leia sektsioonist "definitions" prefiksiga "f_kliima_" algavad teenused (nt metaandmete teenused f_kliima_element ja  f_kliima_jaam_vaatlus, või perioodi pikkusega mõõtmisi väljastavad teenused f_kliima_kuu, f_kliima_paev, f_kliima_tund, f_kliima_minut)

Hüdroloogilise seire jaoks leia sektsioonist "definitions" teenus nimega "f_hydroseire".

 

Teenuse f_kliima_paev tarvitamise näide 

Ilma lisaargumentideta võib kasutada ainult metaandmeid andvaid teenuseid. Mõõtetulemuste andmete jaoks tuleb ALATI piirata päringut filtritega. Näiteks ajaga (küsides konkreetse aasta ja kuu andmeid).

Brauserist (aadressiribale)

https://keskkonnaandmed.envir.ee/f_kliima_paev?aasta=eq.2023&kuu=gt.10&paev=lt.8&element_kood=eq.DRH08&jaam_kood=in.(AJRUHN01,AJKIHN01)

https://keskkonnaandmed.envir.ee/f_kliima_paev?jaam_nimi=like.V%C3%B5ru&aasta=eq.2006&element_kood=like.DTA08&order=kuu.asc,paev.asc

ENG:

https://keskkonnaandmed.envir.ee/f_kliima_paev?aasta=eq.2023&kuu=gt.10&paev=lt.8&element_kood=eq.DRH08&jaam_kood=in.(AJRUHN01,AJKIHN01)&select=station_code:jaam_kood,station_name:jaam_nimi,year:aasta,month:kuu,day:paev,value:vaartus,element_code:element_kood,timestamp:avaandmed_ts

Ülaltoodud näites on nõutud ("equal" abil) täpset aastat (2023), ("greater then" abil) kahte kuud aasta lõpust (11 ja 12), ("lesser then" abil) 7 päeva kuu algusest, ühte elementi (DRH08) kahes jaamas (Ruhnu ja Kihnu). 

Loe lisaks: https://postgrest.org/en/stable/api.html#horizontal-filtering-rows

 

Curl (ja muud programeeritavad vahendid)

curl "https://keskkonnaandmed.envir.ee/f_kliima_paev?aasta=eq.2023&kuu=gt.10&paev=lt.8&element_kood=eq.DRH08&jaam_kood=in.(AJRUHN01,AJKIHN01)" -H "Accept-Profile: apijahialad" -H "Accept: application/json"

Arendajal (API tarbijal) võtta kasutusse HTTP päis "Accept-Profile: apijahialad" (See "apijahialad" on andmebaasi-skeem, mida läbi API avalikustataks). Kui tulevikus avalikustatakse mitut skeemi, siis pole määratud, mida API annab ja see võib olla eksitav. Tulevased konfiguratsiooni muudatused ja arendused võivad seda veelgi segada ning seega peaks tarbija selle päise abil soorituse enda suunas ära tagama). Loe lisaks: https://postgrest.org/en/stable/api.html#switching-schemas

Täiendavalt on hea kasutustava kohaselt lisada soovitud vastuse formaat (JSON) ehk header "Accept: application/json". On ka teisi formaate (csv), aga need on piiratud juhtude jaoks. Loe lisaks: https://postgrest.org/en/stable/api.html#response-format. JSONi etteandmine on meede tulevikukindluse jaoks.

 

Tulemus

[

  {

    "jaam_kood""AJKIHN01",

    "jaam_nimi""Kihnu",

    "aasta"2023,

    "kuu"12,

    "paev"1,

    "vaartus"93,

    "element_kood""DRH08",

    "element_nimi""Relative humidity (daily avg)",

    "element_yhik""%",

    "avaandmed_ts""2023-12-08T12:29:17.766171+02:00"

  },

  {

    "jaam_kood""AJRUHN01",

    "jaam_nimi""Ruhnu",

    "aasta"2023,

    "kuu"12,

    "paev"1,

    "vaartus"83,

    "element_kood""DRH08",

    "element_nimi""Relative humidity (daily avg)",

    "element_yhik""%",

    "avaandmed_ts""2023-12-08T12:29:17.767031+02:00"

  },

  {

    "jaam_kood""AJKIHN01",

    "jaam_nimi""Kihnu",

    "aasta"2023,

    "kuu"12,

    "paev"2,

    "vaartus"89,

    "element_kood""DRH08",

    "element_nimi""Relative humidity (daily avg)",

    "element_yhik""%",

    "avaandmed_ts""2023-12-08T12:29:18.400034+02:00"

  },

  {

    "jaam_kood""AJRUHN01",

    "jaam_nimi""Ruhnu",

    "aasta"2023,

    "kuu"12,

    "paev"2,

    "vaartus"76,

    "element_kood""DRH08",

    "element_nimi""Relative humidity (daily avg)",

    "element_yhik""%",

    "avaandmed_ts""2023-12-08T12:29:18.400912+02:00"

  },

  {

    "jaam_kood""AJKIHN01",

    "jaam_nimi""Kihnu",

    "aasta"2023,

    "kuu"12,

    "paev"3,

    "vaartus"84,

    "element_kood""DRH08",

    "element_nimi""Relative humidity (daily avg)",

    "element_yhik""%",

    "avaandmed_ts""2023-12-08T12:29:19.005902+02:00"

  }

]

 

Teenuse f_hydroseire tarvitamise näide 

Ilma lisaargumentideta võib kasutada ainult metaandmeid andvaid teenuseid. Mõõtetulemuste andmete jaoks tuleb ALATI piirata päringut filtritega. Näiteks ajaga (küsides konkreetse aasta ja kuu andmeid).

NB! Hetkel esineb probleeme f_hydroseire andmeteenuse kasutamisel, oleme veast teadlikud ja parandame vea esimesel võimalusel.

Brauserist (aadressiribale)

https://keskkonnaandmed.envir.ee/f_hydroseire?timeline_ts_utc=lt.2023-01-02T03:00:00&timeline_ts_utc=gt.2023-01-01T23:00:00&aegrida_nimi=eq.WL%20min

Ülaltoodud näites on nõutud ("equal" abil) täpset aegrea nime ("WL min") ja ("greater then" ja "lesser then" abil) ajalõiku

Loe lisaks: https://postgrest.org/en/stable/api.html#horizontal-filtering-rows

 

Curl (ja muud programeeritavad vahendid)

curl "https://keskkonnaandmed.envir.ee/f_hydroseire?timeline_ts_utc=lt.2023-01-02T03:00:00&timeline_ts_utc=gt.2023-01-01T23:00:00&aegrida_nimi=eq.WL%20min" -H "Accept-Profile: apijahialad" -H "Accept: application/json"

Arendajal (API tarbijal) võtta kasutusse HTTP päis "Accept-Profile: apijahialad" (See "apijahialad" on andmebaasi-skeem, mida läbi API avalikustataks). Kui tulevikus avalikustatakse mitut skeemi, siis pole määratud, mida API annab ja see võib olla eksitav. Tulevased konfiguratsiooni muudatused ja arendused võivad seda veelgi segada ning seega peaks tarbija selle päise abil soorituse enda suunas ära tagama). Loe lisaks: https://postgrest.org/en/stable/api.html#switching-schemas

Täiendavalt on hea kasutustava kohaselt lisada soovitud vastuse formaat (JSON) ehk header "Accept: application/json". On ka teisi formaate (csv), aga need on piiratud juhtude jaoks. Loe lisaks: https://postgrest.org/en/stable/api.html#response-format. JSONi etteandmine on meede tulevikukindluse jaoks.

 

Tulemus

[{"jaam_kood":26115,"jaam_nimi":"Ristna","valgala_nimi":"---","valgala_suurus_km2":null,"kaugus_suudmest_km":null,"jaam_laiuskraad":58.920824,"jaam_pikkuskraad":22.056593,"jaam_taisnimi":"Ristna rannikumere veetasemejaam","veekogu_nimi":"Läänemeri","timeline_ts_utc":"2023-01-02T00:00:00","timeline_ts_local":"2023-01-02T02:00:00","aegrida_nimi":"WL min","vaartus":530.300},

 {"jaam_kood":26115,"jaam_nimi":"Ristna","valgala_nimi":"---","valgala_suurus_km2":null,"kaugus_suudmest_km":null,"jaam_laiuskraad":58.920824,"jaam_pikkuskraad":22.056593,"jaam_taisnimi":"Ristna rannikumere veetasemejaam","veekogu_nimi":"Läänemeri","timeline_ts_utc":"2023-01-02T01:00:00","timeline_ts_local":"2023-01-02T03:00:00","aegrida_nimi":"WL min","vaartus":529.200},

 {"jaam_kood":26115,"jaam_nimi":"Ristna","valgala_nimi":"---","valgala_suurus_km2":null,"kaugus_suudmest_km":null,"jaam_laiuskraad":58.920824,"jaam_pikkuskraad":22.056593,"jaam_taisnimi":"Ristna rannikumere veetasemejaam","veekogu_nimi":"Läänemeri","timeline_ts_utc":"2023-01-02T02:00:00","timeline_ts_local":"2023-01-02T04:00:00","aegrida_nimi":"WL min","vaartus":527.800},

 {"jaam_kood":41097,"jaam_nimi":"Pajupea","valgala_nimi":"Pirita jõgi","valgala_suurus_km2":84.0,"kaugus_suudmest_km":2.4,"jaam_laiuskraad":59.380909,"jaam_pikkuskraad":24.968918,"jaam_taisnimi":"Pajupea hüdromeetriajaam","veekogu_nimi":"Leivajõgi","timeline_ts_utc":"2023-01-02T00:00:00","timeline_ts_local":"2023-01-02T02:00:00","aegrida_nimi":"WL min","vaartus":111.100},

 {"jaam_kood":41097,"jaam_nimi":"Pajupea","valgala_nimi":"Pirita jõgi","valgala_suurus_km2":84.0,"kaugus_suudmest_km":2.4,"jaam_laiuskraad":59.380909,"jaam_pikkuskraad":24.968918,"jaam_taisnimi":"Pajupea hüdromeetriajaam","veekogu_nimi":"Leivajõgi","timeline_ts_utc":"2023-01-02T01:00:00","timeline_ts_local":"2023-01-02T03:00:00","aegrida_nimi":"WL min","vaartus":110.800},

...

 

Lisainfo 

Kõik muud võimalused (pagineerimine, valikulised veerud) on kirjas PostgREST manualis (https://postgrest.org/en/stable/api.html).

Andmeid ei saa API kaudu muuta ega kustutada (raamistik võimaldaks ja näited on juhendis toodud, aga süsteemselt määratud õigused ei luba).

Juhistes on toodud ka pöördumise autentimise võimalus, aga antud API on avalik ja JWT kasutamine pole vajalik.

Avaldatud: 01.02.2024  /  Uuendatud: 13.05.2025