Euskal Herria patrikan

Download Report

Transcript Euskal Herria patrikan

Euskal Herria patrikan





1. Zer da Ihesi?
2. Mugikorretarako aplikazioaren ezaugarriak
3. Garapenean erabilitako tresna nagusiak
4. Garapenean erabilitako teknika aipagarriak
5. Eskertza eta galderak
2 Mugikorretarako aplikazioaren ezaugarriak (I)





Ihesi Euskal Herriko 7 lurraldeak kontutan hartzen
dituen lehen turismo aplikazioa da
Argiaren Euskal Herrian Ihesi (ihesi.com)
webgunearen osagarri izateko sortu dugu
mugikorretarako bertsio hau
Aplikazio plataforma-anitza da: Android eta iPhone
gailuetan erabiltzeko aukera egongo da
Garapenean kontutan izan ditugu gailu mugikorrek
eskaintzen dituzten aukerak: geokokapena,
argazkiak ateratzea...
Webgunean gomendioak herrien, zonaldeen eta
lurraldeen arabera antolatuta daude baina
mugikorretara egokitzean erabiltzailea jarri dugu
erdigunean
2 Mugikorretarako aplikazioaren ezaugarriak (II)

Abiaraztean aplikazioa
uneko posizioa
eskuratzen saiatzen da
mugikorraren
geokokapen zerbitzua
erabiliz
2 Mugikorretarako aplikazioaren ezaugarriak (III)


Kokapena ezin bada
eskuratu erabiltzaileak
herrien zerrendatik
erreferentzia bezala
erabiliko den herria
hauta dezake
Erabiltzaileak kokapena
edozein unetan alda
dezake
2 Mugikorretarako aplikazioaren ezaugarriak (IV)



Kokapena zehaztu ondoren
posizio horren inguruan
gainerako erabiltzaileek
gomendaturiko lekuen
zerrenda ikus daiteke
Gomendioak distantziaren
arabera edo erabiltzaileek
emandako boto kopuruaren
arabera ordenatu daitezke
Gomendioak kategoriaka
antolatuta daude eta posible
da kategoria jakin bateko
gomendioak bakarrik
bistaratzea
2 Mugikorretarako aplikazioaren ezaugarriak (V)



Gomendioen zerrendako
elementu bat hautatzean
pantailan gomendio horren
xehetasunak agertzen dira
Erregistratutako erabiltzaileek
gomendioei buruzko iritzia
eman dezakete positibo edo
negatibo bozkatuz
Xehetasunak ikusi ondoren
gomendioa interesgarria
irudituz gero, bertaraino nola
irits daitekeen ikus dezake
erabiltzaileak
2 Mugikorretarako aplikazioaren ezaugarriak (VI)

Gomendiora iristeko erabili nahi dugun
moduaren arabera (oinez, garraio publikoan
edo autoz) hiru bide desberdin ikusteko
aukera ematen du aplikazioak
2 Mugikorretarako aplikazioaren ezaugarriak (VII)

Momentuko edo hautatutako
herriari buruzko informazioa
ikusteko aukera ematen du
aplikazioak
2 Mugikorretarako aplikazioaren ezaugarriak (VIII)



Erregistratutako erabiltzaileek
gainerako erabiltzaileei leku
berriak gomendatzeko aukera
daukate
Gomendio berriari argazkia
gehitzeko bi aukera daude:
mugikorraren argazki
kamerarekin argazki berri bat
ateratzea edo mugikorraren
galeriatik argazki bat
hautatzea.
Gomendio berriaren posizioa
horretarako prestaturiko
mapa bat erabiliz zehaztu
dezake erabiltzaileak.
2 Mugikorretarako aplikazioaren ezaugarriak (IX)



Gailu mugikorretan interneterako konexioa izatea
gero eta ohikoagoa den arren oraindik erabiltzaile
batzuk interneterako konexio finkorik ez dute eta wifia dagoen lekuetan bakarrik konektatu daitezke
sarera edo konexio mugatua dute
Konexioa duten erabiltzaileen kasuan ere izan
daitezke gora-beherak
Guzti hori kontutan izanda aplikazioak konexiorik
gabe ahalik eta funtzionalitate handiena izan dezan
saiatu gara
2 Mugikorretarako aplikazioaren ezaugarriak (X)



