Kuvapankin ja Hyönteistietokannan kuvien ohjelmallinen käyttö
Matti Virtala, 2013
1. Johdanto
2. Kuvapankki
2.1 Kuvapankin ohjelmallinen rajapinta
3. Hyönteistietokanta
3.1. Hyönteistietokannan ohjelmallinen rajapinta
4. Sovellusesimerkkejä
4.1 Toukkaviki
4.2 Omaviki
4.3 Kuvapankista puuttuvat lajikuvat
1. Johdanto
Hyönteiskuvia voi tallettaa sekä kuvapankkiin että hyönteistietokantaan. Kuvapankin tarkoitus on toimia lähinnä lajintuntemuksen apuvälineenä, joten sinne kannattaa lähettää kuva erityisesti silloin, jos lajista on vähän kuvia, tai uusi kuva on muuten erityisen hieno tai mielenkiintoinen. Hyönteistietokannan havaintoon voi liittää kuvan, jos se auttaa varmistumaan lajinmäärityksestä tai kuva muuten sisältää jotain havaintoon liittyvää arvokasta tietoa.
Kuvapankki löytyy osoitteesta http://insects.fi/insectimages/browser, ja sivulta voi myös avata havainnon tallennuslomakkeen:
Kuvan tallennuslomake on seuraavanlainen:
Jos pikkukuvaa ei ilmoiteta, ohjelma tekee sellaisen itse varsinaisesta kuvasta pienentämällä. Koska lopputulos voi joskus olla hieman epätyydyttävä, kannattaa pikkukuva tehdä itse, mikäli käytettävissä on tarkoitukseen sopiva kuvankäsittelyohjelma.
Hyönteistietokannan havaintoon voi liittää kuvan osoitteessa http://hyonteiset.luomus.fi/insects/main/EntDatabase.html toimivan käyttöliittymän avulla, valitsemalla toiminnon Korjaa havaintoa:
Jos havaintoon on liitetty kuvia, ne näkyvät havaintotietojen yhteydessä, esim. My Insects JS-ohjelmassa seuraavasti:
Hyönteistietokannan havaintoon voi viitata seuraavasti:
http://hyonteiset.luomus.fi/insects/comment?insectGroup=Coleoptera&obsID=0459-7763-5493-9681:
Hyönteistietokantaan talletettuja lajikuvia voi selata samaan tapaan kuin kuvapankinkin kuvia:
http://hyonteiset.luomus.fi/insects/template?content=imageBrowser&file=ImageBrowserPage.ftl&insectGroup=Coleoptera
Kuvapankki on mahdollista avata suoraan halutun suvun kohdalle seuraavasti:
http://insects.fi/insectimages/browser?order=LEP&family=Arctiidae&genus=Spilosoma
Lajisivun voi avata seuraavasti:
http://insects.fi/insectimages/browser?order=LEP&family=Lycaenidae&genus=Lycaena&species=virgaureae
Yksittäiseen kuvapankin kuvaan voi viitata seuraavasti:
http://insects.fi/insectimages/file?dir=images&file=Lepidoptera/Lymantriidae/Euproctis/similis/Euproctis similis 06.jpg
Sekä kuvapankki että hyönteistietokanta tarjoavat myös ohjelmallisen rajapinnan kuvien hakemiseen. Seuraavassa selostetaan tarkemmin, miten kuvia voi hyödyntää sopivien ohjelmien avulla.
2. Kuvapankki
2.1. Kuvapankin ohjelmallinen rajapinta
Kuvapankki tarjoaa ohjelmallisen JSON-rajapinnan tietojen hakemiseen. JSON-rajapinnan käyttöä on selostettu tarkemmin esimerkkien avulla dokumentissa Hyönteistietokannan ohjelmointi, joten siihen kannattaa perehtyä, koska kuvapankin ohjelmallinen käyttö toimii samalla tavalla. Perusideana on se, että kuvien tiedot haetaan JavaScript-ohjelman avulla ja tiedot muunnetaan html-tekstiksi joka sitten sijoitetaan varsinaiselle html-sivulle tiedolle varattuun kohtaan.
Kuvapankin rajapinta sisältää seuraavat funktiot:
getFamilies()
getFamilies() palauttaa listan kaikista niistä heimoista, joista on kuvia kuvapankissa
http://insects.fi/insectimages/json?op=getFamilies&order=col
getGenera()
getGenera() tulostaa listan niistä annetun heimon suvuista, joista on kuvia kuvapankissa
http://insects.fi/insectimages/json?op=getGenera&order=col&family=Carabidae
getSpecies()
getSpecies() listaa ne annetun suvun lajit, joista on kuvia kuvapankissa
http://insects.fi/insectimages/json?op=getSpecies&order=col&family=Carabidae&genus=Carabus
getFamilies(), getGenera() ja getSpecies()-funktiot palauttavat arvot oletusarvoisesti aakkosjärjestyksessä. Tulostuksen saa järjestysnumeron perusteella lisäämällä ehdon orderBy=speciesNbr:
http://insects.fi/insectimages/json?op=getFamilies&order=col&orderBy=speciesNbr
http://insects.fi/insectimages/json?op=getGenera&order=col&family=Carabidae&orderBy=speciesNbr
http://insects.fi/insectimages/json?op=getSpecies&order=col&family=Carabidae&genus=Carabus&orderBy=speciesNbr
getFamilies(), getGenera() ja getSpecies()-funktioihin voi myös antaa lisäparametrina yleisen hakuehdon. Ehdossa voi käyttää seuraavia kenttiä:
storingYear
imgCategory
imgRank
photographer
personalID
Esimerkiksi personalID kenttää voi käyttää seuraavasti:
http://insects.fi/insectimages/json?op=getFamilies&order=col&condition=personalID='oma-tunnus'
Kentän imgCategory mahdolliset arvot ovat
collectionSpecimen
liveSpecimen
detail
egg
larva
pupa
habitat
other
Jos haluaa listata esimerkiksi vain toukkakuvat, voi käyttää ehtoa
http://insects.fi/insectimages/json?op=getSpecies
&order=lep&family=Arctiidae&genus=Cybosia&condition=imgCategory='larva'
Esimerkiksi Toukkaviki-sovellus käyttää seuraavanlaista getSpecies()-kutsua:
getAllSpecies()
getAllSpecies()listaa kaikki lahkon tai heimon lajit, joista kuvapankissa on kuvia.
http://insects.fi/insectimages/json?op=getAllSpecies&order=lep
http://insects.fi/insectimages/json?op=getAllSpecies&order=lep&family=Lasiocampidae
http://insects.fi/insectimages/json?op=getAllSpecies&order=lep&orderBy=speciesNbr
http://insects.fi/insectimages/json?op=getAllSpecies&order=lep&family=Lasiocampidae&orderBy=speciesNbr
getMissingSpecies()
getMissingSpecies()listaa kaikki lahkon tai heimon lajit, joista kuvapankissa ei ole kuvaa.
http://insects.fi/insectimages/json?op=getMissingSpecies&order=lep
http://insects.fi/insectimages/json?op=getMissingSpecies&order=lep&family=Coleophoridae
http://insects.fi/insectimages/json?op=getMissingSpecies&order=lep&orderBy=speciesNbr
http://insects.fi/insectimages/json?op=getMissingSpecies&order=lep&family=Coleophoridae&orderBy=speciesNbr
getSpeciesImages()
getSpeciesImages() listaa annetun lajin kuvat
http://insects.fi/insectimages/json?op=getSpeciesImages&order=col&family=Carabidae&genus=Carabus&species=hortensis
getImageData()
getImageData() listaa annetun lajin kuvista kaikki talletetut tiedot
http://insects.fi/insectimages/json?op=getImageData&order=col&&genus=Carabus&species=hortensis
getPhotographers()
getPhotographers() tuottaa listan kuvapankkiin kuvia lähettäneistä henkilöistä
http://insects.fi/insectimages/json?op=getPhotographers&order=col
getLatestImages()
getLatestImages() listaa 40 kuvapankkiin viimeksi lähetettyä kuvaa:
http://insects.fi/insectimages/json?op=getLatestImages
Ilmoittamalla hyönteislahkon rajoittuu listaus ko. lahkon uusimpiin kuviin:
http://insects.fi/insectimages/json?op=getLatestImages&order=col
search()
search() on yleinen metodi tietojen hakemiseen. Hakuehtoina voi käyttää seuraavien kenttien arvoja:
storingYear
order
family
genus
species
imgCategory
imgRank
photographer
personalID
Metodi palauttaa seuraavat kuvan tiedot:
imageNbr
storingDate
edited
order
family
genus
species
det
detYear
fileName
imgCategory
imgRank
imgDescription
collection
collectionImageDate
region
county
locality
coordinates
day
month
year
photographer
permission
note
Esimerkiksi omat vuonna 2012 lähetetyt perhoskuvat voi listata seuraavasti:
http://insects.fi/insectimages/json?op=search&order=lep&storingYear=2012&personalID=oma-tunnus
3. Hyönteistietokanta
3.1. Hyönteistietokannan ohjelmallinen rajapinta
Hyönteistietokanta tarjoaa seuraavat lajikuvien hakemiseen tarkoitetut funktiot:
getFamiliesWithImages()
getFamiliesWithImages()tuottaa listan niistä heimoista, joista löytyy lajikuvia
http://hyonteiset.luomus.fi/insects/json?op=getFamiliesWithImages&order=lep
getGeneraWithImages()
getGeneraWithImages()listaa ne annetun heimon suvut, joista on lajikuvia
http://hyonteiset.luomus.fi/insects/json?op=getgetGeneraWithImages&order=lep&family=Lasiocampidae
getSpeciesWithImages()
getSpeciesWithImages()listaa ne annetun heimon ja suvun lajit, joista hyönteistietokannassa on kuvia
http://hyonteiset.luomus.fi/insects/json?op=getSpeciesWithImages&order=lep&family=Lasiocampidae&genus=Cosmotriche
getFamiliesWithImages(), getGeneraWithImages() ja getSpeciesWithImages()-metodit listaavat heimot, suvut tai lajit oletusarvoisesti aakkosjärjestyksessä. Listauksen saa systemaattisessa järjestyksessä lisäämällä hakuun ehdon orderBy=speciesNbr.
getAllSpeciesWithImages()
getAllSpeciesWithImages()listaa kaikki lahkon tai heimon lajit, joista hyönteistietokannassa on kuvia.
http://hyonteiset.luomus.fi/insects/json?op=getAllSpeciesWithImages&order=lep
http://hyonteiset.luomus.fi/insects/json?op=getAllSpeciesWithImages&order=lep&family=Lasiocampidae
http://hyonteiset.luomus.fi/insects/json?op=getAllSpeciesWithImages&order=lep&orderBy=speciesNbr
http://hyonteiset.luomus.fi/insects/json?op=getAllSpeciesWithImages&order=lep&family=Lasiocampidae&orderBy=speciesNbr
getSpeciesImages()
getSpeciesImages() listaa tiedot annetun lajin havaintokuvista:
http://hyonteiset.luomus.fi/insects/json?op=getSpeciesImages&order=lep&family=Lasiocampidae&genus=Cosmotriche&species=lobulina
getImageData()
getImageData()listaa anettuun havaintoon liitettyjen kuvien tiedot:
http://hyonteiset.luomus.fi/insects/json?op=getImageData&order=lep&obsID=6297-5341-9349-0818
getLatestImages()
getLatestImages()listaa 40 uusinta hyönteistietokantaan talletettua lajikuvaa:
http://hyonteiset.luomus.fi/insects/json?op=getLatestImages&order=lep
Yksittäiseen hyönteistietokannan havaintokuvaan voi viitata seuraavasti:
http://hyonteiset.luomus.fi/insects/file?dir=images&file=Lepidoptera\LEP_8086-5343-0484-4378(1).jpg
Tietyn havainnon havaintosivuun voi viitata seuraavasti:
http://hyonteiset.luomus.fi/insects/comment?insectGroup=Lepidoptera&obsID=8086-5343-0484-4378
Tietyn havainnon havaintokuvien tiedot saa seuraavasti:
http://hyonteiset.luomus.fi/insects/json?op=getObservationData&order=lep&obsID=8086-5343-0484-4378
4. Sovellusesimerkkejä
4.1. Toukkaviki
Toukkavikin aloitussivu on seuraavanlainen:
Sivulla on kaksi komponenttia: otsikko ja heimoluettelo. Sivun html-koodi on seuraavanlainen:
JavaScript-tiedosto OrderPage.js tulostaa etusivulle hyönteislahkon nimen ja hakee heimoluettelon kuvapankista, käyttäen ehtoa imgCategory='larva':
Toukkavikin lajisivu on seuraavanlainen:
Toukkaviki-sovelluksen toimintaa ei tässä selosteta tarkemmin. Sovelluksen ohjelmakoodin voi ladata tästä. Koodia tutkimalla saanee aika hyvän käsityksen siitä, miten kuvapankin ohjelmallista rajapintaa on siinä hyödynnetty.
Toukkavikiä voi myös kokeilla osoitteessa http://insects.fi/entdatabase4/plugins-html/Toukkaviki/Viki.html?order=Lepidoptera.
4.2. Omaviki
Omavikin avulla voi selata omia kuvapankkiin lähettämiään kuvia. Sovelluksen sukusivu on esimerkiksi seuraavanlainen:
Omaviki on tehty samalla tavalla kuin toukkaviki ja melkeinpä ainoa muutos on se, että omaviki käyttää ehdon imgCategory='larva' sijasta ehtoa personalID='oma-tunnus'. Sovelluksen koodin voi ladata tästä ja sitä voi myös kokeilla osoitteessa http://insects.fi/entdatabase4/plugins-html/Omaviki/Viki.html?order=&personalID= (huom: lisää osoiteriville hyönteislahko ja oma kuvapankin henkilöID-tunnuksesi).
4.3. Kuvapankista puuttuvat lajikuvat
Puuttuvat lajit-sovellus tulostaa niiden lajien nimet, joista kuvapankissa ei ole kuvaa:
Sovellus tarkistaa myös hyönteistietokannan havaintokuvat ja ilmoittaa, jos kuvapankista puuttuvista lajeista on kuva hyönteistietokannassa:
havainnontunnusta klikkaamalla saa näkyviin havainnon tarkemmat tiedot:
Puuttuvat lajit sovelluksen voi ladata tästä.