info.laji.fi

Lajitietokeskuksen ohje- ja tietopankki

API-avaimen käyttö OGC API -rajapinnassa (vain viranomaisille) (EI VIELÄ TOIMINNASSA!)

API-avaimen luominen

API-avaimen luominen on mahdollista ainoastaan viranomaisportaalin käyttäjille, sillä aineisto sisältää sensitiivistä tietoa. Mikäli sinulla on pääsy viranomaisportaaliin, mene osoitteeseen viranomaiset.laji.fi/theme/geoapi ja klikkaa Pyydä API-avainta. Mikäli tarvitset lisätietoja viranomaisportaaliin kirjautumisesta, lue nämä ohjeet.

Täytä seuraavaksi kaikki pyydetyt tiedot. Muista lukea oikeasti käyttöehdot. Klikkaa lopuksi Lähetä.

API-avain ilmestyy ikkunan alalaitaan. Kopioi se talteen ja syötä rajapintaan esim. selaimessa tai paikkatieto-ohjelmistoissa. Ohjeet alla.

API-avaimen syöttäminen selaimessa

Mene osoitteeseen geoapi.laji.fi/virva ja klikkaa Collections.

Selain pyytää sinua kirjautumaan sisään. Kopioi ylempien ohjeiden mukaan haettu API-avain kohtaan Username. Jätä kohta Password tyhjäksi. Klikkaa Sign in.

Tämän jälkeen voit käyttää rajapintaa miten haluat ja selailla dataa selaimessa.

Huom! Jos lisäät URL:iin parametrin f=json (esim. https://geoapi.laji.fi/virva/collections/ahvenanmaa_points/items?f=json), voit selailla dataa GeoJSON-formaatissa ja tallentaa aineistot tekstitiedostoina koneellesi ja avata tiedoston paikkatieto-ohjelmistoissa.

API-avaimen syöttäminen QGIS:sä

Avaa Data Source Manager ja valitse välilehti WFS / OGC API Features.

Klikkaa New luodaksesi uuden rajapintayhteyden. Syötä avautuneeseen ikkunaan vapaavalintainen nimi yhteydelle ja URL kohtaan geoapi.laji.fi/virva.

Huom! Max number of features kohtaan on hyvä laittaa jokin arvo (esim. 10000), jottei QGIS ylikuormitu datamäärästä. Toinen vaihtoehto on valita kohta Only request features overlapping the view extent.

Klikkaa OK, jolloin ikkuna sulkeutuu. Seuraavaksi klikkaa Connect, jolloin QGIS kysyy kirjautumistietoja.

Kopioi ylempien ohjeiden mukaan haettu API-avain kohtaan Username. Jätä kohta Password tyhjäksi. Klikkaa Ok.

Tämän jälkeen kaikki aineistot avautuvat QGIS:iin ja voit ladata ne karttanäkymään klikkaamalla Add.

QGIS:iin luetut kohteet voidaan tallentaa haluttaessa muiden ohjelmistojen tukemiin
tiedostomuotoihin kuten GeoPackage- tai GeoJSON-formaattiin.

API-avain komentorivipohjaisissa sovelluksissa

Ohjelmointikielillä tai komentorivipohjaisissa sovelluksissa API-avaimen syöttäminen on hankalampaa, sillä OGC API Features ei sellaisenaan tue API-avaimen antamista parametrinä. Siispä se pitää syöttää rajapinnalle erikseen käyttämällä esimerkiksi cURL-sovellusta.

cURL tallentaa rajapinnasta haetun tiedoston muokkamattomana GeoJSON-muodossa, muttei pysty hyödyntämään sivutusmenetelmää ilman muokkauksia. Alla olevan esimerkin avulla voit hakea ensimmäisen sivun aineistosta:

curl -u apiavaintähän: -o tiedosto.json https://geoapi.laji.fi/virva/collections/kainuu_points/items

Vaihda yllä olevaan esimerkkiin oma API-avaimesi kohdan apiavaintähän tilalle. Jätä kaksoispiste kuitenkin komentoon, sillä se jättää salasanan tyhjäksi. Kun painat Enter, komentorivin tiedostosijaintiin tallentuu tiedosto nimeltä tiedosto.json. Tiedostonimi on vapaasti vaihdettavissa.

Voit lisätä sivutuksen parametrillä offset, joka määrittää sivun ensimmäisen havainnon. Esim.

https://geoapi.laji.fi/collections/etela_hame_points/items?f=json&limit=2000&offset=4000

palauttaa havainnot 4000-5999 GeoJSON-muodossa. Parametri limit määrittää, kuinka monta havaintoa palautetaan kerrallaan (max. 10 000).

Voit lukea lisää tietoja mm. GDAL:n tai wget:n käytöstä Maanmittauslaitoksen vastaavasta ohjeesta. Huom. kaikki samat parametrit eivät välttämättä päde lajitietokeskuksen rajapintaan.

API-avain Pythonilla

import requests
import geopandas as gpd

# API Key (used as the username in Basic Authentication)
api_key = 'your-api-key-here'

# OGC API Features URL
url = 'https://geoapi.laji.fi/collections/etela_hame_points/items'

# Make a GET request with Basic Authentication
response = requests.get(url, auth=(api_key, ''))

# Read file as a GeoDataFrame
gdf = gpd.read_file(url)
print(gdf)
Siirry sivun alkuun