Ihesi GNU GPL v3 lizentzia duen software librea da
eta erabiltzaileek sortutako edukiek Creative
Commons BY-SA lizentzia dute
Erabiltzaileen askatasunak babesteaz gain software
libreak pribatutasuna babesten laguntzen du
Erabiltzailearen geokokapena erabiltzen duten
aplikazioen kasuan bereziki garrantzitsua iruditzen
zaigu aplikazioaren kodea aztertzeko aukera izatea,
erabilera maltzurrik ez dagoela ziurtatzeko
3. Garapenean erabilitako tresna nagusiak





3.1 Software pila (stack)
3.2 Apache Cordova / Phonegap
3.3 SQLite
3.4 jQuery eta jQuery mobile
3.5 Google Maps
3.1 Software pila (stack)
3.2 Apache Cordova / Phonegap (I)


HTML, CSS eta Javascript erabiliz aplikazio
plataforma-anitzak sortzeko aukera ematen du,
plataforma bakoitzari dagokion programazio
lengoaian programatu beharra saihestuz.
Gailuaren software eta hardwarearekin lan egiteko
APIak eskaintzen ditu (azelerometroa, kamera,
soinua, iparrorratza, kontaktuak, gertaera natiboak,
geokokapena, fitxategi-sistema, datu-base lokalak...)
3.2 Apache Cordova / Phonegap (II)
Hainbat sistema eragiletarako aplikazioak sortzeko
aukera ematen du:
iOS (iPhone eta iPad), Android, webOS, Windows
Phone, Blackberry 5/6/7, Symbian eta bada




Apache 2.0 lizentzia duen software librea da
http://cordova.apache.org/
http://phonegap.com/
3.2 Apache Cordova / Phonegap (III)
Gomendioa: www karpeta bakarra erabili




Apache Cordova/Phonegap-en script-ek plataforma
bakoitzeko www karpeta bat sortzen dute:
Android: Android/assets/www
IOS: ios/www
Honek kodea bikoiztea (edo hiruzkoiztea...) dakar.
Irtenbidea: Plataforma guztientzat www karpeta
bakarra erabiltzea
Ondoren esteka sinbolikoak sortu behar dira
plataforma bakoitzaren www karpetatik www karpeta
orokorrera.
3.3 SQLite




Datu-base erlazionalen kudeaketarako sistema arin
bat da
Ahalmen mugatuko gailuetarako bereziki egokia da
Kodea domeinu publikoan dago
http://www.sqlite.org/
3.4 jQuery eta jQuery mobile





jQuery Javascriptekin lan egitea errazteko sortutako
liburutegi ezagun bat da.
jQuery mobile berriz smarthphone eta tabletarako
egokitutako web aplikazioak sortzea errazteko
jQuery-ren gainean eraikitako liburutegi bat da
MIT lizentzia dute biek eta software librea dira
http://jquery.com/
http://jquerymobile.com/
3.5 Google Maps
Google-ren mapa-zerbitzu ezaguna
 Hainbat API interesgarri eskaintzen ditu.
 Javascript-eko APIaren dokumentazioa:
https://developers.google.com/maps/documentation/jav
ascript/

4. Garapenean erabilitako teknika aipagarriak




4.1 Geokokapena, geokodeketa eta
alderantzizko geokodeketa
4.2 Google maps-en gainean Euskal Herriko
mapa marraztea APIaren 3. bertsioarekin
4.3 Distantzien gutxi gora beherako kalkulua:
Taxilariaren geometria edo Manhattan
distantzia
4.4 Distantzien kalkulu zehatza
4.1 Geokokapena, geokodeketa
eta alderantzizko geokodeketa
(I)



Geokokapena objektu baten kokapen geografikoa
eskuratzeko prozesua da. Gaur egungo gailu
mugikorrek geokokapena eskuratzeko hainbat modu
dituzte: telefoniako eta wifiko antenak erabiliz, GPS
bidez...
Geokodeketa datu geografiko (kalearen izena,
posta-kodea...) batetik abiatuta dagokion koordenatu
geografikoak eskuratzeko prozesua da.
Alderantzizko geokodeketa berriz puntu baten
koordenatuetatik abiatuta puntu horri dagokion
helbidea lortzeko prozesua da.
4.1 Geokokapena, geokodeketa
eta alderantzizko geokodeketa
(II)



Erabiltzailea zein herritan dagoen jakiteko Google
Maps-ek eskaintzen duen alderantzizko geokodeketa
API-a erabili dugu
Kasu batzuetan Google maps-en alderantzizko
geokodeketa zerbitzuak itzulitako herrien izenak ez
datoz bat Ihesi aplikazioaren datu-basean dauden
herrien euskarazko izenekin
Arazo honi aurre egiteko itzulpen taula bat sortu genuen
Google Maps
Euskara
Donostia-San
Sebastián
Donostia
Guéthary
Getari
Tudela
Tutera
Vitoria-Gasteiz
Gasteiz
4.2 Google maps-en gainean Euskal
Herriko mapa marraztea APIaren 3.
bertsioarekin (I)



