VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y...

93
i VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y COMPARTIR CUALQUIER PUNTO GEODÉSICO MATERIALIZADO A LO LARGO DEL TERRITORIO COLOMBIANO JONATHAN ENRIQUE CONTRERAS SASTOQUE JUAN DIEGO SANJUANELO DE LA PEÑA UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS FACULTAD DE MEDIO AMBIENTE Y RECURSOS NATURALES INGENIERIA TOPOGRAFICA BOGOTÁ D.C. FEBRERO DE 2019

Transcript of VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y...

Page 1: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

i

VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y

COMPARTIR CUALQUIER PUNTO GEODÉSICO MATERIALIZADO A LO

LARGO DEL TERRITORIO COLOMBIANO

JONATHAN ENRIQUE CONTRERAS SASTOQUE

JUAN DIEGO SANJUANELO DE LA PEÑA

UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS

FACULTAD DE MEDIO AMBIENTE Y RECURSOS NATURALES

INGENIERIA TOPOGRAFICA

BOGOTÁ D.C.

FEBRERO DE 2019

Page 2: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

ii

VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y

COMPARTIR CUALQUIER PUNTO GEODÉSICO MATERIALIZADO A LO

LARGO DEL TERRITORIO COLOMBIANO

JONATHAN ENRIQUE CONTRERAS SASTOQUE

CÓDIGO: 20142032450

JUAN DIEGO SANJUANELO DE LA PEÑA

CÓDIGO: 20142032274

Trabajo de grado presentado en modalidad de monografía como requisito

parcial para optar al título de:

Ingeniero Topográfico

Director:

Ing. Evelio Madera

UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS

FACULTAD DE MEDIO AMBIENTE Y RECURSOS NATURALES

INGENIERIA TOPOGRAFICA

BOGOTÁ D.C.

FEBRERO DE 2019

Page 3: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

iii

INTRODUCCIÓN

Hace menos de dos décadas era impensable determinar la posición de un punto en la

tierra por medio de un teléfono celular y mucho menos con la exactitud posicional a la

que llegan estos dispositivos y cualquier elemento tecnológico móvil hoy en día. Es

evidente que nos encontramos en una nueva revolución de la humanidad, donde lejos

de evitar una discusión cultural podríamos llamar a esta época “la revolución

tecnológica de la navegación y las comunicaciones”. El desarrollo de la internet, la red

satelital y la nueva era digital; sin mencionar el auge desmedido que las redes sociales

y las aplicaciones móviles han generado, el ambiente propicio para un numero infinito

de soluciones a problemas cotidianos en tiempo real, como por mencionar un ejemplo:

la aplicación llamada waze, está desarrolló la solución al problema de movilidad a nivel

mundial que por muchos años trataron de resolver grades compañías como ESRI,

INTERGRAPH, DIGITAL GLOBE, SAP entre otras y líderes en sistemas de

información geográfica GIS por sus siglas en inglés, así como empresas locales como

Pamacol, Silice Digital y Fisco que gracias a esta tecnología crearon una nueva

generación de cibernautas.

El presente documento nace de la necesidad de registrar digitalmente por medio de una

aplicación móvil (APP) puntos geodésicos, este registro genera una base de datos la

cual puede ser consultada mediante código SQL, lo que permite integrar no solo

conceptos de tipo geodésico sino también de programación, meses de arduo trabajo, de

investigación, y de varias reuniones a las cuales llamaremos en este documento como

SPRINT, sirvieron y fueron de gran importancia para llevar a cabo no solo nuestro

proyecto de grado, sino, poner un punto de partida a las futuras generaciones de

ingenieros topográficos para la solución de problemas cotidianos e ingenieriles a partir

de aplicaciones móviles.

Page 4: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

iv

TABLA DE CONTENIDO

Pág.

INTRODUCCIÓN ................................................................................................................ iii

PLANTEAMIENTO DEL PROBLEMA ............................................................................ ix

JUSTIFICACIÓN .................................................................................................................. x

OBJETIVOS ......................................................................................................................... xi

GENERAL: ....................................................................................................................... xi

ESPECIFICOS:................................................................................................................. xi

1. MARCO TEORICO .................................................................................................... xii

ALGO DE HISTORIA .................................................................................................... xii

LA ASTRONOMÍA COMO CIENCIA COMPLEMENTARIA A LA GEODESIA xiii

LA GEODESIA EN COLOMBIA ................................................................................. xiv

SISTEMA DE POSICIONAMIENTO GLOBAL O GPS ............................................. xv

Tipos de receptores ...................................................................................................... xx

Métodos de posicionamiento GPS ............................................................................ xxiii

¿Para qué sirve? Y por qué hacemos geodesia .........................................................xxiv

¿QUÉ ES EL PROYECTO SIRGAS? .......................................................................... xxv

MAGNA – SIRGAS ...................................................................................................xxvi

Geo portal del IGAC .................................................................................................. xxix

LENGUAJE DE PROGRAMACION .......................................................................... xxxi

1. Lenguajes de programación de bajo nivel .......................................................... xxxiii

2. Lenguajes de programación de alto nivel ........................................................... xxxiii

ANDROID STUDIO ..................................................................................................... xxxv

Repositorios .............................................................................................................. xxxvi

Ejemplos en la aplicación móvil ............................................................................ xxxviii

API (Interfaz de programación de aplicaciones) ................................................. xxxviii

ANDROID SOFTWARE DEVELOPMENT KIT (SDK) ................................... xxxviii

Interface de Usuario Android – Layout.................................................................. xxxix

LinearLayout ................................................................................................................ xli

BASES DE DATOS .................................................................................................... xliv

¿Qué Es SQLite? ........................................................................................................ xliv

2. METODOLOGÍA ....................................................................................................... xlv

Page 5: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

v

METODOLOGIA SCRUM ............................................................................................ xlv

CREACION DE MAQUETA O MUCK UP DE LA APLIACION VERTEX .............. li

DESARROLLO DE LA APLICACIÓN ......................................................................... lx

Sprint 1 (Creación Layout - Activity) .......................................................................... lx

Sprint 2 (Menú principal) .......................................................................................... lxiii

Sprint 3 (Clase Formulario) ...................................................................................... lxiii

Sprint 4 (Clase textos para editar = edit text) .......................................................... lxiii

Sprint 5 (Spinners) ..................................................................................................... lxiv

Sprint 6 (API para la geolocalización del punto) ..................................................... lxiv

Sprint 7 (Repositorios usados para búsqueda de municipios y Departamentos) ... lxiv

Sprint 8 (datapikers de fecha y hora) ....................................................................... lxvi

Sprint 9 (clase para la toma de foto de punto y panorámica) ................................ lxvii

Sprint 10 (Consulta de formulario) .......................................................................... lxvii

Sprint 11 (Enviar Datos) ...........................................................................................lxviii

Sprint 12 (Clase Salir de la aplicación) ..................................................................... lxxi

5. RECURSOS ............................................................................................................... lxxii

a. RECURSO HUMANO .......................................................................................... lxxii

b. RECURSO TECNOLÓGICO .............................................................................. lxxii

c. RECURSO ECONÓMICO .................................................................................. lxxii

6. RESULTADOS ......................................................................................................... lxxiii

CONCLUSIONES.......................................................................................................... lxxxvii

BIBLIOGRAFÍA ............................................................................................................ lxxxix

ANEXOS .............................................................................................................................xciii

Page 6: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

vi

Tabla de Imágenes

Imagen 1 Determinación de radio terrestre según Eratóstenes Fuente: Geodesy for Layman

xii

Imagen 2 Coordenadas elípticas ecuatoriales Fuente: Elementos de Astronomía geodésica

clásica xiv

Imagen 3 Santa Rosa de Osos. Acuarela sobre papel Comisión Corográfica Colombiana

Fu

ente: Biblioteca Nacional xv

Imagen 4 Sistema de posicionamiento Global Fuente: (Gobierno de los Estados Unidos

relativa al Sistema de Posicionamiento Global y temas afines, 2017) ................................... xvi

Imagen 5 Estaciones de control del GPS Fuente: (Huerta, Manguiaterra, & Noguera, 2005)

xviii

Imagen 6 Diferentes Sistemas de Posicionamiento Global Existentes en la actualidad y sus

sistemas de aumentación ................ Fuente: (International GNSS (IGNSS) Conference, 2018).

.............................................................................................................................................. xix

Imagen 7 GPS en Smartphones Fuente: (ADOC Chile, 2018) .............................................. xxi

Imagen 8 Navegador GPS Fuente: (Garmin, 2018) ............................................................... xxi

Imagen 9 GPS submetrico Fuente: (Spectra precision, 2018) .............................................. xxii

Imagen 10 GPS doble frecuencia Fuente: (Hi Target, 2018) ................................................ xxii

Imagen 11 Métodos de posicionamiento con sistema GPS Fuente: (Paul R. Wolf - Charles D.

Ghilani, 2009) ..................................................................................................................... xxiii

Imagen 12 Principio matemático de corrección de posición en postproceso Fuente: (Huerta,

Manguiaterra, & Noguera, 2005) .........................................................................................xxiv

Imagen 13 Estaciones GPS SIRGAS Fuente: (SIRGAS, 2018). .......................................... xxv

Imagen 14 Geo portal IGAC Fuente: (Instituto Agustín Codazzi IGAC, 2018) .................xxx

Imagen 15 Proceso de la programación Fuente: http://www.docirs.cl............................... xxxi

Imagen 16 Logo Java Fuente: https://revistadigital.inesem.es.......................................... xxxii

Imagen 17 Programación en Android Studio Fuente: Propia .......................................... xxxiv

Imagen 18 Android Studio Fuente: https://developer.android.com ................................ xxxvi

Imagen 19 Tipos de Layout Fuente: (Aprendeandroid, 2018) ........................................ xxxix

Imagen 20 Ejemplo de atributo de vertex (Layout) Fuente: propia ...................................... xl

Imagen 21 Uso de Linearlayout en android studio Fuente: (Aprendeandroid, 2018) ........ xlii

Imagen 22 Código ejemplo de un Linearlayout Fuente: (Aprendeandroid, 2018) ............ xliii

Imagen 23 SQLite Fuente: https://openwebinars.net/blog/sqlite-para-android-la-

herramienta-definitiva/ ......................................................................................................... xliv

Imagen 24 Modelo Scrum Fuente: (CORPORACIÓN PARQUE, TECNOLOGICO DE

ORIENTE, 2001) xlviii

Imagen 25 Modelo de ficha técnica preliminar para formulario de registro (VERTEX) .......... li

Imagen 26 software para crear el muck up Fuente: Propia .................................................. lii

Imagen 27 Descarga de software pencil Fuente: Propia .................................................... liii

Imagen 28 Instalación de software pencil Fuente: Propia .................................................. liii

Page 7: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

vii

Imagen 29 Ventana de inicio del software pencil Fuente: Propia ....................................... liv

Imagen 30 Creación de nuevo proyecto en pencil Fuente: Propia ...................................... liv

Imagen 31 Nuevo proyecto en pencil Fuente: Propia ........................................................... lv

Imagen 32 modelo de celular para modelar inicio de aplicación Fuente: Propia .................. lv

Imagen 33 modelo de inicio de aplicación en pencil Fuente: Propia ................................... lvi

Imagen 34 recreación de pantalla interfaz de ventanas Fuente: Propia................................ lvi

Imagen 35 recreación de ventanas de aplicación Fuente: Propia ....................................... lvii

Imagen 36 creación de formulario en pencil Fuente: Propia ............................................. lvii

Imagen 37 creación de formulario en pencil Fuente: Propia ................................................ lviii

Imagen 38 Menú de home o principal de salida Fuente: Propia .......................................... lix

Imagen 39 Layout creados (activity) Fuente: propia ........................................................... lx

Imagen 40 Linarlayout, botones creados en activity_main Fuente: propia .......................... lx

Imagen 41 Parte de Diseño de la activity_main (principal) Fuente: propia ........................ lxi

Imagen 42 ConstraintLayaut de la Activity_main Fuente: propia ...................................... lxi

Imagen 43 Atributos del button Formulario1 Fuente: propia ............................................ lxii

Imagen 44 Mainclass Fuente: propia ................................................................................ lxiii

Imagen 45 Edit text Fuente: propia ................................................................................. lxiii

Imagen 46 tipo de spinner Fuente: propia ........................................................................ lxiv

Imagen 47 API para la geolocalización Fuente: Propia ................................................... lxiv

Imagen 48 spinner para repositorios ..................................................................................... lxv

Imagen 49 Método para Departamentos y municipios ......................................................... lxvi

Imagen 50 Array municipio ................................................................................................. lxvi

Imagen 51 Repo para la hora Fuente: propia .................................................................... lxvi

Imagen 52 Repo para fecha Fuente: propia ...................................................................... lxvi

Imagen 53 Método para la toma de fotos Fuente: propia ................................................ lxvii

Imagen 54 Consulta de formulario Fuente: propia .......................................................... lxvii

Imagen 55 Método Registro de datos en la Clase Formulario Fuente: propia ..................lxviii

Imagen 56 Método Registro de datos Fuente: propia ......................................................lxviii

Imagen 57 Clase Enviar datos Fuente: propia .................................................................lxviii

Imagen 58 Método enviar correo Fuente: propia.............................................................. lxix

Imagen 59 Importando la librería ORM Fuente: propia .................................................. lxix

Imagen 60 Método de registro de datos Fuente: propia .................................................... lxix

Imagen 61 Manifiesto Fuente: propia................................................................................ lxx

Imagen 62 Base de datos en la activity Enviar datos Fuente: propia ................................. lxx

Imagen 63 Clase Main Fuente: propia .............................................................................. lxxi

Imagen 64 Método para salir de la aplicación Fuente propia ........................................... lxxi

Imagen 65 Ejecutar proceso Fuente: propia .................................................................... lxxiii

Imagen 66 Exportar APK Fuente: propia ....................................................................... lxxiv

