Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... ·...

55
Projecte fi de carrera GeoTools-Android. Eines geogràfiques per Android. MEMÒRIA Alumne: José Gómez Fernàndez Dirigit per Anna Muñoz Bollas Projecte fi de carrera

Transcript of Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... ·...

Page 1: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

[Escriba texto] Página 0

Projecte fi de carrera GeoTools-Android. Eines geogràfiques per Android.

MEMÒRIA

Alumne: José Gómez Fernàndez Dirigit per Anna Muñoz Bollas Projecte fi de carrera

Page 2: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 1

0 Llicència (Creative Commons) Aquest treball està subjecte a una llicència de Reconeixement-No Comercial-SenseObraDerivada 2.5 Espanya de Creative Commons. Podeu copiar-lo, distribuir-lo i transmetre’ls públicament sempre que citeu l’autor i l’obra, no es faci un ús comercial i no es faci còpia derivada. La llicència completa es pot consultar en http://creativecomonsorg/licenses/by-nc-nd/2.5/es/deed.es

Page 3: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 2

Agraïments

A la meva dona Marieta,

i als meus tres fills, Albert-Antoni,

Jordi-Joan i Cèlia-Maria

per el suport rebut i per tota la paciència que han tingut amb mi

durant tot aquest temps. Sense ells no ho hauria aconseguit.

Page 4: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 3

Índex 0 Llicència (Creative Commons) ................................................................................... 1

Agraïments ........................................................................................................................ 2

Índex ................................................................................................................................. 3

Índex de Figures ................................................................................................................ 5

1 Descripció del projecte .................................................................................................. 6

1.1 Descripció ............................................................................................................... 6

2 Objectius ........................................................................................................................ 7

2.1 Objectius Generals ................................................................................................. 7

2.2 Objectius específics ................................................................................................ 7

3. Què entenem per SIG? ................................................................................................. 8

3.1 Definició de SIG ...................................................................................................... 8

3.2 Historia dels SIG .................................................................................................... 8

4. Què és Android? ......................................................................................................... 10

4.1 Història d ‘Android ............................................................................................... 10

4.2 Com és Android .................................................................................................... 12

5. L’emulador d ‘Android ................................................................................................ 14

5.1 Descarrega e instal·lació ...................................................................................... 14

5.2 Configuració ......................................................................................................... 16

6. OSMDROID .................................................................................................................. 18

6.1 Descàrrega ............................................................................................................ 18

6.2 Instal·lació ............................................................................................................ 18

7. Recerca d’eines geoespacials per Android. ................................................................ 21

7.1 Recerca aplicacions geoespacials ........................................................................ 21

7.2 OSMDROID ........................................................................................................... 25

7.3 OSMAND .............................................................................................................. 27

7.3.1 Conclusió ........................................................................................................... 43

7.3.2 Altres aplicacions avaluades ............................................................................ 43

8. API geoespacials per Android ..................................................................................... 44

8.1 OSMDROID ........................................................................................................... 44

8.2 Google Maps ........................................................................................................ 45

8.3 ArcGis per Android ............................................................................................... 46

8.4 GOSMORE ............................................................................................................. 48

9. Conclusions ................................................................................................................. 50

9.1 Conclusions .......................................................................................................... 50

Page 5: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 4

9.2 Línies futures de treball ....................................................................................... 50

10. Bibliografia ................................................................................................................ 51

Annex 1 ........................................................................................................................... 52

Aplicacions analitzades durant la fase de recerca ...................................................... 52

Page 6: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 5

Índex de Figures Figura 1: O.S mòbils a nivell mundial, comparativa Feb-2010 Jan-2012........................ 11

Figura 2: O.S. mòbils Espanya, comparativa Feb-2010 Jan-2012 ................................... 11

Figura 3: Opcions descàrrega Android SDK .................................................................... 14

Figura 4: Opcions descàrrega Java.................................................................................. 15

Figura 5: Instal·lació Android SDK ................................................................................... 16

Figura 6: Creació Android Virtual Device (AVD) ............................................................. 17

Figura 7: Instal·lació aplicació a l'emulador ................................................................... 19

Figura 8: Aplicació instal·lada en funcionament ............................................................ 19

Figura 9 : Debugger ........................................................................................................ 20

Figura 10: Mobile Atlas Creator ...................................................................................... 24

Figura 11:Inici OSMDROID .............................................................................................. 25

Figura 12: Opcions de menú ........................................................................................... 26

Figura 13 Opcions de Render ......................................................................................... 26

Figura 14:OSMAND Inici aplicació .................................................................................. 28

Figura 15:Pantalla principal de OSMAND ....................................................................... 28

Figura 16: Pantalla principal de l’opció Search ............................................................... 35

Figura 17: selecció de POIs ............................................................................................. 37

Figura 18: Pantalla de mapes ......................................................................................... 38

Figura 19: Càlcul de ruta amb cotxe ............................................................................... 40

Figura 20: Càlcul ruta a peu ............................................................................................ 41

Figura 21: Visualització mapa vectorial .......................................................................... 42

Figura 22 Visualització mapa vectorial + Maplink .......................................................... 42

Page 7: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 6

1 Descripció del projecte En aquest apartat veurem quins són el objectius, els resultats esperats i l’abast del

projecte.

1.1 Descripció Aquest projecte consisteix en presentar la situació actual de les diverses eines geoespacials per al sistema operatiu Android. Tant les relatives a navegació i càlcul de rutes, com de càrrega i visualització de dades provinents de diferents fonts, d’edició de dades per a treball de camp i de qualsevol altre tipus que facin també alguna mena d’anàlisi espacial. Una vegada fixades aquestes aplicacions procedirem a l’anàlisi en profunditat d’alguna d’elles, centrant-nos en l’aplicació OSMDROID1 i establint les comparacions adients entre les escollides per tal de veure els avantatges i inconvenients de cadascuna. Per tal de poder estudiar les aplicacions seleccionades farem ús de l’emulador d’Android, que ens permetrà executar-les sense la necessitat de disposar d’un dispositiu físic amb aquest sistema operatiu. La importància d’aquesta recerca rau en l’alt índex d’utilització en dispositius mòbils del S.O. Android i en la incorporació de mòduls GPS2 en aquests. Avui dia qualsevol persona amb un d’aquests terminals pot saber la seva situació, calcular rutes per arribar al seu destí, conèixer la ubicació dels seus familiars o coneguts, etc... Les campanyes publicitàries de les empreses de telefonia mòbil i la seva lluita per aconseguir el màxim nombre d’abonats ha permès que tothom pugui gaudir d’un terminal telefònic d’altes prestacions a poc cost. D’altra banda, el naixement d‘Android, cap al 2007, com a sistema per dispositius mòbils amb base Linux, la seva posterior adquisició per part de Google, i la forta aposta que ha fet aquesta companyia en el seu desenvolupament, l’han convertit en un seriós competidor del iOs3 de Apple, i cada dia són més els fabricants que l’incorporen en els seus terminals.

1 http://code.google.com/p/osmdroid

2 Global Positioning System (Sistema de posicionament global)

3 Sistema operatiu incorporat als dispositius de la marca Apple

Page 8: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 7

2 Objectius Un cop acabat aquest projecte de fi de carrera, el que s’espera és que siguem capaços de treballar amb el Sistema Operatiu Android i tinguem un bon coneixement de les aplicacions i biblioteques geoespacials que existeixen actualment

2.1 Objectius Generals

Comprendre els conceptes de la tecnologia SIG4 i la seva metodologia.

Conèixer l’estructura dels diferents tipus de dades amb què treballa un SIG.

Conèixer els sistemes d’emmagatzemament estàndards, tant d’informació ràster5 com vectorial.

Trobar i manipular dades geogràfiques.

2.2 Objectius específics

Conèixer el Sistema Operatiu Android.

Conèixer l’estat actual de l’ecosistema d’aplicacions geoespacials per Android.

Conèixer les diferents API per a desenvolupar aplicacions geoespacials sobre Android.

Treballar amb OpenStreetMap6 per Android.

4 SIG: Sistema d’informació geogràfica

5 Ràster: format de fitxer de imatge de mapa de bits.

6 OpenStreetMap: és un projecte col·laboratiu per crear mapes lliures i editables.

http://www.openstreetmap.es

Page 9: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 8

3. Què entenem per SIG? En aquest apartat introduirem al lector en els aspectes més importants per entendre el concepte de SIG (Sistema d’informació geogràfica), com es representa aquesta informació i com s’emmagatzema.

3.1 Definició de SIG

Podem considerar un SIG com un sistema informàtic per capturar, emmagatzemar, manipular, analitzar i mostrar informació relacionada amb posicions sobre la superfície terrestre. D’aquesta definició veiem que un SIG ens permet:

Analitzar les característiques d’un lloc concret.

Seleccionar elements per el compliment o no de les condicions imposades per el sistema.

Realitzar comparatives entre situacions temporals o espacials diferents en alguna característica.

Calcular rutes òptimes entre dos o més punts.

Generar models a partir de fenòmens o situacions simulades.

3.2 Historia dels SIG

Atenent a aquesta definició, podem dir que el primer SIG és el Canadian Geographical Information System, que va iniciar la seva activitat a l’any 1967, dedicant-se al inventari i planificació de l’ocupació del terreny en grans àrees. L’any 1968 el laboratori de la Universitat de Harvard va desenvolupar el SYMAP7, un programa de cartografia assistida per ordinador en format vectorial, sense possibilitats en aquell el moment d’elaborar mapes interactivament. Paral·lelament a aquest desenvolupament es va crear GRID, una altre aplicació però aquesta en format RASTER. És a finals de la dècada de 1960 que comencen a aparèixer les primeres aportacions comercials, així, al 1969 es crea el Enviromental Research Institute (ESRI8), i altres empreses dedicades als SIG com poden ser Intergraph9, Computervision10 i Synercom. L’any 1975 es dissenya ODYSSEY11, un sistema amb les característiques de treballar en format vectorial, que permet la digitalització semiautomàtica de dades espacials, la gestió de bases de dades, així com l’elaboració interactiva de mapes i la capacitat de superposició. A finals dels anys 70 ESRI desenvolupa el sistema vectorial PIOS que servirà de base per a la creació de l’actual programa ARC/INFO, del qual en parlarem amb detall més endavant.

7 SYMAP: Synagraphic Mapping Technique: Tècnica Sinagràfica per a l’elaboració de mapes.

8 ESRI: http://www.esri.com

9 Intergraph: http://www.intergraph.com

10 Computervision: http://computervisioncentral.com

11 ODYSSEY: Primer SIG vectorial desenvolupat per Harvard Laboratory for Computer Graphics and

Spatial Analysis a mitjans dels anys 70

Page 10: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 9

