De ceva timp folosesc - for fun and profit - gadget-uri cu GPS inclus, aparate care te pot orienta pe şosea sau îţi arată cam pe unde eşti pe o hartă.
Legătura cu fotografia e simplă: dacă pot înregistra coordonatele, de ce să nu pot folosi localizarea pentru a vedea unde exact am făcut fotografiile, pentru a răspunde mai uşor la întrebarea "unde e făcută fotografia asta?". Ideea nu e nouă, există de ceva timp aparate care pot să înregistreze date GPS direct în EXIF-ul fotografiilor rezultate, însă costurile unui kit sunt foarte mari, pentru ce oferă.
Soluţia utilizată de mine foloseşte un PDA cu GPS inclus, plus câteva programe care să facă înregistrarea traseului GPS şi matching-ul între traseu şi fotografii, pe baza datei şi orei. După potrivire, coordonatele sunt salvate în datele EXIF ale imaginii.
Înregistrarea coordonatelor
Pentru înregistrare, cel mai bun program mi s-a părut Noni GPS Plot, care poate să înregistreze un parcurs, salvând inclusiv altitudinea. Una din cele mai importante funcţii este posibilitatea de a închide display-ul PDA-ului atunci când GPS-ul funcţionează (nu toate PDA-urile alimentează GPS-ul atunci când sunt în pseudo-standby, chiar dacă e folosit).
Noni GPS Plot poate exporta traseul înregistrat în diverse formate, cum ar fi Google Earth (pentru a fi importat direct în acest program) sau GPX, un format utilizat pe scară largă pentru transferul de date GPS între diferite programe, şi care este utilizat şi la matching-ul cu fotografiile.
Înainte de a porni înregistrarea coordonatelor trebuie să sincronizăm ceasurile celor două aparate; serviciul GPS se bazează pe datele de timp care sunt trimise de sateliţi, aşa că trebuie să potrivim ora aparatului foto după ora pe care o afişează device-ul GPS. Dacă sincronizarea între cele două nu s-a făcut, se poate face o modificare şi la momentul matching-ului, dacă ştim cât de cât diferenţa dintre cele două ceasuri. Cel mai simplu se poate înregistra diferenţa făcând o fotografie a ecranului GPS unde e afişată ora.
Alte programe care pot înregistra traseele (şi în timpul navigării) sunt cele bazate pe iGo, putând face export din interfaţă sau direct din baza de date iGO.db folosind iGo POI Explorer.
Scrierea coordonatelor
După ce s-a terminat şedinţa foto, avem două rezultate: un fişier .gpx exportat din NoniGPSPlot, care conţine datele GPS, şi un director cu fotografiile.
Pentru a combina cele două informaţii am folosit Happy Camel, un program care poate să salveze datele GPS în EXIF-ul fotografiilor, să includă numele locurilor din serviciul GeoNames, să se integreze cu Flickr, să salveze thumbnail-urlile fotografiilor ca fişier .kmz, care poate fi văzut folosing Google Earth sau Google Maps.
Pentru a rula Happy Camel aveţi nevoie de Python şi Python Image Library. După ce le-aţi instalat, dezarhivaţi happycamel şi intraţi în consolă (asta e, încă nu are interfaţă grafică). O rulare uzuală arată cam aşa:
iar rezultatul
După ce termină de scris metadata (durează destul de mult), în directorul D:\blabla\368CANON\ avem noile fişiere jpg, care conţin şi informaţia GPS, cât şi fişierele originale, având acelaşi nume dar cu sufixul _original.
Ca parametri am folosit traseul GPS dat prin fişierul .gpx, o sincronizare a ceasurilor de 3600 de secunde (ceasul aparatului foto nu fusese trecut pe ora de vară), parametrul faster=y pentru a folosi biblioteca internă de scriere EXIF şi nu programe auxiliare, şi parametrul -x y care comandă scrierea coordonatelor în EXIF-ul fotografiilor.
Pentru fotografiile care nu au corespondent în fişierul .gpx (dacă device-ul GPS a pierdut semnalul şi nu a fost înregistrată coordonata în secunda în care a fost făcută fotografia), HappyCamel poate să calculeze coordonate interpolate între cele mai apropiate în timp puncte. La fel, poate să interpoleze informaţiile despre altitudine (interpolarea altitudinii este oprită by default, informaţiile de altitudine pot fi mai rare din cauză că e nevoie de o precizie mai mare a determinării poziţiei ca să poată fi determinată corect).
Să ne bucurăm de rezultate
Cum zice şi Pieter Edelman, autorul HappyCamel, now what?
Cea mai interesantă vizualizare este cea sub formă de fişier .kmz, unde este arătat în Google Maps sau Google Earth traseul parcurs şi, pe traseu, fotografiile făcute. Un astfel de traseu vedeţi în exemplele de la Happy Camel.
Nu toate programele care citesc informaţiile EXIF pot să afişeze datele GPS. De exemplu, în datele EXIF afişate de Windows XP/2003 nu se afişează şi coordonatele. Un program care ştie să citească date GPS este ACDSee. Altul (free) este Opanda IEXIF. Avantajul Opanda este că există şi un plugin de integrare în Firefox, care poate fi downloadat de aici şi adaugă suport pentru citirea informaţiilor EXIF direct din browser şi integrarea cu Goolge Maps pentru afişarea zonei unde a fost făcută fotografia.
În exemplul de mai jos aveţi o fotografie făcută la Schitul Crasna, aproape de Măneciu, PH, iar link-ul pe care îl dă Opanda IEXIF este (după o modificare de zoom, deoarece nu există fotografii publice ale zonei la rezoluţie mare) acesta.
Alte resurse
GPS, Lightroom and Google Maps
JOBO PhotoGPS
Legătura cu fotografia e simplă: dacă pot înregistra coordonatele, de ce să nu pot folosi localizarea pentru a vedea unde exact am făcut fotografiile, pentru a răspunde mai uşor la întrebarea "unde e făcută fotografia asta?". Ideea nu e nouă, există de ceva timp aparate care pot să înregistreze date GPS direct în EXIF-ul fotografiilor rezultate, însă costurile unui kit sunt foarte mari, pentru ce oferă.
Soluţia utilizată de mine foloseşte un PDA cu GPS inclus, plus câteva programe care să facă înregistrarea traseului GPS şi matching-ul între traseu şi fotografii, pe baza datei şi orei. După potrivire, coordonatele sunt salvate în datele EXIF ale imaginii.
Înregistrarea coordonatelor
Pentru înregistrare, cel mai bun program mi s-a părut Noni GPS Plot, care poate să înregistreze un parcurs, salvând inclusiv altitudinea. Una din cele mai importante funcţii este posibilitatea de a închide display-ul PDA-ului atunci când GPS-ul funcţionează (nu toate PDA-urile alimentează GPS-ul atunci când sunt în pseudo-standby, chiar dacă e folosit).
Noni GPS Plot poate exporta traseul înregistrat în diverse formate, cum ar fi Google Earth (pentru a fi importat direct în acest program) sau GPX, un format utilizat pe scară largă pentru transferul de date GPS între diferite programe, şi care este utilizat şi la matching-ul cu fotografiile.
Înainte de a porni înregistrarea coordonatelor trebuie să sincronizăm ceasurile celor două aparate; serviciul GPS se bazează pe datele de timp care sunt trimise de sateliţi, aşa că trebuie să potrivim ora aparatului foto după ora pe care o afişează device-ul GPS. Dacă sincronizarea între cele două nu s-a făcut, se poate face o modificare şi la momentul matching-ului, dacă ştim cât de cât diferenţa dintre cele două ceasuri. Cel mai simplu se poate înregistra diferenţa făcând o fotografie a ecranului GPS unde e afişată ora.
Alte programe care pot înregistra traseele (şi în timpul navigării) sunt cele bazate pe iGo, putând face export din interfaţă sau direct din baza de date iGO.db folosind iGo POI Explorer.
Scrierea coordonatelor
După ce s-a terminat şedinţa foto, avem două rezultate: un fişier .gpx exportat din NoniGPSPlot, care conţine datele GPS, şi un director cu fotografiile.
Pentru a combina cele două informaţii am folosit Happy Camel, un program care poate să salveze datele GPS în EXIF-ul fotografiilor, să includă numele locurilor din serviciul GeoNames, să se integreze cu Flickr, să salveze thumbnail-urlile fotografiilor ca fişier .kmz, care poate fi văzut folosing Google Earth sau Google Maps.
Pentru a rula Happy Camel aveţi nevoie de Python şi Python Image Library. După ce le-aţi instalat, dezarhivaţi happycamel şi intraţi în consolă (asta e, încă nu are interfaţă grafică). O rulare uzuală arată cam aşa:
Code:
E:\tracks\happycamel-v1-beta3>"c:\Program Files\Python25\python.exe"
happycamel.py -t "E:\tracks\Exp-080427-6,25km-.gpx" --clock-difference=-3600
--faster=y -x y D:\blabla\368CANON\*
Code:
Welcome to Happy Camel version 1-beta3
[ Loading track(s) ]
[ Loading photos ]
[ Looking up positions ]
No position found for photo IMG_6844.JPG
No position found for photo IMG_6845.JPG
[ Writing the metadata ]
După ce termină de scris metadata (durează destul de mult), în directorul D:\blabla\368CANON\ avem noile fişiere jpg, care conţin şi informaţia GPS, cât şi fişierele originale, având acelaşi nume dar cu sufixul _original.
Ca parametri am folosit traseul GPS dat prin fişierul .gpx, o sincronizare a ceasurilor de 3600 de secunde (ceasul aparatului foto nu fusese trecut pe ora de vară), parametrul faster=y pentru a folosi biblioteca internă de scriere EXIF şi nu programe auxiliare, şi parametrul -x y care comandă scrierea coordonatelor în EXIF-ul fotografiilor.
Pentru fotografiile care nu au corespondent în fişierul .gpx (dacă device-ul GPS a pierdut semnalul şi nu a fost înregistrată coordonata în secunda în care a fost făcută fotografia), HappyCamel poate să calculeze coordonate interpolate între cele mai apropiate în timp puncte. La fel, poate să interpoleze informaţiile despre altitudine (interpolarea altitudinii este oprită by default, informaţiile de altitudine pot fi mai rare din cauză că e nevoie de o precizie mai mare a determinării poziţiei ca să poată fi determinată corect).
Să ne bucurăm de rezultate
Cum zice şi Pieter Edelman, autorul HappyCamel, now what?
Cea mai interesantă vizualizare este cea sub formă de fişier .kmz, unde este arătat în Google Maps sau Google Earth traseul parcurs şi, pe traseu, fotografiile făcute. Un astfel de traseu vedeţi în exemplele de la Happy Camel.
Nu toate programele care citesc informaţiile EXIF pot să afişeze datele GPS. De exemplu, în datele EXIF afişate de Windows XP/2003 nu se afişează şi coordonatele. Un program care ştie să citească date GPS este ACDSee. Altul (free) este Opanda IEXIF. Avantajul Opanda este că există şi un plugin de integrare în Firefox, care poate fi downloadat de aici şi adaugă suport pentru citirea informaţiilor EXIF direct din browser şi integrarea cu Goolge Maps pentru afişarea zonei unde a fost făcută fotografia.
În exemplul de mai jos aveţi o fotografie făcută la Schitul Crasna, aproape de Măneciu, PH, iar link-ul pe care îl dă Opanda IEXIF este (după o modificare de zoom, deoarece nu există fotografii publice ale zonei la rezoluţie mare) acesta.
Alte resurse
GPS, Lightroom and Google Maps
JOBO PhotoGPS