FAKULTETA ZA INFORMACIJSKE ŠTUDIJE V NOVEM MESTU DIPLOMSKA NALOGA VISOKOŠOLSKEGA STROKOVNEGA ŠTUDIJSKEGA PROGRAMA PRVE STOPNJE SINIŠA COLARIĆ FAKULTETA ZA INFORMACIJSKE ŠTUDIJE V NOVEM MESTU DIPLOMSKA NALOGA ISKANJE JAVNO DOSTOPNIH FOTOGRAFIJ NA SPLETU Z UPORABO FLICKR API Mentor: viš. pred. mag. Andrej Dobrovoljc Novo mesto, marec 2015 Siniša Colarić IZJAVA O AVTORSTVU Podpisani___________________,študent FIŠ Novo mesto, izjavljam: da sem diplomsko nalogo pripravljal samostojno na podlagi virov, ki so navedeni v diplomski nalogi, da dovoljujem objavo diplomske naloge v polnem tekstu, v prostem dostopu, na spletni strani FIŠ oz. v elektronski knjižnici FIŠ, da je diplomska naloga, ki sem jo oddal v elektronski obliki, identična tiskani verziji, da je diplomska naloga lektorirana. V Novem mestu, dne _________________Podpis avtorja ______________________ Zahvala Rad bi se zahvalil svojemu mentorju, viš. pred. mag. Andreju Dobrovoljcu, za strokovno vodenje in pomoč pri izdelavi diplomske naloge. Posebno zahvalo pa poklanjam svojim staršem, mami Ružici, očetu Ivanu, sestri Ivani ter svoji punci Ivi,za vso podporo, ki so mi jo nudili v času mojega študija. POVZETEK Danes je fotografija glavni način zabave vse večjega števila ljudi. Z razvojem digitalne fotografije in spletnih socialnih omrežij je deljenje fotografij postalo del njihovega vsakdana. Obstajajo številni spletni servisi, kjer lahko delimo naše fotografije, najbolj poznani so naslednji: Flickr, Picasa in Photobucket. Na teh servisih imamo ogromno fotografij, ki so javno dostopne, kar pomeni, da so vidne vsem. Ti servisi nam preko različnih API-jev ponujajo različne metode in načine, kako do teh fotografij lahko dostopamo. V tej nalogi želimo zgraditi preprosto spletno aplikacijo, s pomočjo katere se bo lahko iskalovse te javno dostopne fotografije in hkrati določalo, ali bi te fotografije uporabili v turistične namene (z njimi bi se predstavilo neko mesto ali turistična znamenitost). V ta namen smo najprej preučili digitalno fotografijo in obstoječe spletne servise za deljenje fotografij, njihove API-je, naredili spletno aplikacijo, poizvedbe in analizirali rezultate. Ker je Flickr najpopularnejši servis za deljenje fotografij in ima najboljšo dokumentacijo za svoj API, ga bo naša spletna aplikacija uporabljala za iskanje fotografij. KLJUČNE BESEDE: digitalna fotografija, Flickr, Flickr API, Picasa, Photbucket ABSTRACT Today, photography is the main method o fun for the large number of people, and with the development of digital photography and online social networks, photo sharing has become part of their daily lives. There are numerous web services where we can share our photos, some of them are Flickr, Picasa and Photobucket. At these services, there are a lot of photos,which belongto the public domain, what means that they are visible to anybody.These services, via a variety of APIs are offering us various methods and ways how to access these photos.In this diploma I want to build a simple web application, through which it will be possible to access these public photos and to determine whether these photos can be used for tourist purposes to present cities or tourist attractions. For this purpose, I first examined the digital photography and the existing web services for sharing photos and thenI have described a web application, and analyzed the results. Since Flickr is the most popular web service for sharing photos and has the best documentation for it’s API, my web application usesitfor searching photos. KEY WORDS:digital photgraphy, Flickr, Flickr API, Picasa, Photobucket KAZALO 1. UVOD................................................................................................................................. 1 2. DIGITALNA FOTOGRAFIJA .......................................................................................... 2 3. 4. 2.1 Zgodovina digitalne fotografije ................................................................................... 2 2.2 Digitalne fotografije ..................................................................................................... 3 2.2.1 JPG ....................................................................................................................... 4 2.2.2 GIF ....................................................................................................................... 4 2.2.3 TIFF ...................................................................................................................... 4 2.2.4 BMP ...................................................................................................................... 5 2.2.5 PNG ...................................................................................................................... 5 2.2.6 SVG ....................................................................................................................... 6 2.2.7 RAW ...................................................................................................................... 6 METAPODATKI ............................................................................................................... 7 3.1 EXIF............................................................................................................................. 8 3.2 Geolokacija ................................................................................................................ 10 SPLETNE APLIKACIJE ZA DELJENJE FOTOGRAFIJ .............................................. 10 4.1 Flickr .......................................................................................................................... 10 4.1.1 Zgradba in izgled Flickrja .................................................................................. 11 4.1.2 Flickr API ........................................................................................................... 12 4.1.3 API-metode ......................................................................................................... 14 4.1.4 Komunikacija s Flickr API-jem .......................................................................... 17 4.1.5 Protokol REST .................................................................................................... 17 4.1.6 Protokol SOAP ................................................................................................... 19 4.1.7 Protokol XML-RPC ............................................................................................ 20 4.2 Picasa in Picasa Web Albums .................................................................................... 20 4.2.1 Zgodovina Picase ............................................................................................... 20 4.2.2 Program Picasa .................................................................................................. 21 4.2.3 Organiziranje in deljenje fotografij.................................................................... 22 4.2.4 Spreminjanje fotografij ....................................................................................... 22 4.2.5 Picasa Web Albums ............................................................................................ 23 4.3 Picasa Web Albums Data API ................................................................................... 25 4.4 Photobucket ............................................................................................................... 26 4.4.1 Zgodovina Photobucketa .................................................................................... 26 4.4.2 Lastnosti Photobucketa ...................................................................................... 27 4.4.3 Photobucket API ................................................................................................. 29 4.5 5. RAZISKOVALNI PROBLEM, HIPOTEZE IN CILJI RAZISKAVE ............................ 31 5.1 Opredelitev raziskovalnega problema........................................................................ 31 5.2 Raziskovalna vprašanja .............................................................................................. 32 5.2.1 Raziskovalno vprašanje 1 ................................................................................... 32 5.2.2 Raziskovalno vprašanje 2 ................................................................................... 32 5.2.3 Raziskovalno vprašanje 3 ................................................................................... 32 5.2.4 Raziskovalno vprašanje 4 ................................................................................... 32 5.2.5 Raziskovalno vprašanje 5 ................................................................................... 32 5.3 6. Primerjava Flickrja, Picase in Photobucketa ............................................................. 29 Hipoteze ..................................................................................................................... 33 5.3.1 Hipoteza 1 ........................................................................................................... 33 5.3.2 Hipoteza 2 ........................................................................................................... 33 5.4 Cilji raziskave ............................................................................................................ 33 5.5 Metodologija .............................................................................................................. 33 OPIS IZDELAVE SPLETNE APLIKACIJE ................................................................... 34 6.1 Uporabljena tehnologija ............................................................................................. 34 6.1.1 PHP .................................................................................................................... 34 6.1.2 Phlickr ................................................................................................................ 34 6.2 Predstavitev spletne aplikacije ................................................................................... 36 6.2.1 6.3 Uporabljene metode ........................................................................................... 37 Analiza pridobljenih rezultatov ................................................................................. 41 6.3.1 Triglav ................................................................................................................ 42 6.3.2 Škrlatica .............................................................................................................. 45 6.3.3 Učka .................................................................................................................... 47 6.3.4 Severni Velebit .................................................................................................... 51 6.3.5 Bled ..................................................................................................................... 53 6.3.6 Postojna, Postojnska jama ................................................................................. 56 7. ZAKLJUČEK ................................................................................................................... 58 8. LITERATURA IN VIRI................................................................................................... 60 PRILOGI KAZALO SLIK Slika 2.1: Rastrska in vektorska fotografija................................................................................ 6 Slika 4.1: Izgled Flickrja .......................................................................................................... 12 Slika 4.2: Flickr API Explorer .................................................................................................. 18 Slika 4.3: Izgled Picase ............................................................................................................. 21 Slika 4.4: Photobucket .............................................................................................................. 28 Slika 6.1: Flickrjevi potrditveni odgovor ................................................................................. 36 Slika 6.2: Izgled spletne aplikacije ........................................................................................... 37 Slika 6.3: Rezultati iskanja na osnovi oznake Triglav.............................................................. 42 Slika 6.4 Rezultati iskanja na osnovi oznak Triglav in hill ...................................................... 44 Slika 6.5: Rezultati iskanja Triglava na osnovi geografske lokacije ........................................ 45 Slika 6.6: Rezultati poizvedbe na osnovi oznake Škrlatica ...................................................... 46 Slika 6.7: Rezultati iskanja na osnovi geografske lokacije Škrlatice ....................................... 47 Slika 6.8: Rezultati iskanja na osnovi oznake Učka ................................................................. 48 Slika 6.9: Primer neuporabnih rezultatov iskanja na osnovi oznake Učka .............................. 49 Slika 6.10: Rezultati poizvedovanja na osnovi oznak Učka in Vojak ...................................... 50 Slika 6.11: Rezultati iskanja na osnovi geografske lokacije Učke ........................................... 51 Slika 6.12: Rezultati iskanja po oznaki SjeverniVelebit ........................................................... 52 Slika 6.13: Rezultati iskanja po geografski lokaciji Severnega Velebita ................................. 53 Slika 6.14: Rezultati iskanja na osnovi oznake Bled ................................................................ 54 Slika 6.15: Rezultati iskanja po oznakah Bled in Blejskigrad .................................................. 55 Slika 6.16: Rezultati iskanja na osnovi geografske lokacije Bleda .......................................... 56 Slika 6.17: Rezultati iskanja na osnovi oznake Postojnskajama .............................................. 57 Slika 6.18: Rezultati iskanja na osnovi geografske lokacije Postojnske jame ......................... 58 KAZALO TABEL Tabela 4.1: Knjižnice tretjih strank za Flickr API .................................................................... 13 Tabela 4.2: Mesečna cena zakupa dodatnega prostora na Picasi ............................................. 24 Tabela 4.3: Mesečna cena zakupa dodatnega prostora na Photobucketu ................................. 27 Tabela 4.4: Photobucketovi API-ji tretjih strank ...................................................................... 29 Tabela 4.5: Primerjava Flickrja, Picase in Photobucketa ......................................................... 30 1. UVOD Z vse hitrejšim razvojem digitalnih fotoaparatov in mobilnih naprav, kiimajo vgrajene vse boljše fotoaparate, hitro narašča tudi število ljudi, ki se ukvarjajo s fotografijo. Ker so te naprave vse zmogljivejše in cenejše, so tudi dostopnejše vse večjemu številu ljudi. Za ukvarjanje s fotografijo ni več potrebno kupovati dragih fotoaparatov. Pojavili so se tudi številni spletni servisi, kjer lahko delimo svoje fotografije – deljenje fotografij je postalo del vsakdana večine ljudi, saj bi vsakdo rad svoje fotografije podelil z ostalimi.Najbolj poznani servisi za deljenje fotografij so Flickr, Picasa in Photobucket. Na teh servisih imamo veliko brezplačnega prostora za shranjevanje in deljenje naših fotografij. Ko jih delimo, imamo možnost nastavitev njihove vidljivosti, običajno jih lahko označimo kot javne, zasebneali pa določimo uporabnike, ki jih lahko vidijo. Če fotografije označimo kot javne, so vidne vsem, in prav te fotografije nas zanimajo v tej nalogi. Digitalne fotografije vsebujejo tudi veliko informacij o sami fotografiji, podatke o nastanku fotografije, o lastniku, pogojih, pod katerimi je bila zajeta slika, čas in datum nastanka. Če ima naprava za zajem vgrajeno GPS-storitev, lahko pridobimo tudi lokacijo, kjer je fotografija nastala. Kot smo že omenili, so najbolj poznani servisi za deljenje fotografij Flickr, Picasa in Photobucket. Vsak od teh servisov ponuja svoj API, preko katerega lahko dostopamo do vseh fotografij. API-ji imajo svojo dokumentacijo, kjer je opisano, kako se uporablja določena metoda. Dve najbolj uporabljeni metodi sta metoda za iskanje slik in metoda za pridobivanje informacij o fotografiji. Fotografije lahko iščemo na več načinov, in sicer preko oznak, imena fotografije, imena lastnika fotografije ali celo geografske lokacije nastanka posnetka. V nalogi smo poskušali narediti spletno aplikacijo, preko katere bi lahko dostopali do vseh javno dostopnih fotografij. Najprej smo se lotili preučevanja digitalne fotografije in obstoječih spletnih servisov za deljenje fotografij in njihovih API-jev. Potem smo pristopili k izdelavi spletne aplikacije. Ker smo s preučevanjem literature spoznali, da je Flickr najbolj poznan servis in da ima najboljši API, smo se odločili, da bomo zanj zgradili spletno aplikacijo. S to spletno aplikacijo bomo raziskovali javno dostopne fotografije in določevali, ali bi bile pridobljene fotografije lahko uporabljene v turistične namene oziroma bi bile prikazane v spletni galeriji kraja. To bomo naredili z iskanjem fotografij na osnovi podanih oznak oz. 1 geografske dolžine in širine. Aplikacija bo vrnila najdene rezultate, izpisala nekaj podatkov o fotografijah, dobljene podatke pa bomo analizirali in določili uporabnost v turistične namene, hkrati pa opisali ovire, ki se pri tem pojavljajo. 2. DIGITALNA FOTOGRAFIJA Digitalna fotografija je oblika fotografije,ki uporablja nize svetlobno občutljivih senzorjev za zajem slike, na katero je osredotočen objektiv. Posneta slika se potem digitalizira in shrani kot računalniška datoteka, pripravljena za nadaljnjo digitalno obdelavo, pregledovanje ali tiskanje. Za razliko od digitalne fotografijesoklasičnefotografijenarejene tako, da je fotografski film izpostavljen svetlobi –fotografija je narejena s pomočjo kemičnega procesa. Prednost digitalnih fotografij je predvsem v tem, da slednje lahko prikažemo, urejamo, preoblikujemo in shranjujemo glede na naše želje in potrebe s pomočjo računalniških programov in pripomočkov. Digitalni fotoaparat deluje tako, da slikovni senzorji preberejo intenzivnost svetlobe, potem seinformacije o digitalni slikishranijokot RGB1-barvni prostor oziromakotnabor neobdelanih podatkov(ang. raw data). Dva glavna senzorja v digitalnih fotoaparatih za branje intenzivnosti svetlobe sta CCD-senzor (ang. Charged Coupled Device) in CMOS-senzor (ang. Complementary Metal–Oxide–Semiconductor) (Digitalna fotografija med mladimi, 15. januar 2015) 2.1 Zgodovina digitalne fotografije Začetki digitalne fotografije segajo v 60. leta preteklega stoletja, ko je NASA za potrebe raziskovanja vesolja naredila napravo, ki bi jo lahko primerjali z današnjim digitalnim fotoaparatom. Ta naprava je proizvajala sliko, ki je bila shranjena na trak in je uporabljala CCD-slikovni senzor. Potem je leta 1978 na osnovi CCD-senzorja, ki ga je naredila NASA, Steven Sasson,inženir pri Kodaku, poskušal narediti digitalni fotoaparatz maso3.6 kg, le-ta je lahko na kaseto zabeležilčrno-bele slike, imel je resolucijo 0.01 megapiksla, za posnetek slike je potreboval 23 sekund. Prvi pravi digitalni fotoaparat v današnjem razumevanju te besedeje naredilo podjetje Fuji leta 1988. Aparat z oznako DS-1P je shranjeval fotografije v digitalni 1 RGB (ang. red, greenandblue) je barvni prostor, kjer so rdeča, zelena in modra osnovne barve modela, vsako barvo lahko predstavimo z 8 biti. 2 obliki kot računalniške datoteke, imel je notranjo spominsko kartico (16 MB), vendar jeta fotoaparatle del znanstvenega eksperimenta, zato ni bil namenjen za prodajo. Prvi digitalni fotoaparat je bil za komercialne namene narejen leta 1990, imenoval se je Dycam Model 1. Ta aparat je uporabljal CCD-slikovni senzor, shranjeval je fotografije v digitalni obliki, fotografije so se lahkopo kablu prenesle na računalnik, imel je resolucijo 320x240, kar je 0.77 megapiksla, shranilo seje lahko 32 fotografij v TIFF2-oziroma PICT3-formatu, cena je bila 999$ (Warde, 2012). 2.2 Digitalne fotografije Digitalne fotografije so sestavljene iz točno določenega nabora barv in vsako od njih določa posebna številska koda. Obstajata dve vrstidigitalnih fotografij,in sicer vektorske (objektne) in rastrske (bitne) fotografije. V rastrskem zapisu je osnovni element fotografije pika(točka, piksel), za vsako piko zapišemo podatek o barvi. Glavna lastnost rastrske fotografije je ta, da se s povečevanjem fotografije izgublja na kvaliteti, ker piksli postajajo vse večji. Formati zapisa rastrskih slik se večinoma razlikujejo po načinu kompresije in se delijo na: izgubne(JPG4, TIFF, GIF5), brezizgubne(BMP6, PNG7). V vektorskem ali objektnem zapisu je osnovni element slike objekt. Za vsak objekt na sliki zapišemo podatke o velikosti, legi, orientaciji, barvi, vrsti in tipu objekta. Primer vektorskega zapisa slik je SVG (Digitalna fotografija med mladimi, 10. januar 2015). 2 TIFF (ang. Tagged Image File Format) je vrsta rastrskega slikovnega formata. 3 PICT je vrsta formata fotografij, narejena pri Applu kot standardni format za metapodatke. 4 JPG (ang.Joint Photographic Experts Group)je ena od vrst rastrskega zapisa fotografij. 5 GIF(ang. Graphics Interchange Format) je ena od vrst rastrskega zapisa fotografij. 6 BMP(ang. Bitmap Image File)je ena od vrst rastrskega zapisa fotografij. 7 PNG (ang. Portable Network Graphics)je ena od vrst rastrskega zapisa fotografij. 3 2.2.1 JPG JPG ali angleško Joint Photographic Experts Group je rastrski slikovni format, ki se je prvič pojavil leta 1992, ime je dobil po odboru, ki je ta formatoblikoval. Standard JPG je določen s kodekom, ki določa, kako je slika kompresirana v tok bajtov, hkrati pa nazaj dekompresirana v sliko.Glavna značilnost tega formata je, da s kompresijo izgubimodoločene informacije slike. Lahko bi rekli, da tukaj žrtvujemo informacijo, ki jo človek težko zazna. Če s stopnjo kompresije ne pretiravamo, razlika med kompresirano in originalno sliko ni opazna. JPGformat doseže stopnjo kompresije 10:1 z malo opazne izgube kvalitete slike. JPG/EXIF je najpopularnejši format slik, ki gauporabljajo digitalne kamere in fotoaparati (Hammilton, 1992). 2.2.2 GIF GIF je angleška kratica za Graphics Interchange Format. Format je bil prvič uporabljen leta 1987 pri ameriškemu internetnemu ponudniku CompuServe in je hitro je postal zelo razširjen na svetovnem spletu, predvsem zaradi kompresije, ki jo je uporabljal. Kompresija je bila bolj učinkovita kot pri drugih formatih v tem obdobju. Omogočala je,da so se tudi večje fotografije lahko prenesle s spleta na računalnik v relativno kratkem obdobju, tudi pri počasnihinternetnih povezavah. GIF je 8-bitni rastrski slikovni format, to pomeni, da uporablja 256 barv. Razporeditev barv ni enakomerna, ampak je 256 barv izbranih glede na barve originala. Z GIF-formatom lahko naredimo tudi preproste animacije z zaporednim prikazovanjem fotografij, ki imajo ločene barvne palete. GIF-format kompresira fotografije na dva načina, najprej zmanjša število barv in pikslov, potem zamenja večje število vzorcev z enim velikim, to pomeni, da namesto več odtenkov ene barve uporablja samo en odtenek. Ta format se največkrat uporablja za prikazovanje logotipov ter preprostih animacij. Za prikazovanje digitalnih fotografij ni primeren zaradi omejenega nabora barv (Grativa vizualne komunikacije, 15. januar 2015a). 2.2.3 TIFF TIFF je kratica, angleško pomeni Tagged Image File Format. Gre zarastrski slikovni format, osnovan leta 1986 pri organizaciji Aldus. Kasneje je to podjetje kupil Adobe System ter s tem pridobil avtorske pravice za TIFF-specifikacijo. Zadnja specifikacija TIFF-a je bila objavljena leta 1992, od takrat ni bilo večjih sprememb v tem slikovnem formatu. Format je priljubljen 4 med grafično in založniško industrijoter med amaterskimi in profesionalnimi fotografi. Format TIFF široko podpira aplikacije za obdelavo slik ter aplikacije v založništvu za izgled strani. TIFF je prilagodljivi slikovni format, ta prilagodljivost se najbolj vidi v tem, da lahko uporablja JPEG- (izgubno) ali PackBits- (brezizgubno) kompresijo slik. TIFF običajno opisuje slikovne datoteke, ki prihajajo iz skenerjev ali programov za obdelavo barv in fotografij. Primarni cilj formata TIFF je zagotoviti bogato okolje, v katerem aplikacije lahko izmenjujejo slikovne podatke. Taraznolikostje potrebna, da se izkoristijo različne sposobnosti skenerjev in drugih naprav za slikanje. Glavne lastnosti TIFF-formata so,da s TIFF-om lahko opišemo sivino, palete barv in slikovne fotografije v več barvnih prostorov, lahko uporabljamo več načinov kompresije, kar omogoča, da razvijalci izberejo najboljšega, ki jim bo prihranil največ časa in prostora (Adobe, 1992). 2.2.4 BMP BMP je angleška kratica za Bitmap Image File. BMP je rastrski brezizgubni slikovni format, fotografije, shranjene v tem formatu, so pogosto velike. Fotografija v BMP-formatu je lahko 8,16 ali 24-bitna. Format BMP se je v preteklostinajveč uporabljal zaslike ozadij na platformi Windows, danes pa ni več tako popularen. Pozitivna lastnost tega slikovnega formata je, da dobro deluje z vsemi operacijskimi sistemi. Negativni lastnosti tega formata sta, da nima kvalitetne kompresije slik, hkrati pa slike niso ravno ustrezne za spletne strani (Grativa vizualne komunikacije, 15. januar 2015). 2.2.5 PNG PNGje angleška kratica za Portable Network Graphics, ki je bil osnovan leta 1996. To je rastrski slikovni format, na začetku razvitzaradi patentov GIF-a, zdaj pa je največkrat uporabljeni brezizgubni kompresijski format na internetu. Slike so v PNG-formatu lahko 24ali 32-bitne RGB-kombinacije barv. PNG je bil razvit za prenašanje slik na internet, ne pa tudi za profesionalno uporabo – zato podpira samo barvni prostor RGB, ne podpira pa CMYK8. PNG-format omogočaza razliko od slikovnega formata GIFzaradi uporabe večjega števila 8 CMYK (ang. Cyan-Magenta-Yellow-Key) je barvni prostor, sestavljen iz štirih barv, cian, magente, črne in rdeče, ki se medsebojno mešajo, z njimi lahko pridobimo katerokoli barvo. 5 bitov boljšo prosojnost na fotografijah, ne podpira pa animacij in ima slabo podporo v starih brskalnikih (Presentia, 10. januar 2015a). 2.2.6 SVG SVG(ang. Scalable Vector Graphics) je vektorski ali objektni slikovni zapis, ki temelji na XML-formatu. Standard SVG je odprti standard, ki ga je razvil World Wide Web Consortium leta 1999. Slike v SVG-formatu in njihovo obnašanje so opredeljene v XML-besedilnih datotekah. To pomeni, da se lahko iščejo, indeksirajo, skriptirajo in kompresirajo. SVG-slike se lahko naredi v poljubnem urejevalniku besedila, vendar se za ustvarjanje SVG-slik uporablja programska oprema za risanje, kot je Inkscape. Format ima zelo dobro podporo in je podprt v brskalnikih Opera, Safari, Firefox, Chrome, Internet Explorer 9.0 ali novejši, v katere se lahko vključi na različne načine. Dobra lastnost SVG-formata je v tem, da je precej manjša datoteka kot raster ter da ima precej boljšo ločljivost,kar je razvidno na Sliki 2.1. Slika 2.1:Rastrska in vektorska fotografija Vir:Wikipedia (11. januar 2015) 2.2.7 RAW RAW-slikovni zapis(ang. raw v pomenu surov) je neobdelani podatek, lahko bi tudi rekli, da je to digitalni negativ. V RAW-formatu so shranjeni podatki, ki jih je fotoaparat dobil od senzorja. Ti podatki so minimalno obdelani. Ko fotoaparat naredi določeno fotografijo,slednje naredi v RAW-formatu in pri tem zmanjša zapis iz 12 ali 14-bitov na točko na 8 bitov na točko, uporabi svoje algoritme za pretvorbo iz neobdelanega zapisa in upošteva morebitne uporabnikove nastavitve. Iz tega lahko zaključimo, da je RAW-format boljši kot JPG ali 6 TIFF. Tako nas ne preseneča, da skoraj vsi resni fotografi uporabljajo RAW-format. Ena največjih prednosti dela s tem formatom je, da pri urejanje kakšne fotografijezačnemo obdelavo slikez največjo možno kvaliteto in imamo veliko funkcij, s katerimi lahko obdelujemo fotografije, brez da bi izgubili na kvaliteti. RAW-formati imajo tudi nekaj slabosti:gre za precej velike datoteke, za pretvorbo RAW-datotek v JPEG- ali TIFF-format potrebujemo za to poseben program (Izotov blog, 10. januar 2015). 3. METAPODATKI Izraz metapodatek bi lahko opisali kot podatek o podatku.Prvič je bil uporabljen leta 1960,prvotno se je razširil po Severni Evropi, kasneje po celotnem svetu. Leta 2004 je organizacijaNational Information Standards Organization podala definicijo za metapodatke: »Metapodatki so strukturirani podatki, ki opisujejo, pojasnjujejo ali kako drugače omogočajo lažje pridobivanje, uporabo ali upravljanje z informacijskimi viri.« S pomočjo definicije lahko zaključimo, da so metapodatki strukturirane informacije, ki nam govorijo, kako, s katero tehnologijo je nastal nek podatek, kdo je njegov lastnik, kakšne je kvalitete in komu je namenjen. Definicijo metapodatka lahko razumemo na več različnih načinov, odvisno od področja, v katerem se srečujemo z izrazom. Funkcija metapodatka je bila zaradi tega že večkrat definirana, najboljše pa jo je opisal Haynes v »modelu petih točk«, kjer opredeljuje njihovo vlogo in namen (Gulbins in Steinmuller, 2010). Haynesov »model petih točk« zajema naslednje: 1. Opis vira – pomemben predvsem za institucije, ki morajo opisati svoje informacijske vire. 2. Iskanje vira – pomembno na vseh področjih, najbolj pa na akademskem, ker omogoča dostopnost verodostojnih virov informacij. 3. Vzdrževanje in shranjevanje vira – pomembno za ohranjanje življenjskega cikla virov in njihovega posodabljanja ter ohranjanja za prihodnost. 4. Dokumentiranje lastništva in avtentičnosti vira – metapodatki omogočajo istovetenje vira in dokazovanje avtentičnosti ter lastništva. 7 5. Interoperabilnost – metapodatki omogočajo povezavo med različnimi knjižničnimi in drugimi informacijskimi sistemi. V našem primeru, primeru digitalne fotografije, nam metapodatki dajejo dodatne informacije o vsaki fotografiji. Metapodatki slike so lahko vgrajeni v slikovne datoteke ali pa so shranjeni v posebno datoteko oz. podatkovno bazo. Glede na vrsto datotek(RAW, TIFF ali JPEG) vsebuje vsaka datoteka različne vrste metapodatkov, ki jih lahko razdelimo v tri skupine, to so: lastnosti datoteke(File Properties), IPTC-metapodatki, EXIF-metapodatki in dodatni metapodatki. Lastnosti datoteke vsebujejo podatke, kot so:ime datoteke, vrsta in velikost datoteke, pravice pristopa in datum nastanka datoteke. Na digitalnih fotoaparatih so te lastnosti shranjene samodejno. IPTC je kratica za mednarodni tiskovni in telekomunikacijski komite (ang. International Press Telecommunications Council), ki daje priporočila za standardizirane strukture metapodatkov v elektronskih medijih, kot so slika, video in avdio. IPTC-lastnosti so standardi, ki jih uporabljajo novinarji, da bi zaščitili svoje avtorske pravice. IPTC-podatki vsebujejo podatke o imenu fotografije, kratek opis fotografije in ključne besede le-te. Večina digitalnih fotoaparatov samodejno naredi prazna mesta za vnos IPTC-podatkov, ki jih kasneje vnese uporabnik. Photoshop Bridge je najbolj poznan program za vnos IPTC-podatkov. Dodatni metapodatki predstavljajo zbirko podatkov nastavitev, ki so shranjene v RAWformatu, v trenutku, ko je nastala fotografija (Gulbins in Steinmuller, 2010). 3.1 EXIF Format EXIF(ang. Exchangeable Image File Format) je bil predstavljenleta 1995 pri japonskemu razvojnemu združenju elektronske industrije (ang. Japan Electronic IndustryDevelopmentAssociation, s kratico JEIDA). EXIF-format je podprt pri skoraj vseh proizvajalcih digitalnih fotoaparatov. Digitalne kamere in optični bralniki shranjujejo podatke o kameri, o pogojih, pod katerimi je bila zajeta slika, čas in datum zajema ter še druge podatke, ki so shranjeni v naslovu (ang. header). JEIDA je za skupen tip naslovnih podatkov postavila standard, ki ga je opredelila kot izmenljivo slikovno datoteko EXIF – ta omogoča shranjevanje izmenljivih podatkov v digitalni fotografiji. 8 EXIF-zapis je omejen na datotečna formata JPEG in TIFF, kar v večini primerov ne predstavlja težave, saj sta ta formata, predvsem JPEG, najbolj razširjena in uporabna datotečna formata. EXIF-zapis pa ne podpira JPEG 2000-, PNG- in GIF-formatov. Ključnega pomena zaEXIF-format je tudi računalniško okolje, saj EXIF-podatke lahko preberejo računalniški programi, tako nam posnetek pravilno prikažejo. Če se nam denimo zgodi, da naš posnetek ni oster, a ne vemo natančno, zakaj je temu tako, lahko odpremo EXIF, pregledamo v njem zapisane podatke in se prepričamo, ali smo uporabili dovolj kratek čas zaklopa glede na izbrano ISO-vrednost in zaslonko ali pa razlog morda tiči drugje(Šalej, 2013). Obstajajo številni načini, kako lahko pregledamo EXIF-podatke. Te lahko preverimo preko operacijskega sistema na računalniku ter različnih programov, kot so Photoshop Bridge, Opanda iExif, KUSO ExifViewer, IrfanView ali celo preko vtičnikov, ki jihnudijo spletni brskalniki (npr. Chrome in Firefox). Eden pomembnih EXIF-podatkov je geolokacija, opisali jo bomo v naslednjem poglavju. Na Sliki 3.1lahko vidimo pregled EXIF-metapodatkov v programu Photoshop Bridge. Slika 3.1: Prikaz EXIF-metapodatkov v programu Photoshop Bridge VIR: E-fotografija (15.januar2015) 9 3.2 Geolokacija Geolokacija je kombinacija GPS-storitve in informacijske tehnologije, ki se danes vse več uporablja, posebej ko imamo socialne servise, kot so Flickr, Twitter in drugi z omenjeno tehnologijo. GPS-tehnologija je stabilna in zrela tehnologija, ki se danes vse več pojavlja na mobilnih napravah, predvsem zaradi večje zmogljivosti pametnih naprav, ki imajo običajno vgrajeno GPS-storitev, s katero lahko shranimo lokacijo nahajanja naprave. Vsaka lokacija je opisana z dvema koordinatama:zzemljepisno širino in dolžino. Geokodiranje fotografije pomeni, da te koordinate shranimo v datoteko slike. Lokacijske podatke lahko vstavimo ročno ali samodejno z napravo, ki se zaveda lokacije v času nastanka fotografije. Geokodiranjeje danes vse bolj priljubljeno, posebej zaradi servisov, kot so Flickr in Picasa, kjer lahko slike prikažemo na svetovni mapi. Geokodiranje je proces, v katerem GPS-točko, shranjeno v naši fotografiji, združimo z dejanskim naslovom. Obstajajo številni programi, ki to lahko naredijo. Eden takih je program PhotoLinker, ki samodejno nastavi fotografije v države in mesta, kjer so fotografije nastale na osnovi geopodatkov v slikah. Po nekaterih znanstvenih študijah ima geokodiranje lahko tudi nezaželene učinke, posebej kar zadeva zasebnost. Veliko slavnih je tako oddalo svoje domače mesto, ne da bi se tega sploh zavedalo. Tem nevarnostim se je mogoče izogniti tako, da odstranimo geooznake iz fotografij z uporabo orodij za odstranitev metapodatkov za fotografije pred njihovo uporabo na internetu (Holdener, 2011). 4. SPLETNE APLIKACIJE ZA DELJENJE FOTOGRAFIJ 4.1 Flickr Flickr je bil ustanovljen leta 2004, osnovalo ga je majhno podjetje iz Vancouvra v Kanadi, imenovano Ludicorp. Flickr prvotno ni bil zamišljen kot samostojna aplikacija, ampak kot podpora spletni videoigri Neverending. Zaradi svoje priljubljenosti je v kratkem času Flickr samostojno zaživel. Glavna lastnost Flickrja je bila deljenje v realnem času. Kot je rasla njegova priljubljenost, tako so Flickrju ves čas dodajali nove funkcije, kot so skupine, v katere se lahko uporabnik včlani, če se mu zdijo zanimive, označevanje (ang. tagging) fotografij za 10 lažje iskanje preko iskalnika, shranjevanje slik kot priljubljenih itn. Potencial in uspeh Flickrja je prepoznalo podjetje Yahoo, ki ga je kupilo leta 2005 za okrog 30 mil. dolarjev. Od leta 2008 je bilo možno za plačniške račune poleg slik naložiti tudi videoposnetke z dolžino do 90 sekund in velikostjo do 150 MB. Od leta 2009 je bilo možno nalagati tudi videoposnetke visoke ločljivosti. Flickr je tako postal najbolj priljubljena spletna aplikacija, preko katere lahko nalagamo slike in videoposnetke (Holzner, 2009). Danes ima Flickr več kot 87 milijonov registriranih uporabnikov, vsak dan se nanj nalaga več kot 3,5 milijonov novih slik. Za pregledovanje fotografij ni potrebna registracija, za nalaganje novih fotografij pa je potrebno registrirati uporabniški račun na spletni strani yahoo.com. Flickr ponuja dve vrsti računov: brezplačni račun in račun brez oglasov. V brezplačnem računu je mogoče shraniti do 1 TB slik in videoposnetkov, edina omejitev je velikost fotografije (le-ta ne sme biti večja od 200 MB). Račun brez oglasov je podoben brezplačnemu, vendar za ceno od 5,49 $ mesečno ponuja pregledovanje slik in videoposnetkov brez oglasov (Leuthard, 2014). Flickr ima uradne mobilne aplikacije za operacijske sisteme, kot so IOS, Android, PlayStation Vita in Windows Phone, in optimizirano mobilno spletno aplikacijo. 4.1.1 Zgradba in izgled Flickrja Flickr je sestavljen iz zbirk medseboj povezanih uporabnikov, slik, oznak in skupin. Začetna stran prikazuje zadnje naložene fotografije vsakega uporabnika, fotografije, ki jih je označil kot priljubljene, informacije o uporabniškem računu, liste uporabnikovih stikov in skupin, ki jim pripada. Ko kliknemo na določeno fotografijo, nam stran le-to pokaže povečano, hkrati pa lahko razberemo tudi različne informacije o sliki (kdo je naložil fotografijo, kdaj, kateri skupini pripada, oznake fotografije, komentarji drugih oseb, število ogledov, število shranjevanj fotografije kot priljubljene in njene EXIF-podatke). Ko kliknemo na povezavo skupine, nam stran prikaže listo slik skupin, katerih člani smo, popularne oznake, komentarje in druge informacije o skupini. Uporabnik lahko brska po Flickrju preko povezav med temi stranmi, lahko pa gre na povezavo Razišči, ki prikazuje 500 najpopularnejših fotografij, naloženih v določenem dnevu. Ta stran je osmišljena tako, da prikazuje najboljše fotografije na Flickrju. Algoritem, po katerem Flickr prikazuje najboljše slike, je označen kot skrivnost, da bi se preprečile možne zlorabe. Izgled Flickrja lahko vidimo na Sliki 4.1 (Yee, 2008). 11 Slika 4.1: Izgled Flickrja Vir: Colarić, lastni prikaz (2015) 4.1.2 Flickr API Flickr ponuja knjižnico Flickr API9 – to je močno orodje za interakcijo s Flickrjevim uporabniškim računom. API-ji so danes eden najbolj priljubljenih načinov programiranj spletnih strani. Z uporabo API-ja lahko preberemo skoraj vse podatke, ki pripadajo določeni fotografiji. Danes imamo na stotine aplikacij tretjih strank, ki uporabljajo Flickr API. API deluje tako, da programer pošlje zahtevo API-ju, dobi odgovor, ki se lahko dešifrira. Flickr API določa okvir za oboje, za izdelavo prošnje in pridobitev odgovora, kar je zelo dobro opredeljeno, stabilno in priporočeno za računalniške programe. Za uporabo Flickr API-ja najprej potrebujemo uporabljen Flickr API key. To je način, preko katerega Yahoo sledi aktivnostim, ki so povezane z določenim ključem. Lahko rečemo, da je to uporabniško ime za Flickr API. API-ključ se pridobi relativno preprosto, odvisno je samo od tega, ali razvijamo komercialni ali nekomercialni produkt. Če razvijamo komercialni produkt, bo Yahoo želel vedeti več o tem, saj je potreben poseben ključ, za kar mora Yahoo odobriti proizvod. Le v primeru eksperimentiranja z razvijanjem nekomercialnega produkta lahko omenjeni ključ pridobimo takoj. Prvotna naloga API-ključa je avtentikacija. Vsaka aplikacija je edinstveno opredeljena s ključem in uporabnik lahko dovoli tri vrste dovoljenj, to so: branje, pisanje ali brisanje. Z dovoljenjem za branje lahko preko aplikacije dostopamo do vseh slik uporabnika, tudi do slik, ki so označene kot zasebne. Dovoljenje za pisanje nam omogoča vse možnosti kot pri dovoljenju za branje, aplikaciji pa omogoča še dodajanje, odstranjevanje ali 9 API: ang. Application Programming Interface. 12 spreminjanje podatkov o fotografiji. Dovoljenje za brisanje ponuja vse možnosti iz dovoljenj za branje in pisanje, ponuja pa tudi možnost trajnega izbrisa fotografije. Uporabnik lahko na katerikoli točki prekliče dovoljenje. Ta možnost daje uporabnikom Flickrja več zaupanja v nezlorabljanje njihovih fotografij. Vsak API-ključ je izdan s spremljajočo deljeno skrivnostjo – je alfanumerični niz, potreben za zagotavljanje postopka avtentikacije. Naslednja stvar, ki jo mora uporabnik API-ja razumeti, je princip, po katerem deluje Flickr. Delovanje lahko razdelimo na tri faze: najprej moramo Flickrju poslati zahtevo po informaciji. Nato nam le-ta pošlje zahtevano informacijo. Tretje faza pa predstavlja dejavnosti s pridobljeno informacijo (Kunkle in Morton, 2006). Obstaja veliko knjižnic, ki podpirajo delovanje Flickr API-ja, vendar jih ne vzdržuje Flickr, uporabljajo se na lastno odgovornost. Tabela 4.1: Knjižnice tretjih strank za Flickr API Programsko okolje API ActionScript * Flickr API * Flashr * Flasher API Interface REST * as3 flickr rib C++ * Flickcurl Cold Fusion * Cflickr Java * Flickr4java * flickr-jandroid NET * Flickr.NET Node.js * node-flickrapi Perl * Flickr::API2 * Flickr::Upload Objective-C * ObjectiveFlickr * FlickrKit PHP * PEAR::FlickrAPi * phpFlickr * Phlickr Python * flickr.py 13 * python.flickr.api * Beej's Python Flickr API Ruby * flickraw * flickr.rb * rflickr Vir: Flickr API (15. januar 2015) 4.1.3 API-metode Flickr API-dokumentacija je dostopna na povezavi https://www.flickr.com/services/api/. Dobra stran Flickr API-ja je ta, da za uporabo ne zahteva nekega pomnjenja. Na zgoraj omenjeni povezavi lahko najdemo vse metode, ki jih Flickr API lahko opravlja za nas. Za vsako metodo, dostopno na strani, imamo povezavo, preko katere lahko vidimo opis določene metode. Metode so organizirane v skupine po funkcionalnosti. Danes imamo večkot 30 skupin in več kot 150 metod v teh skupinah. V naslednjem odstavku bomo predstavili najbolj uporabne metode Flickr API-ja. Metode dovoljenja so: flickr.auth.checkToken, flickr.auth.getFrob, flickr.auth.getFullToken, flickr.auth.getToken. Te metode so namenjene temu, da dovolijo delovanjeaplikacij Flickr,ki uporabljajo Flickr API inso posebej koristne, ko uporabljamo druge, bolj invazivne API-metode, kot so brisanje fotografij ali gledanje lastnih zasebnih fotografij. Metode blogov so: flickr.blogs.getList, flickr.blogs.postPhoto, flickr.blogs.getServices. Te metode nam omogočajo interakcijo z blogom, ki smo ga namestili za uporabo Flickrja. Metode kontaktov so: flickr.contacts.getList, 14 flickr.contacts.getTaggingSuggestions, flickr.contacts.getPublicList. Metode kontaktov nam omogočajo, da naredimo listo svojih kontaktov oziroma listo kontaktov drugega uporabnika. Metode skupin so: flickr.groups.browse, flickr.groups.getInfo, flickr.groups.search, flickr.groups.pools.add, flickr.groups.pools.getContext, flickr.groups.pools.getGroups, flickr.groups.pools.getPhotos, flickr.groups.pools.remove. Skupine imajo velik pomen za Flickrjeve uporabnike, njihovi uporabniki lahko tu zberejo veliko informacij o fotografiji, na zanimive načine uporabljajo fotografije te skupine. Metode skupin nam omogočajo pridobitev ID-skupine, pridobitev seznama skupin, katerih člani smo, hkrati pa pripravijo tudi listo fotografij, ki se nahajajo v določeni skupini. Metode uporabnikov so: flickr.people.findByEmail, flickr.people.findByUsername, flickr.people.getInfo, flickr.people.getPublicGroups, flickr.people.getPublicPhotos, flickr.people.getUploadStatus. Ker je Flickr tudi socialno omrežje, lahko s temi metodami pridobimo tudi informacije o ljudeh, ki ga uporabljajo. Na primer: preko metode flickr.people.findByUsername lahko določimo uporabnikov ID, le-tega uporabimo zaklic druge API-metode (npr. flickr.people.getInfo: da izvemo več informacij o uporabniku; flickr.people.getPublicPhotos: da pridobimo slike tega uporabnika ipd.). 15 Metode fotografij so: flickr.photos.addTags, flickr.photos.getAllContexts, flickr.photos.getContactsPhotos, flickr.photos.getContactsPublicPhotos, flickr.photos.getContext, flickr.photos.getCounts, flickr.photos.getExif, flickr.photos.getInfo, flickr.photos.getNotInSet, flickr.photos.getPerms, flickr.photos.getRecent, flickr.photos.getSizes, flickr.photos.getUntagged, flickr.photos.removeTag, flickr.photos.search, flickr.photos.setDates, flickr.photos.setMeta, flickr.photos.setPerms, flickr.photos.setTags, flickr.photos.transform.rotate, flickr.photos.upload.checkTickets, flickr.photos.getWithGeoData, flickr.photos.getWithoutGeoData. Le-teh metod je največ med vsemi metodami, so največkrat uporabljene in najbolj priljubljene. Dve metodi, največkrat uporabljeni iz te skupine, sta flickr.photos.getInfo in flickr.photos.search. Z metodo flickr.photos.getInfo pridobimo informacije o določeni fotografiji, z metodo flickr.photos.search pa lahko pridobimo listo fotografij, ki imajo oznake, ki smo ju iskali. 16 Metode geolokacije so: flickr.photos.geo.batchCorrectLocation, flickr.photos.geo.correctLocation, flickr.photos.geo.getLocation, flickr.photos.geo.getPerms, flickr.photos.geo.photosForLocation, flickr.photos.geo.removeLocation, flickr.photos.geo.setContext, flickr.photos.geo.setLocation, flickr.photos.geo.setPerms. Metode geolokacije so zelo pomembne, saj lahko preko podatkov o geografski dolžini in širini izvemo točno lokacijo nastanka slike (Bausch in Bumgardner, 2006). 4.1.4 Komunikacija s Flickr API-jem Flickr podpira tri različne »zahteva/odgovor« (ang. request/response) protokole, ki ustrezajo trenutno najbolj priljubljenim standardom za komuniciranje s storitvami na internetu. Te tri vrste protokolov so REST, XML-RPC in SOAP. V vsakem formatu je enaka oblika osnovnih podatkov, ki se posredujejo. XML-podatki pa so prikazani na drug način (Bausch in Bumgardner, 2006). 4.1.5 Protokol REST REST (ang. Representational State Transfer) je arhitektura za izmenjavo podatkov med spletnimi storitvami. REST je izmed vseh naštetih v poglavju 4.1.4 najpreprostejši protokol in ta preprostost je glavni razlog za njegovo priljubljenost. Načelo REST-a je uporaba protokola HTTP, tako kot je modeliran. Za zahteve se uporabljajo standardne metode HTTP: GET in POST, odzivi se vrnejo v XML-formatu z nekaj dodatnimi informacijami. Končna točka URL-protokola REST je https://api.flickr.com/services/rest/. Flickr REST-format lahko uporabljamo s katerokoli metodo, dostopno na Flickrju. To lahko naredimo na dva načina: vpišemo REST URL neposredno v brskalnik, lahko pa uporabljamo Flickr API Explorer. Podali bomo primer uporabe flickr.test.echo metode s protokolom REST. To naredimo tako,da v brskalnik vpišemo naslov: 17 https://api.flickr.com/services/rest/?method=flickr.test.echo&api_key=65f46382ba88ead2a44 9ba989f3ee389¶m1=value1¶m2=value2. Klic metode nam vrne odgovor v XML-obliki: <rspstat="ok"> <method>flickr.test.echo</method> <api_key>65f46382ba88ead2a449ba989f3ee389</api_key> <param1>value1</param1> <param2>value2</param2> </rsp> Enako zadevo lahko naredimo z uporabo Flickr API Explorerja (Slika 4.2). Da bi lahko uporabljali Flickr API Explorer, moramo na stran dokumentacije metode, ki jo želimo uporabljati. Na dnu strani bomo našli povezavo za API Explorer. Le-tega samodejno naredi Flickr API-ključ z vsemi dovoljenji. Omogoča pa tudi veliko drugih koristnih parametrov, kot sta ID-fotografije ali ID-skupine; le-ta sta lahko zelo koristna za ustvarjanje zglednih rezultatov. Tu je primer klica metode flickr.photos.getInfo preko Flickr API Explorerja. Slika 4.2: Flickr API Explorer Vir: Colarić, lastni prikaz (2014) Kot je razvidno iz Slike 4.2, je za klic te metode potreben parameter photo_id fotografije, od katere želimo informacije. Za testiranje metode lahko uporabimo enega izmed photo_id-jev, ki se nahajajo na desni strani v stolpcu Useful Variables.Ko kliknemo na povezavo Call method, se nam izpiše naslednji XML: 18 <photoid="2733"secret="123456"server="12"license="3"originalsecret="1bc09ce 34a"originalformat="png"> <ownernsid="12037949754@N01"username="Bees"realname="Cal Henderson"location="Bedford, UK"/> <title>orford_castle_taster</title> <description>hello!</description> <visibilityispublic="1"isfriend="0"isfamily="0"/> <datesposted="1100897479"taken="2004-11-19 12:51:19"takengranularity="0"lastupdate="1093022469"/> <permissionspermcomment="3"permaddmeta="2"/> <editabilitycancomment="1"canaddmeta="1"/> <comments>1</comments> <notes> <noteid="313"author="12037949754@N01"authorname="Bees"x="10"y="10"w="50"h=" 50">foo</note> </notes> <tags> <tagid="1234"author="12037949754@N01"raw="woo yay">wooyay</tag> <tagid="1235"author="12037949754@N01"raw="hoopla">hoopla</tag> </tags> <urls> <urltype="photopage">http://www.flickr.com/photos/bees/2733/</url> </urls> </photo> XML-izpisi rezultatov vsake API-metode imajo enako strukturo. Na začetku imamo oznako <rsp>, ki ima lahko vrednosti ok ali fail. Če ima oznaka <rsp> status fail, imamo še oznako <err>, ki vsebujekoristne informacije o napaki, če pa ima oznaka <rsp> status ok, bo oznaka <rsp> vsebovala rezultat klica, ki je odvisen od metode, ki smo jo klicali (Bausch in Bumgardner, 2006). 4.1.6 Protokol SOAP SOAP je na XML-temelječ protokol za izmenjavo strukturiranih informacij pri izvajanju spletnih storitev v računalniških omrežjih. SOAP zagotavlja komunikacijo med aplikacijami, ki se izvajajo na različnih operacijskih sistemih, uporabljajo različne tehnologije in programske jezike. Zahteve SOAP-a so ovojnice posebej formatiranih XML-podatkov, ki jih zahtevamo preko URL-ja. Končna točka SOAP-serverja je https://api.flickr.com/services/soap/. Primer klica metode flickr.test.echo s SOAP-protokolom (BauschinBumgardner, 2006): <s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema" > <s:Body> <x:FlickrRequestxmlns:x="urn:flickr"> <method>flickr.test.echo</method> 19 <name>value</name> </x:FlickrRequest> </s:Body> </s:Envelope> 4.1.7 Protokol XML-RPC Tako kot SOAP je tudi XML-RPCprotokol za izmenjavo strukturiranih informacij pri izvajanju spletnih storitev v različnih računalniških omrežjih. Zahteve XML-RPC so ovojnice posebej formatiranih XML-podatkov, ki jih zahtevamo preko URL-ja. Končna točka XMLRPC serverja je https://api.flickr.com/services/xmlrpc/. Primer klica metode flickr.test.echo z XML-RPC-protokolom(Bausch in Bumgardner, 2006): <methodCall> <methodName>flickr.test.echo</methodName> <params> <param> <value> <struct> <member> <name>name</name> <value><string>value</string></value> </member> <member> <name>name2</name> <value><string>value2</string></value> </member> </struct> </value> </param> </params> </methodCall> 4.2 4.2.1 Picasa in Picasa Web Albums Zgodovina Picase Picasa je Googlov brezplačni program za urejanje in pregledovanje digitalnih fotografij, ter jeintegrirana spletna stran za izmenjavo fotografij. Ime je dobilo po španskem avtorju Pablu Picassu, sestavljena je iz besed mi casa, kar pomeni moja hiša, in besede pic, kar označuje fotografijo. Picasa je bila narejena leta 2002 pri podjetju Lifescape, leta 2004 pa jo je kupilo podjetje Google. Slednji ves čas dodaja nove funkcionalnosti. Tako je leta 2006 Google kupil tehnologijo Neven Vision, ki se lahko uporablja za prepoznavanje ljudi in zgradb na fotografijah, uvedel jo je v program Picasa. Od leta 2007 je mogoče preko aplikacije Picasa dodajati geografske oznake metapodatkom fotografije. Istega leta so povečali možnost skladiščenja fotografij iz začetnih 250 MB na 1 GB, z možnostjo zakupitve dodatnega 20 prostora. Leta 2008 so nadgradili tehnologijo Neven Vision z možnostjo prepoznavanja obrazov na fotografijah. Verzija za Mac je dostopna od leta 2009, od leta 2010 pa tudi verzija za Linux. Od januarja 2015 je dostopna najnovejša različica Picase, verzija 3.9, ki podpira operacijske sisteme Windows XP, Windows Vista, Windows 7 in Windows 8. Verzija 3.9 ima integracijo s storitvijo Google+(Some History About, 10. januar 2015). Kot smo že omenili, lahko Picaso razdelimo na dva dela: program Picasa in spletna storitev Picasa WebAlbums. 4.2.2 Program Picasa Program Picasa je Googlov brezplačni program za organiziranje, urejanje in pregledovanje digitalnih fotografij. Najprej ga je potrebno namestiti. Program je dostopen na povezavi http://picasa.google.com. Ko prvič zaženemo program, izberemo datoteke na računalniku, v katerih želimo, da nam program poišče fotografije in videoposnetke. Program lahko preišče celoten računalnik, pri dobri organiziranosti vseh fotografij pa le-to ni potrebno, saj bi časovno predolgo trajalo. Vrste slik, ki jih program najde, so naslednje: JPG, GIF, TIF, PSD, PNG, BMP, RAW; vrste videoposnetkov: MPG, AVI, ASF, WMW, MOV (Picasa, 10. januar 2015a). Slikovne datoteke, ki jih najde Picasa, se uporabljajo za ustvarjanje indeksov v programu Picasa. Ta indeks slik se uporablja za organiziranje fotografij v vizualne albume. Picasa vse slike, ki jih najde na računalniku,prikazuje v knjižnici slik, kar je razvidno iz Slike4.3 (Miller, 2008). Slika 4.3: Izgled Picase Vir: Colarić, lastni prikaz (2015) 21 Obstaja veliko možnostiza delo s fotografijami znotraj programa Picasa: lahko jih pošljemo po e-pošti,natisnemo,damo v skupno rabo na spletenih albumih,jim dodajamo informacije in oznake itn. 4.2.3 Organiziranje in deljenje fotografij Dobre strani pri Picasi so enostavno organiziranje fotografij, premeščanje iz ene mape v drugo, možnost preimenovanja. Picasa vse fotografije prikazuje v prvotnih mapah. Kot smo že omenili, omenjeni program uporablja tehnologijo Neven Vision in lahko dejansko samodejno prepozna obraze v naših digitalnih fotografijah. Ko Picasa pregleduje slike na računalniku, samodejno ugotovi fotografije, na katerih so ljudje. S klikom na podokno osebe nam program prikaže vse tiste fotografije, na katerih je zaznal obraze. Uredimo jih lahko zlahka s poimenovanjem oseb na posnetkih. Picasa si zapomni obraze ljudi in pri novo naloženih fotografijah samodejno predlaga imena oseb. Vsakič, ko dodamo novo ime, se samodejno naredi album s fotografijami te osebe. Če na primer dodamo fotografijo, na kateri je cela družina, in osebe na fotografiji označimo kot mama, oče, otroci, program za vsako osebo naredi nov album; fotografijo lahko označimo kot družinsko in shranimo kot album. Fotografije lahko urejamo tudi po krajih, v katerih so nastale. Da bi dodali geografsko lokacijo fotografije, enostavno kliknemo na fotografijo, na funkcijski gumb Prikaži/skrij podokno z mesti. S klikom na to mesto se nam odpre podokno z mapo sveta; lokacijo lahko dodamo na dva načina: preko iskalnika poiščemo lokacijo oz. enostavno spustimo zatič (ang. pin) na svetovni mapi. Če so bile fotografije posnete s kakšno novo mobilno napravo, obstaja velika verjetnost, da je geolokacija že vključena v metapodatke, Picasa samodejno prepozna lokacijo npr. določenega predmeta in jo pokaže na svetovnem zemljevidu. Fotografije lahko organiziramo v različne albume ali jih shranimo kot priljubljene. Kasneje je organizirane albume enostavno poiskati, fotografije pa razvrščati. Znotraj programa Picasa obstaja več različnih načinov deljenja fotografij:lahko jih pošljemo neposredno na e-mail, lahko jih objavimo v spletni storitvi Picasa Web Albums, shranimo na prenosno napravo za shranjevanje ali pošljemo direktno na naš blog (Posh in Trapani, 2011). 4.2.4 Spreminjanje fotografij Niso vse slike, ki jih posnamemo, dobre. Nekatere slike so pretemne, druge presvetle, nekatere imajo slabo ravnotežje barv ali pa niso pravilno sestavljene, na nekaterih imajo ljudje 22 rdeče oči. Vse te pomanjkljivosti lahkoodpravimo z naborom funkcij za urejanje fotografij, ki nam jih ponuja program Picasa. Funkcije so razdeljene v naslednje skupine: pogosti popravki (obreži, poravnanje, rdeče oči, klik na srečo, samodejni kontrast), natančni popravki svetlobe in barv (osvetlitev, poudarki, sence, barvna temperatura), prijetna in uporabna obdelava slik (izostri, sepija, črno-bela, otopli, mehki fokus), več zabavna uporaba slik (infrardeči film, način Holga, način Lomo, Kinodvorana, Šestdeseta, Dvotonsko), še več uporabna obdelava slik (ojačanje, mehčanje, vinjeta, kvadriranje, obroba, polaroid). S temi funkcijami lahko odpravimo skoraj vse pomanjkljivosti na fotografijah. 4.2.5 Picasa Web Albums Ko želimo deliti naše fotografije z drugimi ljudmi, to najlažje naredimo preko izbrane spletne storitve. Google ponuja svoje spletno rešitev za deljenje fotografij, ta se pogosto primerja s Flickrjem in je tesno povezana s programom Picasa: imenuje se Picasa Web Albums (PWA) (Bamberg, 2012). PWA omogoča uporabnikom Googlovega računa shranjevanje in deljenje slik z velikostjo do 15 GB. Ta prostor je sicer razdeljen med Google Drive, Gmail in PWAstoritvami.Navaja, da ta prostor sestavljajo naslednje storitve: Gmail: vsa sporočila in priloge v naši pošti, vključno z neželeno pošto in košem. Drive: datoteke, ki so shranjene na disk: PDF-datoteke, fotografije in videoposnetki. PWA: samo slike nad 2048x2048 pikslov in videoposnetki, daljši od 15 minut, se štejejo v našo omejitev za shranjevanje. Če ostanemo brez prostora za shranjevanje, lahko zakupimo dodatni prostor. Mesečna cena tega zakupa je prikazana v Tabeli 4.2 (Picasa, 20.januar 2015) . 23 Tabela 4.2: Mesečna cena zakupa dodatnega prostora na Picasi Prostor Mesečna cena 100 GB 1.99 $ 1 TB 9.99 $ 10 TB 99.99 $ 20 TB 199.99 $ 30 TB 299.99 $ Vir: Buy and manage storage plans (2015) Ob prvi prijavi na PWA se nam odpre okno, preko katerega naložimo fotografije na več načinov: preko spletnega vmesnika PWA, preko programa Picasa, preko UPLOAD na MAX OS, preko aplikacije F-SPOT na Linuxu. Nalaganje fotografij gre najenostavneje preko PWAspletnega vmesnika, in sicer na dva načina: lahko samo spustimo datoteke s slikami v povleci in spusti območje, lahko krmarimo do datoteke s fotografijami na našem računalniku in izberemo želene fotografije.Če kliknemo na povezavo domov, nam začetna stran pokaže albume, ki smo jih naložili na PWA. Obstaja več možnosti, kaj narediti s posnetki: lahko naredimo slideshow, delimo fotografije, dodamo več fotografij, jih natisnemo in organiziramo. Fotografije in albume lahko delimo na več različnih načinov: deljenje preko spletne storitve Google+, po e-pošti itn. Ko naložimo in objavimo fotografije in albume, lahko postavimo naslednje vidnosti albuma (Picasa,10. januar 2015): Public: vsakdo na spletu lahko pregleduje albume, označene kot javne. Te galerije lahko najdemo preko iskalnika. Omejeno (dostopno samo s povezavo): za ogled albumov/fotografij je potrebno pridobiti povezavo do njih. Vsak s povezavo lahko le-to prenese na nekoga drugega, je pa zaščitena s posebnim ključem, kombinacijo črk in številk, ki dovoljuje dostop do določenega spletnega naslova. Omejeno: omejeni albumi so vidni samouporabnikom, ki so določili te albume. Le vnaprej določeni uporabniki lahko razpolagajo (vidijo, pregledujejo, delijo) z omenjenimi vsebinami. Samo mi: to je najvišja stopnja zasebnosti, ti albumi so vidni le tistim, ki so jih ustvarili. Obstaja možnost, da albumu spremenimo vidnost iz javnega/omejenega v 24 zasebnega: program bo posledično izbrisal vse uporabnike, ki so do tedaj dostopali do omenjenih vsebin. 4.3 Picasa Web Albums Data API Picasa Web Albums Data API omogoča odjemalskim aplikacijam, da na številne načine uporabljajo fotografije, naložene na storitev PWA. Odjemalska aplikacija lahko uporablja PWA Data API, da naredi, uredi ali izbriše določeni album, fotografijo ali komentar ali pa naredi poizvedbe za stvari, ki ustrezajo določenim kriterijem. Picasa API ima dobro podporo innarejene knjižnice za naslednje programske jezike: .NET, Java, Php, Python. Preko API-ja lahko dostopamo do vseh javnih fotografij, v primeru, da naša aplikacija zahteva zasebne fotografije, pa mora imeti avtorizacijskižeton. Avtorizacijskižetonidentificira našo aplikacijo na Googlu. PWA Data API za avtentikacijo in avtorizacijo uporablja protokol OAuth 2.0.10 Komuniciranje s PWA Data API-jem poteka preko protokola REST, kar smo že omenili pri Flickrju. Na povezavi https://developers.google.com/picasa-web/docs/2.0/developers_guide_protocol lahko vidimo primere nalog za delo z albumi, fotografijami, videoposnetki, oznakami in komentarji s pomočjo PWA Data API. Kar se tiče uporabe albumov preko API-ja, so naloge, ki jih lahko opravljamo, naslednje (Picasa, 21. januar 2015): zahteva po listi albumov, izdelava novega albuma, sprememba nastavitev albuma, brisanje albuma. Naloge,ki jih lahko uporabljamo s slikami in videoposnetki, so: zahtevanje liste fotografij (prikazovanje fotografij v albumih ali prikazovanje nedavno naloženih slik), 10 dodajanje novih fotografij (dodajanje fotografij z ali brez metapodatkov), posodobitev fotografij in metapodatkov, brisanje fotografij. OAuth 2.0 je relativno prost protokol. Da bi ga lahko uporabljali, moramo najprej pridobiti dovoljenje od Google Developers Console, naša aplikacija nato zahteva žeton Googlovega avtorizacijskega serverja in le-tega pošlje Google API-ju, h kateremu želi pristopiti. 25 Naloge z oznakami so: pridobivanje liste oznak po uporabniku, albumu ali fotografiji, iskanje fotografij na osnovi oznak, dodajanje novih oznak fotografiji, brisanje oznak določene fotografije. Naloge s komentarji so: pridobivanje liste komentarjev, dodajanje komentarjev fotografiji, brisanje komentarja. Picasa Web Albums Data API v primerjavi s Flickr API-jem glede na pregledano gradivo v literaturi nima možnosti iskanja slik na osnovi geolokacije. Le-to sicer lahko pridobimo z uporabo različnih metod, če slika ni geolocirana, lahko izpišemo geografsko dolžino in širino. Teh podatkov kasneje ne moremo uporabljati za iskanje fotografij. Geolokacijo fotografije lahko v programskem jeziku java pridobimo z naslednjimi ukazi: Point photoLocation = photoEntry.getGeoLocation(); System.out.println("Longitude: " + point.getLongitude()); System.out.println("Latitude: " + point.getLatitude()); Geolokacijo fotografije lahko nastavimo z naslednjimi ukazi: String latitude = getString("Latitude"); String longitude = getString("Longitude"); photoEntry.setGeoLocation(Double.valueOf(latitude), Double.valueOf(longitude)); 4.4 4.4.1 Photobucket Zgodovina Photobucketa Photobucket je spletna storitev za gostovanje slik, videoposnetkov, ustvarjanje diaprojekcije in izmenjavo slik. Sedež Photobucketa je v Denverju, regionalne urade ima v Chicagu, Los Angelesu, New Yorku in San Franciscu. Ustanovljen je bil leta 2003, razvila pa sta ga Alex Welch in Darren Crystal, s sredstvi iz Trinity Ventures. Leta 2007 ga je kupilo podjetje Fox Interactive Media. Foxova matična družba ga je 2009 prodala podjetju Ontela. Ontela se je od 26 takrat preimenovala vPhotobucket Inc., a še naprej deluje kot Photobucket. Junija 2011 je Photobucket postal standardna platforma za delitev slik preko Twitterja. Photobucket ima širok razpon uporabe za osebne in poslovne namene. Povezave iz osebnih računov se pogosto uporabljajo za avatarje, ki so prikazani na spletnih forumih, za shranjevanje videoposnetkov, vgrajevanje na bloge in distribucijo v socialna omrežja. Fotografije, shranjene na Photobucketu, so pogosto povezane s podjetji, ki delujejo preko spleta, spletnih dražb, in med tajnimi oglaševalskimi spletnimi stranmi, kot sta eBay in Craigslist. Photobucket ima trenutno okrog 55 milijonov uporabnikov in gosti več kot 7 bilijonov slik (Hernández in drugi, 2014). 4.4.2 Lastnosti Photobucketa Photobucket ponuja tri vrste računov, insicer: brezplačni račun, račun brez oglasov in Photobucket Plus račun. V brezplačnem računu je na voljo do 10 GB prostora za shranjevanje, od tega se 2 GB dobi takoj ob registraciji in 8 GBob prenosu mobilne aplikacije. Račun brez oglasov je enak brezplačnemu računu, le da za ceno od 0.99 $ mesečno ponuja omenjeno storitev brez oglasov. Photobucket Plus račun nam omogoča, da zakupimo dodatni prostor za shranjevanje fotografij in videoposnetkov. Mesečne cene so prikazane v Tabeli 4.3 (Photobucket, 10. januar 2015). Tabela 4.3: Mesečna cena zakupa dodatnega prostora na Photobucketu Prostor Mesečna cena 20 GB 2.99 $ 50 GB 4.99 $ 100 GB 8.99 $ 200 GB 16.99 $ 500 GB 39.99 $ Vir: Photobucket (15. januar 2015) Fotografije, ki jih shranimo na Photobucketu, se ohranijo v originalni obliki, vzeti neposredno iz telefona, fotoaparata ali računalnika brez stiskanja ali spreminjanja velikosti. Vrste slikovnih datotek, ki jih podpira Photobucket, so: GIF, JPG, JPEG, PNG, BMP. Videoposnetki, ki jih lahko naložimo, ne smejo biti večji od 500 MB in daljši od 10 min. 27 Podprti so naslednji videoformati: 3g2, 3gp, 3gp2, 3gpp, avi, divx, flv, gif, mov, mp4, mpeg4, mpg4, mpeg, mpg, m4v in wmv. Vse te videodatoteke se po naložitvi pretvorijov format mp4. Uporaba Photobucketa je precej preprosta. Ko se prijavimo nanj, se nam odpre stran z našimi naloženimi albumi in fotografijami z možnostjo nalaganja novih. Fotografije lahko naložimo iz e-pošte, mobilnega telefona, spleta ali računalnika. Slednje lahkodelimo preko e-pošte, instant messengerja ali preko socialnega omrežja, lahko naredimo slideshow, digitalni izrezek ali mrežo fotografij in videoposnetkov. Ena od možnosti je urejanje fotografij kar na spletu, preko Photobucketovega orodja za urejanje fotografij. Obstajajo tri možnosti nastavitve zasebnosti albumov (Top Ten Rewiew, 15. januar 2015), in sicer: Javni albumi: fotografije in videoposnetki z oznakami, naslovi in opisi se uporabljajo za prikaz rezultatov iskanja. Slike iz javnih albumov se lahko pojavijo kot rezultati ostalih iskalnikov, kot je Google. Zasebni albumi: fotografije in videoposnetki se ne uporabljajo za prikaz rezultatov iskanja niti se ne pojavljajo na naslovnih straneh uporabnikov. Zasebni albumi, zaščiteni z geslom: za ogled teh fotografij/albumov je potrebno poznati pravilno geslo. Te vsebine so tako skrite in jih ne prikaže med rezultatiiskanj. Izgled Photobucketa lahko vidimo na Sliki 4.4. Slika 4.4: Photobucket Vir: Colarić, lastni prikaz (2015) 28 4.4.3 Photobucket API Photobucket ponuja API, ki omogoča razvijalcem programske opreme dostop do fotografij in videoposnetkov iz okolij zunaj Photobucketa, kar vključuje druge spletne strani, spletne, namizne in mobilne aplikacije. S Photobucket API-jem se lahko doda, išče in označuje fotografije in videoposnetke. API je brezplačen za uporabo v nekomercialne namene. V nasprotnem primeru moramo dobiti posebno odobritev Photobucketa. Tako kot Picasa in Flickr za avtentikacijo in avtorizacijo tudi Photobucket API uporablja protokol OAuth, za komunikacijo aplikacije z API-jem pa uporablja protokol REST. Obstaja veliko knjižnic, ki podpirajo delovanje Photobucket API-ja (Tabela 4.4), narejenih pri drugih straneh, za katere delovanje pa Photobucket ne odgovarja. Slabost omenjenega API-ja je v nezmožnosti določanja geolokacije (Hernández in drugi, 2014). Tabela 4.4: PhotobucketoviAPI-ji tretjih strank Programsko okolje API C# * PhotobucketC#.NET * PhotobucketNet * Silverlight 2 PHP * Zend_Service_Photobucketlibrary * PHP5 Fluent library Actionscript * Actionscript 3 Photobucket API Library Java * Photobucket Java API Python * Photobucket Python API Javascript * OAuth for WebOS Ruby * BitBucket Ruby Objective-C * BitBucket Objective-C Vir: Hernández in drugi (2014) 4.5 Primerjava Flickrja, Picase in Photobucketa Tabela 4.5 primerja Flickr, Picaso in Photobucket v osnovnih informacijah med storitvami in njihovimi API-ji. 29 Tabela 4.5: Primerjava Flickrja, Picase in Photobucketa Flickr Picasa Photobucket Lastnik Yahoo Google Photobucket Corporation Avtor Ludicorp Idealab Trinity Ventures Začetek Februar 2004 Junij 2006 2003 Vrste računov Brezplačni, Brezplačni, z možnostjo Brezplačni, Račun brez oglasov dodatnega zakupa Račun brez oglasov, prostora Photobucketovi Plus račun 1 TB brezplačno 10 GB brezplačno 10 GB brezplačno Podporti slikovni JPG, GIF, TIF, JPG, GIF, TIF, PSD, GIF, JPG, JPEG, PNG, BMP formati PSD, PNG, BMP, PNG, BMP, RAW Prostorska omejitev RAW Podportivideo AVI, WMV, MOV, 3GP, AVI, ASF, MOV, 3g2, 3gp, 3gp2, 3gpp, avi, divx, flv, formati MPEG (1, 2 and 4), WMV, MPG, MP4, gif, mov, mp4, mpeg4, mpg4, mpeg, 3 GP in 1080 pHD M2T, MMV, M2TS mpg, m4v in wmv 50 $ letno za 2.49 $ mesečno za 25 20 GB – 2.99 $ mesečno odstranitev oglasov GB prostora Geolociranje DA DA NE Privatnost Public, Private, Public, Limited, Only us Private, Public, Private Password Cena Family Protected Komercialnost DA DA DA API-ponudnik http://flickr.com http://google.com http://photobucket.com API-končna http://api.flickr.com http://picasaweb.google.c http://api123.photobucket.com/ točka11 /services/rest/ om/data/feed/api API-začetna stran http://www.flickr.c https://developers.google http://pic.pbsrc.com/dev_help/WebH om/services/api/ .com/picasa-web/ elpPublic/PhotobucketPublicHelp.ht m Fotografije Fotografije Fotografije Video Video Video Protokol/ XML, JSON, XML, RSS XML, REST Format JSONP, REST, Primarna dejavnost Sekundarna dejavnost SOAP API-končna točka je spletna storitev, ki določa naslov ali točko povezave do te spletne storitve. Običajno je to 11 HTTP URL. 30 Ostale možnosti PHP, XML-RPC GData (Atom and RSS in REST style) http://www.apihub.com/photobucket/ API HubURL api/photobucketapi?utm_source=programmableweb.. . API Kits ActionScript, Cold Java, .NET, PHP, PhotobucketC#.NET, Fusion, Common JavaScript PhotobucketNet, Silverlight 2, Lisp, cUrl, Delphi, Zend_Service_Photobucketlibrary, Java, .NET, Perl, PHP5 Fluent library, Actionscript 3 PHP, Python, Photobucket API Library, REALbasic, Ruby Photobucket Java API, Photobucket Python API, OAuth for WebOS, BitBucket Ruby, BitBucket Objective-C API-forum http://www.flickr.c http://groups.google.com http://photobucket.com/developer/for om/groups/api /group/google-help- um dataapi Podpora E-pošta E-pošta E-pošta Vrste API Key, OAuth OAuth, Google Client or OAuth avtentikacije Web Login Vir: Compare Anything (2014) 5. RAZISKOVALNI PROBLEM, HIPOTEZE IN CILJI RAZISKAVE V teoretičnem delu diplomske naloge smo opisali različne API-je za delo s fotografijami. V raziskavi smo se odločili, da bomo za izdelavo spletne aplikacije uporabljali Flickr API, saj ima najboljšo podporo, najbolje opisane metode in je največkrat uporabljen. Namen naše raziskave je ugotoviti, kakšne so možnosti uporabe Flickr API-ja za iskanje po določenih ključnih besedah in ali bi lahko te rezultate uporabili za konkretne namene. 5.1 Opredelitev raziskovalnega problema Danes imamo na Flickrju več milijonov javno dostopnih fotografij z geografskimi oznakami, s katerimi je označeno veliko število turističnih znamenitosti in turističnih krajev. Flickr ponuja API, preko katerega lahko z izborom različnih metod dostopamo do vseh teh fotografij. V diplomski nalogi nas zanima predvsem, ali bi ta API lahko uporabili za izdelavo 31 spletne aplikacije, ki bi iskala fotografije na osnovi metapodatkov, shranjenih v fotografijah. Glavne lastnosti aplikacije bi bile prijava na Flickr, izvedba iskanja po Flickrjevi bazi z izbranimi parametri in izpis najdenih slik z nekaterimi metapodatki slike. Glavni metapodatki, ki bi jih aplikacija uporabljala, so: ključne besede, geografska dolžina in širina. Flickr ima velik nabor funkcij, ki jih lahko uporabljamo za iskanje slik. Raziskali bomo tudi, kako so ti rezultati lahko uporabljeni v konkretne namene. Zanima nas, kakšne rezultate bi pridobili, če bi iskali določeno turistično znamenitost po ključnih besedah ali geografski lokaciji kraja. Ugotavljali bomo, ali so ti rezultati dovolj točni za uporabo v turistične namene oziroma za izpis v spletni galeriji kraja. 5.2 5.2.1 Raziskovalna vprašanja Raziskovalno vprašanje 1 Ali bi Flickr API lahko uporabili za iskanje javno dostopnih fotografij za turistično predstavitev nekega kraja? 5.2.2 Raziskovalno vprašanje 2 Kako uporaben je lahko Flickr API za nekoga, ki išče javno dostopne fotografije z nekimi ključnimi besedami? 5.2.3 Raziskovalno vprašanje 3 Kako uporaben je lahko Flickr API za nekoga, ki išče izbrano znamenitost v zbirki javno dostopnih fotografij z geografskimi oznakami? 5.2.4 Raziskovalno vprašanje 4 Kakšne ovire se pojavljajo pri iskanju fotografij po ključnih besedah? 5.2.5 Raziskovalno vprašanje 5 Kakšne ovire se pojavljajo pri iskanju fotografij po geooznakah? 32 5.3 Hipoteze 5.3.1 Hipoteza1 Z iskanjem fotografij v Flickrju poključnih besedah dobimo dovolj dobre rezultate, da bi jih lahko uporabili v turistične namene. 5.3.2 Hipoteza2 Z iskanjem fotografij po geooznakah dobimo rezultate, ki jih lahko koristno uporabimo v turistične namene. 5.4 Cilji raziskave V raziskavi želimo ugotoviti, ali lahko določeni kraj oziroma znamenitosti turistično predstavimo z javno dostopnimi fotografijami v Flickrju, ki jih poiščemo s ključnimi besedami in geooznakami. To bomo preverili s pomočjo preproste spletne aplikacije, ki bo uporabljala Flickr API. Aplikacija bo iskala slike na osnovi podanih ključnih besed oz. podatkov o geografski dolžini in širini. Potem bomo naredili nekaj poizvedb po Flickrjevi bazi in ugotovili, ali so rezultati dovolj uporabni za turizem. 5.5 Metodologija V teoretičnem delu diplomske naloge smo analizirali vire. V prvem delu smo predstavili digitalno fotografijo ter dopisali, kakšni formati slik obstajajo. Potem smo predstavilinajbolj poznane spletne servise za deljenje slik. Opisali smo metode, ki so dostopne na Flickrju, ter opisali, na kakšne načine lahko komuniciramo z API-jem. Drugi del se nanaša na spletno aplikacijo, ki jo bomo naredili. Za izdelavo spletne aplikacije predvidevamo uporabo knjižnice Flickr API, saj ponuja tiste funkcionalnosti, ki jih potrebujemo za razvoj programa, s katerim bomo izvedli raziskavo. Po končani izdelavi spletne aplikacije bomo naredili nekaj poizvedb po Flickrjevi bazi in potem analizirali pridobljene rezultate. 33 6. OPIS IZDELAVE SPLETNE APLIKACIJE 6.1 Uporabljena tehnologija Za izdelavo spletne aplikacije smo uporabljali programski jezik PHP in knjižnico Phlickr, ki ima dobro podporo za Flickr API. 6.1.1 PHP PHP je kratica za ang. Hypertext Preprocessor, prvotni pomen te kratice pa je bil Personal Home Page. PHP je ustvaril Rasmus Lerdorf leta 1994 s skupino CGI-programov v programskem jeziku C. Danes se uporablja verzija PHP 5, kije bila narejena leta 2004, v oktobru 2015 pa se pričakuje novoizdana verzija PHP 7. PHP je inštaliran na več kot 240 mil. spletnih strani in več kot 2.1 mil. spletnih strežnikov. PHP je odprtokodni programski jezik, ki se uporablja za izdelavo dinamičnih spletnih strani, koda se izvršuje na strežniku. Programu, ki ga napišemo v PHP-kodi, pravimo PHP-skripta, le-to lahko izvaja samo strežnik, ki podpira delovanje PHP-ja. Na svojem domačem računalniku ne moremo izvajati PHP-kode, če nimamo ustrezne strežniške opreme. V našem primeru smo le-to zagotovili z odprtokodnim paketom XAMPP, ki vsebuje strežnik Apache, Mysql, Php in PEAR (Presentia, 10. januar 2015). PEAR (ang. PHP Extension and Application Repository)je skupnost, ki skrbi za distribucijski sistem za ponovnouporabljene PHP-komponente in je dostopna na strani http://pear.php.net. Namen PEAR-ja je zagotoviti strukturirano knjižnico odprte kode, sistem za organizirano porazdeljevanje kode in vzdrževanje PHP-kodnih paketov, standardni slog PHP-kode, knjižnico dodatkov, ki jih ustvarja PHP-/PEAR-skupnost. Ena od PEAR-jevih knjižnic je tudi Phlickr, ki jo bomo uporabljali za izdelavo spletne aplikacije. Opisana je v naslednjem poglavju (Presentia, 10. januar 2015b). PHP-koda se lahko enostavno uporablja s HTML-kodo. Ko se PHP-koda obdela na strežniku, strežnik pošlje rezultate klientu, rezultati se prikažejo v brskalniku kot HTML-spletna stran. 6.1.2 Phlickr Phlickr je odprtokodna PHP 5-knjižnica ki sta jo razvila Andrew Morton in Rob Kunkle. Phlickr deluje kot most med PHP-jem in Flickr API-jem. Naloga Phlickrja je, da pošilja 34 zahteve Flickrjevemuweb serverju in da omogoča odgovore, ki jih dobi od njega, dostopne PHP-ju. Phlickr je sestavljen iz dobro premišljenih in zasnovanih objektov, s katerimi lahko dostopamo do naših fotografij, skupin, komentarjev. Flickr gostuje na strani SourceForge, le-ta je največja stran za razvoj odprtokodne programske opreme. S povezavehttp://sourceforge.net/projects/phlickr/ lahko prenesemo najnovejšo različico knjižnice na naš računalnik. Da bi lahko lokalno uporabljali Phlickr, moramo najprej naložiti strežnik Apache, PHP 5 in PEAR. Ko to naredimo, moramo preko ukazne vrstice z uporabo PEAR-ja naložiti Phlickr. To naredimo z naslednjim ukazom: C:\PHP5>pear install phlickr.tgz. Za uporabo knjižnice Phlickr moramo pridobiti avtentikacijski žeton, s katerim uporabnik dopušča interakcijo med aplikacijo in uporabniškim računom. Za pridobitev avtentikacijskega žetona potrebujemo ključ Flickr in deljeno skrivnost. Žeton pridobimo tako, da se v ukazni vrstici požene skripta iz knjižnice Phlickr: <?php include_once'Phlickr/Api.php'; set_time_limit(0); print"This script will help you retrieve a Flickr authorization token.\n\n"; print'API Key: '; $api_key= trim(fgets(STDIN)); print'API Secret: '; $api_secret= trim(fgets(STDIN)); $api=new Phlickr_Api($api_key,$api_secret); $frob=$api->requestFrob(); print"Got a frob: $frob\n"; print'Permissions (read, write, or delete): '; $perms= trim(fgets(STDIN)); $url=$api->buildAuthUrl($perms,$frob); print"\nOpen the following URL and authorize:\n$url\n"; print"\nPress Return when you're finished...\n"; fgets(STDIN); $token=$api->setAuthTokenFromFrob($frob); print"Auth token: $token\n"; ?> 35 Ob zagonu skripte moramo vpisati, kakšno pravico dodeljujemo aplikaciji, read, write ali delete, potem skripta izpiše povezavo, ki jo moramo vpisati v brskalnik. Po tem dejanju nam Flickr na zaslonu da potrditveni odgovor o uspešni avtorizaciji aplikacije (gl. Slika 6.1). V komandni vrstici se izpiše identifikacijski žeton (Kunkle in Morton, 2006). Slika 6.1: Flickrjevi potrditveni odgovor Vir: Colarić, lastni prikaz (2014) 6.2 Predstavitev spletne aplikacije Kot smo že omenili, je naša spletna aplikacija za iskanje javno dostopnih fotografij na Flickrju napisana v PHP-programskem jeziku in uporablja PHP-knjižnico Phlickr. Spletna aplikacija je osmišljena tako, da se ob prijavi na Flickr ter na osnovi podanih ključnih besed, podane geografske dolžine in širine, išče javno dostopne fotografije na tem portalu. Natose naredi lista fotografij, ki ustrezajo našemu povpraševanju, izpiše se nekaj podatkov o njih, kot soID-lastnika, ID-fotografije, oznake fotografije, opis fotografije. Izgled spletne aplikacije lahko vidimo na Sliki 6.2. 36 Slika 6.2: Izgled spletne aplikacije Vir: Colarić, lastni prikaz (2015) 6.2.1 Uporabljene metode Metodi, ki sta del Flickr API-ja in ki smo ju uporabili v spletni aplikaciji, sta flickr.photos.search in flickr.photos.getInfo. Metodo flickr.photos.search smo uporabili dvakrat, in sicer pri iskanju fotografije na osnovi podanih ključnih besed ter pri iskanju fotografije na osnovi podane geografske dolžine in širine. Metodo flickr.photos.getinfo imamo že implementirano v knjižnico Phlickr. Prijavo na Flickr smo naredili preko knjižnice Phlickr. 6.2.1.1 Prijava na Flickr Za prijavo na Flickr potrebujemo naslednje parametre: avtentikacijski ključ, deljeno skrivnost in avtorizacijski žeton. Pomen in postopek pridobitve avtentikacijskega ključa in deljene skrivnosti smo opisali v teoretičnemu delu diplomske naloge v poglavju Spletne aplikacije za deljenje fotografij in v odstavku Flickr API, postopek in način pridobite avtorizacijskega žetona pa smo opisali v prejšnjem odstavku, kjer smo pisali o Phlickrju. Za prijavo smo 37 uporabili objekte in funkcije, ki jih ima knjižnica Phlickr. Del kode, ki prikazuje način uporabljenih parametrov za prijavo za povezovanje s Flickrjem, je takšen: $api_key="65f46382ba88ead2a449ba989f3ee389"; $api_secret="ca9eda9e93b13063"; $api_token="72157649709708141-9103c964fe9c65dd"; $api=new Phlickr_Api($api_key,$api_secret,$api_token); if(!$api->isAuthValid()){ die('Prijava na Flickr ni bila uspešna); } Iz kode je razvidna uporaba avtentikacijskega ključa, deljena skrivnost in avtorizacijski žeton za ustvarjanje novega objekta Phlickr API, ki je del knjižnice Phlickr. Ob uspešni prijavi na Flickrjev strežnik se lahko nadaljuje z obdelavo kode, v primeru neuspešne prijave pa se nam zaslon izpiše besedilo Prijava na Flickr ni bila uspešna. 6.2.1.2 Flickr.photos.search Flickr.photos.search je metoda, ki je del knjižnice Flickr API in je ena največkrat uporabljenih metod te knjižnice. Obvezen parameter te metode je api_key, za iskanje po ključnih besedah pa smo dodali še parameter tags.Natančen opis te metode je dostopen na povezavi https://www.flickr.com/services/api/flickr.photos.search.html. Tu lahko vidimo, kako mora biti zgrajen URLza uspešno klicanje te metode. URL bi moral izgledati tako: https://api.flickr.com/services/rest/?method=flickr.photos.search&api_key={}&tags={}&for mat={}&auth_token={} Iz tega URL-ja vidimo, da moramo za uporabo metode flickr.photos.search namesto zavitih oklepajev v delu API_key={} vpisati API-ključ, v delu tags={} vpisati oznake in na koncu še izbrati obliko načina odgovora (v delu format={}). Del kode, kjer se vidi, kako smo zgradili URL in ga shranili v spremenljivko $iskanje, je: $iskanje='https://api.flickr.com/services/rest/?method=flickr.photos.search &api_key='.$this->apiKey .'&tags='. urlencode($query).'&per_page=5&format=php_serial'; 38 Potem v novo spremenljivko $rezultat shranimo rezultate, ki smo jih pridobili iz URL-ja, s stavkom: $rezultat= file_get_contents($iskanje); Metoda uporablja protokol REST, sicer omenjenega v teoretičnem delu naloge, kot format uporablja php serial. API-ključ smo shranili kot spremenljivko apiKey, oznake razberemo iz poizvedbe, ki jo je uporabnik vpisal. Ker smo uporabljali format php serial, so rezultati, shranjeni v tejspremenljivki, v takšnem formatu, da jih ni mogoče uporabljati, vse dokler ne uporabimo funkcije unserialize() s spremenljivko rezultat. Del kode, kjer se vidi, kako smo to naredili, je prikazan v naslednjem odstavku: $result= unserialize($result); Spremenljivka $rezultat je tako pripravljena za nadaljnjo uporabo. V njej imamo shranjenih veliko podatkov o fotografiji, kot so farm ID, server ID, photo ID, owner ID, secret. Rezultat klica te spremenljivke in podatkov, ki so shranjeni v njej, vidimo v naslednjem odstavku: Array([photos]=>Array([page]=>1[pages]=>782[perpage]=>5[total]=>3906[photo] =>Array([0]=>Array([id]=>16493817211[owner]=>36286380@N04 [secret]=>6f5e53d640[server]=>7356[farm]=>8[title]=> On top of Croatia![Explored #19] [ispublic] => 1 [isfriend] => 0 [isfamily] => 0 ) Da bi s pomočjo teh rezultatov lahko prikazali fotografijo na naši spletni strani, moramo uporabiti URL, zgrajen tako, kot je opisan v Flickr API-dokumentaciji na povezavi https://www.flickr.com/services/API/misc.urls.html. URL mora biti zgrajen takole:https://farm{farm-id}.staticflickr.com/{server-id}/{id}_{o-secret}_o.(jpg|gif|png).Iz tega vidimo, da lahko izvorni URL za fotografijo zgradimo šele takrat, ko poznamonjen ID, ID-serverja in farm ID. Prav te podatke imamo shranjene v naši spremenljivki $rezultat. Primer, kako smo naredili prikaz fotografij na naši spletni strani sPHP-ukazom echo12, izgleda takole: echo'<imgborder="10" src="http://farm'.$photo["farm"]. '.static.flickr.com/'.$photo["server"].'/'.$photo["id"].'_'. $photo["secret"].'.jpg" width="150" /></a>'; Podobno smo naredili tudi pri iskanju fotografij na osnovi podanih parametrov geografske dolžine in širine, označenih z lat in lon. Najprej smo naredili URL za uporabo metode 12 Echo je funkcija za izpis v PHP-ju. 39 flickr.photos.search s parametroma geografske dolžine in širine. Te dobimo iz poizvedbe, ki jo je vpisal uporabnik, uporabili smo protokol REST, za format, ki nam ga je vrnila metoda flickr.photos.search, pa smo uporabili JSON13. Del kode, ki nam to prikazuje, izgleda takole: $url='https://api.flickr.com/services/rest/?method=flickr.photos.search'; $url.='&api_key='.$api_key; $url.='&lat='.$lat; $url.='&lon='.$lon; $url.='&format=json'; $url.='&nojsoncallback=1'; $response= json_decode(file_get_contents($url)); $photo_array=$response->photos->photo; Kot v prejšnjem primeru so rezultati klica z JSON-formatom zapisani v takšni obliki, da jih ne moremo takoj uporabljati, dokler spremenljivke, v katero smo shranili rezultate, ne uporabimo s funkcijo json_decode(). Prikaz fotografij spletne strani smo naredili podobno kot pri iskanju fotografij na osnovi oznak, z ukazom print in uporabo zgrajenega URL-ja, s podatki farm.id, photo.id in server.id. $photo_url='http://farm'.$farm_id.'.staticflickr.com/'.$server_id.'/'.$phot o_id.'_'.$secret_id.'_'.$size.'.'.'jpg'; print"<img title='".$title."' src='".$photo_url."' />"; 6.2.1.3 Flickr.photos.getInfo Flickr API ima metodo flickr.photos.getInfo, s katero lahko pridobimo skoraj vse informacije o fotografiji, od lastnika fotografije, imena slike, oznake in opisa fotografije do njenih EXIFpodatkov. To metodo smo uporabili za prikaz podatkov o fotografijah. Knjižnica Phlickr ima že zgrajene objekte in funkcije za uporabo te metode, shranjene v datoteki Photo.php. Povezati smo moralinaše rezultate poizvedbe z omenjeno metodo: shranili smo ID-fotografij, ki smo jih dobili kot rezultate poizvedbe in uporabili funkcijo za izpis s to spremenljivko.Del kode, kjer se vidi, kako smo povezali Objekt iz Phlickrjeve knjižnice in našo spremenljivko, je takšen: 13 JSON (ang. JavaScript Object Notation) je preprost format za izmenjavo podatkov. 40 $p=new Phlickr_Photo($api,$photo["id"]); Iz kode se vidi, da smo zgradili nov objekt Phlickr_Photo iz Phlickrjeve knjižnice, s pomočjo spremenljivk $api in $photo[„id“]. Spremenljivka $api nam služi za prijavo na Flickr, spremenljivka $photo[„id“] nam pove ID-fotografije, za katero želimo izpisati podatke. Za izpis določenih podatkov o fotografiji smo uporabili funkcije, zgrajene v knjižnici objekta Phlickr_Photo; to so funkcije kot recimo getTitle(), getDescripton() ... Del kode, kjer se vidi, kako je narejen izpis določenih podatkov, gre takole: echo$p->getTitle(); echo'<br/>'; echo$p->getDescription(); echo'<br/>'; echo$p->getTakenDate(); 6.3 Analiza pridobljenih rezultatov Predpostavka na začetku analize podatkov je bila,da v povprečju ljudje kot javno dostopne fotografije ne označujejo tistih, na katerih se sami nahajajo, kjer se nahaja njihova družina ali njihovi prijatelji –te fotografije označujejo kot zasebne. Analiza je bila narejena tako, da smo najprej poizvedovali po določenih kriterijih in potem pridobljene rezultate analizirali s preverjanjem števila pridobljenih fotografij, ki so uporabne za nadaljnjo uporabo oziroma ki bi se lahko prikazale v spletni galeriji kraja. Poizvedbe smo razdelili na dva dela, v prvem delu smo iskali po oznakah, v drugem delu pa poizvedbe glede na geografsko dolžino in širino. Fotografije dobre kakovosti, ki lepo opisujejo kraj in so brez (označenih) oseb na fotografijah, smo označili kot uporabne v turistične namene. Z oznako neuporabne fotografije v turistične nameneso fotografije z raznimi osebami, fotografije slabše kakovosti, razne zasebne fotografije in ponavljajoče se fotografije. Za analizo smo vzeli le prvih petdeset fotografij za vsako oznako. Flickr API ponuja možnost, da pridobljene fotografije organiziramo po zanimivosti – od najbolj zanimivih do najmanj zanimivih. Tako smo jih zaradi lažje analize organizirali tudi sami. Geografske lokacije kraja smo pridobili na spletni povezavi www.latlong.net. Avtor sem aktivni član Planinskega društva Vrlovka iz Kamanja na Hrvaškem, tako smo si za primarne pojme zadali najbolj obiskane planinske vrhove Hrvaške in Slovenije, za sekundarne raziskovalne pojme pa kulturnozgodovinske znamenitosti in arhitekturno ter sakralno dediščino Slovenije. Planinska vrha v Sloveniji, za katera smo naredili poizvedbi, sta Triglav 41 in Škrlatica. Planinska vrha na Hrvaškem, kismoju raziskovali, sta vrh Vojak na Učki in Veliki Zavižan na Severnem Velebitu. Za turistične znamenitosti v Sloveniji smo izbrali: Bled in Blejski grad, Postojno in Škocjanske jame. 6.3.1 Triglav Triglav se nahaja v Slovenskem narodnem parku, je najvišji vrh Slovenije, najvišji vrh Julijskih Alp. Najprej smo iskali podatke na osnovi oznak, potem na osnovi geografske dolžine in širine. Oznaki, ki smo ju uporabljali za poizvedbo, sta Triglav in Triglav hill. Z oznako Triglav najde Flickr API 9530 javno dostopnih fotografij. Izpis prvih nekaj rezultatov poizvedbe na osnovi oznake Triglav in izpis informacij o fotografijah lahko vidimo na Sliki 6.3. Slika 6.3: Rezultati iskanja na osnovi oznake Triglav Vir: Colarić, lastni prikaz (2015) Rezultati te poizvedbe so raznoliki, saj nam je Flickr izpisal vse poizvedbe, ki imajo oznako Triglav. Imamo fotografije, na katerih se lepo vidi vrh Triglava in okoliška narava, imamo pa 42 tudi nekaj fotografij z ljudmi, te slike so bolj zasebne narave. Prav tako smo našli nekaj ponavljajočih se fotografij. Od prvih 50 rezultatov iskanja po oznaki Triglav smo določili samo 18 fotografij oz. 36 % vseh, ki bi bile uporabne za turistično predstavitev kraja. Fotografije, neuporabne za turistične namene, so fotografije oseb – takšnih je 8 fotografij oz. 16 %. Fotografij, ki so si preveč podobne, je 12 oz. 24 %. 10 fotografij (20 %) pa je takšnih, ki ne ustrezajo naši poizvedbi. Z rezultati te poizvedbe nismo preveč zadovoljni, saj lahko samo 18 od 50 fotografij uporabimo v turistične namene. Naše mnenje je, da je oznaka Triglav preveč splošna za pridobitev ustreznih rezultatov. Primere neuporabnih fotografij vidimo na Sliki 6.4. Slika 6.4: Primer neuporabnih rezultatov na osnovi poizvedbe po oznaki Triglav Vir: Colarić, lastni prikaz (2014) Za pridobitev boljših rezultatov smo se odločilipoizvedbo narediti na osnovi dveh oznak, in sicer: Triglav in hill. To pomeni, da mora fotografija vsebovati obe oznaki za izpolnitev pogojev. Kot rezultat te poizvedbe dobimo samo 600 javno dostopnih fotografij, od katerih smo analizirali prvih 50. Izmed teh smo določili 34 oz. 68 %, ki bi jih lahko uporabili v turistične namene. Neuporabne fotografije za turistične namene so fotografije z ljudmi (6 fotografij oz. 12 %) in medsebojno precej podobne fotografije (12 fotografij oz. 24 %). Izpis 43 prvih nekaj rezultatov poizvedbe na osnovi obeh oznak ter izpis nekaterih informacij o fotografijah lahko vidimo na Sliki 6.5. Slika 6.4 Rezultati iskanja na osnovi oznak Triglav in hill Vir: Colarić, lastni prikaz (2014) Iz teh rezultatov je razvidno, da so rezultatipoizvedbe na osnovi dveh oznak precej boljši kot rezultati v prvi poizvedbi, kjer smo iskali samo z eno oznako. Poskušali smo pridobiti javno dostopne fotografije Triglava na osnovi njegove geografske dolžine in širine. Geografska dolžina Triglava je v zapisu, ki smo ga uporabili, 46.378333, geografska širina pa 13.836389, radij, v krogu katerega nam Flickr API išče slike, smo nastavili na 3 km. Pridobili smo 1440 javno dostopnih fotografij, od katerih smo analizirali prvih 50. Na prvi pogled so rezultati te poizvedbe precej raznovrstnejšikot rezultati pri iskanju po oznakah, opazimo pa veliko fotografij, na katerih so osebe. Na Sliki 6.5 lahko vidimo izpis prvih nekaj rezultatov poizvedbe na osnovi geografske dolžine in širine ter izpis informacij o fotografijah. 44 Slika 6.5: Rezultati iskanja Triglava na osnovi geografske lokacije Vir: Colarić, lastni prikaz(2015) Med prvimi 50 fotografijami smo jih določili 31 oz. 62 %, uporabnih za turistične namene. Fotografije, označene kot neuporabne za turistične namene, lahko razdelimo na fotografije z ljudmi (16 fotografij), 3 fotografije pa niso ustrezne zaradi podobnosti/enakosti z drugimi fotografijami. Rezultati iskanja po geografski lokaciji so boljši kot pri iskanju z eno oznako, vendar slabši kot pri iskanju na osnovi dveh oznak. Edini problem, ki se je pojavil pri iskanju glede na geografsko lokacijo, je veliko število fotografij, ki bi jih zaradi oseb na njih uvrstili med osebne/zasebne. Enake rezultate kot pri poizvedbi na osnovi geografske lokacije smo pridobili pri poizvedbi na osnovi dveh oznak in geografske lokacije. 6.3.2 Škrlatica Škrlatica je drugi najvišji vrh Slovenije, z zelo lepim pogledom na vse sosednje vrhove, posebej na Triglav. Poskušali smo pridobiti javno dostopne fotografije, ki bi jih lahko uporabili v turistične namene. Tako kot pri Triglavu smo najprej poizvedovali po oznakah, potem pa še glede na geografsko dolžino in širino. 45 Iskanje fotografij z oznako Škrlatica nam vrne samo 119 fotografij, nismo uporabljali dodatnih oznak kot pri Triglavu. Izpis prvih nekaj rezultatov poizvedbe na osnovi oznake Škrlaticain izpis nekaterih informacij o pridobljenih fotografijah lahko vidimo na Sliki 6.6. Slika 6.6: Rezultati poizvedbe na osnovi oznake Škrlatica Vir: Colarić, lastni prikaz (2015) Med prvimi 50 fotografijami z omenjeno označbo smo pridobili 38 posnetkov (76 %), ki bi jih lahko uporabili v turistične namene. Fotografije, ki smo jih izločili, so fotografije, na katerih so ljudje, to je 12 fotografij oz. 24 % vseh. Edini problem pri iskanju na osnovi oznake Škrlatica je manjše število posnetkov zasebne naravi. Iskanje na osnovi podane geografske dolžine in širine Škrlatice: geografska dolžina Škrlatice je 46.433055, geografska širina pa 13.820555. Radij, v katerem smo iskali fotografije, zajema 3 km. V tem območju nam je naša poizvedba vrnila samo 31 javno dostopnih fotografij. Od teh fotografij je le manjše število ustreznih za nadaljnjo uporabo – 5 fotografij oz. 16 %. Večina ne pride v poštev za našo poizvedbo. Od 31 fotografij nima nobena med svojimi oznakami gesla Škrlatica. Fotografije večinoma prikazujejo naravo in objekte v bližini gore. 46 Izpis prvih nekaj rezultatovpoizvedbe na osnovi oznake geografske lokacije Škrlatice in izpis nekaterih informacij o pridobljenih fotografijah lahko vidimo na Sliki 6.7. Slika 6.7: Rezultati iskanja na osnovi geografske lokacije Škrlatice Vir: Colarić, lastni prikaz (2015) V tem primeru smo dobili veliko boljše rezultate iskanja na osnovi podane oznake kot pa na osnovi geografske lokacije kraja. Problem, ki se je pojavil pri iskanju glede na geografsko lokacijo Škrlatice, je ta, da na Flickrju ni dovolj fotografij, ki se nanašajo na to lokacijo. S povečanjem radija smo skušali zajeti več fotografij. V območju enega kilometra sploh nismo našli želenih posnetkov, v polmeru dveh kilometrov smo pridobili 31 (precej neuporabnih) fotografij, pri polmeru petih kilometrov pa smo pridobili 1830 fotografij, žal večinoma neustreznih, saj se zadetki dotikajo okoliških znamenitosti. To je predvsem razvidno iz naslovov pridobljenih rezultatov (npr. Kranjska gora, Triglav, jezero Jasna, Bled ...). 6.3.3 Učka Učka je regionalni park na Hrvaškem in ena najbolj obiskanih turističnih znamenitosti, z lepim pogledom na okoliške vrhe in Jadransko morje. Tudi tu smo najprej iskali glede na 47 oznake, nato glede na geografsko lokacijo. Uporabljali smo oznake: Učka ter Učka, Vojak (Vojak je najvišji vrh Učke in prava turistična atrakcija). Iskanje po oznakiUčka prinese 810 rezultatov. Prvih 50 je tudi analiziranih, kar je razvidno s Slike 6.8. Slika 6.8: Rezultati iskanja na osnovi oznake Učka Vir: Colarić, lastni prikaz (2015) Le8 (16 %) slik izmed 50 analiziranih bi bilo uporabnih za turistične namene. 3 (6 %) fotografije se ponavljajo, ostalih 39 (78 %) slik bi lahko uvrstili med zasebne fotografije, saj so na njih podobe ljudi, najdemo pa tudi sliko restavracije z imenom Učka. Zaključujemo, da je oznaka Učka preveč splošna in se ne nanašasamo na regijski park, ampak tudi na gostilne in restavracije, kolesarske klube – to nam preprečuje pridobitev ustreznih rezultatov. Primere takšnih fotografij lahko vidimo na Sliki 6.9. 48 Slika 6.9: Primer neuporabnih rezultatov iskanja na osnovi oznake Učka Vir: Colarić, lastni prikaz (2015) Za pridobitev boljši rezultatov smo zgoraj omenjeni oznaki dodali še oznako Vojak, kar predstavlja najvišji vrh Učke in zelo poznano hrvaško razgledno točko – Vidikovec. Pri tej raziskavi smo pridobili 81 javno dostopnih fotografij, analizirali smo prvih 50. Rezultati so bili precej boljši kot pri iskanju z eno oznako. Od 50 fotografij bi jih 29 oz. 48 % lahko uporabili v turistične namene. Te slike so raznovrstne, saj lepo prikazujejo floro in favno Učke, prikazujejo vrh Vojak in lep pogled z njega. Ostale fotografije (21 oz. 42 %) so ponovnofotografije z ljudmi, bolj bi sodile med zasebne fotografije. Rezultate iskanja na osnovi oznak Učka in Vojak lahko vidimo na Sliki 6.10. 49 Slika 6.10: Rezultati poizvedovanja na osnovi oznak Učka in Vojak Vir: Colarić, lastni prikaz (2015) Sledilo je iskanje glede na geografsko lokacijo Učke. Geografska dolžina Učke je 45.285142, geografska širina 14.202101. Na tej geografski lokaciji v radiju dveh kilometrov vrne Flickr API-metoda za iskanje fotografij 105 javno dostopnih fotografij. Analizirali smo prvih 50 ter določili 52 % (26) za turistične namene uporabnih posnetkov. Neprimernih fotografij je bilo 5 (10 %), saj so se na njih nahajali ljudje, ostale fotografije pa so si bile preveč podobne, celo enake (19 fotografij oz.38 %). Rezultate te poizvedbe lahko vidimo na Sliki 6.11. 50 Slika 6.11: Rezultati iskanja na osnovi geografske lokacije Učke Vir: Colarić, lastni prikaz (2015) Najboljše rezultate v primeru Učke smo dobili po iskanju z dvema oznakama. Rezultati poizvedbe z eno oznako so bili, tako kot pri Triglavu, zelo skromni, saj je pojem Učke preveč splošen, lahko se nanaša na več stvari, ne le na regijski park. Rezultati poizvedbe so bili glede na geografsko lokacijo boljši od rezultatov iskanja z eno oznako, vendarslabši kot rezultati z dvema oznakama (tu smo dobili več za turistične namene ustreznih fotografij, hkrati pa so bile le-te tudi raznovrstnejše in precej lepše). 6.3.4 Severni Velebit Severni Velebit je Hrvaški narodni park, eno najbolj obiskanih planinskih področij. Najprej smo izvedli poizvedbo po oznakah, nato po geografski lokaciji. Oznaka, ki smo jo uporabljali za poizvedbo, je SjeverniVelebit. S to oznako smo pridobili precej dobre rezultate, zato ni bilo potrebno uporabljati dodatnih oznak. Rezultat poizvedbe na osnovi oznake SjeverniVelebit nam vrne samo 81 javno dostopnih fotografij, kar nas je presenetilo, saj je ta kraj zelo poznan. Analizirali smo prvih 50 fotografij, od katerih bi jih lahko 44 odnosno 88 %uporabili v turistične namene. Turističnoneustreznih fotografij je bilo 6 (12 %), prikazovaleso zasebnost. Rezultate te poizvedbe lahko vidimo na Sliki 6.12. 51 Slika 6.12: Rezultati iskanja po oznaki SjeverniVelebit Vir: Colarić, lastni prikaz (2015) Iskanje fotografij po geografski lokaciji kraja smo začeli s pridobivanjem geografske dolžine in širine. Geografska dolžina kraja je 44.776226, geografska širina pa 15.006843. Ker je področje parka Severni Velebit precej veliko, smo se odločili, da bo radij, v katerem bomo iskali fotografije,štiri kilometre. Pridobili smo 245 fotografij, kar je zelo presenetljivo, saj smo prvič dobili več rezultatov glede na geografsko lokacijo kot pa pri iskanju po oznakah.Za našo analizo smo uporabili prvih 50 rezultatov, ki so bili precej dobri. Od 50 fotografij smo določili za turistične namene uporabnih 34 oz. 68 % fotografij. 10 (20 %) fotografij je bilo neprimernih za uporabo v turistične namene, 12 % fotografij pa se je že ponovilo oziroma si je preveč podobnih. Rezultate poizvedbe lahko vidimo na Sliki 6.13. 52 Slika 6.13: Rezultati iskanja po geografski lokaciji Severnega Velebita Vir: Colarić, lastni prikaz (2015) Pri Severnem Velebitu nas je najbolj presenetilo to, da smo dobili več fotografij na osnovi geografske lokacije kot pa na osnovi oznak. Sicer so rezultati v obeh primerih dobri, malo boljši so pri iskanju na osnovi oznak. Problem so le slike, ki so zaradi prikazane vsebine preveč zasebne, in pa tiste, ki so si preveč podobne. 6.3.5 Bled Bled je naselje ob Blejskem jezeru, spada med najlepše turistične kraje v Sloveniji. Tudi zanj smo poskušali preko Flickr API-ja pridobiti javno dostopne fotografije, ki bi jih lahko uporabili v turistične namene. Iskanje po oznakah je najprej določalo eno oznako, in sicer Bled, sledilo je poizvedovanje s pomočjo dveh oznak (Bled, Blejski grad). Iskanje na osnovi oznake Bled je doprineslo 51.413 fotografij. Zaradi velikega števila le-teh fotografij smo dvomili v uporabnost. Prvih nekaj rezultatov te poizvedbe lahko vidimo na Sliki 6.14. 53 Slika 6.14: Rezultati iskanja na osnovi oznake Bled Vir: Colarić, lastni prikaz (2015) Od 50 fotografij smo za turistično primerne označili 25 fotografij, kar predstavlja 50 %. Fotografije, ki smo jih označili kot neuporabne v turistične namene, so t. i. zasebne fotografije (9 fotografij oz. 18 %), ponavljajočih se fotografij je 5 (10 %), 11 pa je takšnih, ki se ne nanašajo na našo oznako. Zaradi tako velikega nabora fotografij, pridobljenih z oznako Bled, smo se poskušali osredotočiti samo na Blejski grad, z oznakama Bled in Blejskigrad smo poskušali pridobiti fotografije za to kulturno-zgodovinsko znamenitost. Pridobili smo samo 225 fotografij, kar je precej manjše število fotografij, pridobljenih z iskanjem po oznaki Bled (51.413). Med prvimi 50 smo določili 35 fotografij, uporabnih za turistične namene. Fotografije, ki smo jih označili kot neprimerne, so fotografije, ki bi sodile med privatne (7 fotografij oz. 14 %), in fotografije, ki so si preveč podobne (8 fotografij oz. 16 %). Pridobljeni rezultati so precej dobri, z njimi bi lahko ustrezno predstavili Blejski grad. Rezultate te poizvedbe lahko vidimo na Sliki 6.15. 54 Slika 6.15: Rezultati iskanja po oznakah Bled in Blejskigrad Vir: Colarić, lastni prikaz (2015) Iskanje na osnovi geografske lokacije smo začeli s pridobivanjem geografske dolžine in širine kraja. Geografska dolžina Bleda je 46.364761, geografska širina pa 14.096843, radij, v katerem smo iskali fotografije, je 2 km. Kot rezultat te poizvedbe smo pridobili 8348 javno dostopnih fotografij, za analizo smo uporabili prvih 50. Določili smo 26 fotografij (oz. 52 %), ki bi jih lahko uporabili v turistične namene. Fotografije, ki smo jih določili kot neprimerne, so tiste, ki sodijo med privatne/zasebne (20 fotografij oz. 40 %), 4 (8 %) pa so si preveč podobne. Nekaj rezultatov te poizvedbe lahko vidimo na Sliki 6.16. 55 Slika 6.16: Rezultati iskanja na osnovi geografske lokacije Bleda Vir: Colarić, lastni prikaz (2015) Problem, ki se je pojavil pri iskanju glede na geografsko lokacijo Bleda, je ta, da je Bled naseljeno mesto – tako se samo ime velikokrat uporablja za zasebne namene (slike oseb, okolice, hiš).Najboljši rezultati so bili pri iskanju z dvema osnovnima oznakama. 6.3.6 Postojna, Postojnska jama Postojnska jama je eno najbolj obiskanih turističnih znamenitosti Slovenije, zato smo tudi zanjo poskušali pridobiti zaturistične namene uporabne posnetke. Tako kot v vseh prejšnjih primerih smo najprej poizvedovali po oznakah, potem po geografski dolžini in širini. Uporabili smo oznako Postojnska jama. Iskanje je prineslo 551 javno dostopnih fotografij, od katerih smo analizirali prvih 50. Rezultati so bili precej dobri, fotografije precej raznovrstne, lepo so opisale Postojnsko jamo. Prvih nekaj rezultatov te poizvedbe lahko vidimo na Sliki 6.17. 56 Slika 6.17: Rezultati iskanja na osnovi oznake Postojnskajama Vir: Colarić, lastni prikaz (2015) 44 fotografij (88 %) smo lahko določili kot uporabnihza turistične namene. Fotografije, ki smo jih določili kot neuporabne za te namene, so fotografije, na katerih so osebe (6 fotografij oz. 12 %). Iskanje po geografski lokaciji smo začeli s pridobivanjem geografske dolžine Postojnske jame (45.783030) in geografske širine (14.203842). Ker smo želelipridobiti fotografije samo od Postojnske jame, smo radij omejili na kilometer. Nekaj rezultatov te poizvedbe lahko vidimo na Sliki 6.18. 57 Slika 6.18: Rezultati iskanja na osnovi geografske lokacije Postojnske jame Vir: Colarić, lastni prikaz (2015) Pridobili smo 1094 javno dostopnih fotografij, od katerih smo analizirali prvih 50. 16 bi se jih lahko uporabilo v turistične namene. Ostale fotografije pa ne prikazujejo Postojnske jame – gre za fotografije, na katerih so osebe, fotografije (iz) okoliških restavracij, slike okoliških hiš (34 fotografij oz. 68 %). Problem, ki se je tukaj pojavil, je ta, da je Postojnska jama pod zemljo, Flickr nam je ponudil slike, ki so nad, hkrati pa tudi podzemljo na tej geografski lokaciji. Rezultati iskanja po oznakah so bili veliko boljši kot rezultati iskanja po geografski lokaciji. 7. ZAKLJUČEK Cilj diplomske naloge je bil preveriti, kako so javno dostopne fotografije, objavljene na spletnem servisu Flickr, lahko uporabne v turistične namene, hkrati pa ugotoviti, kakšne ovire se pri tem pojavljajo. V ta namen smo izdelali prototip spletne aplikacije z naslednjimi funkcionalnostmi: prijava na Flickr, izvedba iskanja po Flickrjevi bazi fotografij z izbranimi parametri – na osnovi oznak, geografske lokacije – in izpis nekaterih metapodatkov o pridobljenih fotografijah. 58 Za analizo smo uporabili najbolj obiskane turistične znamenitosti Slovenije in Hrvaške. Ugotovili smo, da bi se veliko pridobljenih fotografij lahko uporabljalo v turistične namene. Boljši rezultati so bili pri iskanju na osnovi oznak kot pa pri iskanju po geografski lokaciji. Najboljše rezultate smo pridobili, če smo iskali na osnovi dveh oznak. Ovire, ki so se pojavile pri iskanju po oznakah, so, da pojem, ki ga raziskujemo, ne sme biti preveč splošen in ne večpomenski. Pri primeru Učke smo tako pridobili tudi fotografije restavracije z imenom Učka in kolesarskega kluba Učka. Podobno smo imeli pri Triglavu, kjer smo pridobili nekaj slik Zavarovalnice Triglav, ladje Triglav, hokejskega kluba Triglav. Drugi problem, ki se je pojavil, je ta, da smo pridobili veliko fotografij z osebami, ki bi jih sicer lahko uvrstili med zasebne. Ovira, ki se pojavi pri iskanju po geografski lokaciji, je prevelika bližina mest, nastanjenih krajev ob lokaciji, katere fotografije iščemo. Dejansko pridobimo vse fotografije, nastale v določenem območju te lokacije. Veliko slik tako predstavlja okoliške hiše (primer Bleda in Postojnske jame). Temu smo se sicer skušali izogniti s spreminjanjem radija, v katerem nam poizvedba vrne rezultate, vendar dokaj neuspešno. Rezultati so precej boljši, ko raziskujemo nenaseljenekraje in točke. Drugi problem, ki se je pojavil pri iskanju po oznakah, je veliko število zasebnih fotografij. Nekateri ljudje imajo vgrajene GPS-storitve v napravah za zajemanje fotografij in se sploh ne zavedajo, da so objavili svojo lokacijo. S poizvedbami smo sicer pridobili veliko fotografij, ki bi bile uporabne v turistične namene. Določili smo nekaj korakov, s katerimi bi bile poizvedbe precej boljše. Glavni problem, ki se je pojavil tako pri iskanju po oznakah kot tudi pri iskanju po geografski lokaciji, so privatne (zasebne) fotografije, na katerih so osebe. Kot smo omenili, pri Picasi obstaja tehnologija, ki zazna obraze na fotografijah, in če bi obstajala metoda, s katero bi lahko izločili vse takšne fotografije, bi bili rezultati veliko boljši. 59 8. LITERATURA IN VIRI 1. ADOBE (1992) TIFF Revision 6.0. Dostopno prek: http://partners.adobe.com/public/developer/en/tiff/TIFF6.pdf(10. 1.2015). 2. BAMBERG, MATTHEW (2012) Photography Applications for Cloud Computing. ZDA: Course Technology PTR. 3. BAUSCH, PAUL in BUMGARDNER, JIM (2006)Flickr Hacks: Tips & Tools for Sharing Photos Online. ZDA:O’Reilly Media, Inc. 4. DIFFEN. CompareAnything.Dostopno prek: http://www.diffen.com/difference/Flickr_vs_Picasa (20. 1. 2015). 5. DIGITALNA FOTOGRAFIJA MED MLADIMI. Kaj je digitalna fotografija? Dostopno prek: https://sites.google.com/site/digitalnafotografijamedmladimi/ Uvod/Kaj-je-digitalna-fotografija(10. 1. 2015). 6. E-FOTOGRAFIJA.Metadata – v digitalni fotografiji. Dostopno prek: http://www.efotografija.si/metadata-v-digitalni-fotografiji,1337.html(10. 1. 2015). 7. GOOGLE SUPPORT. Album visibility – Picasa and Picasa Web Albums Help. Dostopno prek: https://support.google.com/picasa/answer/39551?rd=1(21. 1. 2014). 8. GRATIVA VIZUALNE KOMUNIKACIJE. Kaj je BMP? Dostopno prek: http://grativa.si/arhiv-novic/42-kaj-je-bmp(10. 1. 2015). 9. GRATIVA VIZUALNE KOMUNIKACIJE. Kaj je GIF? Dostopno prek: http://grativa.si/arhiv-novic/40-kaj-je-gif (10. 1. 2015a). 10. GULBINS, JUERGEN in STEINMULLER, UWE (2010) The Digital Photography Workflow Handbook. ZDA: Rocky Nook Inc. 11. HAMMILTON, ERIC (1992) JPEG File Format. Dostopno prek: http://www.w3.org/Graphics/JPEG/jfif3.pdf (10. 1. 2015). 12. HERNANDEZ, ALOR, ROSALES-MORALES, VIVIANA in COLOMBOMENDOZA,LUIS (2014) Frameworks, Methodologies, and Tools for Developing Rich Internet Applications. ZDA: IGI Global. 13. HOLDENER, ANTHONY (2011) HTML5 Geolocation. ZDA: O’Reilly Media, Inc. 14. HOLZNER, STEVEN (2009) Sams Teach Yourself Flickr. ZDA: O'Reilly Media. 15. IZOTOV BLOG (2008) Uporaba zapisa RAW. Weblog [Online] 09. januar.Dostopno prek: http://kacnje.blogspot.de/2008/06/uporaba-zapisa-raw.html(10. 1. 2015). 60 61 16. LEUTHARD, THOMAS (2014) Explore Flickr. Dostopno prek: http://thomas.leuthard.photography/wp-content/uploads/2014/02/ExploreFlickr.pdf (10. 1. 2015). 17. MILLER, MICHAEL (2008) Googlepedia: The Ultimate Google Resource, Third Edition. ZDA:Que. 18. MORTON, ANDREW in KUNKLE, ROB (2006) Building Flickr Applications with PHP. ZDA: Apress. 19. PHOTOBUCKET. Photobucket Plus Storage (2015) Dostopno prek: http://photobucket.com/pricing/(10. 1. 2015). 20. PICASA. See your storage limit – Picasa and Picasa Web Albums Help. Dostopno prek: https://support.google.com/picasa/answer/6558?hl=en(10. 1. 2015). 21. PICASA. Welcome to Picasa & Picasa Web Albums – Picasa and Picasa Web Albums Help (2014). Dostopno prek: https://support.google.com/picasa/answer/157000?hl= en&ref_topic=4538690 (10. 1. 2015a). 22. PICASA. Buy and manage storage plans – Picasa and Picasa Web Albums Help. Dostopno prek: https://support.google.com/picasa/answer/2375123?hl=en(20. 1. 2015). 23. PICASA. Developer’s Guide: Protocol – Picasa Web Albums Data API — Google Developers (2014). Dostopno prek: https://developers.google.com/picasaweb/docs/2.0/developers_guide_protocol (21. 1. 2015). 24. POSH, ADAM in TRAPANI,GINA (2011) Lifehacker: The Guide to Working Smarter, Faster, and Better, Third Edition. ZDA: John Wiley & Sons. 25. PRESENTIA. Kaj je PHP? Dostopno prek: http://www.presentia.si/baza-znanjahelpdesk/2008/kaj-je-php/ (10. 1. 2015). 26. PRESENTIA. Kaj je png?(2008). Dostopno prek: http://www.presentia.si/bazaznanja-helpdesk/2008/kaj-je-png/ (10. 1. 2015a). 27. PRESENTIA. Kaj je PEAR?Dostopno prek: http://www.presentia.si/baza-znanjahelpdesk/2008/kaj-je-pear/ (10. 1. 2015b). 28. SOME HISTORY ABOUT (2012). Picasa: Picture & My House. Weblog [Online] 09. januar. Dostopno prek: http://somehistoryabout.blogspot.com/2011/04/history-ofpicasa.html (10. 1. 2015). 29. TOP TEN REWIWES. PhotobucketPro. Dostopno prek: http://online-image-hostingreview.toptenreviews.com/photobucket-review.html (10. 1. 2015). 62 63 30. WARDE, BENJAMIN (2012) Camera Curiosities. Dostopno prek: http://www.cameracuriosities.com/2012/02/dycam-model-1.html (10. 1. 2015). 31. WIKIPEDIA. Scalable Vector Graphics. Dostopno prek: http://en.wikipedia.org/wiki/Scalable_Vector_Graphics(10. 1. 2015). 32. YEE, RAYMOND (2008) Pro Web 2.0 Mashups. ZDA: Apress. 64 PRILOGI Priloga 1: Razred Index.php Priloga 2: Razred Search.php Priloga 1: Razred Index.php <?php if(isset($_POST["search"])&&isset($_GET["run"])){ $api_key="65f46382ba88ead2a449ba989f3ee389"; $api_secret="ca9eda9e93b13063"; $api_token="72157649709708141-9103c964fe9c65dd"; require_once('search.class.php'); include_once'Phlickr/Photo.php'; include_once'Phlickr/Api.php'; $api=new Phlickr_Api($api_key,$api_secret,$api_token); if(!$api->isAuthValid()){ die('invalid flickr logon'); } $Flickr=new Flickr; $iskanje=$_POST["term"]; $data=$Flickr->search($search); echo"<a href='./'>Go back</a><br /><br />"; foreach($data['photos']['photo']as$photo){ $p=new Phlickr_Photo($api,$photo["id"]); echo" <table border=1>"; echo" <tr border=1>"; echo"<td>".'<imgborder="10" src="http://farm'.$photo["farm"].'.static.flickr.com/'.$photo["server"].'/' .$photo["id"].'_'.$photo["secret"].'.jpg" width="300" /></a>'."</td>"; echo" <td width=600><b>Naslov fotografije: </b> ".$p>getTitle()."</br>"."<b>ID Lastnika fotografije: </b> ".$photo['owner']."</br>"." <b>Oznake : </b>"; foreach($p->getTags()as$value){ echo"$value "; } echo"</br><b>ID fotografije: </b>".$p->getId(); echo"</br><b>Opis fotografije: </b>".$p->getDescription(); echo"</br><b>Datum nastanka fotografije: </b>".$p->getTakenDate(); echo"</br><b>Fotagrafija je shranjena na Flickrjevem serverju: </b>".$p>getServer(); echo"</br><b>Skrivnos fotograije je: </b>".$p->getSecret(); echo"</td>"; echo"</tr>"; echo"</table>"; } $lat=$_POST["term1"]; $lon=$_POST["term2"]; $url='https://api.flickr.com/services/rest/?method=flickr.photos.search'; $url.='&api_key='.$api_key; $url.='&lat='.$lat; $url.='&lon='.$lon; $url.='&radius=3'; $url.='&sort=relevance'; $url.='&per_page=50'; $url.='&format=json'; $url.='&nojsoncallback=1'; $response= json_decode(file_get_contents($url)); $photo_array=$response->photos->photo; foreach($photo_arrayas$single_photo){ echo" <table border=1>"; echo" <tr border=1>"; $farm_id=$single_photo->farm; $server_id=$single_photo->server; $photo_id=$single_photo->id; $secret_id=$single_photo->secret; $size='m'; $title=$single_photo->title; $p=new Phlickr_Photo($api,$photo_id); echo"<td>"; $photo_url='http://farm'.$farm_id.'.staticflickr.com/'.$server_id.'/'.$phot o_id.'_'.$secret_id.'_'.$size.'.'.'jpg'; print"<img width=300 title='".$title."' src='".$photo_url."' />"; echo"</td>"; echo" <td width=600><b>Naslov fotografije: </b> ".$p>getTitle()."</br>"."<b>ID Lastnika fotografije: </b> ".$p>getUserId()."</br>"." <b>Oznake : </b>"; foreach($p->getTags()as$value){ echo"$value "; } echo"</br><b>ID fotografije: </b>".$p->getId(); echo"</br><b>Opis fotografije: </b>".$p->getDescription(); echo"</br><b>Datum nastanka fotografije: </b>".$p->getTakenDate(); echo"</br><b>Fotagrafija je shranjena na Flickrjevem serverju: </b>".$p>getServer(); echo"</br><b>Skrivnos fotograije je: </b>".$p->getSecret(); echo"</td>"; echo"</tr>"; echo"</table>"; } }else{ ?> <html> <head> <title>Create a sorted set</title> <metacharset="utf-8"> </head> <body> <br/> <fieldset> <legend>Pretrazevanje fotografij po oznakah:</legend> <h2style="color:blue"align="center"><i> Iskanje fotografij po oznakah </i></h2> <formalign="center"method="POST"action="./?run"> <h3style="color:blue"> Vnesi oznake:<inputtype="text"value=""name="term"id="term"/></h3> <inputtype="submit"value="Search!"name="search"id="search"style="color:blue "/> </fieldset> </form> <br/> <fieldset> <legend>Iskanje fotografij po geografskihkoordinatah:</legend> <h2style="color:blue"align="center"><i>Iskanje fotografij po geo.koordinatah</i></h2> <br/> <formalign="center"method="POST"action="./?run"> <h3style="color:blue"> Vnesi geografsko dolzino: <inputtype="text"value=""name="term1"id="term1"/></h3> <h3style="color:blue"> Vnesi geografsko sirino: <inputtype="text"value=""name="term2"id="term2"/></h3> <inputtype="submit"value="Search!"name="search"id="search"style="color:blue "/> </form> </fieldset> </body> </html> <?php } ?> Priloga 2: Razred Search.php <?php class Flickr { private$apiKey='65f46382ba88ead2a449ba989f3ee389'; publicfunction__construct(){ } publicfunctioniskanje($query=null){ $iskanje='https://api.flickr.com/services/rest/?method=flickr.photos.search &api_key='.$this->apiKey .'&tags='. urlencode($query).'&per_page=5&format=php_serial'; $rezultat= file_get_contents($iskanje); $rezultat= unserialize($rezultat); return$rezultat; } } ?>
© Copyright 2024