Al començament del anys 90 esdevé un abaratiment considerable dels sistemes informàtics, tant a nivell de software com de hardware, que facilita enormement l’ús i adquisició de programes SIG. Amb el canvi de segle, els dispositius mòbils han inundat el mercat. La seva ràpida evolució els ha permès convertir-se en un maquinari més per a poder ser utilitzats com a SIG. La incorporació de xips GPS en aquests terminals ha facilitat el creixement de la base de dades amb informació geogràfica i altres, gràcies a les aportacions fetes per ells mateixos usuaris d’aquests dispositius.

Page 11: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 10

4. Què és Android? En aquest apartat tractarem de donar una visió global de que és i com funciona Android. A més repassarem breument la seva curta historia.

4.1 Història d ‘Android

El salt d‘Android a l’escena mundial es produeix quan en Juny de 2005 Google compra una petita companyia que tenia con a finalitat el desenvolupament d’aplicacions per a dispositius mòbils, el nom d’aquesta empresa era Android Inc., inclús un dels seus fundadors Andy Rubin es va convertir posteriorment en el director de la divisió de plataformes mòbils de Google. Ja des d’aquell moment va començar l’ especulació de que Google estaria desenvolupant el Google phone, que tindria com a tret diferenciador amb els altres mòbils, no les característiques tècniques o de software, si no que el servei estaria costejat per la publicitat en el mòbil. El següent pas important es va produir el 5 de Novembre de 2007, amb l’anunci de la creació de la Open Handset Alliance12, amb l’objectiu de la difusió de la plataforma Android. La idea era llançar el primer sistema operatiu per a mòbils de codi obert, que no estigues lligat a cap marca i que gràcies al seu kernel Linux podia ser adaptat quasi a qualsevol maquinari. Cinc dies després d’aquest anunci, Google va llançar el Software Developement Kit (SDK), amb la inclusió d’un emulador d’Android. La primera aparició d’un telèfon mòbil amb Android va ser el 23 de setembre de 2008, es tractava del G1 T-mobile G1/HTC. Des d’aleshores altres marques han començat a fer servir aquest sistema en els seus aparells, com poden ésser Samsung o SonyEriccson. Tal com es mostra a la figura 1 podem veure l’evolució del diferents sistemes operatius per a mòbil durant l’últim any en tot el món, el primer que podem observar és que en Febrer de 2011 Android ja és el tercer sistema més usat, només superat a molta distància per Symbian, un sistema amb una llarga trajectòria dins de la telefonia mòbil, i per altra banda iOs, el sistema de Apple per als seus dispositius mòbils. És en aquest darrer mes del estudi que veiem com ha superat a un altre dels importants en aquest mercat, el sistema de Blackberry. És de destacar la línia ascendent que mostra Android, en detriment dels seus altres competidors.

12

http://www.openhandsetalliance.com

Page 12: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 11

Figura 1: O.S mòbils a nivell mundial, comparativa Feb-2010 Jan-2012 (Font:gs.statcounter.com)

Hem afegit el gràfic corresponent al mateix període que el del gràfic anterior però en aquest cas reduint l’estudi a Espanya. Aquí hem de destacar la poca importància del sistema Blackberry, veiem con Android ja ha superat el sistema Symbian i també manté una línia ascendent tot i que la diferencia amb el dominant iOs és encara més notòria.

Figura 2: O.S. mòbils Espanya, comparativa Feb-2010 Jan-2012 Font(gs.statcounter.com)

Page 13: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 12

4.2 Com és Android

Android està basat en la versió 2.6 del kernel (nucli) de Linux, que actua com a capa d’abstracció entre el hardware i la resta del conjunt de software. A més ens facilita els serveis de seguretat, gestió de memòria, gestió de processos, xarxa, la pila, i el model de drivers. Inclou un conjunt de llibreries en llenguatge Java que inclouen la major part de la funcionalitat disponible facilitant al desenvolupador d’aplicacions la seva reutilització en el codi propi. Les aplicacions s’executen dins la màquina virtual Dalvik13, amb la característica de que es poden executar múltiples instancies de la màquina virtual simultàniament. Aquesta màquina executa classes compilades en Java en format executable (.Dex14) de tal manera que l’ús de la memòria sigui mínim. De cara als desenvolupadors d’aplicacions, aquest tenen ple accés al Framework15 utilitzat per la API de les aplicacions bàsiques. L’arquitectura de les aplicacions ha estat dissenyada per simplificar i facilitar la reutilització de components i qualsevol aplicació pot publicar les seves capacitats i altres aplicacions podran fer ús d’aquestes capacitats (dins les limitacions de seguretat imposades per el Framework). Com a característiques principals podríem enumerar:

accés al control, en funció del hardware sobre el que l’instal·lem, de càmeres, GPS, Bluetooth16, EDGE17, 3G18, Wifi19, telefonia GSM20.

a nivell de gràfics disposem de llibreries 2D i 3D basades en l’especificació OpenGL21 Es 1.0.

a nivell d’emmagatzemament de dades SQlite22.

Navegador integrat basat en el motor WebKit23.

Suport per als formats més comuns d’àudio, imatges i vídeo (MPEG424, H.26425,MP326,AAC27, AMR28, JPG29,PNG30,GIF31)

13

Maquina virtual Dalvik: es.wikipedia.org/wiki/Dalvik 14

Dex. Format executable per a la màquina virtual Dalvik 15

Framework: Disseny amb l’intenció de facilitar el desenvolupament de software. es.wikipediaoorg/wiki/Framework 16

Bluetooth: Xarxa sense fils d’Àrea Personal. es.wikipedia.org/wiki/Bluetooth 17

EDGE (Enhanced Data Rates GSM of Evolution) Taxes de Dades Millorades per a l’evolució de GSM 18

3G: tercera generació de transmissió de veu i dades a través de telefonía móvil mitjançant UMTS (Servei Universal de Telecomunicacions mòbils) 19

WIFI: (Wireless Fidelity) Fidelitat sense fil, es un mecanisme de connexió de dispositius sense fils. 20

GSM: (Groupe Spécial Mobile). Sistema global per a les comunicacions mòbils. 21

OpenGL: (Open Graphics Library) Especificació standard que definex una API multillenguatge I multiplataforma per escriure aplicacions que produeixin gràfics 2D i 3D 22

SQLite: Sistema de gestió de bases de dades relacional continguda en una relativament petita biblioteca en C 23

WebKit: és una plataforma per a aplicacions que funciona com a base per als navegadors. 24

MPEG4: grup d’estàndards de codificació d’àudio i video. 25

H.264: norma que defineix un códec de video d’alta compressió. 26

MP3: És un format de compressió d’àudio digital patentat que usa un algorisme amb pèrdua.

Page 14: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 13

Suport per a pantalla tàctil.

Entorn de desenvolupament, amb la inclusió d’un emulador de dispositiu, i eines de depuració, així com l’existència d’un plugin per al IDE Eclipse32

Android Market33, que permet als desenvolupadors posar les seves aplicacions, gratuïtes o de pagament, al mercat, mitjançant aquesta aplicació accessible des de tots els dispositius Android.

27

AAC (Advanced Audio Coding): format informatics de senyal digital d’àudio basar en un algorisme de compressió amb pèrdua. 28

AMR (Adaptive Multi-Rate): format de compressió d’àudio optimitzat per a la codificació de veu. 29

JPG (Join Photographic Experts Group): algorisme de compression amb pèrdua per a imatges. 30

PNG (Portable Network Graphics): format graphic basat en un algorisme de compression sense pèrdua per a bitmaps no subjecte a patents. 31

GIF (Graphic Interchange Format): format graphic utilitzat àmpliament tant per a imatges com per a animacions. 32

Eclipse: és un entorn de desnvolupament integrat de codi obert multiplataforma. http://www.eclipse.org 33

Android Market: és una tenda de programari en línea desenvolupada per Google per als dispositius Android

Page 15: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 14

5. L’emulador d ‘Android A traves d’aquesta eina facilitada per Google, podrem fer les proves adients sobre les diferents aplicacions que ens interessi analitzar, sense la necessitat de disposar físicament d’un dispositiu que funcioni amb aquest sistema operatiu. Tanmateix, ens dóna la possibilitat de configurar el dispositiu sobre el que farem les diferents proves, amb les característiques que més ens interessin en aquell moment i prescindir-ne de les innecessàries.

5.1 Descarrega e instal·lació

El primer que haurem de fer per tal de aconseguir el SDK és dirigir-nos a l’adreça oficial del SDK: http://developer.android.com/sdk/index.html

Figura 3: Opcions descàrrega Android SDK

Ens trobarem amb les diferents versions del SDK en funció del sistema operatiu de que disposem a la nostra màquina. En el nostre cas en particular, al tractar-se d’una plataforma Windows, tenim dos opcions de descàrrega:

Un zip34 amb tots els fitxers del SDK, que no necessita instal·lació i que podrem descomprimir en qualsevol carpeta

Un sistema de instal·lació guiada, que a través d’un assistent ens facilitarà la instal·lació i ens detectarà si hem d’obtenir algun programa o entorn extern per al funcionament de l’emulador.

34

ZIP: formatd’emmagatzematge sense pèrdua, molt utilitzat per a la compressió de dades

Page 16: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 15

Nosaltres hem optat per la segona possibilitat, hem procedit a la seva descarrega i execució, els que ens ha mostrat l’assistent de configuració. Un dels requisits per el funcionament de l’emulador és la presencia en el nostre equip del Java SE development Kit35, en el cas de que el assistent no detecti la seva presencia ens ho notificarà i ens convidarà a visitar la pàgina de Oracle per a la seva descarrega e instal·lació. http://www.oracle.com/technetwork/java/javase/downloads/index.html

Figura 4: Opcions descàrrega Java

Seleccionarem l’opció encerclada en vermell i procedirem a la seva descàrrega i posterior instal·lació. Aquest procés està guiat per un assistent que ens demanarà la ruta on volem desar el programa i les opcions que desitgem instal·lar. En el nostre cas acceptarem totes les propostes que ens farà l’assistent per defecte. Un cop tenim instal·lat Java, tornarem a l’assistent del SDK d‘Android i pitjarem sobre l’opció Back per actualitzar el programa. Ara l’assistent detectarà la presencia de Java i el pròxim que ens demanarà és la ruta on volem instal·lar el SDK, podem acceptar la proposada o bé introduir la que nosaltres volem. Després es procedirà a la descompressió i còpia dels diferents fitxers que componen el SDK. En acabar ens donarà la opció d’executar el SDK Manager i així ho farem. Es mostrarà una pantalla on es diu que esta actualitzant el repositori.

35

JAVA: és un llenguatge de programació orientat a objectes.

Page 17: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 16

Figura 5: Instal·lació Android SDK

