Revision [3006]
This is an old revision of GeoFotoBakalarka made by PavolBan on 2010-04-28 14:47:52.
Georeferencovaná fotografia s pomocou freemap.sk na OS Android
Bakalárska práca na FEI TUKE
Samotny Google uz ma funkcie na svojich mobiloch ako geotagging, no nieje to este velmi rozsirene, a myslim ze to nebude ani opensource ani presne take ake navrhujem ja.
Chcel by som vytvorit aplikaciu aj na Android, aj na PC.
Na Androide by to bola aplikacia ktora vyuziva GPS, OpenStreetMap, digitalny kompas, a samozrejme fotak. Pomocou GPSka a digitalneho kompasu by sa na mape v real-time vykreslovala pozicia fotografa a smer ktorym mieri fotakom. Tiez by to zobrazilo na mape pomocou nejakeho trojuholnika co vidi a zhruba co bude odfotene. Po odfoteni sa ulozi na pamatovu kartu samotna fotografia, a taktiez subor ktory bude obsahovat gps suradnice a smer fotenia, pripadne viac.
Okrem tejto hlavnej funkcie by som do nej chcel pridat aj niektore funkcie ktore poskytuje freemap, ako napriklad zobrazenie geocaching lokacii, pripadne turistickych ciest a podobne atrakcie v lokalite.
PC verzia bude prehliadac odfotenych fotiek, a bude zobrazovat fotku, a vsetky prislusne data ktore k nej boli pripojene pocas fotenia, pripadne celu freemap.sk stranku vedla fotky s lokaciou.
Cize zhrnutie:
Android App:
- Mod normalneho zobrazovania mapy
- Mod georeferencovanej fotografie
- Moznost zobrazenia informacii o lokalite pomocou freemap
- Zobrazenie uz odfotenych fotiek pomocou danej aplikacie
- Samozrejme user friendly a nech to vyzera dobre (zaklad uspechu)
- + Nejaky jednoduchy upload fotiek priamo na freemap.sk
PC App:
- Napisana v c# (to je to mono ? voči nemu mám nejaké predsudky)
- + Alebo java, portovatelnost na linux
- Nahravanie fotiek z pripojeneho mobilu alebo disku
- Zobrazenie fotky, a v druhej polke obrazovky otvorena freemap.sk s poziciou a smerom fotenia.
- Pripadne nejake zakladne funkcie upravovania fotiek
- + Upload fotografii na freemap.sk
Implementacia
S Androidom mam skusenosti, no niesom si isty ci by som zvladom z nuly napisat kompletny prehliadac OpenStreetMap, a tak som hladal nejaky opensource prehliadac. Jeden som nasiel na stranke www.anddev.org anddev.org, ktory bol vytvoreny taktiez studentom, a ktory by sa dal rozsirit o funkcie ktore som spominal. Nasiel som cely zoznam aplikacii ktore vyuzivaju openstreetmap na Androide tu, no v tomto si necham poradit (vlastne vo vsetkom si necham poradit) ze ako mam postupovat v tomto smere.
Ako som spominal, mam predstavu ako zaimplementovat do toho freemap.sk, no urcite by sa to dalo rozsirit s Vasou pomocou.
Prajem príjemné sviatky,
Pavol Bán
- Ahoj Pavol, v pripade ze by sme ti spravili na freemape API na upload georef fotografii neuvazujes o moznosti priamo nahravat foto aj na freemap.sk ? .. na dev.freemap.sk uz mame nejaku minimalnu podporu georef. galerie, celkom by sa hodila moznost aj sem prispievat online.
- Zdravim,
- je to dobry napad.. a myslim ze by to nebolo narocne naprogramovat z mojho hladiska, hlavne v pc verzii programu. V mobilnej verzii by sa to tiez dalo akurat asi len v spartanskej forme, kde bude len oboznameny ze to prebehlo alebo neprebehlo uspesne. Mozem to teda pridat do zoznamu funkcii.
Server časť:
- nejaké php-čka ktoré prijmú fotky a dáta z PC a androidovej aplikácie
- uložia ich na príhodné miesto (databáza, disk)
- zobrazia veci na mape
- aby to mohlo byť na mojej stránke aj na freemap.sk
má to byť opensource aplikácia, ktorá licencia ?
svn môže byť tu na serveri
portovateľnosť PC aplikácie ? aspoň linux pre mňa :)
tá android časť: nejak udržať závislosti tak aby to mohlo ísť bez väčších problémov na maemo, openmoko a iné linuxové telefóny (ak to ide)
- 1. Nemusi to byt opensource.. akurat zadarmo to bude, alebo ak niekto poziada o zdrojaky. Myslim ze to necham na vas.
- & minimálne oponent bude žiadať o zdrojáky (aspoň symbolicky), urobme to GPL
- 2. Portovatelnost.. v tom pripade mozno zvolim javu, ale moze byt. Este porozmyslam ze ako.
- & ešte je možnosť nejaký skriptovací jazyk (napr python) a qt/gtk nadstavba (na pyqt)
- 3. Programy na android sa pisu v jave, a teraz pozeram ze meamo je v c/c + +, ale tiez sa to da dajak obist a da sa pouzit java, akurat myslim ze ten viewer co mam je dost specificky napisany pre android. Mozno by sa to dalo, ale s tym nemam skusenosti.. to by skor mohla byt cela dalsia bakalarka.
- & ok, tak stačí podkapitolka na začiatku ktorá jemne popíše rozdiely v linuxových mobiloch a prečo sa ťažko píšu aplikácie pre všetky platformy
Prepacte oneskorenie.. skuskove je v plnom prude.
Cize to moze byt GPLicense. - ok
Portovatelnost: V pythone som myslim ze ani nikdy nerobil, no taktiez je mozne to spravit v PERLe, kazdopadne to bude jedzno z tychto dvoch. - ok
A ta podkapitola teda tiez bude :) - ok
aké sú deadliny?
- Myslim ze deadliny su ovela skor na mojej strane nez na vasej, oficialne to je do 1.6.2010, no ja budem mat mobilnu aplikaciu hotovu snad do mesiaca, a PC verzia by mala trvat ovela menej. Zalezi to hlavne na mojom cviciacom, a kedy bude chciet vidiet vysledky, a o tom vas samozrejme oboznamim ked budem vediet.
Opat zdravim,
popracoval som na mobilnej verzii a takto zatial vyzera..
Mobilna cast ma uz vsetky zakladne funcie:
- zobrazovanie map, kompasu
- georeferencovana fotografia s ulozenim polohy a orientacie do samostatneho suboru.. (na pocudovanie Android nepodporuje zapis exif dat, musel som serializovat do suboru)
- zobrazenie fotiek a lokacie v galerii
- otvorenie fotiek vo vstavanej galerii operacneho systemu (cize fullscreen + zoom)
- premenovanie, mazanie fotiek
Chyba tomu uz len pripadne upload fotiek, ktory bud zabudujem do mobilnej aplikacie alebo do pocitacovej verzie.
Co sa tyka pocitacovej verzie, neviem ako zacat. Pisat od nicoho program v jazyku v ktorom velmi nemam skusenosti by bolo dost zdlhave, ale keby ste mi vedeli poradit nejaky open-source prehliadac map ktory funguje na linuxe a vo windowse tak ten by som uz mohol hociak upravit.. kazdopadne s tym mam zatial najvacsi problem.
Dalsi problem je ze data o lokacii odfotenia fotografie sa neukladaju na do exif dat, ale ku kazdej fotke je subor s rovnakym menom a koncovkou .geo, v ktorej su serializovane vsetky potrebne data. Pri uploadovani by sa to mohlo tak vyriesit ze sa uploadne ciste .jpg + suradnice polohy fotenia, a by to bolo zhruba vyriesene.
Zostava sa este aj dohodnut ze ako bude fungovat upload..
pekné...
server (zobrazovacia) časť môže byť GeoMenu, treba len pekný vizuál
už stačí len api na upload, nejaké http put ? http://php.net/manual/en/features.file-upload.put-method.php , potom už len uloženie do mysql a na disk
Mobilna cast je vlastne hotova, a teraz dokoncujem pocitacovu cast. Mobilnu cast by som vam mohol zaslat akurat je tam stale neisty ten upload. Sucastne vie uploadovat fotky bez problemu, len tam treba natvrdo napisat do kodu ze kde to ma uploadovat, cize to by som potreboval od vas pomoc. Teraz vyuzivam tento php kod:
<?php // Where the file is going to be placed $target_path = "pictures/"; /* Add the original filename to our target path. Result is "uploads/filename.extension" */ $target_path = $target_path . basename( $_FILES['uploadedfile']['name']); if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) { echo "The file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded"; } else{ echo "There was an error uploading the file, please try again!"; } /* meno fotografie, a suradnice ziskame pomocou tychto prikazov: $_GET[meno] , $_GET[latitude] , $_GET[longitude] */ /* posuvam ich ako parametre v odkaze na toto phpcko. */ ?>
najlepsie by bolo keby ste vy pridali kod ktory to posunie do vasej databazy.. ja zial v phpcku neviem vobec robit. potom mozete poslat adresu, a ja ju dodam do programu, alebo pridam moznost zadania adresy rucne.