info.laji.fi

Lajitietokeskuksen ohje- ja tietopankki

OGC API -paikkatietorajapinta yleisesti

Avoin: https://ogcapi.laji.fi/

Viranomaiset: https://ogcapi.laji.fi/virva

Yllä video, joka näyttää lyhyesti rajapinnan perustoiminnallisuudet ja yhdistämisen QGIS-ohjelmistoon. Lisää tietoa rajapinnan ja QGIS:n yhteentoimivuudesta täältä.

HUOM: Rajapinnan osoite on https://ogcapi.laji.fi vuodesta 2025 alkaen. Lisäksi rajapinnan yhteyteen avattiin myös viranomaisille tunnistautumista vaativa osio (https://ogcapi.laji.fi/virva) karkeistamattomalle datalle.

Mikä on OGC API Features?

Osoitteen ogcapi.laji.fi rajapinta (API) perustuu OGC API Features -standardiin, jota voidaan pitää uudempana versiona OGC Web Feature Service (WFS) -rajapinnasta. Alun perin OGC API Features tunnettiin nimellä WFS3.0, mutta uudenlaisen teknisten ratkaisujen vuoksi OGC päätti muuttaa standardin nimeä. Uudet OGC API:t ovat yhteentoimivampia, modernimpia ja helpompia käyttää, kuin aikaisemmat WFS-palvelut. Niitä voi esimerkiksi käyttää suoraan selaimessa.

Diagrammi, joka kuvastaa OGC API standardin eri osia

Kyselyjen muotoilu:

Huom! Kyselyt muotoillaan hieman eritavalla paikkatieto-ohjelmistoihin (esim. QGIS). Alla esimerkkejä siitä, miten niitä käytetään ohjelmallisesti / selaimessa.

Huom! All Data as Center Points -aineistoon kyselyiden muodostominen on hiukan erilaista, sillä kyseisessä aineistoissa data haetaan eri tietokannasta. Katso esimerkkejä alempaa.

https://ogcapi.laji.fi/ on aloitussivu (landing page). Tämä on siis se URL, jonka kopioimalla kaikki rajapinnan aineistot saa helposti liitettyä paikkatieto-ohjelmistoon, kuten QGIS:iin.

https://ogcapi.laji.fi/collections listaa kaikki rajapinnan aineistot (collections).

https://ogcapi.laji.fi/collections/satakunta_points näyttää tietoja ”satakunta_points” -nimisestä aineistosta.

https://ogcapi.laji.fi/collections/satakunta_points/items näyttää ”satakunta_points” -nimisen aineiston havainnot.

https://ogcapi.laji.fi/collections/satakunta_points/items?Elioryhma=Linnut näyttää kaikki lintuhavainnot aineistosta ”satakunta_points”.

https://ogcapi.laji.fi/collections/satakunta_points/items?Elioryhma=Linnut&f=json näyttää kaikki lintuhavainnot aineistosta ”satakunta_points” formaatissa GeoJSON.

Kuten ylemmistä esimerkeistä huomaa, hakua voi rajata kaikilla aineiston parametrillä, sekä muutamalla muutta. Näistä yksi esimerkki oli parametri f, joka muuttaa tuloksen formaatin HTML:stä GeoJSON:iin.

Myös muita lisäparametrejä on. Käytä bbox– tai datetime-parametreja rajataksesi dataa maantieteellisesti tai päivämäärän ja kellonajan perusteella.

Limit-parametria voidaan käyttää rajaamaan palautettavien kohteiden enimmäismäärää. Oletuksena rajapinta käyttää sivutusta (pagination), jolloin yhdelle sivulla kohteita palautuu vain 10000 kerrallaan, mutta sivujen määrää ei ole rajattu. offset-parametrilla voit määrittää, kuinka monennesta havainnosta haluat aloittaa jos havaintoja on enemmän kuin yhden sivun, eli 10000 havainnon verran.

Yleensä nopein tapa tarkistaa data on kirjoittaa kysely suoraan verkkoselaimeen. Tällöin dataa voi tarkastella GeoJSON- tai HTML-muodossa riippuen f-parametrista. Muussa käytössä rajapinnan voi linkittää suoraan paikkatietosovelluksiin (esim. QGIS & ArcGIS) tai dataa voi hakea mm. komentorivin tai ohjelmointikielten avulla.

