Üldinfo
Meteoroloogiliste ja hüdroloogiliste avaandmete kasutamise andmelugu Soomaa näitel
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 hüdroloogilise seire andmestikust tunniandmete andmeteenused ja kliimaandmestikust jaama, elemendi, kuu, ööpäeva, tunni ja minuti andmeteenused.
NB! Seoses jõudlusest tulenevatemahupiirangutega 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 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".
Kliima andmeteenuse tarvitamise näide
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)
|
Ü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)
|
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
|
Hüdroloogilise seire andmeteenuse tarvitamise näide
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)
Ü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)
|
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
|
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.