Finalitzada la recerca del repositori procedirem a marcar quins són els paquets que volem instal·lar a la nostra màquina, en aquest cas i davant la recent sortida de la nova versió 4.0 que és comú tant a dispositius mòbils com a les tablets, serà aquesta la escollida, per tal de disposar d’una versió anterior per a les dues plataformes existents i per si fos necessari realitzar alguna prova de compatibilitat amb diferents versions, també instal·larem les versions 3.2 per tablets i 2.3.3 per mòbils. En aquest moment ja disposem a la nostra màquina de les eines imprescindibles per fer la nostra recerca i anàlisis d’aplicacions.

5.2 Configuració

El pròxim pas necessari per dur a terme la nostra tasca és la creació d’un AVD36 (Android Virtual Device). Es tracta d’una eina imprescindible per a realitzar les proves d’aplicacions sense la necessitat de disposar d’un dispositiu físic, tal i com el seu nom indica. Per defecte, en instal·lar el SDK no ens apareix cap dispositiu carregat, el que farem per crear-lo és: Executar el AVD Manager, que com hem comentat, en aquesta primera execució ens mostrarà que no tenim cap dispositiu creat, marcarem l’opció “NEW” i ens apareixerà una nova finestra en la que haurem d’omplir els següents camps:

Name: El nom que li donarem al nostre dispositiu.

Target: La versió d’Android que farem servir.

SD Card: Aquí seleccionarem la capacitat de la SDCARD del sistema

Skin: configurarem les opcions de pantalla

36

AVD (Android Virtual Device): dispositiu virtual Android per a l’execució d’aplicacions en prova.

Page 18: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 17

Hardware: El lloc on especificarem quines són les característiques del nostre dispositiu, podrem afegir: acceleròmetre, càmera, GPS, etc...

Un cop completades aquestes especificacions ja podrem escollir l’opció de “Create AVD” i posteriorment confirmar, i el nostre dispositiu estarà llest per funcionar.

Figura 6: Creació Android Virtual Device (AVD)

Page 19: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 18

6. OSMDROID Una de les aplicacions que posteriorment analitzarem en aquest treball és OSMDROID. Es tracta d’un conjunt de eines i vistes per interactuar amb les dades subministrades per OpenStreetMap. OpenStreetMap és un projecte destinat a oferir dades geogràfiques lliures a qualsevol persona que ho demani. A diferencia de Google Maps, que en les seves Condicions i Termes ens notifica que “Les dades de la codificació geogràfica de Google Maps es proporciona amb llicencia de Navteq North Amèrica LLC (“NAVTEQ”), Tele Atlas North América, Inc. (“TANA”) o altres tercers, i estan subjectes a las lleis de protecció de drets d’autor i altres drets de la propietat intel·lectual que pertanyen a NAVTEQ, TANA o altres tercers, o que s’ofereixen amb llicencia d’aquests”37. Veiem aquí que OpenStretMap està suportat per la comunitat de col·laboradors que fan el treball de camp consistent en la generació i actualització d’aquest mapes. Es tracta per tant d’un projecte en constant creixement i actualització, tot i que també és cert que per aquesta mateixa filosofia de treball encara es troba força incomplert si el comparem amb les dades que ens pot oferir Google Maps.

6.1 Descàrrega

Si ens dirigim a la pàgina http://code.google.com/p.osmdroid/downloads/list veurem els diferents paquets que tenim disponibles per baixar-nos:

OpenStreetMapViewer-3.0.5.apk. Es tracta de la ultima versió de l’aplicació de visualització llesta per ser instal·lada en el nostre dispositiu, aquest paquet serà el que descarregarem per veure les funcionalitats i analitzar-les.

Osmdroid-android-3.0.5.jar. Es tracta de la llibreria de funcions necessàries per poder fer servir osmdroid en els nostres pròpies aplicacions.

Osmdorid-google-3.0.5.jar. Aquí tenim un conjunt de funcions que ens permetran obtindré dades en la nostra aplicació tant d’OpenStreetMap com de GoogleMaps, poden de aquesta forma complementar les virtuts de cadascuna de elles.

Osmdroid.third-party-3.0.5.jar. En aquest paquet ens trobarem les funciones necessàries per obtenir dades de tercers, com per exemple el BingMap de Microsoft.

Tal com hem anticipat abans, descarregarem el OpenStreetMapViewer per tal de procedir a la seva instal·lació en el nostre emulador.

6.2 Instal·lació

Un cop tenim l’arxiu .apk en el nostre ordinador procedirem a la seva instal·lació dins l’emulador a fi de poder executar-lo.

37

http://www.google.com/intl/es_es/help/terms_maps.html

Page 20: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 19

En primer lloc procedirem a iniciar l’emulador. Ho podem fer des de l’entorn gràfic mitjançant l’AVD Manager, un cop obert escollirem el dispositiu sobre el que farem la instal·lació i el posarem en marxa. Seguidament procedirem a copiar l’arxiu apk dins el directori de instal·lació de Android, a la ruta “android-sdk/platform-tools”. A continuació obrirem una finestra del sistema i ens adreçarem a aquesta mateixa ubicació on hem copiat l’aplicació. Un cop allà executarem: Adb install OpenStreetMapViewer-3.0.5.apk Si tot ha funcionat correctament visualitzarem un missatge de confirmació i ja tindrem l’aplicació disponible en el nostre emulador per a la seva execució.

Figura 7: Instal·lació aplicació a l'emulador

Figura 8: Aplicació instal·lada en funcionament

Page 21: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 20

Donat que el nostre estudi es fa sota l’emulador d’Android i no en un dispositiu real, ens trobem amb la necessitat de poder emular el canvi de posició que es pot produir amb un equip físic, per tal de facilitar-nos aquesta tasca, el SDK disposa del DDMS38 (Dalvik Debug Monitor), que podrem executar des de la carpeta \tools\ del la nostra instal·lació amb el fitxer per lots ddms.bat. Obtindrem una finestra com la mostrada a la figura 9 on podem observar l’existència d’una pestanya amb el nom Emulator Control des de la que podem introduir les noves dades de posicionament i enviar-les a l’emulador perquè canviï la seva posició. Tanmateix observem la opció d’importar fitxers GPX39 i KML40

Figura 9 : Debugger

38

DDMS (Dalvik Debug Monitor): depurador i seguidor de codi per Android. 39

GPX (GPS eXchange Format): format d’intercanvi GPS, és un esquema XML pensat per transferir dades GPS entre aplicacions. 40

KML (Keyhole Markup Language); és un llenguatge de marcat basat en XML per representar dades geogràfiques en tres dimensions.

Page 22: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 21

7. Recerca d’eines geoespacials per Android. La font per trobar aplicacions per Android és Internet, normalment quan busquem una aplicació la cerca ens condueix a la pàgina del desenvolupador i des d’allí podem descarregar-la i posteriorment instal·lar-la. En el cas de les aplicacions per aquest sistema ens trobem amb l’existència del anomenat Android Market. Es tracta d’una botiga de software en línia desenvolupada per Google per als dispositius Android, es una aplicació (Vending.apk) preinstal·lada a la majoria dels dispositius que permet als usuaris buscar i descarregar aplicacions publicades per altres desenvolupadors. Els beneficis per aquests últims són, bàsicament, la facilitat que tenen per posar les seves aplicacions a l’abast dels usuaris i rebre una qualificació de la seva aplicació per part d’aquests. És important constatar que el 62.2% de les aplicacions disponibles són gratuïtes. Podem fer un cop d’ull a les aplicacions disponibles a https://market.android.com Hem de fer també una menció a l’existència de “Markets alternatius”, que generalment estan basats en repositoris, és a dir, bases de dades plenes d’aplicacions compartides per els usuaris. Entre elles podem destacar:

* APTOIDE (http://aptoide.com/apks/Aptoide.apk) * F-droid (http://f-droid.org/FDroid.apk) * SlideME (http://slideme.org/sam.apk) * YAAM (http://yaam.mobi/api/yaam.apk)

7.1 Recerca aplicacions geoespacials

En l’extensa recerca feta he pogut constatar l’existència de varis tipus d’aplicacions geoespacials. Totes aquestes aplicacions trobades es podrien incloure en un d’aquests grups:

Informació GPS: Aquí trobarem les aplicacions que ens donen simplement informació sobre la nostra localització i també dades sobre els satèl·lits dels quals estem reben les dades per calcular la nostra posició.

Navegació: Ens facilita la visualització de mapes, i segons les característiques de cada aplicació en concret, ens ofereixen les possibilitats de calcular rutes entre diferents punts i mostrar-nos els punts d’interès (POI). Dins aquest apartat tan genèric, ens hem trobat amb l’existència d’aplicacions molt especifiques per a determinat grups de possibles usuaris, entre elles podem destacar: + Rutes de camp per ciclistes i altres esports de camp. + Mapes de camps de golf que mostren la seva configuració i ens permeten a més a més, portar el control de la competició entre varis participants + Cronometratge de temps per volta en circuits, amb la possibilitat de obtenir també temps parcials per sectors.

Registradors de rutes: anomenats Trackers, són aplicacions que a intervals regulars van registrant en un fitxer ubicat en el propi dispositiu el nostre posicionament, aquestes dades es poden utilitzar posteriorment per reproduir

Page 23: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 22

la ruta sobre un mapa i calcular dades estadístiques: velocitats (màxima, mitja, etc..), distàncies recorregudes, desnivells entre punts, etc..

Seguidors de dispositius a temps real: En aquest cas, el dispositiu mòbil, a intervals regulars, envia la seva posició a un servidor prèviament configurat. D’aquesta forma es poden realitzar consultes al servidor per recuperar la posició última del dispositiu i el seu historial de moviments. Aquest tipus d’aplicació és molt útil en el seguiment de flotes.

En l’aspecte referent als mapes que visualitzem en les aplicacions analitzades, i atenent al format en que estant emmagatzemades les dades, ens podem trobar dos tipus, cadascun dels quals presenta les seves virtuts o mancances respecte a l’altre:

Vectorial: En aquest format de mapes, ens trobem que els elements estan modelitzats per tres tipus d’elements geomètrics:

o El punt: És la unitat mínima d’informació en aquest tipus d’arxiu. Es fa servir per a entitats geogràfiques que es poden expressar per un únic punt de referència, com poden esser un pic d’una muntanya, un pou, un punt de interès i també en el cas de representacions a petites escales, per mostrar ciutats, per exemple.

o Línies: Es fan servir per a representar elements lineals, com poden ser: rius, camins, carreteres, línies de nivell, en aquest elements podem mesurar distàncies.

o Polígons: Els polígons bidimensionals es poden utilitzar per representar elements geogràfics que cobreixen un àrea particular de la superfície de la terra, com poden ser llacs, edificis, províncies, etc...

Els seus avantatges són:

-Estructura de dades compacta. Solament guarda els elements digitalitzats. -Codificació eficient de la topologia i les operacions espacials. -Bona sortida gràfica. Els elements són representats com a gràfics vectorials i no perden definició si ampliem l’escala de visualització. -Major compatibilitat amb entorns de bases de dades relacionals. -El re-escalat és molt més fàcil d’executar. -El manteniment de dades és menys costós.

Com a desavantatges tenim: -L’estructura de dades és més complexa.

-Les operacions de superposició són més difícils d’implementar i representar. -És més laboriós de mantenir actualitzat.

Raster: Les dades raster es composen de files i columnes de cel·les cadascuna d’elles amb un valor únic poden emmagatzemar imatges amb un valor de color en cada cel·la o píxel, o bé poden registrar valors discrets o continus com temperatures. Per emmagatzemar-los es pot fer mitjançant arxius estàndard

Page 24: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 23

basats en la estructura TIFF41 o JPEG, en objectes binaris (BLOB42) dins un Sistema de Gestió de Bases de Dades. Aquest tipus, un cop indexat, permet una ràpida recuperació de les dades, però amb l’inconvenient d’un ús considerable de memòria. Els seus avantatges són: -L’estructura de les dades és molt simple. -Les operacions de superposició són fàcils. -Format òptim per a grans variacions a les dades. -Bon emmagatzemament d’imatges digitals. Com a desavantatges tenim: -Alts requeriments de memòria d’emmagatzemament. -Major dificultat d’anàlisi topològic. -La qualitat de la visualització esta limitada per la resolució de captura.

És important destacar que els SIG poden dur a terme una reestructuració de les dades per poder transformar d’un format a l’altre. La vectorització d’imatges raster de forma automàtica es fa mitjançant complexos algoritmes basats en transformades de Fourier, millora de contrastos i imatges en fals color. També es possible el procés invers, passar de format vectorial a raster. En relació a l’accés als mapes ens trobem amb dos possibilitats:

Online. En aquesta modalitat, el nostre dispositiu necessita tenir accés constant al servidor de mapes, amb el conseqüent tràfic de dades i el seu cost econòmic. També ens podem trobar amb la possibilitat que a la localització del nostre destí no disposem de cap tipus de connectivitat, ni wifi ni 3G, ni cap altre. Tanmateix requerim el poder accedir al servidor amb un temps de resposta raonable, en cas contrari podem veure interrompuda la nostra navegació per manca de dades. Com a principal avantatge tenim la constant actualització de les dades de mapa, tant en el referent a detalls de definició del mapa, com informacions més exactes i concretes sobre punts d’interès o altres informacions que ens poden ser d’utilitat.

Offline. Aquí el procés consisteix en obtenir prèviament el mapa que necessitem del proveïdor per tal de emmagatzemar-lo en el nostre dispositiu i poder dur a terme la navegació i les consultes sense la necessitat d’una connexió de dades continua. L’inconvenient d’aquest sistema és la necessitat d’un treball previ de preparació abans d’iniciar la navegació i la necessitat d’anar actualitzant manualment les dades si les necessitem en dates posteriors. Per poder dur a terme aquest tipus de navegació, haurem de carregar dins el nostre dispositiu mòbil el mapa de la regió que ens interessi en aquell moment, per aconseguir-ho podem utilitzar alguna utilitat com Mobile Atlas Creator (http://mobac/sourceforge.net) com podem comprovar si accedim a aquesta

41

TIFF (Taged Image File Format):és un format de fitxer per a imatges. 42

BLOB (Binary Large Objects): Objetos Binarios Largos. Són elements utilitzats en les bases de dades per emmagatzemar dades de gran grandària que canvien de forma dinàmica.

Page 25: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 24

adreça a l’ultima versió del programa (1.9) han desaparegut uns quants dels orígens possibles per descarregar mapes, si volem accedir a una versió anterior (1.8) amb totes les opcions possibles, ho podem fer des de la adreça http://code.google.com/p/robertprojects/ . Donarem unes petites indicacions sobre el funcionament d’aquesta utilitat. Un cop descarregat el paquet, ho descomprimim en un directori i passem a executar el Mobile Atlas Creator.exe. El que veurem serà la figura 10

Figura 10: Mobile Atlas Creator

Els passos a seguir són: -Ens desplacem per el mapa fins la zona de on volem el mapa, amb doble clic farem zoom, y amb el clic dret ens mourem per el mapa. -Un cop situats a la zona desitjada fem una selecció amb clic esquerra i arrossegant fins crear el rectangle de la zona. -En el desplegable Map Source escollirem la nostre font de dades, les opcions són moltes, Google Maps, Yahoo Maps43, OpenStreeMap, Microsoft Maps44, Ovi Maps45, entre altres. -En el desplegable Zooms Levels seleccionarem el nivell de detall que volem, conforme anem seleccionant nivells, veurem con augmenta el nombre de imatges a descarregar, haurem d’escollir segons les nostres necessitats i disponibilitats. -En Atlas Contents, li donarem un nom al nostre atles i seleccionarem Add selection. -En Atlas Settings escollirem el tipus de mapa que volem generar en funció del dispositiu on l’instal·larem OruxMaps46, OSMAND47, OSMDROID zip. Etc.

43

http://maps.yahoo.com 44

http://www.bing.com/maps 45

http://maps.nokia.com 46

http://www.oruxmaps.com 47

http://code.google.com/p/osmand

Page 26: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 25

-Premem Create Atlas i rebrem el missatge “Atlas Creation finished sucesfully” -Ja tindrem creat el nostre mapa offline per passar-lo al dispositiu mòbil. 7.2 OSMDROID

En principi, per poder instal·lar aquesta aplicació en el nostre emulador hem hagut de fer servir prèviament un dispositiu mòbil per poder accedir al market i així poder tenir accés a ella, posteriorment hem instal·lat en el nostre mòbil una aplicació del tipus “appinstaller48” que ha permès exportar Osmdroid a la tarja de memòria en format “apk” a fi de poder instal·lar-la amb el procediment explicat anteriorment. Un cop finalitzats tots aquets passos previs, que ens veurem obligats a fer amb més aplicacions si la nostra intenció és provar-les en el nostre emulador, ja tenim a la nostra disposició la possibilitat de provar-lo. La primera pantalla que obtenim és un mapa general de món:

Figura 11:Inici OSMDROID

El següent pas consisteix en enviar unes coordenades al emulador simulant el funcionament del GPS. Això ho farem mitjançant el debugger del SDK d’Android tal com hem explicat al final de l’apartat 6.2. En aquest estudi enviarem les coordenades corresponents al centre de Mataró, concretament Longitud: 2,4478 Latitud: 41,5416.

48

http://es.androlib.com/android.application.com-cdroid-appinstaller-qqiCi.aspx

Page 27: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 26

Si premem el botó “Menú”, la pantalla ens mostrarà les següents opcions: -My location. -Map Mode. -About. Tal com veiem a la figura 12:

Figura 12: Opcions de menú

L’opció “My location” ens mostrarà amb un símbol la nostre posició actual. L’opció “Map mode” ens donarà les opcions que podem veure a la Figura 13 i que corresponen als diferents renders que podem visualitzar.

Figura 13 Opcions de Render

Page 28: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 27

OsmaRender: Es una aplicació XSL49 (Extensible Stylesheet Language), que permet transformar les dades en XML50 que es el format en que el servidor de mapes openstreemap ens envia el mapa, en un fitxer d’imatge de tipus SVG51, que podrà ser mostrat per el navegador o l’aplicació client del dispositiu.

Mapnik: Un altre render que funciona amb un fitxer d’estils on es configura quines dades volem extreure del XML que hem obtingut de OpenStreetMap i de quina forma ho volem presentar en pantalla.

Cycle Map: Amb aquesta opció accedirem a les dades de http://opencyclemap.org i ens mostrarà els carrils per bicicletes existents, pàrquings i altres POI relacionats amb aquest món.

Topographic: Ens mostrarà un mapa amb estil National Geographic, amb rius, muntanyes, línies de nivell, camins forestals, etc. En aquest moment només està disponible la cartografia d’algunes regions dels USA.

Hills: Ens mostrarà les colines existents a la zona, la seva cobertura és bastant escassa.

Com podem veure les funcionalitats d’aquesta aplicació són força limitades, reduint-se a un simple visualitzador de mapes, sense cap funció afegida, com pot ser la navegació guiada, el càlcul de rutes, el registrament dels desplaçaments efectuats, o la possibilitat de seleccionar quins són el POI que volem visualitzar.

7.3 OSMAND

En aquest apartat farem un estudi d’aquesta aplicació escollida. Es tracta d’un projecte completament lliure i obert amb la finalitat d’oferir un sistema de navegació fàcil i intuïtiu per dispositius Android, tenint en compte les limitacions típiques com són la limitada capacitat de memòria interna i la potència del processadors. Està disponible per descarregar tant en el Android Market com arxiu .apk per poder-lo instal·lar amb alguna utilitat d’instal·lació, en el nostre cas, hem utilitzat aquesta ultima possibilitat ja que l’accés al Market des de l’emulador no és possible. Un cop tenim el arxiu “OsmAnd-development.apk”, ja podem procedir a la seva instal·lació a l’emulador tal com hem explicat en apartats anteriors, un cop finalitzat el procés ja podrem executar-lo obtenint la pantalla que apareix a la figura 14. El primer que ens demanarà serà obtenir el mapes de les regions que desitgem. Aquí hem fet servir els mapes de España, amb els POIs corresponents i les veus per a la navegació assistida.

49

XSL (Extensible stylesheet Language) llenguatge extensible de fulles d’estil. És una familia de llenguatges basats en l’estàndard XML que permet descriure com la informació continguda en un document XML qualsevol ha de ser transformada o formatada per a la seva presentació en un mitjà. 50

XML (eXtensible Markup Language) llenguatge de marques extensible. Es un metallenguatge extensible d’etiquetes desenvolupat per World Wide Web Consortium (W3C). 51

SVG (Scalable Vector Graphics) és una especificació per descriure gràfics vectorials bidimensionals, tant estàtics com animats en format XML.

Page 29: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 28

Figura 14:OSMAND Inici aplicació

Finalitzada la descarrega dels mapes, tasca que pot durar uns quants minuts en funció de la velocitat de connexió de la que disposem, accedirem a la pantalla principal tal i com veiem a la Figura 15.

Figura 15:Pantalla principal de OSMAND

Page 30: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 29

Ara analitzarem totes les sub-opcions disponibles per a cada una de les quatre opcions principals, començarem amb “Settings”, ja que és la primera que hem d’executar per configurar el funcionament de l’aplicació.

Settings o Modo de Aplicación: Aquí seleccionarem quin tipus de desplaçament

farem servir per el càlcul de les rutes, les opcions disponibles son: Predeterminado: Per defecte apareix seleccionat el mode a peu. Auto: Desplaçament amb vehicle, en aquest mode es tenen en

compte les restriccions de circulació (sentit de circulació, prohibició de circulació, etc...)

Bicicleta: Ens guiarà per els llocs on podem passar amb aquest mitjà de transport.

Peatón: Es la circulació a peu, sense restriccions. o Mapas: Podrem configurar el funcionament dels mapes, les opcions

son: Tile Maps Settings

Fuente de Tiles: Si consideréssim tot el mapa com un gran mosaic, diríem que el Tiles són les peces que el formen, i per tant ens donaran l’acabat estètic del mapa. Les opcions son variades, i algunes de les enumerades a continuació, segons la nostra situació no ens mostraran cap dada.

o Mapnik52 o Cyclemap o Install others: si escollim aquesta opció ens

oferirà: OsmaRender Cloudmade53 GoogleMaps GoogleMaps Satellite GoogleMaps Terrain Microsoft Maps Microsoft Hybrid Microsoft Earth ÖPNV Transit OpenCycleMap Hike Bike Map Hike Bike Map (Hills underlay) OpenAerialMap OpenPisteMap Relief Prague cycle Map MTB Map CZ Yandex RU Top Yandex RU

52

http://mapnik.org 53

http://cloudmade.com

Page 31: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 30

Yandex NK Top Yandex NK Yandex Satellite RU Yandex Traffic RU Wikimapia Top Wikimapia OpenFierskaart (NL) OpenFieskkartBaselay OpenFieskaartRoads(NL) Wanderreitkarte Topo (DE,NL) Wanderreikarte Topo Baselayer (DE,NL) OpenWandelKaart (BE,NL) OpenWandelKaartPlaats OpenWandelKaartBaseline StatKart Topo (NO) StatKart Nautical (NO) Eniro Map (NO,SE,FI,DK,PL) Eniro Aerial(NO,SE,DK) Eniro Nautical(NO,SE) Freemap.sk-atlas Freemap.sk-hiking Frremap.sk-cycle

Usar Internet: si volem fer servir internet per descarregar els tiles. Si no marquem aquesta opció, hem de descarregar prèviament els fitxers d’imatge de la zona que ens interessi, per poder visualitzar-los desprès.

Máximo nivel de Zoom: el nivell màxim de zoom per descarregar d’Internet. Els valors van de 12 a 19, sent 18 el predeterminat. Quan més alt sigui el nivell de zoom desitjat, més imatges haurem de descarregar i mes tràfic de xarxa generarem.

Vector map Settings

Offline vector maps: si volem fer servir els mapes vectorials descarregats. En cas contrari, es produirà la descàrrega online del mapa adient.

Visualització vectorial: escollir el tipus de visualització vectorial, en aquest moment només està disponible l’opció per defecte.

Min. Vector zoom level: el mimin nivell de zoom per utilitzar renderitzat de mapes vectorials enlloc de mapes raster, els valors van de 1 a 18, i l’opció per defecte és 1.

Text size: grandària de la font de text per els noms en el mapa, les opcions van del 60 al 150%, ens permet millorar la accessibilitat de la aplicació.

Page 32: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 31

Mapa de alta resolución: la possibilitat de fer servir mapes de alta resolució amb dispositius d’alta capacitat. Aquesta opció és completament depenent del hardware disponible.

Overlay/Underlay

Overlay Map: Escollirem el tipus de mapa a mostrar per sobre de les dades vectorials. Les opcions són les mateixes que hem enumerat anteriorment dins l’apartat “Font tiles” i que per brevetat no tornem a enumerar

Overlay transparency: Ens permet modificar la transparència del mapa overlay mostrat sobre les dades vectorials, el seu valor va des de el 0 al 255 i està fixat a 200 per defecte.

Underlay map: Escollirem el tipus de mapa a mostrar per sota de les dades vectorials. Les opcions possibles són les mateixes que per “Overlay Map”

Base map transparency: Permet modificar la transparència del mapa base. El seu valor va de 0 a 255 i està fixat a 255 per defecte.

Vector rederer specific options

Show more map detall: Per incrementar el detall del mapa mostrat. Pot ser verdader o fals.

Show contour lines : Mostra els contorns en el mapa si estan disponibles, només amb nivell de zoom 14 o superior i necessita un fitxer independent SRTM, pot ser verdader o fals.

Rendering mode: Adapta el renderitzat a diferents opcions d’ús, les opcions són:

Per defecte Car Bicycle Pedestrian Que han estat explicades anteriorment.

No polígons: En el renderitzat per defecte, fa els objectes transparents, pot ser verdader o fals.

o Datos para uso sin Internet: Obté i/o actualitza dades per al seu ús sense internet, ens mostra les dades de veu, el mapes vectorials, les dades de POIs, prement la tecla de menú, ens ofereix les possibilitats de:

Deactivate : desactivar. Activate: activar. Delete: esborrar. Refresh: actualitzar. Send to OSM (aquesta opció es la que ens permet fer

col·laboracions amb OpenStreetMap)

Page 33: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 32

o Monitoreo: Ens mostra la configuració del seguiment de rutes. Guardar la traza GPX: Els recorreguts s’emmagatzemen en el

directori de recorreguts agrupats per dies, es pot activar o desactivar.

Intervalo de guarda de traza: El temps entre cada registre de posicionament per guardar el recorregut, les opcions van de 1 segon a 5 minuts.

Guardar traza actual: Guarda el recorregut actual a la tarja de memòria.

o Background Service: Executa el servei en background mentre la pantalla

esta apagada. Podem configurar: Servicio de ruteo: Habilita el servei de seguiment de posició en

background en terminis llargs de temps d’inactivitat. Proveedor de localización: Determina el proveïdor de localització

per el servei en background, té dos opcions:

GPS: Farem servir el xip de posicionament del nostre dispositiu per seguir els nostres desplaçaments.

Red: Utilitzarem la nostra connexió a la xarxa per conèixer la posició, la precisió serà inferior a l’anterior.

Intervalo de posicionamiento: Estableix l’interval per determinar la posició del servei de localització en background, les opcions van des de els 0 segons fins als 90 minuts. Per defecte són 5 minuts

Intervalo de espera: Estableix l’interval d’espera per determinar la posició, les opcions van dels 15 segons als 10 minuts. Per defecte són 90 segons.

o ficarem les opcions de càlcul de rutes. Rutas: Determina el servei de càlcul de rutes, podem escollir

entre:

Cloudmade (opció per defecte)

YOURS54 (Yet Another OpenStreetMap Routing Service)

OpenRouteService55

OsmAnd(offline) Ruta más ràpida: Habilitat ens calcularà la ruta més ràpida, des

habilitat ens donarà la mes curta. Datos de voz: Ens permet determinar quina veu farem servir per

guiar-nos en la nostra navegació, podem escollir entre:

No usar

Es

Es-tts

54

http://www.yournavigation.com 55

http://openrouteservice.org

Page 34: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 33

De-tts

En-tts

Install more (si escollim aquesta accedirem a las opcions de descarrega de veus, de la mateixa forma que ho vam fer al iniciar l’aplicació per primer cop)

Voice guidande output: Determina per quin canal escoltarem la veu de guia, aquesta opció depèn del hardware sobre el que està instal·lat el programa, les seves opcions són:

Media/music audio (opció per defecte)

Notification audio

Voice call audio Map view autofolow: Temps que triga el mapa en sincronitzar-se

amb la posició), les possibilitats són:

Never (opció per defecte)

De 5 a 90 segons Auto follow nav only: Activar l’auto seguiment només mentre

naveguem, activat per defecte. Osmand Routing: Utilitzar OsmAnd offline Routing per a les

llargues distancies, aquesta opció està en període experimental, per defecte activat.

o General

Usar nombres en inglés: Seleccionar entre noms natius o en anglès, opció desactivada per defecte

Orientació del mapa: Determinar la orientació del mapa, les opcions són:

Vertical

Horizontal

Predeterminado (per defecte) Day/night mode: Determinar la norma de canvi entre

il·luminació per dia o per nit, les opcions són:

Sunrise/sunset (per defecte)

Day

Night

Light sensor Auto zoom: Auto zoom d’acord amb la velocitat, per defecte

desactivat. Mostrar aspecto de la vista: Mostrar aspecte de la vista d’acord

amb la brúixola. Rotar mapa: Determinar com es rota el mapa, les opcions són:

No rotar (per defecte)

A la dirección del movimiento

A la brújula Display Language: Determinar el llenguatge de la aplicació, tal

com hem explicat abans), les opcions són:

