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
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
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.
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
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
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
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
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
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.
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.
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.
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
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.
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.
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
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.
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)
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,
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)
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).
xxi
Imagen 7 GPS en Smartphones Fuente: (ADOC Chile, 2018)
Imagen 8 Navegador GPS Fuente: (Garmin, 2018)
xxii
Imagen 9 GPS submetrico Fuente: (Spectra precision, 2018)
Imagen 10 GPS doble frecuencia Fuente: (Hi Target, 2018)
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.
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.
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).
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).
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.
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)
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.
xxx
Imagen 14 Geo portal IGAC Fuente: (Instituto Agustín Codazzi IGAC, 2018)
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
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.
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.
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
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).
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).
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).
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.
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
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
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
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.
xliii
Imagen 22 Código ejemplo de un Linearlayout Fuente: (Aprendeandroid,
2018)
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/
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.
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.
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
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)
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.
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.
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
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.
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.
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.
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
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
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
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.
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.
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
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
lxii
Cada Button tiene sus atributos que se modifican según el desarrollador
Imagen 43 Atributos del button Formulario1 Fuente: propia
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
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.
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.
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
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
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
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
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
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
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
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
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
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
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.
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
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
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.
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
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
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
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
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:
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
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
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
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.
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/
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/
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/
xcii
UNIDAS, N. (1992). CONVENCI”N MARCO DE LAS NACIONES UNIDAS. Rio de
janeiro: Naciones Unidas.
xciii
ANEXOS
• VERTEX.APK