Imagen 67 Creación de firma para aplicación Fuente: propia ..........................................lxxv

Imagen 68 APK exportada Fuente: propia .......................................................................lxxv

Imagen 69 Directorio APK Fuente: propia ...................................................................... lxxvi

Imagen 70 Subida a drive de Google Fuente: propia ....................................................... lxxvi

Page 8: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

viii

Imagen 71 APK Descargada a teléfono e instalada Fuente: propia ................................ lxxvii

Imagen 72 Solicitud de permisos Fuente: propia........................................................... lxxviii

Imagen 73 Vertex en ventana de aplicaciones de teléfono Fuente: propia .................... lxxviii

Imagen 74 Screem splash de inicio de aplicación Fuente: propia.................................... lxxix

Imagen 75 Menú principal Fuente: propia ...................................................................... lxxix

Imagen 76 Datos a ingresar en formulario Fuente: propia ................................................ lxxx

Imagen 77 Ingreso de datos Fuente: propia ..................................................................... lxxxi

Imagen 78 Spiner para repos de Departamentos Fuente: propia ...................................... lxxxi

Imagen 79 Imagen 56 Spiner para repos de Municipios Fuente: propia ......................... lxxxii

Imagen 80 Imagen 56 Spiner para estado de vértice Fuente: propia............................... lxxxii

Imagen 81 datapicker Fecha Fuente: propia .................................................................. lxxxiii

Imagen 82 datapicker Hora Fuente: propia .................................................................. lxxxiii

Imagen 83 Botones especiales Fuente: propia ............................................................... lxxxiv

Imagen 84 Menú enviar datos Fuente: propia ................................................................. lxxxv

Imagen 85 Importación de la base de datos en SQLite Fuente: propia .......................... lxxxvi

Imagen 86 Base de datos Importada Fuente:propia ...................................................... lxxxvi

Page 9: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

ix

PLANTEAMIENTO DEL PROBLEMA

El uso análogo de información pone al descubierto un alto riesgo en la información de

campo, el tiempo de transcripción del papel al medio digital genera en ocasiones

retrasos, o errores humanos al momento de dicha transcripción, por otro lado, día a día

se ejecutan proyectos con información GNSS de carácter privado, construyendo nuevos

marcos geodésicos (mojones GPS) cuya información no es compartida con otros

profesionales. Estamos en una coyuntura mundial en la que la democratización del

conocimiento ha llegado a tal punto que es posible para cualquier profesional usar

herramientas tecnológicas para resolver problemas en su área de conocimiento,

nosotros como ingenieros topográficos no somos la excepción, y de esta reflexión

planteamos la siguiente pregunta:

¿De qué manera podemos registrar digitalmente y compartir información de datos

geodésicos, con el fin de brindar una plataforma de soporte a los profesionales en el

campo de la Geodesia? La respuesta a esta pregunta de investigación fue el desarrollo

de una aplicación móvil que llamamos VERTEX.

Page 10: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

x

JUSTIFICACIÓN

Hoy por hoy existe a nivel gubernamental plataformas web que sirven de apoyo a

levantamientos con sistemas GNSS; en el país se destacan entidades como el Instituto

Geográfico Agustín Codazzi (IGAC), y el Servicio Geológico Colombiano (SGC). La

primera cuenta con aproximadamente 36 estaciones GNSS permanentes llamadas

MAGNA – ECO, en los siguientes capítulos abordaremos afondo el significado del

nombre, la segunda entidad actualmente cuenta con alrededor de 100 estaciones de la

misma naturaleza que las anteriores, pero estas apoyan un programa de investigación

propio del servicio geológico colombiano llamado Geo Red. Tanto los datos del IGAC

como los del SGC son totalmente gratuitos, para descargar los primeros basta con tener

acceso a internet y una dirección FTP (Protocolo de Transferencia de Ficheros), para

los datos del SGC es necesario acceder a la página del servicio geológico y llenar un

formulario de solicitud de datos para acceder a ellos.

A lo largo del territorio nacional se vienen adelantando diferentes proyectos de tipo:

ambientales, catastrales e ingeniería como: infraestructura, en especial proyectos

viales, lo que implica que estos proyectos requieren de información de posicionamiento

satelital para la georreferenciación, y cuya consecuencia resulta en una tendencia al uso

de equipos GNSS de alta precisión para la elaboración de redes geodésicas

La única información compartida a nivel nacional corresponde a las entidades antes

mencionadas, no obstante, existe otra red o puntos geodésicos alternos no reconocidos

públicamente, se trata de todos los vértices geodésicos, poligonales y BM de

nivelaciones que se ejecutan y se materializan en los diferentes proyectos antes

mencionados a lo largo del territorio nacional.

Centralizar la información y compartirla abiertamente entre diferentes usuarios por

medio de esta aplicación móvil, sería la solución al problema de la duplicidad de puntos

geodésicos, perdida y localización, registro y divulgación, elevados costos, y sobre

todo el reconocimiento de dichos puntos como una red existente y disponible.

Page 11: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

xi

OBJETIVOS

GENERAL:

• Desarrollar una aplicación móvil que permita que los profesionales en

topografía y geodesia puedan registrar y compartir puntos geodésicos

materializados a lo largo del territorio colombiano.

ESPECIFICOS:

• Identificar las bondades y ventajas al desarrollar la aplicación por medio de

Android Studio.

• Definir las características de los dispositivos que deberían usar la aplicación.

• Compartir la información que el usuario registre.

• Establecer la mejor metodología, para el desarrollo de este tipo de proyectos

tecnológicos.

• Integrar los conceptos geodésicos y topográficos, a la aplicación, para su mejor

manipulación.

• Diseñar un modelo o formato que permita registrar la información relevante de

puntos geodésicos.

• Describir el proceso desarrollo de la aplicación.

Page 12: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

xii

1. MARCO TEORICO

ALGO DE HISTORIA

A lo largo de la historia de la humanidad, el hombre en su afán por explorar el entorno

y el medio geográfico ha necesitado representarlo, desde los hombres de las cavernas

en su arte rupestre hasta los grandes navegantes y pensadores griegos del mundo

antiguo, teniendo en cuenta que la base de toda representación ha sido un sistema de

referencia, el presente capitulo no pretende ser un tratado de geodesia, sino que busca

en el lector que entienda de manera simple el porqué de georreferenciar, que es un

marco y sistema de referencia, y cuán importantes son estos términos para la

planificación de las futuras sociedades.

La geodesia es la ciencia que estudia la forma y dimensiones de la tierra de campo de

gravedad y variaciones en el tiempo, como de la posición de un punto en la superficie

de la tierra (Lerma, 2012).

Los antiguos griegos fueron pioneros en establecer con cálculos geométricos una

aproximación de las dimensiones de la tierra; como lo hizo Eratóstenes (NOOA,

1985), ya que durante muchos años la figura geométrica adoptada por muchos

pensadores fue la esfera.

Imagen 1 Determinación de radio terrestre según Eratóstenes Fuente: Geodesy

for Layman

Page 13: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

xiii

LA ASTRONOMÍA COMO CIENCIA COMPLEMENTARIA A LA

GEODESIA

Puede existir una discusión eterna entre que fue primero, la geodesia o la astronomía,

para los astrónomos puede parecer que primero fue esta ciencia, ya el simple hecho de

observar las estrellas y astros celestes ya es astronomía, para los geodestas todo lo

contrario, el hombre para explorar su planeta necesitó de apoyarse en las estrellas para

realizar sus mediciones y estas sirvieron para la astronomía. Lo que sea que haya

sucedido primero es claro que durante muchísimos siglos una fue complemento de la

otra y viceversa. La gran contribución de la astronomía en la geodesia ha sido en los

mares y océanos, navegantes chinos, egipcios, griegos, romanos, bizantinos, vikingos,

españoles, ingleses, turcos, y hasta piratas, todos y cada uno de ellos navegaron gracias

a las estrellas, las estrellas se usaron siempre para determinar una posición y llegar a

otro lugar, la diferencia hoy en día fue, es que cambiamos esas estrellas por satélites.

Por ejemplo, “la posición de una estrella respecto del punto vernal es teóricamente

independiente de la rotación terrestre y por lo tanto constante, se establece el sistema

de coordenadas ecuatoriales o coordenadas absolutas, con objeto de definir la posición

de un astro sobre la esfera celeste, dos magnitudes angulares denominadas ascensión

recta (α) y declinación (δ). La primera se mide sobre el ecuador celeste, y queda

definida por el diedro que determinan el meridiano que contiene al punto vernal y el

que pasa por la estrella. Varía de 0 a 24 horas en sentido antihorario a partir del

meridiano de referencia. La segunda coordenada se define como el ángulo medido en

el meridiano celeste de la estrella, formado por el ecuador y el radio que pasa por la

estrella. La declinación se expresa de 0 a 90 grados sexagesimales, norte o sur, o bien

positiva y negativa respectivamente, Si en lugar del ecuador y los polos celestes,

consideramos la eclíptica y los polos de este plano, análogamente a las coordenadas

ecuatoriales se definen las coordenadas eclípticas. Dichas coordenadas se expresan

ambas en grados sexagesimales y son: la longitud eclíptica (µ), definida tomando como

referencia el punto vernal de forma análoga a la ascensión recta, y la latitud eclíptica

(l), semejante a la declinación. Al igual que el sistema ecuatorial, las coordenadas

eclípticas de un astro son independientes de la rotación terrestre”. (J. B. Mena, 2008).

Como lo muestra la siguiente imagen.

Page 14: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

xiv

Imagen 2 Coordenadas elípticas ecuatoriales Fuente: Elementos de Astronomía

geodésica clásica

LA GEODESIA EN COLOMBIA

En Colombia no fue sino hasta el siglo XIX que se realizaron las primeras expediciones

cartográficas con bases científicas como lo fue la comisión Corográfica de la