Page 35: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 34

System, en, cs, de, es, jp, fr, hu, it, pl, pt, ru, sk, vi

Unit of length: Canvia les unitats de distància i velocitat, les opcions són:

Kilometers/metres

Miles/yards

Miles/feet Posición en el mapa: Determina la representació de la nostra

posició en el mapa, les opcions són:

Centro (per defecte)

Fondo Usar trackball: Utilitzar el trackball per moure el mapa, activat

per defecte Storage directory: Per especificar les carpetes on es guarden els

diferents arxius que fa servir l’aplicació, per defecte apunta a “/mnt/sdcard” .

o Appearance: Configurar l’aspecte estètic de l’aplicació, té les opcions: Transparent theme: Els controls del mapa són transparents,

activat per defecte. Show altitude: Ens mostra informació sobre la nostra altitud en

el mapa, desactivat per defecte. Show zoom level: Ens mostra en pantalla el nivell de zoom que

estem fen servir en cada moment, desactivat per defecte.

o OSM: Especifica la configuració per accedir a OSM, te les opcions: Nombre de usuario: usuario de OSM, aquí hem de introduir el

nostre nom d’usuari amb el que estem registrats a OSM com a col·laboradors per afegir-hi dades o fer correccions.

Clave: Clau de OSM, la nostra password per accedir a OSM.

o OSMAnd Development: Aquí figuren una sèrie d’opcions que faciliten la feina als desenvolupadors, tenim:

Renderig debug info: Ens mostra el rendiment del renderitzat, desactivat per defecte.

Animate Routing: Simula una progressió manual de la ruta, desactivat per defecte.

Test Voice commands: Reprodueix les ordres de la veu actual. Native rendering: Els mapes vectorials es mostren mes

ràpidament, però no funciona amb tots els dispositius, desactivat per defecte.

Favorites: (aquí podrem guardar les nostres destinacions preferides) tenim les següents categories:

o Home o Friends o Places

Page 36: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 35

o Others

Search: En seleccionar aquesta opció ens apareixerà la pantalla de la Figura16

Figura 16: Pantalla principal de l’opció Search

o Amb aquesta opció tornem a la pantalla anterior.

o ens permet especificar des de quin punt es realitzarant les cerques, les opcions que ens ofereix són:

