Liigu edasi põhisisu juurde

NB! Neljapäeval 05.12.2024 alates 14.00 toimub APIde uuuendused ja andmeteenused on maas 6-10 tundi. Teenuse katkestus võib mõjutada Tableau rakenduste tööd. Palume vabandust ebamugavuste pärast! 

Üldinfo

Keskkonna ja ilma valdkonna andmeteenusete keskkond on loodud avaandmete direktiivist tulenevate 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. Hetkel on valmis arendatud meteoroloogia ja hüdroloogia valdkonnas hüdroloogilise seire andmestikust tunniandmete andmeteenused ja kliimaandmestikust jaama, elemendi, kuu, ööpäeva, tunni ja 10-minuti andmeteenused. Keskkonna valdkonna andmetest on avalikustatud keskkonnaseire andmed (API täiendamisel) ja avalikustatakse Eesti looduse infosüsteemi andmed ning keskkonnakasutuse aastaaruandluse (jäätmed, välisõhk, veekasutus) andmed KOTKAS-est.

NB! Seoses jõudlusest tulenevatemahupiirangutega tuleb f_kliima päringutes kasutada päeva, tunni ja minuti päringutes filtreid nagu on allolevates näidetes. Ühe päringu mahupiirang on 20 000 rida ja kui on vaja rohkem andmeid siis tuleb kasutada pagineerimist (juhised).

Teenuse vaatamiseks internetilehitsejaga inimsõbralikus vormis on soovituslik lisada Chrome-ile laiendus JSON formatter või kasutada 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".

Keskkonnaseire jaoks leia sektsioonist "definitions" teenus nimega "f_keskkonnaseire".

EELISe andmestike on palju seega tuleb enne vaadata levitusi ja valida sobib tabel.

 

Kliima andmeteenus

Kliimaandmestike levitused sisaldavad elemente, jaamu, kuu, päeva, tunni ja 10-minuti andmeid. Näitena: teenust f_kliima_paev võib ilma lisaargumentideta kasutada ainult metaandmeid andvaid teenusete puhul. 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 than" abil) kahte kuud aasta lõpust (11 ja 12), ("lesser than" 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"

  }

]

 

Hüdroloogilise seire andmeteenus

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

NB! Hetkel on saadaval f_hydroseire teenuses paari aasta andmed, kuid plaanis on avalikustada kõik andmed ja vastavad arendustööd on teostamisel. 

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 than" ja "lesser than" 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},

...

 

Keskkonnaseire andmeteenus

Hetkel on Keskkonnaseire andmeteenuses probleeme pagineerimisega (limit ja offset), seega tuleks andmete pärimisel kindlasti kasutada filtreid.

Teenust f_keskkonnaseire võib ilma lisaargumentideta kasutada ainult metaandmeid andvaid teenusete puhul. Mõõtetulemuste andmete jaoks tuleb ALATI piirata päringut filtritega. Näiteks seiretöö, näitaja ja ajaga (küsides konkreetse seiretöö ja kuu andmeid).

NB! Hetkel on saadaval teenuses olulisemad andmed, kuid plaanis on täiendada andmekooseisu (lisandub juurde AKP andmed + kodeeringud) ja vastavad arendustööd on teostamisel. 

Brauserist (aadressiribale)

 

https://keskkonnaandmed.envir.ee/f_keskkonnaseire?seiretoo_seotud_programmi_kood_iv=eq.PR0127&seireaeg_algus=gte.2021-01-01T00:00:00&seireaeg_algus=lt.2022-01-01T00:00:00&naitaja_nimetus=in.(Kloriid,%C3%9Cldraud,Vee%20temperatuur,Elavh%C3%B5be,PAH%20summa)

 

Ülaltoodud näites on nõutud ("equal" abil) täpset seiretöö koodi alusel ("seiretoo_kood") ja ("greater than or equal" ja "lesser than" abil) ajalõiku

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

Curl (ja muud programeeritavad vahendid)

Analoogselt Meteoroloogiliste ja Hüdroloogiliste andmetega.

 

EELISe andmeteenus

Hetkel on EELISe infosüsteemi andmestike API-de loomine aktiivses arenduses, seega võib esineda andmestike ja levituste kirjelduses ebatäpsusi. Ehk võib olla rohkem avalike levitusi ja mõned avalikud levitused ei pruugi olla ajutiselt kättesaadavad.

EELISe infosüsteemi APIsid on ca 250 ja välja on toodud kahe API näited (f_rahvalad ja f_rahvalad_dok). Mõlemas tabelis on alla 20 000 rea seega pole otseselt vaja pagineerimist kasutada ja ilma filtriteta saab andmed alla laadida täies mahus, kuid see on soovituslik (Loe lisaks: https://postgrest.org/en/stable/api.html#horizontal-filtering-rows). 

EELISe andmestike API-d on üles ehitatud selliselt, et on põhitabel (f_rahvalad) ja sellega seostuvad kirjed on seosetabelites (f_rahvalad_dok, f_rahvalad_invmojutegur jne). Reeglina soovitakse pärida põhitabelis mingi objekt/kirje ja sellega seostuvad kirjed seosetabelist aga saab ka küsida täies mahus ainult seosetabelit ja põhitabelit.

Brauserist (aadressiribale)

Näites on päritud  rahvusvaheliste alade põhitabelist täpset objekti ("equal" abil) KKR koodi alusel (Kurese loodusala kirje). 

https://keskkonnaandmed.envir.ee/f_rahvalad?kkr_kood=eq.RAH0000556

 

Põhitabeli kirjet koos seosetabeli kirjetega saab pärida nii:

https://keskkonnaandmed.envir.ee/f_rahvalad?select=*,dok:f_rahvalad_dok(*)&kkr_kood=eq.RAH0000556

 

Lisaks selles levituse tabelis kahte erinevat tüüpi dokumendid, seega tuleks kasutada järgmisi päringuid, et leida huvipakkuvad dokumendid

Rahvusvahelise alaga seotud õigusaktid

https://keskkonnaandmed.envir.ee/f_rahvalad?select=*,dok:f_rahvalad_dok(*)&kkr_kood=eq.RAH0000556&dok.on_linnuala_kohta=eq.0

 

Linnualaks (SPA) määramise siseriiklik õiguslik alus

https://keskkonnaandmed.envir.ee/f_rahvalad?select=*,dok:f_rahvalad_dok(*)&kkr_kood=eq.RAH0000556&dok.on_linnuala_kohta=eq.1

 

Curl (ja muud programeeritavad vahendid)

Analoogselt Meteoroloogiliste, Hüdroloogiliste ja teiste andmetega.

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: 19.01.2024  /  Uuendatud: 02.12.2024