confederación granadina dirigida por Agustín Codazzi ( (Biblioteca Nacional de

Colombia, 2008). La comisión corográfica representa el primer esfuerzo como país

independiente por explorar no solo la cultura y biodiversidad étnica y biológica sino la

exploración física del territorio, para ello se realizaron diversos levantamientos

cartográficos usando técnicas y procedimientos científicos de la época, y por

consiguiente fue el primer acercamiento de conceptos como, sistema de referencia,

meridiano, escala etc.

Page 15: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

xv

Imagen 3 Santa Rosa de Osos. Acuarela sobre papel Comisión Corográfica

Colombiana Fuente: Biblioteca Nacional

SISTEMA DE POSICIONAMIENTO GLOBAL O GPS

El Sistema de posicionamiento global o GPS aparece en la década de los 70’s

básicamente como un desarrollo militar del gobierno de los Estados Unidos, como

consecuencia de la guerra fría entre la Unión Soviética y Estados Unidos, se extendió

al uso civil gracias a las ventajas en materia de posicionamiento que tenía el sistema,

no fue sino hasta el año de 1986 que el sistema se desarrolló, pero en la primera guerra

del golfo pérsico (1991), quedó demostrado su eficacia (INSTITUTO GEOGRAFICO

AGUSTÍN CODAZZI, 2007).

Técnicamente la mejor explicación aparece en la página oficial del sistema de

posicionamiento global “El Sistema de Posicionamiento Global (GPS) es un sistema

de radionavegación de los Estados Unidos de América, basado en el espacio, que

proporciona servicios fiables de posicionamiento, navegación, y cronometría gratuita

e ininterrumpidamente a usuarios civiles en todo el mundo. A todo el que cuente con

un receptor del GPS, el sistema le proporcionará su localización y la hora exacta en

cualesquiera condiciones atmosféricas, de día o de noche, en cualquier lugar del mundo

Page 16: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

xvi

y sin límite al número de usuarios simultáneos” (Gobierno de los Estados Unidos

relativa al Sistema de Posicionamiento Global y temas afines, 2017)

El sistema de posicionamiento global consta de tres (3) segmentos (Huerta,

Manguiaterra, & Noguera, 2005), los cuales son:

• Segmento espacial

• Segmento de control

• Segmento del usuario

Segmento espacial

Este segmento hace relación a la distribución “espacial” del sistema, su distribución

alrededor de la órbita de la tierra, y el número de satélites que la conforman, como

muestra la siguiente imagen

Imagen 4 Sistema de posicionamiento Global Fuente: (Gobierno de los Estados

Unidos relativa al Sistema de Posicionamiento Global y temas afines, 2017)

El sistema GPS cuenta actualmente con:

• Compuesta por 24 satélites.

• Los satélites se ubican en 6 órbitas planas prácticamente circulares, con

inclinación de 55º respecto al plano del Ecuador y con una distribución

aproximadamente uniforme; con 4 satélites en cada órbita.

• Se encuentran aproximadamente a 20180 km de altura.

• Tienen 12h de período de rotación (en tiempo sidéreo) u 11h 58m (en tiempo

oficial).

• También hay satélites en órbita que se encuentran desactivados y disponibles

como reemplazo.

Page 17: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

xvii

• Con la constelación completa, se dispone, en cualquier punto y momento, entre

5 y 11 satélites observables, con geometría favorable.

• El tiempo máximo de observación de un satélite es de hasta 4 horas 15 minutos.

Segmento de control

Este segmento está relacionado con las estaciones en la tierra que controlan el sistema

permanentemente, a continuación, se mencionan algunas de las características.

Monitoreo y control permanente de los satélites con el objeto de determinar y predecir

las órbitas y los relojes de a bordo.

Sincronización de los relojes de los satélites con el tiempo GPS

Transmisión, a cada satélite, de la información procesada.

Está integrado por una Estación de Control Maestra (MCS), varias Estaciones de

Monitoreo (MS) y Antenas Terrestres (GA).

Las estaciones de monitoreo tienen coordenadas conocidas con gran precisión y están

equipadas con receptores GPS de doble frecuencia L1/L2 y un reloj de Cesio. Su

función es determinar las distancias a todos los satélites visibles y transmitirlas a la

estación de control maestra junto con los datos meteorológicos de cada estación.

(Huerta, Manguiaterra, & Noguera, 2005).

Con los datos recibidos de las estaciones monitoras, la estación maestra, ubicada en la

Base de la Fuerza Aérea Schriever en el estado de Colorado, calcula los parámetros

orbitales y los de los relojes y posteriormente los transmite a las antenas terrestres que

los transfieren a los satélites a través de un enlace vía banda S.

Como se puede observar en la Figura 2, el segmento de control está integrado por 10

estaciones.

Estas están ubicadas en:

• Colorado Springs (EUA)

• Isla Ascensión (Atlántico Sur)

• Diego García (Índico)

• Kwajalein (Pacífico Occidental)

• Hawaii (Pacífico Oriental)

• Quito (Ecuador)

• Buenos Aires (Argentina)

• Hermitage (Inglaterra)

Page 18: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

xviii

• Bahréin (Golfo Pérsico)

• Smithfield (Australia).

La figura 2 muestra la localización de las estaciones de control antes mencionadas:

Imagen 5 Estaciones de control del GPS Fuente: (Huerta, Manguiaterra, & Noguera, 2005)

Cabe resaltar que el GPS (NAVSTAR) es una constelación desarrollada por el

Gobierno de los Estados Unidos, sin embargo, países como: Rusia, China, Japón, India,

Corea del Sur y la Unión Europea cuentan con satélites de posicionamiento global, el

presente capitulo solo mostro el sistema estadounidense a manera de explicar el

concepto y funcionamiento, las demás constelaciones siguen el mismo principio del

GPS (International GNSS (IGNSS) Conference, 2018), los nombres de los diferentes

sistemas de posicionamiento global en el mundo se muestra en la siguiente imagen a

continuación,

Page 19: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

xix

Imagen 6 Diferentes Sistemas de Posicionamiento Global Existentes en la actualidad

y sus sistemas de aumentación Fuente: (International GNSS (IGNSS)

Conference, 2018).

Constelaciones Globales:

– GPS (24+3)

– GLONASS (24+)

– GALILEO (24+3)

– BDS/BEIDOU (27+3 IGSO + 5 GEO)

Constelaciones Regionales:

– QZSS (4+3)

– IRNSS/NAVIC (7)

Satélites de aumentaciones:

– WAAS (3)

– MSAS (2)

– EGNOS (3)

– GAGAN (3)

– SDCM (3)

Page 20: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

xx

– BDSBAS (3)

– KASS (2)

Satélites de aumentación

Los satélites de aumentación son sistemas extremadamente precisos desarrollados por

los gobiernos para corregir y mejorar la precisión de la señal provenientes de los

satélites o constelaciones, cabe aclarar la cobertura de estos satélites es limitada por

ejemplo el sistema de aumentación WAAS solo tiene un cubrimiento en los estados

unidos. (Federal Aviation Administration, 2018).

Segmento usuario

Está constituido por los instrumentos utilizados para recepcionar y procesar la señal

emitida por los satélites.

Estos instrumentos están integrados esencialmente por una antena y un receptor. Un

equipo complementario es usado, en ocasiones, para transferir datos entre receptores.

La antena está conectada por cable al receptor o en otros casos forman una sola unidad.

Las coordenadas que se calculan corresponden al centro radioeléctrico de la antena.

El receptor consta de un mínimo de 4 canales (generalmente 10 ó12) que permiten

recepcionar y procesar simultáneamente la señal de cada satélite. Sin embargo, esto

dependerá de la tecnología del equipo cuenta con multiconstelación.

Tipos de receptores

Existen en el mercado una alta variedad de receptores cabe resaltar que hay que

diferenciar varios tipos de receptores capaces de captar las señales o estas portadoras

provenientes de los satélites GPS, se pueden clasificar en función de la capacidad que

emplean para determinar la posición se pueden definir entre receptores de medida de

pseudodistancia (códigos), los que llamamos navegadores aunque hoy en día la

mayoría de los smartphones cuenta con antenas que permiten recibir este tipo de

señales y otros que tiene la capacidad de obtener no solo códigos sino que también la

fase portadora (frecuencias comúnmente llamadas) estos son los receptores

topográficos y geodésicos, estos últimos pueden dividirse en equipos que permiten

registrar una sola frecuencia (L1 y código) y equipos que pueden registrar dos

frecuencias (L1 y L2) los comúnmente llamados doble frecuencia. (Sickle, 2015).

Page 21: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

xxi

Imagen 7 GPS en Smartphones Fuente: (ADOC Chile, 2018)

Imagen 8 Navegador GPS Fuente: (Garmin, 2018)

Page 22: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

xxii

Imagen 9 GPS submetrico Fuente: (Spectra precision, 2018)

Imagen 10 GPS doble frecuencia Fuente: (Hi Target, 2018)

Page 23: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

xxiii

Métodos de posicionamiento GPS

En la sección anterior mencionamos los diferentes equipos existentes los cuales

permiten recibir y registrar los tipos de códigos y frecuencias provenientes de los

satélites, adicional a lo anteriores con el paso del tiempo la precisión siempre ha sido

un objetivo desde el punto de vista científico, poder decidir qué equipo y que

metodología emplear para obtener la posición de un punto es lo que veremos en la

presente sección, a continuación se muestra una imagen o diagrama el cual ilustra los

diferentes tipos o métodos de posicionamiento.

Imagen 11 Métodos de posicionamiento con sistema GPS Fuente: (Paul R. Wolf -

Charles D. Ghilani, 2009)

Existen diferentes criterios para para clasificar los métodos de observación (Sickle,

2015), sin embargo, el presente proyecto se enfoca en levantamientos con GPS en

modo estático; este método de posicionamiento relativo las coordenadas del receptor,

móvil o estático, son obtenidas en postproceso, es decir, una vez finalizada la

observación se calculan las posiciones en gabinete (lo que permite trabajar con

efemérides más precisas). Este método se suele utilizar para posicionamiento estático

relativo. En el caso de posicionamiento estático relativo con medida de fase se obtienen

soluciones más precisas que en tiempo real. La siguiente imagen ilustra el método de

posicionamiento estático relativo con postproceso.

Page 24: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

xxiv

Imagen 12 Principio matemático de corrección de posición en postproceso Fuente:

(Huerta, Manguiaterra, & Noguera, 2005)

¿Para qué sirve? Y por qué hacemos geodesia

Desde la séptima conferencia cartográfica regional de las naciones unidas, los

gobiernos de 34 países acordaron trabajar juntos en colaboración regional para dar

soluciones a problemas que adolecían los diferentes países en cuanto a datos espaciales

se refiere, debido a que cada país contaba con su propio sistema de referencia, los

cuales resultaron incompatibles con las nuevas técnicas de posicionamiento global. En

esta conferencia fue presentado un avance del proyecto SIRGAS, el cual consistía en

desarrollar una red geodésica de alta precisión que abarcara y definiera un único datum

geocéntrico. (Naciones Unidas, 2001). Esto permitió no solo un desarrollo científico

tecnológico en materia de geodesia, sino que también contribuyó a que los países

cooperaran entre si abriendo las puertas o tratados politos que facilitaron la apertura a

nuevos mercados económicos y por ende un crecimiento significativo en la región.

Page 25: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

xxv

¿QUÉ ES EL PROYECTO SIRGAS?

SIRGAS es la sigla o como se le conoce al Sistema de Referencia Geocéntrico para las

Américas, y nace de la necesidad de la región en determinar un único datum

geocéntrico con los cuales los países migraran sus antiguos marcos geocéntricos al este

nuevo sistema geocéntrico, actualizando así sus métodos de georreferenciación con las

nuevas técnicas de posicionamiento global, (Naciones Unidas, 2001). SIRGAS puede

resumirse como una densificación de Marco Internacional de Referencia Terrestre

(ITRF: International Terrestrial Reference Frame), (SIRGAS, 2018). SIRGAS cuenta

actualmente con estaciones GPS de monitoreo continuo en América del Sur, Centro

América y el Caribe, estas estaciones registran información proveniente de los

diferentes satélites usados para el posicionamiento Global, todas las estaciones cuentan

con equipos GPS doble frecuencia de última generación, permitiendo realizar modelos

de desplazamiento tectónicos con fines científicos (SIRGAS, 2018). La siguiente

imagen muestra las diferentes estaciones continuas en los diferentes países de

Latinoamérica.

Imagen 13 Estaciones GPS SIRGAS Fuente: (SIRGAS, 2018).

Page 26: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

xxvi

Las coordenadas de estas estaciones son determinadas por dos centros de

procesamientos:

• DGFI – TUM (Deutsches Geodätisches Forschungsinstitut Technische Universität

München) Alemania

• IBGE (Instituto Brasileiro de Geografía y Estadística)

Fotografía 1 Estación GPS continua de referencia Fuente: (Servicio Geológico

Colombiano, 2018)

MAGNA – SIRGAS

Después de la convención del cambio climático en rio de 1992 (NACIONES UNIDAS,

1992), todos los países acordaron estandarizar un único marco geodésico de referencia,

ya que todos los países tenían sus propios marcos de referencia, y esto generaba un

problema en cuanto a proyectos binacionales y de cooperación mundial como lo era el

cambio climático, fue en ese entonces que el gobierno de los Estados Unidos mostró

los avances en cuanto a geodesia posicional realizaba, evidencia de ello su sistema de

posicionamiento global ya en operación, el cual tenía como marco de referencia el

WGS-84 (World Geodetic System 1984).

Page 27: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

xxvii

El gobierno nacional empieza la actualización y migración del antiguo marco

geodésico llamado red ARENA al nuevo marco geocéntrico nacional de referencia

llamado-MAGNA – SIRGAS, (Instituto Geográfico Agustín Codazzi (IGAC), 2004).

Fotografía 2 Marco Geocéntrico Nacional de Referencia Fuente: (Instituto

Geográfico Agustín Codazzi (IGAC), 2004)

De la misma forma en que SIRGAS es la densificación del ITRF, MAGNA es la

densificación de SIRGAS, en año 1995 el IGAC adelantó una primera campaña de

rastreos con equipos GPS de doble frecuencia, materializando nuevos vértices o

monumentos y rastreando (en modo estático relativo con postproceso) vértices de la

antigua Red Arena a lo largo del territorio nacional; obteniendo así las primera

coordenadas asociadas al ITRF 94 en para la época de referencia 1995.4, el IGAC

siguió realizando varias campañas de ocupaciones en los años posteriores,

construyendo así la base geodésica para el país en la nueva del posicionamiento global,

(Instituto Geográfico Agustín Codazzi (IGAC), 2004).

El país cuenta con dos clases de vértices GPS o controles horizontales:

• Estaciones MAGNA – ECO (estaciones de monitoreo continúa): su nombre se

debe a equipos montados sobre pilastras georreferenciadas permitiendo rastrear

información las 24 horas del día los 7 días de la semana los 365 días del año.

Page 28: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

xxviii

• Vértices pasivos: Son vértices o mojones construidos en concreto en lugares

geológicamente estables sus dimensiones y características son establecidas por

el IGAC, y su nombre se debe a que solo son ocupados con equipos GPS cuando

se requieren usar como base en cualquier trabajo geodésico. (Instituto

Geográfico Agustín Codazzi (IGAC), 2004). Las siguientes fotografías

corresponden a vértices pasivos de la red MAGNA – SIRGAS del IGAC.

Fotografía 3 Placa de vértice GPS IGAC Fuente: (Instituto Geográfico

Agustín Codazzi (IGAC), 2004)

Page 29: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

xxix

Fotografía 4 Panorámica de vértice GPS IGAC Fuente: (Instituto Geográfico

Agustín Codazzi (IGAC), 2004)

A pesar de que este vértice fue materializado y posiblemente posicionado en el año

2006, sus coordenadas se encuentran asociadas al ITRF 94 y referido a la época 1995.4,

debido a que el Marco Geocéntrico Nacional de Referencia (MAGNA – SIRGAS) se

encuentra asociado a este marco y época.

Geo portal del IGAC

El avance de las comunicaciones e internet ha permitido también que las entidades

oficiales como el IGAC cuenten con plataformas virtuales, que permitan el acceso de

todo público (según la ley 1712 de 2014). En este portal web el IGAC muestra la red

MAGNA – SIRGAS materializada a lo largo del territorio nacional y su búsqueda

puede realizarse por departamentos y municipios como muestra la siguiente figura.

Page 30: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

xxx

Imagen 14 Geo portal IGAC Fuente: (Instituto Agustín Codazzi IGAC, 2018)

Page 31: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

xxxi

LENGUAJE DE PROGRAMACION

Para poder hablar, entender y desarrollar una idea clara de que es un lenguaje de

programación tenemos que remontarnos unas décadas atrás donde se crean y se muestra

al mundo las computadoras, máquinas electrónicas o digitales dotadas de gran

capacidad de memoria que nos permitieron ejecutar manejos de información y solución

de problemas matemáticos y lógicos de una manera más eficaz y veloz, mediante

software de computadora; estos software son programas, instrucciones o pautas

informáticas para ejecutar tareas o actividades específicas. De esta terminología surgen

dos terminas importantísimos para entender dichos procesos, programar y programa,

programar es indicarle a una computadora que tiene que hacer por medio de símbolos

y programa es el conjunto de instrucciones y secuencias que tiene como objetivo

ejecutar una tarea específica y mostrar una solución a un problema. (Jean-Paul

Tremblay, 2009)

Imagen 15 Proceso de la programación Fuente: http://www.docirs.cl

Page 32: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

xxxii

Inicialmente la primera computadora conocida fue creada por Alan Turing la cual fue

capaz de descifrar los códigos de la maquina encriptadora de mensajes ENIGMA en la

segunda guerra mundial, esta analizaba los patrones por medio de palabras ya

conocidas y que se repetían mensaje tras mensaje, continuamente el desarrollo de estas

fue casi inevitable, llevando a IBM a crear la primera computadora a gran escala, donde

años más tarde se desarrollaron los primeros sistemas operativos con funciones básicas,

pero solo hasta mediados de los años 80 se crearon los lenguajes de programación

donde gracias a ellos se empezaron a desarrollar software y a su vez algoritmos que

permitieron resolver problemas de diferente Índole en tiempos más cortos y con una

serie de símbolos (palabras/lenguaje) concretos que se convierten en universales

llegando hasta 1995 con la creación de JAVA el lenguaje de programación más popular

y acogido por los profesionales para el desarrollo de aplicaciones, software y juegos.

(IRUELA, 2018)

Imagen 16 Logo Java Fuente: https://revistadigital.inesem.es

Dia a día todos los ciudadanos del planeta tanto chicos como adultos están

interactuando diariamente con cualquier tipo de dispositivo Móvil ya sea, celulares,

tabletas o computadoras, lo que muchos no saben es que cada uno de estos tiene

inmanente un lenguaje de programación que permite que el usuario pueda en palabras

más simples darle órdenes a su equipo para q este realice lo que se requiere, incluso

cada una de las aplicaciones del teléfono celular tiene un lenguaje con el cual fue creado

para suplir nuestras necesidades.

Page 33: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

xxxiii

¿Qué es lenguaje de programación?

Este lenguaje de programación podemos entenderlo como un sistema metódico y

estructurado de interacción por medio de una sintaxis especifica que reconoce cualquier

dispositivo con un mismo sistema operativo de tal manera que interpreta las

instrucciones creadas por el desarrollador en donde este sea instalado.

El término programación se define como un conjunto de instrucciones consecutivas

y ordenadas que llevan a ejecutar una tarea específica. Dichas instrucciones se

denominan “código fuente”, el cual es único para cada lenguaje y está diseñado para

cumplir una función o propósito específico. Usan diferentes normas o bases para

controlar el comportamiento de un dispositivo y también pueden ser usados para crear

programas informáticos. En la actualidad, hay más de cien lenguajes de programación

diferentes, estos se clasifican en dos tipos principales:

1. Lenguajes de programación de bajo nivel

Son aquellos utilizados para controlar el hardware (partes tangibles) del aparato y

dependen directamente de la máquina, es decir, que no pueden ser usados en aparatos

diferentes para los que fueron creados. Estos lenguajes son los que ordenan las

operaciones esenciales para el funcionamiento del dispositivo. También es conocido

como código máquina. Su funcionamiento es complejo, por lo que lo utilizan

principalmente los fabricantes de hardware. Con ellos se pueden programar tareas

como reproducciónn de audio o video, mostrar imágenes, realizar operaciones

matemáticas, movimiento del puntero, asignación, liberación de memoria, entre otras.

2. Lenguajes de programación de alto nivel

Estos lenguajes son más parecidos al humano. No dependen de la máquina y sirven

principalmente para crear programas informáticos que puedan solucionar distintos

tipos de necesidades.

Ahora bien, algunos de los lenguajes de programaciónn máss utilizados son SQL, PHP,

C++ y Java.

• SQL: son las siglas de Structured Query Language (Lenguaje Estructurado de

Consulta). Su función principal es actuar sobre una base de datos y extraer

su contenido para almacenar, introducir, actualizar, eliminar y consultar

información. Suele ser usado en la construcciónn de páginas web y

aplicaciones de escritorio.

• PHP: es un acrónimo recursivo que significa PHP Hypertext Pre-processor. Es

utilizado para el desarrollo de sitios online, ya que es posible combinarlo

con HTML. Es un lenguaje de lado del servidor, es decir, que primero se

ejecuta en éste y posteriormente regresa al navegador del usuario como

resultado una página web.

Page 34: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

xxxiv

• C++: lenguaje orientado principalmente a los sistemas operativos. Se puede crear un

software para sistemas operativos como Windows o Linux, también es

muy usado en robótica para crear simuladores o para experimentos

informáticos, físicos, matemáticos, etc.

• Java: es uno de los lenguajes favoritos ya que permite construir programas que

gestionan la memoria del dispositivo donde reside la aplicación, como

por ejemplo herramientas, juegos y apps. Es utilizado en dispositivos

móviles, aparatos de televisión y computadores personales. Suele ser

asociado a Java Script, que es otro tipo de lenguaje para crear pequeños

programas encargados de realizar acciones dentro de páginas webs, como

por ejemplo crear efectos especiales o para definir la interactividad con los

usuarios.

Con esto nos damos una idea del sistema con el que funcionan muchas de las

aplicaciones que usamos a diario y, aunque son diferentes, casi todos los lenguajes de

programación tienen fundamentos o bases comunes que hacen que aprenderlo sea fácil,

una vez se conoce lo básico. Si quiere saber más sobre el tema, es necesario ahondar

en este mundo y entender por quéé cuando en un juego presiona el botón 'Play' puede

empezar a jugar. (Morales, 2014)

Imagen 17 Programación en Android Studio Fuente: Propia

Page 35: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

xxxv

ANDROID STUDIO

Android estudio es un entorno de desarrollo para plataformas Android que permite por

medio de diferentes aplicaciones y gracias a su framework crear apps para dispositivos

movibles en un ambiente de lenguaje java. (Android, 2018)

Android estudio proporciona una serie de aplicaciones que permiten integrar de manera

más sutil y sencilla las diferentes actividades de manera individual, proporcionando y

garantizando funcionalidad para cada una de ellas, permitiendo que el programador o

ingeniero certifique a cada paso la calidad de lo que desarrolla. Entre estas funciones

tenemos:

• No firma de aplicaciones la cual permite realizar apps piloto, instalarlas y

manipularlas sin ninguna restricción política.

• Renderizado en tiempo real y un editor de diseño que son herramientas que

permite ubicar, arrastrar, soltar y manipular botones, colores, formas y todo el

entorno visual sin necesidad de una serie de leguaje programal y ubicarlos

fácilmente en el interfaz.

• Consola de desarrollador: sistema que permite consejos de optimización, lo cual

es una ayuda puntual para los profesionales que no están educados en el

lenguaje de programación, ayuda para la traducciónn, y genera estadísticas de

uso.

• Soporte para construcción basada en Gradle (sistema de automatización de

construcciónn de ccódigo abierto) que permite determinar el orden en el que las

tareas pueden ser ejecutadas dando una estructura lógica a la aplicación.

• identifica errores y genera arreglos rápidos (concejos o posibles cambios).

• detectar compatibilidad de versiones y actualizarlas.

• Plantillas base para creación de muck ups o estructuras visuales.

• Un dispositivo virtual de Android que se utiliza para ejecutar y probar

aplicaciones

• Plantillas de código e integración con GitHub el cual permite buscar ejemplo

de códigos.

• Si el usuario es un experto en programación tiene un editor de código inteligente

el cual permite realizar modificaciones y versiones nuevas de la app de modo

avanzado y con mayor estructuración. (Android, 2018).

Page 36: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

xxxvi

Imagen 18 Android Studio Fuente: https://developer.android.com

Android estudio se creó como alternativa de diseño de aplicaciones ya que la demanda

de necesidades tecnologías interdisciplinarias y del diario vivir crecieron

exponencialmente en la última década, por lo cual se observó que muchos

programadores no tenían un conocimiento general muy amplio para satisfacer las

necesidades tecnológicas de los usuarios en general, por lo tanto el entorno amigable

se genera para todos aquellos que con un poco de comprensión de la sintaxis java

puedan manejar un ambiente visual, animado y didáctico, que gracias a una serie de

aplicaciones permite crear apps simples y que el usuario poco a poco desarrolle

habilidades de modulación y estructuración de códigos. (Android, 2018).

Repositorios

¿Qué es un repositorio?

Un repositorio o archivo deposito es un documento digital que almacena, preserva y

difunde abiertamente en la red, estos recursos digitales se comparten de tal manera que

cualquier persona, estudiante y/o profesional tenga la posibilidad y la facilidad de

adquirir dichos documentos, archivos, procesos, métodos y códigos que le permitan

facilitar sus actividades o investigaciones de manera eficaz y rápida, sin ningún tipo de

restricción. (Pené, 2011).

¿Por qué de los accesos abiertos a la información?

“Con el anhelo de democratizar y centralizar el conocimiento surge a principios de la

década del 90 los repositorios digitales que Aboga por la supresión de las barreras que

limitan el acceso al fruto de los esfuerzos de la investigación como un bien universal

al que todos tienen derecho”. (Pené, 2011).

Page 37: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

xxxvii

Para llegar al AA (acceso abierto) se presentaron dos vías básicas:

- vía dorada: Publicar en revistas de acceso abierto (accesos para unos pocos)

- vía verde: Autoarchivar documentos en un repositorio institucional o disciplinar

(modo más simple y 100% confiable). (Pené, 2011).

Tipología de repositorios

- Repositorios institucionales:

Son creados por las instituciones o la academia donde almacenan, preservan y brindan

acceso a la producción intelectual y académica, pueden contener la producción

académico-científica y también colecciones especiales con acceso libre al estudiantado,

docentes y otros. (PoliScience, 2018)

- Repositorios temáticos:

Son creados por institutos, laboratorios, industrias o entidades gubernamentales que

brindan acceso a contenidos de una disciplina o área temática especifica. (PoliScience,

2018).

- Repositorios de datos

Son repos que almacenan y comparten datos de investigaciones o elementos ya

creados y puestos a servicio del conocimiento común. (PoliScience, 2018).

¿Dónde se puede almacenar?

Los repositorios al ser archivos digitales libres podemos cargarlos en páginas web

personales, institucionales o temáticas, la diferencia entre ellos es las restricciones que

se tienen como persona natural ya que de esta manera no tenemos un permiso web que

permita emitir información sin ningún tipo de control intelectual, ya que los buscadores

evitan paginas poco veraces, por lo cual la carga de archivos de tipo personal se limita

a formatos html, pdf, doc y xlm; por otro lado no permite realizar búsquedas avanzadas,

metadatos, y no garantiza permanencia. A diferencia de pagas web de supervisión

académica o científica real garantiza confianza en los datos, variedad de formatos,

búsquedas, metadatos y permanencias garantizadas. (PoliScience, 2018).

Page 38: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

xxxviii

Ejemplos en la aplicación móvil

Teniendo en cuenta que la aplicación VERTEX requiere de una serie de códigos tipo

datapicker extensos como lo son la selección de hora, fecha, departamentos y

municipios de la república de Colombia se descargan los respectivos repos de cada una

de estas extensiones en el capítulo correspondiente a la metodología se muestran estos

los repositorios usados en el desarrollo de nuestra aplicación. (GitHub, 2018) ,

(Sequelpro, 2018) y (DEPARTAMENTO NACIONAL DE ESTADISTICA, 2018)

API (Interfaz de programación de aplicaciones)

Actualmente con el creciente desarrollo informático en materia de conectividad,

asociada a internet, muchos desarrolladores y programadores en todo el mundo han

contribuido con esta democratización de la información con códigos en lenguaje JAVA

llamados biblioteca de clases de JAVA, los cuales son simplemente interfaces de

programación de aplicaciones (Paul Deitel, 2012).

Por ejemplo, si se requiere que una aplicación muestre una localización en Google

maps, la aplicación Route Tracker utiliza las API de Android maps permitirán

incorporar Google maps en la futura aplicación.

ANDROID SOFTWARE DEVELOPMENT KIT (SDK)

Una cosa es ANDROID STUDIO como plataforma, pero no se puede desarrollar

ninguna aplicación móvil solamente con ANDROID STUDIO, es necesario descargar

el kit de desarrollo para Android (desarrollo para móviles) llamado SDK, y el kid de

desarrollo para JAVA llamado JDK. Una comparación para comprender lo

anteriormente expuesto seria:

para hacer un traje es necesario una herramienta como la máquina de coser, adicional

los materiales y la mano de obra, la máquina de coser seria ANDROID STUDIO, la

tela y botones serian el SDK y el JDK, y el operador sería el desarrollador, no es posible

hacer el traje sin la máquina y sin los materiales, lo mismo sucede con las aplicaciones

para ANDROID.

Page 39: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

xxxix

Interface de Usuario Android – Layout

Los layouts son elementos no visuales destinados a controlar la distribución, posición

y dimensiones de los controles que se insertan en su interior (Botones, textos,

spinners...), así que podemos decir que los Layouts son los contenedores de estos

elementos. Estos Layouts pueden pueden distribuir a sus "hijos" de forma Horizontal

o Vertical (dependiendo de su propiedad 'Orientacion'). (Aprendeandroid, 2018).

Hay varios tipos de Layouts, cada uno tiene unas ventajas respecto a los otros, pero se

pueden combinar todos dentro de nuestro diseño. La siguiente imagen ilustra los

diferentes tipos de Layout.

Imagen 19 Tipos de Layout Fuente: (Aprendeandroid, 2018)

Estos Layout tienen propiedades que permiten acondicionar estos elementos a nuestras

necesidades a continuación, se muestran algunas de las propiedades con las que pueden

contar estos Layout

android:id

Se trata de un número entero que sirve para identificar cada objeto view de forma única

dentro de nuestro programa, cuando lo declaramos a través de un xml de resource

podemos hacer referencia a la clase de recursos R usando una @, esto es

imprescindible, ya que, si no, no podremos identificar nuestros elementos en nuestro

programa para después usarlos y/o modificarlos, veamos algunos ejemplos:

android:id=”@id/boton”. Hace referencia a un id ya existente asociado a la etiqueta

“boton”, esto se usa para cuando usamos los Layout Relativos, ya que, para ubicar los

Page 40: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

xl

elementos, lo hacemos indicando por ejemplo que un botón lo insertamos a la derecha

de otro, pues bien ese otro se pone así.

android:id=”@+id/boton2”. Esto crea una nueva etiqueta en la clase R llamada

“boton2”.

Atributos, height, width (Altura y Ancho)

Otra propiedad importante es el Alto y el Ancho de los controles y Layouts, ya que

para que Android sepa dibujar un objeto View debemos proveerle estos datos, y

podemos hacerlo de 3 formas:

android:layout_width="40dp". Indicando un número exacto que definamos,

usaremos 40dp como unidad de medida, dp significa: Densidad de píxeles

independientes, una unidad abstracta que se basa en la densidad física de la pantalla.

Esta unidad es perfecta para buscar la compatibilidad con TODAS las pantallas de

móvil o tables, ya que es una medida proporcional.

Imagen 20 Ejemplo de atributo de vertex (Layout) Fuente: propia

Otras Unidades que podemos usar

px. Píxeles, corresponde a píxeles reales en la pantalla.

en. Cm - basado en el tamaño físico de la pantalla.

mm. Milímetros - en función del tamaño físico de la pantalla.

pt. Puntos - 1/72 de una pulgada en función del tamaño físico de la pantalla.

sp. Escala de píxeles independientes - esto es como la unidad de DP, pero también es

escalado por la preferencia del usuario tamaño de la fuente. Se recomienda utilizar esta

Page 41: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

xli

unidad al especificar tamaños de fuente, por lo que se ajusta tanto para la densidad de

pantalla y preferencias del usuario.

La constante FILL_PARENT que indica que la vista intentará ser tan grande como su

padre (menos el padding)

La constante WRAP_CONTENT que indica que la vista intentará ser lo

suficientemente grande para mostrar su contenido.

android:layout_weight. Esta propiedad nos va a permitir dar a los elementos

contenidos en el layout unas dimensiones proporcionales entre ellas. Si incluimos en

un LinearLayout vertical dos cuadros de texto (EditText) y a uno de ellos le

establecemos un layout_weight=”1” y al otro un layout_weight=”2” conseguiremos

como efecto que toda la superficie del layout quede ocupada por los dos cuadros de

texto y que además el segundo sea el doble (relación entre sus propiedades weight) de

alto que el primero, si ponemos 1 para los dos, el tamaño será exactamente igual. Esto

se usa mucho, ya que así nos aseguramos una proporcionalidad para todos los tamaños

de pantalla.

android:layout_gravity="center". Esta propiedad es la que se usa para centrar, es la

'gravedad' una vez más cuando estén entre las comillas, pulsa Control+Espacio para

ver todas las opciones que te da este control, además las puedes combinar, es

decir, Center_Horizontal|Top. <-- Esto te lo centra horizontal y lo ajusta en

vertical arriba.

Para el resto de Atributos, cada elemento tendrá los propios, basta con poner el cursor

dentro de la etiqueta del Layout que estemos colocando y pulsar las

teclas Ctrl+Espacio para que Eclipse te recomiende las propiedades del elemento que

estamos insertando. (Aprendeandroid, 2018)

LinearLayout

Este tipo de layout apila uno tras otro todos sus elementos hijos de forma horizontal o

vertical según se establezca su propiedad android:orientation="vertical" y

android:orientation="Horizontal" .

Normalmente una pantalla contiene un LinearLayout con orientacion vertical, y con

sus propiedades de alto y ancho FILL PARENT, para que actúe como contenedor

principal ajustándose a la pantalla del móvil, y dentro de este se suelen introducir otros

LinearLayout con orientacion Horizontal para contener las "filas" con los otros

elementos como botones. A continuación, se muestra un ejemplo. Es importante que

Page 42: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

xlii

para introducir un texto o cualquier elemento, botón etc, es necesario contar con un

Linearlayout,

Imagen 21 Uso de Linearlayout en android studio Fuente: (Aprendeandroid,

2018)

Como se puede apreciar en la imagen anterior no hace falta introducir un linear layout

para el primer texto, pero si quiero introducir botones es necesario otro linearlayout

pero esta vez horizontal, la siguiente imagen ilustra el ejemplo anterior de cómo se

debe seguir este código en Android Studio.

Page 43: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

xliii

Imagen 22 Código ejemplo de un Linearlayout Fuente: (Aprendeandroid,

2018)

Page 44: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

xliv

BASES DE DATOS

Son muchas las aplicaciones en las que son usadas las bases de datos, desde los bancos,

líneas aéreas, educación, telecomunicación, finanzas, producción etc. Este aumento o

creciente uso se dio gracias al desarrollo computacional de mediados del siglo XX, y

sumado a la revolución de la internet democratizo no solo el interés sino también el uso

y desarrollo. (Abraham Silberschatz, 2002).

¿Qué Es SQLite?

Es un suave motor de bases de datos de código abierto, que se caracteriza por mantener

el almacenamiento de información de forma sencilla. A diferencia de otros Sistemas

gestores de bases de datos como MySQL, SQL Server y Oracle DB, SQLite tiene las

siguientes ventajas: No requiere el soporte de un servidor: SQLite no ejecuta un

proceso para administrar la información, si no que implementa un conjunto de librerías

encargadas de la gestión (Revelo, 2014).

• No necesita configuración: Libera al programador de todo tipo de

configuraciones de puertos, tamaños, ubicaciones, etc.

• Usa un archivo para el esquema: Crea un archivo para el esquema completo de

una base de datos, lo que permite ahorrarse preocupaciones de seguridad, ya

que los datos de las aplicaciones Android no pueden ser accedidos por

contextos externos.

• Es de Código Abierto: Esta disponible al dominio público de los desarrolladores

al igual que sus archivos de compilación e instrucciones de escalabilidad.

• Es por eso que SQLite es una tecnología cómoda para los dispositivos móviles.

Su simplicidad, rapidez y usabilidad permiten un desarrollo muy amigable.

Imagen 23 SQLite Fuente: https://openwebinars.net/blog/sqlite-para-android-la-

herramienta-definitiva/

Page 45: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

xlv

2. METODOLOGÍA

METODOLOGIA SCRUM

SCRUM es una metodología de desarrollo ágil para dar forma de manera sencilla y

eficiente a una aplicación o software que se basa en desarrolladores de programación,

ya que esta permite que el avance no solo sea eficiente, si no que permite que los

tiempos sean cortos en función de creación y funcionalidad. esta metodología es

aconsejada por todos los desarrolladores principiantes en el mundo de la programación.

Teniendo en cuenta que los ingenieros topográficos no tienen una metodología

conceptual avanzada o procesos puntuales para desarrollar aplicaciones móviles y

redacción de lenguaje de programación avanzado, y el fuerte académico de estos

profesionales es el modelamiento, diseño e interpretación geográfica de la tierra. Se

investigó teniendo en cuenta los lineamientos de nuestro director de proyecto

encontramos una manera fácil, sencilla, y sobre todo funcional para manejar diferentes

etapas del proceso de creación de la app, la ya mencionada metodología de desarrollo

ágil SCRUM.

La aplicación de esta metodología se adopta por la poca experiencia en desarrollo de

aplicaciones y/o software por medio de lenguaje de programación que tenían los

presentes desarrolladores (estudiantes), el conocimiento previo es adquirido por

asignaturas impartidas en la institución educativa (universidad distrital) como lógica

de programación e ingeniería de software, donde el lenguaje programal es sencillo y

exige crear herramientas, ecuaciones, y procedimientos simples desde el punto de vista

de un desarrollador, mientras que para un estudiante de topografía es algo complejo y

poco usual en su naturaleza académica. A pesar de ello se generó un conocimiento

básico el cual ayudó para el desarrollo del presente documento. Scrum aparece como

alternativa de desarrollo de software desde el punto de vista metodológico para una

aplicación que requiere diferentes operaciones unidas en una sola presentación, por

tanto, permite al desarrollador crear, revisar, mejorar, presentar, incluir nuevas ideas o

quitar las funciones de bajo rendimiento dentro de la aplicación.

1. Lo primero que se debe tener claro es el producto que se quiere mostrar al usuario

o al consumidor, por lo cual gracias al problema planteado inicialmente se pretende

crear una aplicación móvil que facilite al profesional en topografía o geodesia

minimizar el uso de formatos análogos y registrar cualquier punto o vértice para

uso personal, profesional o empresarial, garantizando a futuro una base de datos

geodésica centralizada, compartida y digitaliza.

2. Teniendo en cuenta lo que se quiere lograr se encamina a un listado de

requerimientos los cuales se dividen en tres campos; posibles usuarios,

características y por último historias de usuario o user story.

Page 46: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

xlvi

Posibles Usuarios

• Empresas privadas que manejan información de datos GNSS.

• Empresas públicas que manejan información de datos GNSS.

• Profesionales independientes que manejan información de datos GNSS.

• Centros de educación superior donde se imparten cátedras relacionadas con

información GNSS.

• Estudiantes y docentes.

Características de la Aplicación

• Aplicación móvil compatible con sistemas operativos Android superiores a

4.0, con posibilidades futuras de actualización y migración a otros sistemas

como iOS, Linux y Windows Mobile.

• Instalación simple y versátil para cualquier tipo de usuario.

• Aplicación fácil de manipular e interfaz amigable con el usuario.

• Capacidad de almacenamiento para fotografías.

• Archivos básicos y bajo tamaño en bites para almacenamiento.

• Geolocalización por medio de un api.

Historias de usuario

• Existe el problema de trascripción de los datos en campo a un sistema

digital, ya que genera errores humanos.

• El uso de papel genera una serie de archivos y contaminación.

• Perdida de la información en campo, así como la redundancia de datos y

repetición de registros.

• Unificación de formularios para la toma de información GNSS.

• Descentralización de la información.

• Compartir archivos o registros fácilmente.

• Crear varios registros en una sola sesión sin pérdida de la información.

• Generar una nube para almacenamiento masivo de data.

• Crear una base de datos compartida de datos GNSS con todos los

profesionales.

• Establecer un servidor y a su vez una plataforma web para administración

de datos.

• Generar una ruta al punto de registro.

• Toma de fotografías del punto o puntos de registro.

Page 47: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

xlvii

3. Al momento de reunir una buena cantidad de historias de usuario se suman en lo

que se llamara una lista de deseos o product Backlog. Básicamente todas las

necesidades que puedan llegar a tener los usuarios se convierten en una base de

datos que ayudaran a priorizar o seleccionar diferentes ideas para una o varias

soluciones que se pueden generar en la aplicación a desarrollar. Por lo tanto, todo

el producto estará fijado en los futuros usuarios.

4. Para poder desarrollar un producto se debe contar con un equipo de trabajo, para

este caso puntual estará conformado por dos estudiantes de ingeniería topográfica

los cuales serán

Juan Diego sanjuanelo, roll customer (prueba el producto y espera que los usuarios

aprueben la aplicación) y será el Scrum master (organizador) el cual es un generador

de procesos y se encargara que todo el equipo tenga las herramientas necesarias para

trabajar y realizar las tareas como planeación, y reuniones.

Jonathan Enrique contreras Sastoque, con el roll de desarrollador o developer, el cual

se dedica en su mayor tiempo a construir el producto como tal, desde la arquitectura,

pasando por la programación, hasta las pruebas y presentación.

Evelio Madera, docente y tester (evaluador), prueba el producto para verificar que todo

funcione perfectamente

5. Al tener listo nuestro product backlog podemos seleccionar las mejores historias de

usuario que ayudaran a crear el producto final, para este caso se priorizan las

siguientes necesidades como punto de partida para la aplicación VERTEX, que por

características, funcionalidad y simplicidad al momento del desarrollo programal

podemos solucionarlas.

Product Backlog

• Solucionar el uso análogo de la información, evitando así el uso de papel

para registro.

• Descentralización de la información GNSS y registro personal.

• Compartir archivos o registros fácilmente.

• Crear varios registros en una sola sesión sin pérdida de la información.

• Toma de fotografías del punto o puntos de registro.

a este proceso de selección se le llama backlog de liberación el cual se convierte en

una nueva base de datos, en esta fase se priorizan las historias y se le aplican

tiempos estimados, estos tiempos son la cantidad en horas, días o semanas que

puede demorarse cada una de estas historias en solucionarse; partiendo del

developer y su conocimiento frente al tema. Ya que hay historias de usuario que

son demasiado grandes estas se dividen en pequeñas porciones de tiempo de

Page 48: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

xlviii

desarrollo haciéndolas manejables dentro de un cronograma de trabajo. Al final se

obtiene un tiempo general el cual será el estimativo de cuanto llevo crear la

aplicación. a esto se le llama estimated work. Gracias a estos tiempos sabremos

cuando liberar cada una de las historias, teniendo en cuenta que la liberación

corresponde que ha sido solucionada, programada y revisada dicha solución, con

lo cual el cronograma de trabajo se estimara en horas de trabajo. (ver cronograma

de trabajo)

6. Dentro de los tiempos y cada una de las historias se deben determinar story point,

los cuales son componentes más pequeños dentro de cada historia que se pueden ir

desarrollando por separado e ir incluyéndolos dentro de la actividad principal, para

el manejo de las estimaciones en general se deben manejar en horas, si dichas

actividades superan las 8 horas de trabajo normal dicha actividad se convertirá en

día y as u vez si es más de 5 días se convertirá en una semana de trabajo, y si esta

supiera las 3 semanas se aplicara como un mes de trabajo, cada estimación será

específica para cada actividad llevando estos tiempos a la culminación más lejana

para no caer en atrasos.

7. El monitoreo (backlog sprint) de cada uno de los sprint por parte del scrum máster

es de vital importancia para que al final se realice una check List de cada una de las

historias resueltas, tiempos y calidad final del programa. Para realizar un compilado

de todas las actividades hechas, resueltas y las que probablemente se eliminen o no

cumplan con las expectativas propuestas, esto proporciona al equipo de trabajo una

proyección y una meta a cumplir, por lo que se gestiona a cada ciclo un producto

real, tangible, pero sobre todo funcional y atractivo para el usuario final.

Imagen 24 Modelo Scrum Fuente: (CORPORACIÓN PARQUE,

TECNOLOGICO DE ORIENTE, 2001)

Page 49: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

xlix

Con la metodología Scrum el developer y todos los que intervienen en el producto se

entusiasman y se comprometen con el proyecto dado que lo ve crecer iteración a

iteración, el cual es el objetivo principal; que cada fase sea completada antes de seguir

con la siguiente y ver como funcionalmente la aplicación toma forma. Así mismo,

permite en cualquier momento realinear la aplicación, ya sea con los objetivos

propuestos, por los errores cometidos, cambios en la estructura, o por nuevas

propuestas que se puedan incluir en cada iteración sin ningún problema.

Gracias a esta metodología se pueden obtener algunos beneficios:

Adopta una estrategia de desarrollo porcentual y exponencial, en lugar de una

planificación general y ejecución completa del producto.

Cumple con las expectativas ya que al ser el cliente o usuario final el que determina las

necesidades, darles soluciones a estas será el cumplimiento satisfactorio para ellos.

Al tener la capacidad de reconocer fácilmente los cambios en los requerimientos

generados por necesidades del usuario, evoluciones del mercado o errores inesperados,

La metodología se adapta, se reordena, mientras otras actividades siguen su curso.

Time to Market: antes de que el proyecto sea culminado el usuario o el desarrollador

puede ir usando actividades que generen funciones rápidas.

Alta calidad: la metodología permite que en cada iteración y sprint garantizar la

funcionalidad, terminación y mejoras a cada actividad.

productividad: ya que se elimina la jerarquización y dependencias dentro del proyecto,

todos los miembros del proyecto tienden a involucrase con mayor autonomía y gusto

hacia el trabajo diario o el asignado, por lo que la producción general aumentara

drásticamente.

Predicción de tiempos: cualquier imprevisto, cambio de ideas, adición de ideas, errores,

cambios, ampliaciones o un producto más avanzado tendrá en cuenta los story point y

a su vez tiempos determinados de trabajo por lo cual siempre tendrá un manejo

completo de los tiempos prediciendo los tiempos generales y específicos de la aplicación.

Reducción de riesgos: el llevar a cabo diferentes actividades en distintos tiempos, y

teniendo en cuenta las actividades primarias y las de menos horas de trabajo, permite

despejar riesgos eficazmente de manera anticipada, ya que se predice cada cambio y si

se comete un error este genera una iteración hasta solucionarlo.

Page 50: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

l

Actividades principales o backlog de liberación.

Teniendo en cuenta las user story que posteriormente nos ayudaron a crear un

backlog, se resumen estas necesidades en una actividad que tendrá la aplicación y

que a su vez serán los botones de menú en la presentación principal de la aplicación.

Por lo tanto, el product backlog se resume en:

• Registro de formulario para la descripción de puntos o vértices Geodésicos.

• Búsquedas de cada uno de los formularios registrados.

Adicionalmente y como respaldo se generarán tres actividades necesarias ya que es una

aplicación piloto, y así a futuro poder mejorarla y generar nuevas versiones:

• Registro de una encuesta de satisfacción

• Búsqueda de las encuestas.

• Salir de la aplicación.

Story point o clases.

• Registro de datos basicos.

• Insertar fecha y hora.

• Insertar el departamento.

• Insertar el municipio.

• Insertar el estado del punto.

• Hipervínculo convertido en api para llegar a una página web que suministra

información de localización del punto.

• Enlace de la aplicación con la cámara del dispositivo para la toma de fotos

panorámicas y de la placa o mojón.

• Grabación de formularios en el dispositivo

• Búsqueda de los formularios por medio de una llave primaria.

Teniendo en cuenta los requerimientos antes descritos se realizó un modelo básico de

ficha técnica en Excel, la cual mostramos en la siguiente imagen.

Page 51: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

li

Imagen 25 Modelo de ficha técnica preliminar para formulario de registro

(VERTEX)

Basados en el modelo preliminar de registro nos enfocamos en construir una

arquitectura o modelo de presentación inicial de la aplicación, por medio del software

pencil, como se describe a continuación.

CREACION DE MAQUETA O MUCK UP DE LA APLIACION VERTEX

después de realizar todo el proceso de ideación, concepción, investigación, definición

de usuarios, funciones, pero sobre todo tener claro el entorno de trabajo empezamos

con el desarrollo de la maqueta general de la aplicación, por lo tanto fue escogido un

software llamado pencil, el cual es gratuito, didáctico y simple para las personas que

Estado de vértice

Describió

Fecha

hora

foto placa foto panoramica

Descripción

Localización

Altura elip (m)

Código

FICHA TÉCNICA VÉRTICE GEODÉSICO PLATAFORMA

VERTEX

Nombre de vértice

Nomenclatura

Sitio

Coordenadas GCS WGS84

Latitud

Longitud

Generalidades

Entidad

Tipo de Vértice

DATUM

Departamento

Municipio

Page 52: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

lii

recién comienzan en el desarrollo de apps, buscando una visión aproximada de la

presentación externa de la aplicación buscando un estilo simple o sobrio ya que este no

generara residuos de programación y el código fuente es más sencillo de entender y

aplicar, a pesar de que se creara vertex en el entorno Android estudio y este genera

plantillas y modelos simples sin necesidad de requerir lenguaje programas avanzado.

El primer paso es descargar el software pencil, buscándolo como PENCIL PROJECT

en el buscador de preferencia, se revisa el descargable con sus respectivas

especificaciones mínimas del sistema operativo ya sea para IOS, MICROSOFT O

LINUX , ventaja que tiene esta aplicación ya que funciona para cualquier dispositivo

y es totalmente abierta.

Imagen 26 software para crear el muck up Fuente: Propia

Descargamos el paquete ejecutable y automáticamente queda guardado en el disco

duro, lo buscamos y ejecutamos.

Page 53: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

liii

Imagen 27 Descarga de software pencil Fuente: Propia

Dependiendo del sistema operativo y de las características propias del sistema el

computador preguntara que si quieres ejecutar la aplicación descargada de internet; ya

que en ocasiones son de tipo no seguro, pero no hay ningún problema con dicha

ejecución, por lo tanto, se pica en abrir y posteriormente en ok, procediendo a la

instalación.

Imagen 28 Instalación de software pencil Fuente: Propia

Se tarda un par de minutos ya que la aplicación pesa 50 mega bites y se despliega la

ventana de manejo para dar inicio al manejo del software.

Page 54: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

liv

Imagen 29 Ventana de inicio del software pencil Fuente: Propia

Al ser un entorno de trabajo simple podemos crear pantallas en tiempos cortos y

multiformes por lo cual se explicará paso a paso mientras se genera la maqueta vertex

y al mismo tiempo se explica el manejo básico.

1. se crea un proyecto nuevo

Imagen 30 Creación de nuevo proyecto en pencil Fuente: Propia

2. Se genera un documento en blanco y el primer paso es seleccionar las plantillas

de Mobile-Android. Ya que fue el tipo de sistema elegido por facilidad de

manejo y distribución que estos dispositivos tienen en el mercado.

Page 55: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

lv

Imagen 31 Nuevo proyecto en pencil Fuente: Propia

3. Se arrastra el icono de celular del costado izquierdo para empezar con la que

será la presentación de la aplicación, se centra y elegimos la imagen u objetos

que queremos como presentación inicial, estas imágenes debemos tenerlas

guardadas en nuestro computador y solo es arrastrarlas y acomodarlas dentro

del celular que aparece en la presentación.

Imagen 32 modelo de celular para modelar inicio de aplicación Fuente: Propia

Page 56: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

lvi

Imagen 33 modelo de inicio de aplicación en pencil Fuente: Propia

4. se crea una ventana nueva que para el caso de la aplicación será una función o

la siguiente presentación de ejecuciones, esta ventana se crea con un clic en add

page y se le da el nombre de la ventana, y de igual manera arrastramos los

botones iconos y todo lo que queramos recrear.

Imagen 34 recreación de pantalla interfaz de ventanas Fuente: Propia

5. De igual manera como creamos maquetas para las dos primeras secciones

seguimos creando nuevas add page para cada actividad y que se va a incluir

Page 57: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

lvii

dentro de la aplicación, teniendo en cuenta las posibles visualizaciones y

acciones a realizar.

Imagen 35 recreación de ventanas de aplicación Fuente: Propia

La tercera pestaña por tanto será el formulario que rellenar y que tipo de datos

requeriría la app para guardar.

Imagen 36 creación de formulario en pencil Fuente: Propia

Page 58: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

lviii

Siguiendo la línea de trabajo procedemos crear otra pestaña de consulta de cada uno de

los formularios registrados, los cuales llevaran un código más consecutivo, y se

realizara una consulta básica en una base de datos interna y adicional capturar por

medio de un screen shot, para asegurar de otra manera la información guardada por

medio de una imagen del formulario.

Imagen 37 creación de formulario en pencil Fuente: Propia

Teniendo en cuenta que para todo dispositivo se requiere un modo fácil de salida se

crea una actividad de cerrar o salir de vertex en la página principal o Home.

se crea la aplicación de tal manera que la visualización sea elegante y lo más sencilla

posible de manejar para el usuario. Cabe aclarar que las presentaciones hechas por

PENCIL no son necesariamente las mismas plantillas del Android studio por lo cual el

entorno cambia un poco. A continuación, se muestra una imagen del modelo de menú

principal.

Page 59: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

lix

Imagen 38 Menú de home o principal de salida Fuente: Propia

8. Al tener listas las historias y los tiempos estimados, se da el siguiente paso. Generar

los sprint y ejecutar el desarrollo de la aplicación.

los sprint son la vía corta para que los hitos sean un competente de las entregas,

estos se pueden manejar de 2 hasta 30 días según el ciclo de liberación del producto,

por lo tanto, los sprint son pequeñas representaciones del producto final dividido

en muchas actividades culminadas. Cada sprint “en palabras coloquiales; reuniones

de trabajo”, tienen una duración que depende de la historia de usuario, si son

actividades pequeñas el sprint debe ser corto y de lo contrario se tomara el tiempo

necesario.

Debe quedar claro y establecido que para cada reunión debe estar solucionada y

revisada cada una de las actividades de la lista de tareas y por ende se incluyen en

el producto final y no avanzar en otras actividades hasta que cada una de ellas quede

funcional. A este paso se adiciona un método llamado: iteraciones, que son ciclos

o repeticiones de los sprint cuando una actividad no es satisfactoria o no tiene

solución al culminar la fecha del sprint. por lo que se repetirá dicho sprint hasta que

la porción de programa desarrollado este probado y funcionando.

de esta manera se garantiza que el proyecto avance en calidad y funcionalidad, así

se requiera reorganizar los cronogramas y actividades prioritarias.

Page 60: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

lx

DESARROLLO DE LA APLICACIÓN

Sprint 1 (Creación Layout - Activity)

Una vez se diseña el formulario grafico en Pencil, se procede a crear cada layout, en

Android Studio, (en el capítulo anterior explicamos el significado de este, su

importancia en el desarrollo de aplicaciones moviles), permitiendo la visualización de

las tablas en un código fuente, las filas, las columnas, y los espacios se especifican en

este código obteniendo así una posición y un orden especifico que posteriormente

fueron la ubicación de cada una de las clases como edit – text, datapiker, o spinner. La

siguiente corresponde a cada uno de los layouts creados para VERTEX.

Imagen 39 Layout creados (activity) Fuente: propia

Imagen 40 Linarlayout, botones creados en activity_main Fuente: propia

Page 61: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

lxi

La anterior imagen corresponde a la parte programal de este paso, a hora veamos la

parte grafica que en Android Studio se conoce como Design, como se muestra a

continuación,

Imagen 41 Parte de Diseño de la activity_main (principal) Fuente: propia

Imagen 42 ConstraintLayaut de la Activity_main Fuente: propia

Page 62: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

lxii

Cada Button tiene sus atributos que se modifican según el desarrollador

Imagen 43 Atributos del button Formulario1 Fuente: propia

Page 63: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

lxiii

Sprint 2 (Menú principal)

Es importante crear el manu principal que en nuestro proyecto de Android llamaremos

el main class, ya que todos los programas Java deben tener un punto de entrada, que

siempre es el método main (). Cada vez que se llama al programa, primero ejecuta

automáticamente el método main () (Paul Leahy, 2017).

Ejemplo. public class MyMainClass {

public static void main(String[] args) {

// do something here...

} }

En nuestro Proyecto este menú principal se estructuro de la siguiente forma:

Imagen 44 Mainclass Fuente: propia

Sprint 3 (Clase Formulario)

Las siguientes imágenes corresponden a cada uno de los sprint y a su vez el código de

cada una de las clases:

Sprint 4 (Clase textos para editar = edit text)

Son cada una de las casillas del formulario donde se introduce la información del punto

esta información no tiene ninguna característica especial ya que solo se ingresan datos

alfanuméricos.

Imagen 45 Edit text Fuente: propia

Page 64: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

lxiv

Sprint 5 (Spinners)

Son elementos muy comunes en los programas. A través de los dos botones triangulares

se puede hacer que el valor del cuadro aumente o disminuya. También se puede escribir

directamente un valor dentro del cuadro. (CódigoJavaLibre, 2015)

Imagen 46 tipo de spinner Fuente: propia

Se crearon cuatro (4) spinner los cuales correspondieron a los datos de:

• Estado de punto

• Tipo de punto

• Municipios

• Departamentos

Sprint 6 (API para la geolocalización del punto)

Como se mencionó en el capítulo anterior (Marco teorico), una API permite integrar a

nuestra aplicación la localización usando o direccionado a un sitio web poder obtener

la posición de sitio del usuario.

Imagen 47 API para la geolocalización Fuente: Propia

Sprint 7 (Repositorios usados para búsqueda de municipios y Departamentos)

Se usaron los siguientes repositorios:

- El primer repositorio para los Departamentos cuya fuente fue el Departamento

Nacional de Estadística (DANE)

- Departamentos y municipios de Colombia en SQL

- Este repositorio contiene dos archivos SQL con los departamentos y municipios de

Colombia.

Page 65: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

lxv

Los datos fueron tomados de la información estadística del DANE año 2012

Scripts generados por Sequel Pro.

Repositorio creado y presentado por GitHub.

A continuación, se muestra Imágenes con los diferentes códigos que se usaron para

usar los repositorios mencionados.

Imagen 48 spinner para repositorios

ITEM CODIGO DESCRIPCIÓN

i [id_departamento - int(2)]

Los IDs de esta tabla corresponden al

código de cada departamento asignado

por el DANE, por lo que no son

consecutivos.

ii [departamento - varchar(255)]

ITEM CODIGO DESCRIPCIÓN

i [id_municipio - int(6)]

ii [municipio - varchar(255)]

iii [estado - int(1)]

Campo que su puede emplear para

valiadar si el municipio está activo o por

alguna razón ya no existe.

iv [departamento_id - int(2)] Llave foránea para la relación con la tabla

departamentos.

INFORMACIÓN TABLA DEPARTAMENTOS

TABLA DE MUNICIPIOS

PARA LAS DOS TABLAS

Charset: UTF8MB4

Tipo de almacenamiento: InnoDB

El campo departamento_id está indexado para optimización de las consultas.

Page 66: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

lxvi

Imagen 49 Método para Departamentos y municipios

Imagen 50 Array municipio

Sprint 8 (datapikers de fecha y hora)

En el desarrollo del proyecto encontramos un repositorio para fecha y uno para hora a

continuación se muestra el código fuente de estos repositorios en forma de datapiker

Imagen 51 Repo para la hora Fuente: propia

Imagen 52 Repo para fecha Fuente: propia

Page 67: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

lxvii

Sprint 9 (clase para la toma de foto de punto y panorámica)

Aquí hay una función que invoca la intención de capturar una foto

Imagen 53 Método para la toma de fotos Fuente: propia

Sprint 10 (Consulta de formulario)

La aplicación genera una base de datos que se guarda en el dispositivo móvil, cada

registro (formulario), cuenta con un código que es la llave primaria para realizar una

consulta en código SQL. Esta es una consulta simple ya que no existen llaves foráneas

en nuestra base de datos.

La forma en que se realizan consultas a una base de datos empleando el lenguaje SQL

es a través de sentencias en dicho lenguaje. Una sentencia SQL de consulta tendrá

habitualmente una forma como la siguiente:

SELECT lista_de_columnas

FROM nombre_de_tabla

WHERE expresión_condicional

Imagen 54 Consulta de formulario Fuente: propia

Page 68: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

lxviii

Sprint 11 (Enviar Datos)

Teniendo en cuenta los objetivos del presente proyecto de grado, se creó una Activity

destinada para compartir la base de datos anteriormente mencionada, como se muestra

a continuación,

Imagen 55 Método Registro de datos en la Clase Formulario Fuente: propia

Imagen 56 Método Registro de datos Fuente: propia

Imagen 57 Clase Enviar datos Fuente: propia

Page 69: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

lxix

Imagen 58 Método enviar correo Fuente: propia

Para poder compartir la información correspondientes a “registro de datos” que fue

almacenado en la clase “formulario” como una base de datos, en nuestra activity Enviar

datos, se crearon varios métodos que permiten buscar (en lo una localización virtual)

dicha base de datos. Como se muestra a continuación:

En primera instancia trabajamos con una base de datos, en Android existen librerías ORM

(Object Relational Mapping), que nos entregan una capa de métodos simplificados para

trabajar con la base de datos. Por lo tanto, es necesario importar las librerías ORM.

(Marinovskiy, 2019)

Imagen 59 Importando la librería ORM Fuente: propia

Para usarla en el siguiente método:

Imagen 60 Método de registro de datos Fuente: propia

Page 70: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

lxx

En el manifiesto es necesario solicitar tales permisos:

Imagen 61 Manifiesto Fuente: propia

En la activity enviar datos se creó el método BackupDb, usando SQLite para Android

como se menciona en el Marco teórico, se realizó una copia de una SQLite de Android,

ya que nos provee una serie de clases para administrar nuestro archivo, la ventaja de

trabajar con SQLite de Android radica en que podemos trabajar directamente en la base

de datos.

Imagen 62 Base de datos en la activity Enviar datos Fuente: propia

Page 71: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

lxxi

Sprint 12 (Clase Salir de la aplicación)

Todo tipo de aplicación debe contar con una clase que permita salir de la aplicación sin

necesidad de realizar algún cierre inesperado o erros o reinicios, la siguiente imagen

muestra el código usado para dicha clase.

Imagen 63 Clase Main Fuente: propia

Imagen 64 Método para salir de la aplicación Fuente propia

Page 72: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

lxxii

5. RECURSOS

a. RECURSO HUMANO

• Jonathan enrique contreras Sastoque (Desarrollador)

• Juan diego Sanjuanelo De La Peña (Desarrollador)

• Ing. Evelio Madera (Evaluador y director)

b. RECURSO TECNOLÓGICO

• Computador personal o laptop

o MSI CX62QD

o MAC BOOK AIR

• Software

o ANDROID STUDIO

o SQLite

o PENCIL

o EXCEL

o WORD

o PAINT

c. RECURSO ECONÓMICO

• Recursos propios

Page 73: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

lxxiii

6. RESULTADOS

Al finalizar la programación de cada una de las clases, se procedió a correr la aplicación

con el botón run (ejecutar).

Imagen 65 Ejecutar proceso Fuente: propia

¡Una vez Android nos indicó que todo está ok! Se procedió a exportar la aplicación a

la extensión .APK, con el siguiente procedimiento:

En el menú principal seleccionamos Build

Page 74: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

lxxiv

Imagen 66 Exportar APK Fuente: propia

Se pueden exportar 2 tipos de ficheros APK:

• Fichero APK Debug. Se trata de un fichero APK que podemos utilizarlo para

hacer pruebas de la aplicación, instalándolo en dispositivos virtuales o en

nuestro propio dispositivo físico. En ningún caso este fichero es válido para

subirlo a Google Play.

• Fichero APK firmado digitalmente (signed APK). Se trata de un fichero que ha

sido firmado con un certificado digital, de manera que este fichero garantiza la

autoría de este por la persona que desarrolló la aplicación. Este tipo de fichero

si puede ser subido a Google Play para publicar una app. De hecho, si no está

firmado no puede subirse y cualquier actualización que hagamos de la app en

Google Play, deberá ser firmada por el fichero APK con el mismo certificado

siempre.

Posteriormente seleccionamos Generate Signe APK

Page 75: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

lxxv

Imagen 67 Creación de firma para aplicación Fuente: propia

El certificado es casi tan importante como el código de la aplicación. Debemos

guardarlo en un lugar seguro, ya que necesitaremos hacer uso de él cada vez que

queramos publicar una actualización de la app. Si lo perdemos, deberemos publicar la

app de cero en Google Play, perdiendo las estadísticas y el número de descargas que

tuviéramos.

Imagen 68 APK exportada Fuente: propia

Page 76: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

lxxvi

Imagen 69 Directorio APK Fuente: propia

Teniendo en cuenta que el objetivo principal o general de nuestro proyecto de grado

fue el desarrollo de una aplicación móvil, los únicos resultados latentes para resaltar es

la funcionalidad total de dicha aplicación instalada, a continuación, se describe el

proceso de instalación de la aplicación:

En cualquier dispositivo android se puede instalar esta aplicacion, el archivo .apk fue

subido a una cuenta de google drive

Imagen 70 Subida a drive de Google Fuente: propia

Esta APK se descarga en el telefono celular la unica restriccion es la version del

android (superiores a KitKat), una vez descargada se ejecuta en el telefono como

cualquier aplicacion mobil.

Page 77: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

lxxvii

Imagen 71 APK Descargada a teléfono e instalada Fuente: propia

Esta instalación es comparada en algunos dispositivos con sistema operativo Android,

en diferentes versiones y de esta manera analizar y generar pruebas de funcionamiento

respecto a marcas de celulares, modelos, y tipo de dispositivo ya sea celular o Tablet.

1er dispositivo Celular Samsung GALAXY J5, modelo SM-J500M

Page 78: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

lxxviii

Imagen 72 Solicitud de permisos Fuente: propia

Se le habilitan los permisos de la aplicación antes de ejecutarla, y vemos que queda

instalada en el celular o dispositivo.

Imagen 73 Vertex en ventana de aplicaciones de teléfono Fuente: propia

La primera imagen que aparece es el screem splash, que diseñamos y posteriormente

introdujimos en el código como screem splash

Page 79: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

lxxix

Imagen 74 Screem splash de inicio de aplicación Fuente: propia

Cabe recordar que el tiempo que inicialmente le dimos en la programación fue de

aproximadamente 4000 milisegundos

Aparece nuestro menú principal

Imagen 75 Menú principal Fuente: propia

Seleccionamos crear formulario

Dando clic en crear formulario aparece la ventanilla donde se crea la ficha o formato

GPS con todos los datos que se irán registrando en los edit text, datapicker, date time,

y spiner de selección.

Page 80: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

lxxx

Imagen 76 Datos a ingresar en formulario Fuente: propia

Ya que el gridlayuot se genera con medidas estándar de tamaño de papel carta, este se

verá en un zoom del 100% en un dispositivo tipo Tablet; en un celular este bloque se verá como una imagen cortada (ver imagen arriba) por el tamaño de pantalla, de igual

manera se puede desplazar y acomodar en el dispositivo llenando los espacios de

manera vertical. Si lo desea llenar con mayor facilidad se le da un giro de 90° al

dispositivo o en sentido horizontal. La persona puede llenar de cualquier manera el

formulario, solo son recomendaciones de uso, pero cada usuario es libre de manejar la

aplicación a su mismo acomodo.

Al ingresar el código, se debe tener en cuenta que debe ser una serie de números con

un consecutivo al final para llevar un orden de registro el cual se convierte en una

primary key de búsqueda en la base de datos que se genera en el dispositivo por cada

uno de los formularios guardados.

Estos formularios son archivos de extensión .xml que no pesan más de 1 kb, lo cual es

esencial para almacenamientos masivos de archivos y obviamente es un resultado que

beneficia a entidades que se dedican o tienen archivos de redes geodésicas nacionales.

Los edit text son cada uno de los encasillados que anteriormente se llenaban en un

formato de papel, para este caso los datos que son relevantes se les brindo una casilla

con el indicativo de llenado como se muestra en la siguiente imagen.

Código

Page 81: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

lxxxi

Imagen 77 Ingreso de datos Fuente: propia

Como ejemplo de llenado se puede observar la casilla con su respectivo edit. text, a su

vez el indicativo ingresar entidad y/o proyecto, que aparecerá para cada formulario

nuevo; dando un clic en la casilla escribiendo la información correspondiente, Para

cada llenado existe un botón de siguiente o simplemente un clic sobre la casilla

consecutiva o la que se desee completar.

Es claro que no todo puede ser escrito en el momento y se requiere agilizar el llenado

del formulario, por lo tanto, gracias a diferentes repositorios se incluyeron algunos

elementos de selección rápida como el departamento o municipio; los cuales no

requieren de una base de datos, en su lugar se encuentran todos en un listado del código

fuente y cada uno de los nombres se despliega en un spiner, como se muestra a

continuación,

Imagen 78 Spiner para repos de Departamentos Fuente: propia

Page 82: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

lxxxii

Imagen 79 Imagen 56 Spiner para repos de Municipios Fuente: propia

Dentro de estos spiner existen otros más sencillos como el tipo de vértice, el cual se

selecciona horizontal o vertical, también se encuentra el estado del vértice donde se

selecciona deteriorado, destruido o en buen estado. Todas estas selecciones están

incluidas en el código fuente y se direccionan a cada celda

Imagen 80 Imagen 56 Spiner para estado de vértice Fuente: propia

Page 83: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

lxxxiii

Otro tipo de selección rápida y que no solo es funcional, sino que su presentación

gráfica y utilidad es de alta calidad, por lo que permite a la aplicación tener varias

interacciones con el usuario.

Estas opciones son los datapicker que son sistemas de selección o widget de Android

utilizados para ejecutar fáciles accesos a las funciones básicas del móvil o dispositivo,

que para este caso nos proporciona la facilidad de introducir la fecha y hora al momento

del registro.

Imagen 81 datapicker Fecha Fuente: propia

Imagen 82 datapicker Hora Fuente: propia

Existen 3 casillas de vital importancia para el registro de puntos o vértices GPS, que

son latitud, longitud y altura elipsoidal. Estos datos son de ingreso tipo edit text, ya que

Page 84: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

lxxxiv

el usuario puede tener previamente las coordenadas del lugar o posicionamiento si a

futuro esta aplicación es llevada a ese campo.

Pero si son puntos sin ningún tipo de registro se acudió a una ayuda virtual por tanto

se incluyó una opción de un botón con enlace a una página web que nos brinda las

coordenadas del sitio y actúa como una API, cabe destacar que no en todos los

dispositivos este enlace es posible ya que depende de las habilitaciones o permisos de

GPS y localización del móvil.

Imagen 83 Botones especiales Fuente: propia

Junto con este botón aparecerán otros dos hipervínculos tipo button que genera un

enlace directo con la cámara del dispositivo con el cual se guardarán las fotos del punto

de registro en carpetas individuales previamente creadas en la instalación de la

aplicación.

Terminada la edición y descripción del punto o vértice se da clic en enviar y

automáticamente quedara ese formulario guardado en la base de datos del dispositivo

con extensión .xml, con un peso mínimo y con fotografías de la zona.

En la ventana de inicio o MAINse encuentra otra actividad de la aplicación que se

denomina CONSULTAR FORMULARIO:

Page 85: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

lxxxv

El cual simplemente nos busca todos los registros guardados en ese dispositivo en

específico, y que gracias a la llave primaria (PRIMARY KEY) que se generó con los

códigos de cada formulario registrado podremos encontrar y visualizar la información

las veces que sea necesario.

Basta con diligenciar el código del formulario de consulta y dar clic en el botón de

consultar ubicado en la parte inferior del formulario de búsqueda y aparecerá toda la

información guardada en su debido momento.

Por ende, para cada código se recomienda tener un serial base y un consecutivo, de esta

manera se asegura no borrar, repetir o generar conflictos en la búsqueda. En este caso

se han realizado registros con el número de cedula y un consecutivo, o el código de

cada estudiante más un consecutivo, incluso de esta manera se personalizan los datos

para cada usuario si así lo desea.

De esta menara se obtiene nuevamente la información sin perdida alguna y sin el uso

excesivo de papel o archivos.

Si esta información se registra y se busca en un dispositivo tipo Tablet el formulario

aparecerá en su totalidad gráfica, de esta manera podrá el usuario tomar un screenshot

o captura de pantalla capturando la información y poderla compartir como imagen.

En la misma ventana o pantalla principal se encuentra el botón enviar datos, el cual

fue creado con la intención de compartir la base de datos creada en el formulario, a

través de correo electrónico, como se muestra en las siguientes imágenes:

Imagen 84 Menú enviar datos Fuente: propia

Page 86: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

lxxxvi

El archivo que se envía es la base de datos creada, esta debe ser visualizada en cualquier

sistema gestor de base de datos, se asume que el lector previamente debió descargar en

el dispositivo Android un sistema gestor de bases de datos, para nuestro caso se

descargó el mencionó la aplicación SQLite en el dispositivo.

Imagen 85 Importación de la base de datos en SQLite Fuente: propia

Imagen 86 Base de datos Importada Fuente:propia

Page 87: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

lxxxvii

CONCLUSIONES

Como resultado final de nuestro proyecto de grado, se logró compartir los datos

registrados de la aplicación por medio del uso de SQLite Android, mediante una base

de datos, la cual es enviada vía correo electrónico, permitiendo así la administración

de los datos por medio de cada usuario, los formularios deben ser registrados en cada

dispositivo, compartiendo o distribuyendo sin ninguna restricción; todo esto fue posible

gracias a Android Studio, aplicación gratuita, la cual puede ser descargada por

cualquier usurario con acceso a internet. En la actualidad existen desarrolladores

especializados en Android Studio que comparten tanto repositorios, códigos, de manera

gratuita en internet, que resulta mucho más versátil el desarrollo de aplicaciones

móviles, esta democratización del conocimiento ha facilitado el desarrollo tecnológico.

Al ser VERTEX una aplicación de extensión .apk (aplicación libre), y no una app

(llamamos app a aquellas aplicaciones cuya descarga y manejo dependen de una

plataforma de distribución registrada comercialmente y dependerán de una llave o

licenciamiento para su debido funcionamiento y administración), por otro lado, un apk

es una aplicación de modo libre que se puede ejecutar en cualquier dispositivo sin

repercusiones legales, económicas y de funcionamiento, adicional a esto se requiere

activar y permitir cambios en el dispositivo de instalación, dado que el dispositivo

identifica el código como un software maligno o sin licenciamiento, por lo que es

necesario que dichos dispositivos contemplen las siguientes especificaciones:

o Dispositivos Android (tablets y celulares) con sistema operativo Android

superior a 4.1

o Debido a la programación las imágenes de los dispositivos deben tener una

resolución de no más de 3 Mega pixeles.

o Es importante que se configuren los dispositivos de manera manual, para que

estos concedan todos los permisos que necesita la aplicación: Memoria, Ubicación, y

cámara.

o El dispositivo debe tener memoria externa (SD)

Vertex es una aplicación que se creó inicialmente como registro y centralización de

puntos o vértices geodésicos, pero se puede proyectar como una plataforma móvil para

centralizar todo tipo de información geoespacial, catastral, topográfica y geodésica. Sin

Page 88: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

lxxxviii

embargo, pensando en un usuario especializado, tanto con la geodesia como con la

topografía, necesitará de conocimiento en ambas ramas, para poder manipular la

aplicación, cuyo alcance inicial pretende realizar inventarios de puntos Geodésicos ya

sean de la red pasiva del Instituto Geográfico Agustín Codazzi (IGAC), como puntos

geodésicos de entidades estatales y privadas, pero su alcance pude llegar a convertirse

en formato de ocupación de vértice GNSS digital, lo que sería de gran ayuda para el

profesional en campo, eliminando así el uso de papel como formato de registro de

información, que a su vez es un indicativo de reducción de contaminación por el uso

excesivo de este.

La falta de conocimiento en programación limitó la ejecución y desarrollo del proyecto,

pero no fue impedimento para terminarlo, por lo cual, fue necesario el uso de una

metodología que sirviera para llevar a cabo métodos estructurales, de rápido, y eficaz

avance, así como representar paso a paso de lo que se quería lograr con la aplicación,

por la mismas limitantes en programación, que para este caso puntual fue el manejo del

lenguaje JAVA, la metodología que permitió todo esto fue la metodología SCRUM.

Teniendo en cuenta lo anteriormente expuesto, el estudiante de ingeniería topográfica

requiere de cursos complementarios de programación en JAVA, el cual, al ser

unificado con los conocimientos adquiridos por materia impartidas, como bases de

datos, serán de gran ayuda para el desarrollo de este tipo de proyectos, lo que permitirá

así un crecimiento de la ingeniería topográfica. Una vez esto sea posible, posibilidades

de mejorar VERTEX son infinitas, teniendo en cuenta que esta nació como solución a

una serie de inconvenientes que tienen los profesionales en geodesia, pero que a partir

de un registro digital eficaz, puede seguir avanzando en otras instancias, como

plataformas web, servidores, almacenamiento masivo, distribución y administración de

la información con su debido registro personalizado, y todas aquellas actividades que

requieran pasar de un sistema análogo a digital, o mejor aún servir como una

herramienta de gestión de la información.

Para finalizar detectamos en internet, que existen una serie de herramientas: tales como

repositorios digitales, foros, video tutoriales, blogs, entre otros, que brindan una ayuda

extra y sencilla a todos aquellos que no están familiarizados con el lenguaje JAVA, por

lo que estos códigos libres, permiten ir creando varias de las clases que se tienen dentro

de la lista de actividades del código general de la aplicación, lo importante dependerá

de las ideas iniciales, del producto final que se requiere, la arquitectura o estructura de

esta, es esencial para presentar una idea clara de cómo queremos mostrar al público la

app, ya que entre más sencilla la interfaz (como por ejemplo el formato que propusimos

en el proyecto), más funcional será esta.

Page 89: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

lxxxix

BIBLIOGRAFÍA

ADOC Chile. (28 de 03 de 2018). Asociacion de Oficios Cientificos. Obtenido de

Asociacion de Oficios Cientificos: http://adoc-chile.org

Android. (5 de Junio de 2018). Android Studio. Obtenido de Android Studio:

https://developer.android.com

Aprendeandroid. (15 de Marzo de 2018). aprende android. Obtenido de aprende

android: http://www.aprendeandroid.com/l4/interface1.htm

Biblioteca Nacional de Colombia. (2008). La Comisión Corográfica y la

construcción de Nación. Bogotá: Biblioteca Nacional de Colombia.

Codazzi, I. G. (2004). Adopcion del Marco Geocentrico Nacional de Referencia

MAGNA - SIRGAS como DATUM oficial de Colombia. Bogotá: IGAC.

CódigoJavaLibre. (16 de agosto de 2015). CódigoJavaLibre. Obtenido de

CódigoJavaLibre: http://www.codigojavalibre.com/2015/06/Curso-Java-

SPINNER.html

CORPORACIÓN PARQUE, TECNOLOGICO DE ORIENTE. (Noviembre de

2001). Slide player. Obtenido de Slide player:

https://slideplayer.es/slide/5564330/

DEPARTAMENTO NACIONAL DE ESTADISTICA. (18 de 03 de 2018).

DEPARTAMENTO NACIONAL DE ESTADISTICA. Obtenido de

DEPARTAMENTO NACIONAL DE ESTADISTICA:

http://www.dane.gov.co/

ESRI. (4 de Octubre de 2017). ¿Qué es ArcGIS? Obtenido de ¿Qué es ArcGIS?:

http://resources.arcgis.com/

ESRI. (4 de Otubre de 2017). Appstudio. Obtenido de Appstudio:

https://appstudio.arcgis.com/

ESRI. (4 de Octubre de 2017). Survey 123. Obtenido de Survey 123:

https://survey123.arcgis.com/

Federal Aviation Administration. (28 de 03 de 2018). Federal Aviation

Administration. Obtenido de Federal Aviation Administration:

https://www.faa.gov

Garmin. (28 de 03 de 2018). Garmin. Obtenido de Garmin: http://www.garmin.com

GitHub. (18 de 03 de 2018). GitHub. Obtenido de GitHub: https://github.com/

Page 90: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

xc

Gobierno de los Estados Unidos relativa al Sistema de Posicionamiento Global y

temas afines. (19 de septiembre de 2017). GPS.gov. Obtenido de

http://www.gps.gov/spanish.php

Hi Target. (28 de 03 de 2018). Hi Target. Obtenido de Hi Target: http://en.hi-

target.com.cn/

Huerta, E., Manguiaterra, A., & Noguera, G. (2005). GPS Posicionamiento satelital.

Rosario: Universidad Nacional de Rosario.

Instituto Agustín Codazzi IGAC. (28 de 03 de 2018). IGAC. Obtenido de IGAC:

https://www.igac.gov.co/

Instituto Geográfico Agustín Codazzi (IGAC). (2004). Adopcion del Marco

Geocentrico Nacional de Referencia MAGNA - SIRGAS como DATUM oficial

de Colombia. Bogotá: IGAC.

INSTITUTO GEOGRAFICO AGUSTÍN CODAZZI. (2007). MEJORA DE LOS

SISTEMAS DE CARTOGRAFÍA DEL TERRITORIO COLOMBIANO.

RIOACHA : IGAC .

International GNSS (IGNSS) Conference. (2018). International Cooperation on

GNSS: A Provider Perspective on the ICG. International Cooperation on

GNSS: A Provider Perspective on the ICG (pág. 2). Sydney, Australia: Office

of Space and Advanced Technology U.S. Department of State.

IRUELA, J. (11 de 01 de 2018). Revista Digital. Obtenido de Revista Digital:

https://revistadigital.inesem.es

J. B. Mena. (2008). Elementos de Astronomía geodésica clásica . Alcalá: Universidad

de Alcalá.

Jean-Paul Tremblay, R. B. (2009). An algorithmic Approach Department of

Computational Science. Saskatchewan : University Saskatchewan.

Lerma, M. J. (2012). INTRODUCCIÓN HISTÓRICA A LA GEODESIA. Madrid:

Instituto de Astronomía y Geodesia. Facultad de Ciencias Matemáticas.

Marinovskiy, A. (10 de 01 de 2019). Stack Overflow. Obtenido de Stack Overflow:

https://stackoverflow.com/questions/32155729/how-to-use-sugar-orm

Merino, M. (14 de julio de 2011). TIC beat. Obtenido de TIC beat:

http://www.ticbeat.com/tecnologias/que-es-una-api-para-que-sirve/

Morales, R. (2014 de septiembre de 2014). Colombia digital. Obtenido de Colombia

digital: https://colombiadigital.net/

Page 91: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

xci

NACIONES UNIDAS. (1992). CONVENCION MARCO DE LAS NACIONES

UNIDAS. Rio de janeiro: Naciones Unidas.

Naciones Unidas. (2001). Séptima Conferencia Cartográfica Regional de las

Naciones Unidas para América. Nueva York: Naciones Unidas.

NOOA. (1985). Geodesy for the Layman. siver, Spring: NOOA National Oceanic and

Atmospheric Administration.

Paul Deitel, H. D. (2012). ANDROID FOR PROGRAMMERS AN APP-DRIVEN

APPROACH. New Jersey: Pearson Education.

Paul Leahy. (18 de agosto de 2017). thoughtco. Obtenido de thoughtco:

https://www.thoughtco.com/main-class-2034233

Paul R. Wolf - Charles D. Ghilani. (2009). Topografía. New Jersey: Alfaomega.

Pené, M. G. (2011). Repositorios digitales, un camino hacia la democratización del

conocimiento. 3er Congreso Internacional de. La plata: Universidad Nacional

de La Plata.

PoliScience. (03 de marzo de 2018). poliscience. Obtenido de poliscience:

http://poliscience.blogs.upv.es/open-access/repositorios/definicion-y-tipos/

Revelo, J. (20 de octubre de 2014). Hermosa programación. Obtenido de Hermosa

programación: http://www.hermosaprogramacion.com/2014/10/android-

sqlite-bases-de-datos/

Rivas, J. J. (15 de enero de 2015). Phone gap spain. Obtenido de Phone gap spain:

http://www.phonegapspain.com/que-es-y-como-empezar-con-ionic-

framework/

Semana, R. (2016). Aplicaciones móviles: ¿negocio rentable? Semana, 1.

Sequelpro. (18 de 03 de 2018). Sequel pro. Obtenido de Sequel pro:

https://www.sequelpro.com/

Servicio Geológico Colombiano. (28 de 03 de 2018). Geo Red. Obtenido de Geo Red:

http://geored2.sgc.gov.co

Sickle, J. V. (2015). GPS Land Navigation. Milton Park: Taylor & Francis Group.

SIRGAS. (28 de 03 de 2018). SIstema de referencia geocentrico para las americas.

Obtenido de SIstema de referencia geocentrico para las americas:

http://www.sirgas.org

Spectra precision. (28 de 03 de 2018). Spectra precision. Obtenido de Sprectra

precision: http://www.spectraprecision.com/

Page 92: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

xcii

UNIDAS, N. (1992). CONVENCI”N MARCO DE LAS NACIONES UNIDAS. Rio de

janeiro: Naciones Unidas.

Page 93: VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y …repository.udistrital.edu.co/bitstream/11349/15589/1/ContrerasSastoqueJonathanEnrique...de soluciones a problemas cotidianos en

xciii

ANEXOS

• VERTEX.APK