Position: Intentarà localitzar la nostra possició actual. Current position: La possició que actualment mostra. Last Map View: La última posició mostrada en el mapa. Favorites: Ens mostrarà la pantalla on tenim guardats les nostras

posicions favorites per tal d’escollir una. Addres: Ens mostrarà una pantalla per completar les opcions de:

Pais

Ciutat

Carrer

Page 37: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 36

Edifici

Buscar (per procedir a la localització).

o es la opció seleccionda a la Figura 16 i podem veure que ens permet escollir quins POIs es mostraran en el mapa. Tenim varies opcions:

Filtro propio: Que ens ofereix una llista de possibilitats que són:

Sostenimiento

Educacion

Transportation

Financiero

Salud

Entretgenimiento

Turismo

Historico

Natural

Tienda

Placer

Deporte

Barrera

Uso del Suelo

Artificial

Oficinas

Emergencia

Militar

Administrativo

Geochache

Otro (Marketplace, courthouse, crematorium, embassy, grave_yard, hunting_stand, Police, post_box, post_office, prison, públic_building, recycling, shelter, telephone, toilets, townhall, vending_machine, waste_basket, waste_disposal, fountain, bench, clock, place_of_worship).

Search By name: Introduirem un nom i farà una cerca, mostrant els punts coincidents.

Totes les següents opcions (Asistencia de auto, Para Turistas, Gasolinera, etc...) ens mostraran una pantalla genèrica com la de la figura 17. Aquí es mostraran els que ha trobat, amb l’opció

disponible podrem ampliar el radi de cerca,

amb l’opció definiriem un filtre per limitar el nombre de

dades obtingudes, i amb l’opció es mostraria el mapa.

Page 38: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 37

Figura 17: selecció de POIs

o Amb aquesta opció accedirem a una pantalla per buscar una destinació subministrant les dades de: Pais, Ciutat, Carrer i amb la possibilitat d’especificar un edifici en concret o bé una intersecció de carrers.

o Aquí introduirem directament les dades de Latitud i Longitud del punt escollit, amb les posibilitats de mostrar-lo en el mapa o bé iniciar la navegació fins a ell.

o Ens mostrarà els mitjans de transport disponibles.

o Ens mostrará la nostra llista de favorits.

o Les ultimes consultes fetes.

Page 39: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 38

Mapa: Aquí obtindrem la visualització dels mapes i de les rutes de navegació. El que veurem serà una imatge com la que es pot apreciar a la Figura 18. En aquesta captura podem observar diferents icones:

o La brúixola ens indica el nord del mapa

o Quan estigui en moviment ens indicara que està actualitzant l’informació a mostrar

o Quan estigui disponible ens centrarà en el nostre origen.

o Ens permet canviar d’una forma ràpida entre els modes: Predeterminat, Auto, Bicicleta i Peaton.

o Amb aquestes opcions augmentarem o disminuirem el detall del mapa, en funció de les posibilitats concretes del nostre dispositiu aquestes opciones es poden dur a terme de diferens formes, dobles pulsacions, marcant amb dos dits i simulant estirar i arronçar, teclat preconfigurat, etc...

Figura 18: Pantalla de mapes

Page 40: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 39

Si un cop en aquesta pantalla, premem la tecla de “menú” accedirem a una nova sèrie d’opcions:

o Ens situarà la nostre posició actual en el mapa i ens representarà per un puntet blau

o Aquí podem canviar quines dades volem que ens mostri la aplicació en cada moment, sense haver de tornar al menú de configuració general, les opcions disponibles ja han estat explicades anteriorment, a mode de recordatori són: Fuente de Mapas (Vectorial,Mapnik,cyclemap, otros),POIs, POIs labels, Favoritos,Overlay Map, Underlay Map, Traza GPX, Paradas de transporte, Fallos en OSM

o Des d’aquí podem accedir a les mateixes opcions que oferia a la pantalla principal el apartat Settings i que ja han estat àmpliament comentades anteriorment.

o Amb aquesta opció s’obren dos possibilitats: Mostrar estado del GPS. Si la seleccionem, l’aplicació intentarà

accedir a altre aplicació externa anomenada “GPS status”, si la tenim instal·lada, l’executarà i ens mostrarà en pantalla l’estat dels satèl·lits als que estem connectats i dades de situació. En cas de que no la tinguem instal·lada, ens redirigirà al Market per poder procedir a la seva descàrrega e instal·lació.

Opciones de punto. El contingut d’aquesta opció és el mateix del menú contextual que ens apareix quan seleccionem un punt directament en el mapa amb una pressió prologada, enumerem les opcions, però ja les explicarem dins l’apartat de navegació, són: Navegar a punto, Ruta desde, Search near here, Añadir a favoritos, Share location, Crear POI, Add GPX waypoint, Abrir fallos OSM

o Des d’aquí accedirem a les mateixes funcionalitats que des de l’opció Buscar de la pantalla principal

o Aquesta opció ens permetrà tindre una navegació assistida per veu o be una representació en el mapa de la ruta a seguir per anar des de l’origen al destí. Per que aquesta opció estigui operativa i funcional el primer que hem de fer és seleccionar els punts d’origen i de destí, això ho podem fer des de les opcions de punt que hem comentat anteriorment o bé des de el menú contextual, si fem una pulsació continuada sobre un punt del mapa s’obrirà un globus indicant les coordenades del punt, si premem sobre aquest globus, accedirem a les opcions de punt:

Page 41: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 40

Navegar a punto: el punt seleccionat serà el destí del nostre recorregut.

Ruta desde: en aquest cas, li estem dient que aquest punt és l’origen del nostre trajecte.

Search near here: Ens dirigirà a la pantalla de cerca per a que li diem què estem buscant i què es troba a prop del punt seleccionat.

Añadir a favoritos: Permet afegir aquest punt als nostres favorits, ens demanarà un nom i una categoria.

Share location: Enviarem les nostres coordenades actuals mitjançant email, sms, o clipboard

Crear POI: Podem definir aquest punt com a punt d’interès, aquesta informació s’enviarà a OSM per que sigui incorporada a la seva base de dades.

Add GPX waypoint: afegeix aquest punt a una ruta anteriorment gravada.

Abrir fallos OSM: Ens permet reportar a OSM una errada. Simularem un càlcul de ruta entre dos punts de Mataró i mostrarem en una captura de pantalla el resultat que es mostra a la Figura 19

Figura 19: Càlcul de ruta amb cotxe

Page 42: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 41

Repetirem el càlcul, però ara en lloc de un cotxe anirem a peu, el resultat es mostra a la Figura 20.

Figura 20: Càlcul ruta a peu

Podem observar clarament les diferencies en la ruta escollida, en les distancies a recórrer i en el temps estimat.

Ara ens han aparegut dos nous icones a la pantalla ens serveixen per desplaçar-nos per les diferents indicacions de canvi de ruta que ens dona el navegador.

Una de les opcions interesants d’aquesta aplicació és la superposició de mapes raster sobre el mapa vectorial. A la figura 21 podem veure una captura de mapa vectorial i a la Figura 22 observem la mateixa captura, però amb la superposició d’un mapa raster de Mapink. També podem observar un control lliscant que ens permet variar el grau de transparència del mapa raster per tal de deixar veure a sota el vectorial u ocultar-lo totalment.

Page 43: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 42

Figura 21: Visualització mapa vectorial

Figura 22 Visualització mapa vectorial + Maplink

Page 44: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 43

7.3.1 Conclusió

Per tot el que hem vist en aquest anàlisis es tracta d’un desenvolupament molt complert. El que més m’ha sorprès agradablement són les seves amplies possibilitats de configuració, la disponibilitat de moltes fonts de mapes raster per poder superposar als mapes vectorials, i la facilitat d’ús. No podem fer una comparació amb OSMDROID ja que aquesta es limita a ser un visualitzador de mapes i està molt lluny de la potència i de les prestacions que podem obtenir amb OSMAND, la gestió del POIs, el registre dels recorreguts que anem fent, les possibilitats de reportar incidències i actualitzacions a OSM. Com a punt a millorar, hauríem de mencionar l’estat de traducció dels menús, hi ha opcions que apareixen segons l’idioma seleccionat, i altres que encara estan en Anglès. El seu ús com a navegador, el converteixen en una aplicació al mateix nivell d’altres solucions professionals de pagament. 7.3.2 Altres aplicacions avaluades

Durant el procés de cerca s’han hagut d’avaluar, encara que amb menys profunditat, tot un seguit d’aplicacions que estan reflectides a l’Annex 1. Com a resultat de la seva execució sobre l’emulador, a fi de poder escollir una a la que dedicar més àmpliament el nostre estudi, hem pogut constatar les possibilitats i capacitats de cadascuna de elles.

Page 45: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 44

8. API geoespacials per Android En primer lloc definim que considerarem com una API (Aplication Program Interface). Es tracta de funcions desenvolupades per terces que podem utilitzar en les nostres aplicacions estalviant-nos d’aquesta forma el seu cost de disseny i desenvolupament. En el nostre cas en concret veurem l’existència de diferents APIs orientades a donar diversos serveis, aquests poden ser tant del tipus d’incorporar funcions per accedir a determinats servidors de mapes, com altres destinades a facilitar el procés de render local de mapes en el dispositiu, i també les destinades a retornar-nos el càlcul d’una ruta segons diversos paràmetres quan li subministrem un punt de sortida i un d’arribada. 8.1 OSMDROID

En el primer apartat d’aquest treball ja hem analitzat aquest desenvolupament en la seva faceta de visualitzador de mapes OSM, ara veurem la vesant com a API per a altres aplicacions. Bàsicament, Osmdroid és un reemplaçament per las classes de Google, concretament implementa:

IGeoPoint (obté la latitud i la longitud de un punt)

IMapController (incorpora les funcions de zoom, centrat i desplaçament del mapa)

IMapView (controla la projecció, en nivell de zoom, el màxim nivell de zoom permès, valors de altitud i longitud i centrat de mapes)

IMyLocationOverlay (controla que es mostri o no la posició actual, així com la brúixola i l’orientació)

IProjection (que és la encarregada de convertir els valors de Geopoint en coordenades de píxel i també els valors de metres en píxels.)

Totes aquestes classes venen incloses dins un .jar56 que és el que hem d’incloure dins el nostre desenvolupament. A més d’aquestes classes bàsiques s’inclouen tot un conjunt de classes auxiliars i fitxers d’imatge. Són nombroses les aplicacions que fan servir Osmdroid per al seu funcionament, tant implementant el .jar facilitat, com incloent el seu codi font. Podem citar: OsmTracker57, Turbo GPS258, AndRoad59, AndNav260 i Rmaps61 entre altres. Hem de destacar el desenvolupament del osmdroid-google-wrapper Package, que ens permet d’una forma molt simple canviar entre !MapView de Google i !MapView de osmdroid, deixant que l’aplicació es refereixi a l’interfície en lloc de la implementació específica. El seu lloc de desenvolupament es troba a: code.google.com/p/osmdroid