Ahotsak.com eta Codesyntax-ek Google Maps-en
gainean Euskal Herriaren mugak (eta Euskal Herriko
lurraldeenak) marraztea lortu zuten APIaren 2.
bertsioa erabiliz eta Creative Commons BY-SA
lizentziapean erabilgarri jarri zuten
Google Maps-en APIaren 2. bertsioa zaharkitutzat
zuen Googlek 2010ean (deprecated) eta 2013ko
maiatzaren 19tik aurrera ez zuela funtzionatuko
jakinarazi zuten
Hori kontutan izanda kodea APIaren 3. bertsioarekin
funtzionatzeko egokitzea erabaki genuen
4.2 Google maps-en gainean Euskal
Herriko mapa marraztea APIaren 3.
bertsioarekin (II)


Azkenean epea 2013ko azaroaren 19ra luzatu dute.
Data horretatik aurrera APIaren 2. bertsioarekin
funtziona dezan egokitutako 3. bertsioa zerbitzatuko
zaie API zaharra erabiltzea eskatzen duten
aplikazioei
Aplikazioa sinpleenek funtzionatzen jarraituko dutela
espero duten arren eguneratzea gomendatzen dute
4.3 Distantzien gutxi gora beherako
kalkulua: Taxilariaren geometria edo
Manhattan distantzia (I)




SQLite-n ezin dira funtzio trigonometrikoak erabili
SQL kontsultetan
Muga hori dela eta puntu batetik gertuen dauden
gomendioak zein diren kalkulatzeko garaian
taxilariaren geometria edo Manhattan distantzia
deituriko gutxi gora-beherako metodo bat erabili
behar izan dugu
Abantaila nagusia azkartasuna da, eragiketa oso
sinpleak egiten baititu: batuketak, kenketak...
Desabantaila zehaztasun eza da
4.3 Distantzien gutxi gora beherako kalkulua:
Taxilariaren geometria edo Manhattan
distantzia (II)

Gomendioak Manhattan distantzien arabera ordenatzeko
ondorengo baldintza erabiltzen dugu SQL kontsultan:
‘... ORDER BY abs(latitudea - (?)) + abs( longitudea - (?))’
non latitudea eta longitudea datu-baseko gomendioen
koordenatuak diren eta ?-ak gure puntuarenak.
4.3 Distantzien gutxi gora beherako
kalkulua: Taxilariaren geometria edo
Manhattan distantzia (III)


Kalkulatutako distantzien errorea X
eta Y ardatzetatik gertu dauden
puntuetan nabarmentzen da
bereziki.
Desabantaila honi aurre egiteko
behar baino gomendio gehiago
hautatzen ditugu, adibidez, gertuen
dauden 20 gomendio bistaratu
behar baditugu taxilariaren
geometria erabiliz 30 gomendio
eskuratzen ditugu eta ondoren
zehazki kalkulatzen dugu gomendio
horietara dagoen distantzia eta
horren arabera gertuen dauden
20ak hautatzen ditugu.
4.3 Distantzien gutxi gora beherako
kalkulua: Taxilariaren geometria edo
Manhattan distantzia (IV)


Honi esker datu-baseko gomendio guztietara dagoen
distantzia zehatza metodo konplexuagoak erabiliz
kalkulatu beharra saihesten dugu
Honek garrantzia du datu-baseko gomendio kopurua
handitu ahala kalkulurako gaitasun mugatua duten
gailu mugikorretan.
4.4 Distantzien kalkulu zehatza: Haversine
formula
(lat1, lng1) eta (lat2, lng2) puntuen arteko distantzia
zehatza kalkulatzeko Haversine formula erabili
dugu:


Distantziak kalkulatzeko metodo honen abantaila
zehaztasuna da.
Desabantaila berriz kalkuluaren konplexutasuna da.
5. Eskertza eta galderak
Ezin amaitu eskerrak eman gabe,



Ihesi.com webguneko komunitateari
Erabili ditugun software libreko tresnen garapenean
parte hartu duten guztiei
Aurkezpen honetara etorri zaretenoi
Zuen parte hartzerik gabe Ihesi ez litzateke existituko.
Mila esker!
Galderarik?