Esimerkkikyselyjä rajanpintaan

Rajapinnan peruskäyttöön paikkatieto-ohjelmistoissa riittää vain osoite https://ogcapi.laji.fi/, mutta edistyneempään käyttöön on alla esimerkkejä.

Listaa kaikki aineistot:

http://ogcapi.laji.fi/collections

Yleiskatsaus aineistoon:

https://ogcapi.laji.fi/collections/pohjois_savo_points

Näytä aineiston sarakkeet (joiden perusteella rajapinnan tuloksia voi rajata)

https://ogcapi.laji.fi/collections/pohjois_savo_points/queryables

Selaa havaintoja selainnäkymässä

https://ogcapi.laji.fi/collections/pohjois_savo_points/items

Esimerkki rajapinnan sivujen käytöstä. Tässä esimerkissä skipataan ensimmäiset 40 havaintoa ja rajataan hakutulos 20 havaintoon.

https://ogcapi.laji.fi/collections/pohjois_savo_points/items?offset=40&limit=20

Lataa tulokset Comma Separated Value -taulukkoformaatissa (CSV). Tällöin data on yhteensopiva mm. Excelin kanssa.

https://ogcapi.laji.fi/collections/pohjois_savo_points/items?f=csv

Rajaa hakutuloksia maantieteellisestä bbox-parametrilla. Huom. oletuksena rajapinta pyytää WGS84-koordinaatteja. (Vinkki: koordinaatteja tähän tarkoitukseen saa helposti mm. QGIS-ohjelmistosta tai esimerkiksi http://bboxfinder.com/ sivustolta.)

https://ogcapi.laji.fi/collections/pohjois_savo_points/items?bbox=27.610016,62.895687,27.629242,62.906087&limit=1000

Rajaa hakutuloksia maantieteellisesti käyttämällä ETRS-TM35FIN -koordinaattijärjestelmän bounding boxia.

https://ogcapi.laji.fi/collections/pohjois_savo_points/items?bbox=535839.3305,6971988.3231,536460.5330,6972763.5737&limit=1000&bbox-crs=https://www.opengis.net/def/crs/EPSG/0/3067

Etsi kaikki liito-oravat Siilinjärveltä.

https://ogcapi.laji.fi/collections/pohjois_savo_points/items?Suomenkielinen_nimi=liito-orava&Kunta=Siilinj%C3%A4rvi

Rajaa hakutuloksia päivämäärän perusteella.

https://ogcapi.laji.fi/collections/pohjois_savo_points/items?datetime=2024-04-10T14:11:00Z

Näytä ensimmäiset 100 hakutulosta ja lajittele ne sarakkeen ’Alkuperainen_nimi’ perusteella öökkösjärjestykseen, sillä ennen sarakkeen nimeä on pieni miinusmerkki.

https://ogcapi.laji.fi/collections/pohjois_savo_points/items?limit=100&sortby=-Alkuperainen_nimi

Hae havaintoja ETRS-TM35-FIN -koordinaattijärjestelmässä.

https://ogcapi.laji.fi/collections/pohjois_savo_points/items?crs=https://www.opengis.net/def/crs/EPSG/0/3067

Hae tietty havaintoa sen havaintoerän tunnisteen perusteella.

https://ogcapi.laji.fi/collections/pohjois_savo_points/items?Havaintoeran_tunniste=http://tun.fi/HR.3691/OBS747597086

Edistyneet CQL-kyselyt:

CQL (Common Query Language) -kyselyillä voi laajentaa kyselyjä vielä monipuolisemmaksi, jos perus filtterit eivät riitä. Tällöin kyselyn filter-lang -parametri määrittää, että nyt halutaan käyttää monimutkaisempaa CQL-kyselykieltä.

Alla esimerkki aineistosta ’pohjois_savo_points’, josta etsitään kaikki havainnoit joiden nimessä on sana ’haukka’. Filterillä ILIKE haetaan kaikki arvot, joiden kentässä on merkkijono ’haukka’. Merkintä ’%20’ kuvastaa välilyöntiä ja ’%27’ puolestaan heittomerkkiä. Yksittäinen prosenttimerkki ’%’ sanan haukka molemmin puolin kuvaa mitä tahansa merkkejä, joihin annettu merkkijono voi yhdistyä. Tällöin nimi voi olla esimerkiksi nuolihaukka tai vaikka abchaukkaabc.

https://ogcapi.laji.fi/collections/pohjois_savo_points/items?filter-lang=cql-text&filter=Alkuperainen_nimi%20ILIKE%20%27%haukka%%27

Etsi kaikki havainnot aineistosta ’pohjois_savo_points’, joiden nimessä ei ole sanaa haukka. Huomaa lisäparametri ’NOT’.

Etsi ensimmäiset 200 lintua, joiden alkuperäinen nimi on joko ”merikotka” tai ”kuikka”.

https://ogcapi.laji.fi/collections/pohjois_savo_points/items?f=html&limit=200&filter-lang=cql-text&filter=Alkuperainen_nimi%20IN%20(%27merikotka%27,%27kuikka%27)

Lisää yleisiä esimerkkejä CQL-rajauksista löydät englanniksi mm. pyogcapin dokumentaatiosta.

Erikoisaineisto ”All Data as Center Points” -aineisto

Koska virva-rajatuissa aineistoissa on vain reilu 6 miljoonaa havaintoa, tämän aineiston kautta on saatavilla kaikki laji.fi:ssä näkyvät havainnot. Tämä toimii hieman hitaammin, kuin muut aineistot, sillä se tekee lennosta suoraan rajapintakyselyn REST-rajapintaamme (https://api.laji.fi/explorer/#!/Warehouse/get_warehouse_query_unit_list) samalla muotoillen sen suomenkieliseksi ja yhteensopivaksi paikkatieto-ohjelmistoihin.

Koska Lajitietokeskuksessa on yli 50 miljoonaa havaintoa, olemme lisänneet kyselyihin ylärajan max 1 000 000 havaintoa kerrallaan. Käyttääksesi aineistoa, sinun tulee siis lisätä kyselyyn filttereitä (esim. lajin, paikan, ajan tai muun muuttujan suhteen).

Voit asettaa filttereitä hieman muita aineistoja rajatummin. Esimerkiksi ”LIKE” tai ”ILIKE” filtterit eivät tähän aineistoon toimi. Käytä sen sijaan yksinkertaisia attribuuttifilttereitä =, !=, >, >=, <=, < tai bbox, limit, offset – rajauksia. Useamman arvon samassa filtterille voi erottaa pilkuilla, jolloin rajapinta etsii osumat jomman kumman arvon kanssa.

HUOM! bbox-filtteri toimii EUREF-TM35FIN tai WGS84 -koordinaateilla.

HUOM! Voit käyttää simppeleitä attribuuttifilttereitä (esim. Suomenkielinen_nimi=tuulihaukka) tai täsmälleen samoja filttereitä, kuin REST-rajapintaankin, sillä rajapinta välittää ei-suomenkieliset filtterit sellaisenaan eteenpäin.

Sallitut rajaukset tähän aineistoon:

Property name DescriptionTypeAllowed values/range/examples
Havainnon_tunniste           Idstring  e.g. ’http://tun.fi/JX.337955#5’ or ‘JX.337955#5’
Tieteellinen_nimi      Suomenkielinen_nimi Ruotsinkielinen_nimi Englanninkielinen_nimi Alkuperainen_nimi  Elioryhma                         Name as textstringe.g. ‘parus major’ OR ‘Linnut’
Paikan_tarkkuus_metreina_max Accuracy in metersintegere.g. ‘100’
Havainnon_luotettavuus enumerationUse names or Finnish labels:  https://laji.fi/api/warehouse/filters/recordQuality
Yksilomaara_tulkittuMinimum number of occurrences. Default 1. If 0, include negative observations.integere.g. ‘10’
Eliomaakunta stringe.g. Uusimaa (U) OR Uusimaa.
Aineiston_tunniste stringe.g. HR.95 OR http://tun.fi/HR.95
Pesintapaikka BooleanTrue OR False
Maarittaja stringAlpo Turunen
Elinvaihe enumerationUse names or Finnish labels: https://laji.fi/api/warehouse/filters/lifeStage
Taksonin_tunniste stringe.g. http://tun.fi/MX.38910 OR MX.38910
Havaintotapa enumerationUse names or Finnish labels:  https://laji.fi/api/warehouse/filters/recordBasis
sukupuoli enumerationUse names or Finnish labels:  https://laji.fi/api/warehouse/filters/sex
Havaintoeran_tunniste stringhttp://tun.fi/JX.337716 OR JX.37716
Karkeistuksen_syy              Use names or Finnish labels: https://laji.fi/api/warehouse/filters/secureReason
AikaFilter using event date. Date can be a full date or part of a date, for example 2000, 2000-06 or 2000-06-25. Time can be a range, for example 2000/2005 or 2000-01-01/2005-12-31. Relative days ”last N days” can be used: 0 is today, -1 is yesterday and so on; for example -7/0 is a range between 7 days ago and today. Multiple values are seperated by ’,’. When multiple values are given, this is an OR search.stringe.g. 2020-01-01/2020-12-31 OR 2023-05-10
Kunta stringe.g. Helsinki
Havainnoijat stringe.g. Alpo Turunen
avainsanat stringe.g. 2 n
Aineiston_laatu enumerationUse names or Finnish labels:  https://laji.fi/api/warehouse/filters/collectionQuality
Uhanalaisuusluokka enumerationUse ids or values: https://laji.fi/api/metadata/ranges/MX.iucnStatuses?lang=fi  
Sensitiivinen_laji booleanTrue OR False
Valtion_maalla booleanTrue OR False
Ensisijainen_biotooppi enumerationUse ids or values: https://laji.fi/api/metadata/ranges/MY.habitatEnum?lang=fi
Hallinnollinen_asema          enumerationUse ids or values: https://laji.fi/api/metadata/ranges/MX.adminStatusEnum?lang=fi
Atlasluokka enumerationUse ids or values: https://laji.fi/api/metadata/ranges/MY.atlasClassEnum?lang=fi
Atlaskoodi enumerationUse ids or values: https://laji.fi/api/metadata/ranges/MY.atlasCodeEnum?lang=fi
Lataus_pvmFilter using the date data was loaded to Data Warehouse. Format is yyyy-MM-dd or UNIX EPOCH timestamp in seconds. Returns entries loaded later or on the same date/timestamp.string2025-08-28 00:00:00 OR 2025-08-28

Seuraavien muuttujien perusteella ei voi rajata kyselyjä ”All Data as Center Points” -aineistossa, sillä rajapinta ei toistaiseksi tue niitä:

Keruu_aloitus_pvm, Keruu_lopetus_pvm, Havainnon_lisatiedot, ETRS_TM35FIN_WKT, Sijainti, Keruutapahtuman_lisatiedot, Taksonominen_jarjestys, Maaran_yksikko, Lajiturva, geometry, Esiintyman_tila, Aineisto, Seurantapaikan_tila, Seurantapaikan_tyyppi, Vastuualue, Paikallinen_tunniste, Yhdistetty, Maara, Maarittaja, Aineiston_tunniste

Hankaluuksia?

  • Jos saat virheilmoituksia QGIS:ssä, kokeile laittaa sama kysely nettiselaimen osoitekenttään. Selain näyttää virheviestit paremmin.
  • Kannattaa käyttää kyselyissä ID-tunnuksia arvojen sijaan, sillä ne eivät sisällä erikoismerkkejä.
  • Ongelmatilanteissa ota yhteyttä helpdesk @ laji.fi.

Lisäohjeet

Konkreettisia esimerkkejä rajapinnan käytöstä QGIS-paikkatieto-ohjelmistossa tai Python- tai R-ohjelmointikielillä ”Aineistojen käyttö OGC API -rajapinnan kautta” -sivulla.

Sarakkeiden kuvaukset ja nimet löydät täältä.

Siirry sivun alkuun