56

JAR (Java Archive) És un tipus d’arxiu que permet executar aplicacions escrites en llenguatge Java, estan comprimits amb el format ZIP i canviada la seva extensio a .jar 57

http://code.google.com/p/osmtracker-android/ 58

http://www.turboirc.com/tgps/ 59

http://github.com/gkfabs/AndRoad/ 60

http://www.andnav.org 61

http://robertdeveloper.blogspot.com/2009/08/rmaps.html

Page 46: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 45

8.2 Google Maps

En la actualitat Google ens ofereix dos possibilitat d’incorporar mapes dins les nostres aplicacions, són:

Android Google Maps API (code.google.com/intl/es/android/add-ons/google-apis/index.html): Es tracta d’una llibreria externa, que inclou les classes necessàries per oferir la descarrega, el renderitzat i el emmagatzemament en cache dels fragments de mapa, així com una varietat d’opcions de visualització i control. La classe fonamental de la llibreria és MapView, un subclasse de ViewGroup, de la biblioteca estàndard d’Android. MapView pot mostrar un mapa amb les dades obtingudes del servei de Google Maps, capturar les pulsacions i les interaccions sobre el dispositiu per tal de desplaçar-se i fer zooms de forma automàtica sobre el mapa, inclosa la descarrega de fragments de mapa addicionals per obtenir una representació actualitzada. En tractar-se d’una llibreria externa no ve inclosa dins el SDK d’Android i per tant haurem de definir expressament en el nostre projecte que la farem servir, això ho aconseguirem referenciant la llibreria dins del fitxer de manifest de l’aplicació, incorporant a les seves definicions existents l’etiqueta: < uses-library android:name=”com.google.android.maps” > a més ens assegurarem que Android no instal·larà la nostra aplicació en cap dispositiu en el que la llibreria no estigui accessible. Un aspecte clau en la utilització d’aquesta API, és la necessitat d’obtenir una clau API de Google Maps, això implica que, en primer lloc, abans de poder accedir als mapes de Google ens hem de registrar en el seu servei, acceptar les Condicions del Servei i el subministrament d’una empremta digital MD562 del certificat que haurem de fer servir per signar les nostres sol·licituds. D’aquesta manera, cada cop que demanem al servei la descarrega d’alguna dada, el servidor pot determinar si estem registrats en el servei o no, i acceptar o denegar la nostra petició. Hem de fer constar la possibilitat de generar un certificat de depuració creat amb eines del SDK per la fase de desenvolupament i proves, però un cop que l’aplicació passa a producció, hem de crear un altre certificat amb el que es signarà la petició d’alliberació, i conseqüentment haurem d’actualitzar en el nostre codi totes les referències a la clau API.

Carrega de pàgina dins l’aplicació un nou sistema que ha de substituir al anterior (code.google.com/intl/es/apis/maps/articles/android_v3.html): Amb aquesta configuració el funcionament es complertament diferent. Ja no hem de gestionar la creació i el control del mapa mitjançant MapView, la nova funcionalitat està definida a la classe WebView, bàsicament, el que fa aquesta classe es incloure un navegador dins l’aplicació, el navegador mostra controls que permeten configurar com es carrega la pàgina, també permet exposar JavaScript63 a Java Bridge64, el que ofereix la possibilitat de executar mètodes Java en l’aplicació original d’Android des de la pàgina de JavaScript, i

62

MD5 (Message-Digest Algorithm 5)Algorisme de Resum de Missatge 5. És un algorisme de reducció criptogràfic de 128 bits. 63

JavaScript; és un llenguatge de programació interpretat implementat com a part d’un navegador web permetent millores en la interficie d’usuari i pàgines web dinàmiques. 64

Java Bridge: és un protocol usat per conectar un script natiu amb la maquina virtual de Java.

Page 47: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 46

executar JavaScript directament des de l’aplicació Java. Els avantatges que representa aquesta nova possibilitat són:

o Si l’aplicació està en el servidor, es poden fer canvis de versió simplement actualitzant aquet, no cal fer una actualització de l’aplicació a traves del Market o altres mitjans.

o Aprofitament immediat de les millores i correccions de Google sense haver d’esperar a la següent actualització d’Android, l’API s’actualitza en el servidor i no a cada dispositiu.

o Compatibilitat de plataformes, en el cas de que ens interessi, podem crear un mapa sense haver d’estar preocupats per la plataforma on s’executarà.

Per incorporar aquesta funcionalitat a les nostres aplicacions, haurem d’afegir un nou component WebView, això ho farem dins la definició del LinearLayout, també haurem de definir els permisos adients dins l’arxiu AndroidManifest.xml per tal de poder obtenir la informació de posició, per últim només caldrà crear el WebView dins el codi, habilitar-lo per fer servir JavaScript i carregar la URL dins la pàgina. Hem de fer notar la perillositat de permetre a JavaScript que controli la nostra aplicació Android, quan el codi HTML dins el WebView es proporcionat per un tercer, i no tenim control sobre ell, es pot donar el cas de que inclogui codi que faci executar processos no desitjats en el nostre dispositiu amb les impredictibles conseqüències que això pot generar.

8.3 ArcGis per Android

Durant el període de desenvolupament d’aquest treball, ha sortit a la llum la versió 1.0.1 d’aquesta llibreria (help.arcgis.com/en/arcgismobile/10.0/apis/android/help/), en un principi estava en versió beta i hem vaig inscriure com a betatester per poder avaluar las seves capacitats, desprès d’un llarg període de proves i ajornaments, ja tenim a la nostra disposició aquesta primera versió pública. Les capacitats que ofereix aquest producte per poder incorporar a les nostres aplicacions són diverses, en primer lloc ens facilita un SDK que inclou:

Un plugin de Eclipse amb tot el SDK

Una API Java que proporciona vistes i classes especifiques d’Android per afegir les capacitats de ArcGIS a les nostres aplicacions.

Exemples d’utilització.

Documentació de les classes i mètodes disponibles.

Les capacitats disponibles a través del SDK les podem resumir en les següents:

Afegir mapes des del servei ArcGis online, un portal propi ArcGis o el servidor d’ArcGis.

Afegir mapes de referència que es guarden localment en el dispositiu.

Aprofitar la potència de ArcGIS per analitzar els mapes i proporcionar informació als usuaris.

Afegir eines d’edició per als usuaris durant els seus desplaçaments.

Treballar amb dispositius GPS.

Page 48: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 47

Identificar punts en el mapa i veure la informació corresponent mitjançant finestres flotants.

Superposar gràfics en el mapa.

Realitzar operacions avançades de geometria a nivell local.

Cercar, consultar i identificar les característiques dels llocs amb consultes geoespacials o SQL65.

Localització de punts mitjançant subministrament d’adreça a l’aplicació i viceversa.

Suporta mapes Bing, però si volem accedir a ells haurem d’obtenir abans una appID, i per tant ens haurem de tenir un compte al Bing Maps Account Center.

Fem una breu ullada als diferents tipus de capa que ens proporciona aquesta API:

arcGISTiledMapServiceLayer / BingMapsLayer, són les capes amb imatges emmagatzemades, connectades als serveis de mapes en cache (d’ArcGis o de Bing) que proporcionen imatges de mapes a escales predefinides dins uns esquema de divisió. L’esquema de mosaic es troba al servidor. Els components de la imatge del mapa (tiles), estan en format de mapes de bits (raster). Degut a que estan prèviament creades per el servidor, no es possible canviar la visibilitat de les capes individuals o la referencia per defecte als serveis espacials del mapa. Les dades només es poden canviar en el temps si s’actualitza la caché. Dins l’API no es possible consultar capes en un mapa de tipus mosaic. En contraprestació tenim que el servei es molt ràpid, ja que les imatges estan creades prèviament i emmagatzemades dins la caché del servidor, i pot atendre les peticions a gran velocitat.

ArcGisDynamicMapServiceLayer / ArcGISImageServiceLayer. Una capa dinàmica de un servei de mapes, es un mapa que pot contenir diverses capes subministrades per el servidor en cada sol·licitud i es retornada per aquest com una imatge única. La imatge no conté cap informació addicional sobre les característiques del mapa. Cada cop que l’usuari llença una sol·licitud, el servidor torna a generar la imatge amb les dades actualitzades disponibles en aquell moment, a més, en cada petició es pot redefinir la visibilitat de les capes i les dades es poden filtrar amb l’adició de condicions a la definició de la capa. Donat que la imatge s’ha de generar per a cada petició, la velocitat de resposta anirà en funció de la complexitat de la demanda, i generalment serà inferior a la velocitat de resposta del tipus de mosaic.

GraphicsLayer. La seva finalitat és el dibuixat d’opcions i funcionalitats dins el mapa, però no el de símbols gràfics, com poden ser el símbol de la brúixola o missatges de text. Es possible consultar aquestes funcionalitats i també establir el nivell d’escala del mapa.

ArcGISFeatureLayer. Són capes que contenen informació sobre les característiques del mapa en el costat de client, i es presenten individualment mitjançant gràfics propis. Aquestes capes contenen informació complerta sobre totes les funcionalitats mostrades en el mapa, aquestes funcionalitats han estat obtingudes a traves d’una consulta al servidor ArcGis, tant amb consultes espacials com amb consultes tipus text basades en la clàusula WHERE. La

65

SQL: És un llenguatge declaratiu d’accés a bases de dades.

Page 49: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 48

potència d’aquest tipus de capa, té com a contrapartida un cost de processament més alt, i per tant, una velocitat de resposta més baixa, la informació retornada per el servidor, s’ha de processar en el dispositiu i dibuixar-la a la pantalla. Per tal de millorar aquest temps, podem fer servir diferents mesures:

o Out Fields: Es possible limitar el nombre de camps d’atribut retornats per el servidor, això es fa amb el mètode outFields()

o Max Allowable Offset. També es possible limitar el nombre màxim de vèrtex retornat per cada opció.

o Mode: Aquesta classe disposa de tres modes de funcionament que passem a detallar:

Snapshot mode: Aquí, totes les característiques de la capa es recuperen immediatament del servidor desprès de la càrrega de la capa. Això elimina la necessitat de tornar a demanar dades de la capa al servidor, com a contrapunt, si la capa conté un nombre alt de característiques, el dispositiu pot patir una sobrecàrrega per la quantitat d’elements que ha de dibuixar.

On demand mode: En aquest cas, les característiques de la capa es cerquen quan són necessàries, aquest mode requereix més tràfic entre el servidor i el client i és el mode més adient quan hem de mostrar dades que canvien ràpidament.

Selection mode: En aquest sistema, el client no demana cap característica al servidor, aquestes nomes es demanen quan es produeix una selecció d’un element.

o Feature collections: No es tracta realment d’un mode propi, sinó de una barreja entre el Snapshot i una sèrie de característiques definides amb anterioritat. En aquest tipus, la característica resideix en el client, i no es genera cap tràfic cap el servidor.

o Buffer factor: Es tracta de crear un buffer quan estem fen servir el On demand mode, obtenim més dades de les estrictament necessàries i les emmagatzemen per si són necessàries més tard.

Com veiem es tracta d’una API prou complerta, que just ha sortir a escena i que segurament tindrà una ràpida evolució. 8.4 GOSMORE

Es tracta d’un visualitzador de mapes amb un calculador de rutes, justament aquesta ultima propietat es la que fa que estigui inclòs en aquesta categoria d’APIs. Va néixer l’any 2007 i esta desenvolupat en C++. Gosmore permet calcular rutes offline, hi ha desenvolupaments per múltiples plataformes, Linux, Windows, Windows CE, Maemo, FreeBSD, MacOSX i per suposat Android. Gosmore treballa amb un format propi de dades amb extensió .pak i que es genera a partir de mapes en format OSM. Entre les seves principals característiques podem destacar:

Navegar a destí.

Trobar localització

Trobar POIs a prop.

Navegar a traves de la ruta calculada.

Rutes per peatons, cotxes i bicicletes.

Page 50: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 49

Contempla restriccions de circulació.

Navegació per veu. El podem trobar a: http://wiki.openstreetmap.org/Gosmore

Page 51: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 50

9. Conclusions Dividirem les conclusions en dos apartats ja que crec que es interesant tractar els dos temes per separat. 9.1 Conclusions

Després del treball desenvolupat durant aquest temps podem dir que Android és un S.O. amb bones expectatives de creixement en el futur, que la seva quota de mercat va en augment progressivament i que com a conseqüència directa el desenvolupament d’aplicacions que corren sobre ell va en augment dia a dia. Les raons del èxit ja les hem comentat a l’apartat corresponent. Per altra banda l’evolució del hardware i en concret dels xips GPS han portat a una implementació d’aquest en dispositius mòbils com a component gairebé estàndard. En aquest treball hem enfocat el software existent amb dos àmbits diferenciats, per una banda, la del consumidor d’aplicacions i per l’altra la dels desenvolupadors d’aquestes. En l’àmbit del consumidor hem pogut constatar l’existència d’un ampli ventall de possibilitats per escollir, des de desenvolupaments completament lliures, a solucions de pagament, des de simples aplicacions per visualitzar dades de mapes o per servir-nos com l’ancestral brúixola a enginyosos desenvolupaments per al càlcul òptim de rutes i el seguiment d’aquestes en temps real i a distància, o el tant emprat sistema de navegació, per a vehicles i persones. No han escapat d’aquests avanços els temes lúdics i esportius, com es veu també per el nombre d’aplicacions que hi ha dedicats al golf, o al cronometratge de curses de tot tipus. Per altre banda, els desenvolupadors veuen com els grans servidors de mapes intenten anar millorat dia a dia les seves APIs pel tractament de dades amb el desig d’oferir quelcom més que la competència i convertir-se en un referent com a servidors de mapes. En aquest punt ens trobem en la eterna lluita entre els serveis de codi obert i les solucions propietàries. 9.2 Línies futures de treball

És previsible que en un futur, no llunyà, la resolució dels mapes a nivell mundial hagi millorat i la informació sobre punts de interès, o rutes, sigui molt més complerta i acurada. Tanmateix, sembla que aviat no sabrem moure’ns sense un dispositiu electrònic que ens vagi dictant el camí. També es d’esperar una millora en la qualitat i en les velocitats de connexió disponibles a fi d’agilitzar la descarrega d’informació dels servidors.

Page 52: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 51

10. Bibliografia B1 Bataller, A. (2010). Mòdul de Gestió i desenvolupament de projectes.

Barcelona: Editorial UOC. B2 Sáez, N.; Vidal, R. (2010). Mòdul de Redacció de textos

cientificotècnics. Barcelona: Editorial UOC. B3 Bloc sobre Android [en anglès]: http://androgeoid.com/ B4 Bloc sobre Android [en castellà]: http://www.android-spa.com/ B5 Android Market: https://market.android.com/ B6 Aplicacions per Android: http://es.androidzoom.com/android_applications B7 OSMDROID http://code.google.com/p/osmdroid. B8 OpenStreetMap http://www.openstreetmap.es B9 ARCGIS: http://www.esri.es B10 Statcounter http://gs.statcounter.com B11 Mobile Atlas Creator http://mobac/sourceforge.net B12 OSMAND http://code.google.com/p/osmand B13 GOSMORE : http://wiki.openstreetmap.org/Gosmore B14 Wikipedia: es.wikipedia.org

Page 53: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 52

Annex 1 Aplicacions analitzades durant la fase de recerca

Nom Localització Breu descripció

AllSportGPS http://www.trimbleoutdoors.com/Products/AllSportGPS/

Registra les nostres sortides esportives i permet calcular calories, distancies, velocitats, etc..

AndNav2 http://www.andnav.org/ Navegador amb veu amb mapes OSM

Androzic http://code.google.com/p/androzic/ Navegador que fa servir maps Oziexplorer. Basat en la llibreria Swampex

Back2It http://www.freewarelovers.com/android/app/back2it

Guarda la localització amb un sol clic i amb un altra permet tornar a un punt visitat.

Car Finder AR

http://www.3dcoche.com/ Guarda automàticament la posició del nostre vehicle en desconnectar-se el Bluetooth,

Compass 360 free

http://thedroiddev.com Mostra brúixola, amb nord real i magnètic, i latitud i longitud

GolfCard GPS

http://www.senygma.com/GolfCard/Home.html

Mostra el posicionament en camps de Golf, i les dades de les competicions.

Gps Essentials

http://www.mitacle.com/gpsessentials Navalla suïssa de la navegació, suporta punts d’interès, pistes, rutes, brúixola

GPS laps [email protected] És un cronòmetre de temps per a circuits basat en GPS

GPS over BT

[email protected] Ens permet convertir el nostre mòbil en un receptor GPS extern per poder connectar-lo al PC mitjançant Bluetooth. També ens mostra un mapa amb els satèl·lits que ens faciliten les dades de situació.

GPS Share http://kkinder.com/gps-share/ Ens permet enviar un SMS amb un link de Google Maps amb la nostra posició actual

Gps Speedometer

[email protected] Ens mostra en la nostra velocitat en un format analògic i molt configura ble

Gps Status & Toolbox

http://m.eclipsim.com/gpsstatus Mostra posició i força del senyal dels satèl·lits , velocitat,

Page 54: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 53

acceleració i rumb, amb indicació de nord real i magnètic.

Gps Wifi http://yangscrazyteam.tistori.com/m/entry/GPS-WIFI-GUIDE

Activa/desactiva WIFI segons la nostra localització. També por establir el nostre posicionament per 3G

My maps editor by Google

http://googlemobile.blogspot.com/2008/12/your-maps-in-your-hands-for-holidays.html

Podem crear, veure, compartir, editar els nostres mapes a la pestanya My Maps de Google Maps

Nav4All http://www.freewarelovers.com/android/app/nav4all

Complert navegador amb mapes NAVTEQ

Ndrive11 http://www.ndrive.com Navegador pas a pas offline amb mapes de NAVTEQ

OSMAND http://osmand.net Navegador pas a pas online/offline, permet interactuar amb OpenStreetMap.

Real Time GPS tracker

http://www.greenalp.com/RealTimerTracker/

Mostra la nostra posició actual a Google Maps, i permet que altres persones en puguin posicionar en temps real. També suporta OpenStreetMap

Rmaps http://code.google.com/p/robertprojects/

Navegador On-line, Off-line, amb autorotació de mapes, POI, brúixola.

Runtastic GPS coatch

http://www.runtastic.com Assistent d’entrenament personal, mostra rutes fetes, temps, calories cremades, pulsacions, etc.

SOS Alarm http://pikimorgan.blogspot.com/ Ens permet enviar un SMS a un contacte predeterminat, en cas de que es detectiu una desacceleració brusca, com es el cas d’un accident

Street View for Google Maps

http://www.google.com Ens permet veure imatges real un cop situats en el mapa

Sygic GPS Navigation

http://www.sygic.com/en/android Navegació GPS pas a pas guiada per veu. Permet navegació offline.

Turbo GPS 2

http://www.turboirc.com/tgps/ Contempla pistes, waypoint, Google Maps. OpenStreet Maps, NEMEA TCP server.

Wikitude http://www.wikitude.com/ Un navegador GPS amb

Page 55: Projecte fi de carrera GeoTools-Android. - UOCopenaccess.uoc.edu/webapps/o2/bitstream/10609/... · 3 Sistema operatiu incorporat als dispositius de la marca Apple . TFC Pàgina 7

TFC

Pàgina 54

Drive realitat augmentada que ens permet veure la ruta a seguir sobre la captura que fa en aquell moment la càmera del mòbil.

AndRoad https://github.com/gkfabs/AndRoad/ Sistema personal de navegació. Gir a Gir, POI, veu.

BigPlanetTracks

http://code.google.com/p/big-planet-tracks/

Aplicació online,offline que importa, exporta i grava recorreguts i mostra estadístiques.

Gopens http://sourceforge.net/projects/gopens/

GPS, OSM, GPX, POI

Gosmore http://osmu.org/Gosmore.apk Ultima versió. GPS 2D, 3D

GPSLooger for Android

http://mendhak.github.com/gpslogger/ Grava coordenades en format GPX o KML, velocitat, direcció i altitud

gvSigmini https://confluence.prodevelop.es/display/GVMN/Home

Accés a mapes OSM, YahooMaps, Bing..

MapDroid http://tedp.id.au/mapdroid/ Visualitzador de OSM

Navit http://www.navit-project.org/ Sistema de navegació amb càlcul de rutes

Open-gpstracker

http://code.google.com/p/open-gpstracker/

Un altre gravador de rutes

OpenStreetMapViewer

http://code.google.com/p/osmdroid Visualitzador de mapes de OSM amb diverses opcions de renderitzat.

Oruxmaps http://www.oruxmaps.com/index.html Visor de mapes online (Google,Microsoft,Yandex,WMS) i també de offline treballa amb formats GPX i KML.

OSMAnd http://code.google.com/p/osmand Visor orientat al us offline

OsmDroid http://code.google.com/p/osmdroid/ Es o vol ser un reemplaçament per la classe MapView de Google Maps.

OSMtracker-android

https://code.google.com/p/osmtracker-android/

Clon de OSMTRAcker per Windows.