nicmic: la aplicaciÓn para mÓviles que calcula...

73
NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA ANOMALÍAS Y CORRECCIONES GRAVIMÉTRICAS MICHELLE NOHELIA NIÑO ORTIZ NICOLÁS CUBILLOS VALDERRAMA Trabajo de grado en modalidad monografía para optar por el título de Ingeniero Topográfico Trabajo dirigido por: Profesor ROBINSON QUINTANA PUENTES UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD DE MEDIO AMBIENTE Y RECURSOS NATURALES PROYECTO CURRICULAR DE INGENIERÍA TOPOGRÁFICA BOGOTÁ D. C. 2020

Upload: others

Post on 24-Jul-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA ANOMALÍAS Y

CORRECCIONES GRAVIMÉTRICAS

MICHELLE NOHELIA NIÑO ORTIZ

NICOLÁS CUBILLOS VALDERRAMA

Trabajo de grado en modalidad monografía para optar por el título de Ingeniero

Topográfico

Trabajo dirigido por:

Profesor ROBINSON QUINTANA PUENTES

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

FACULTAD DE MEDIO AMBIENTE Y RECURSOS NATURALES

PROYECTO CURRICULAR DE INGENIERÍA TOPOGRÁFICA

BOGOTÁ D. C.

2020

Page 2: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos
Page 3: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

Notas de apreciación

Profesor Robinson Quintana Puentes

_________________________________________________________________________

_________________________________________________________________________

_________________________________________________________________________

___________________________

Profesor William Barragán Zaque

_______________________________________________________________________

_________________________________________________________________________

_________________________________________________________________________

_____________________________

Page 4: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

IV

Agradecimientos de Michelle Niño Ortiz

En primera instancia y tal como lo decía Mercedes Sosa: Gracias a la vida, que me ha

dado tanto. Gracias a la educación pública colombiana que me preparó durante todo el

bachillerato para estudiar en la mejor universidad del mundo, y gracias a la gloriosa

Universidad Distrital Francisco José de Caldas por recibirme siempre con los brazos

abiertos. A la educación pública que es tan necesaria en este país. La universidad es un

ascensor social que debería tener capacidad infinita para albergar personas, porque cuando

una persona estudia, no solo se beneficia a sí misma sino también todo su núcleo familiar.

Gracias a Lucy, a Jairo y a Fabián: sin ustedes, nada de esto habría sido posible. Sin

todo lo material que me ofrecieron (dinero, vivienda y alimentación) y sin lo etéreo (las

palabras, el ánimo y el apoyo incondicional) este sueño no se habría concretado de la forma

en que lo hizo. Estaré siempre con ustedes, así no estemos juntos. Quiero que sepan que los

llevaré de forma sempiterna muy en mi recuerdo y persona; en los tres siguientes párrafos

les agradeceré personalmente.

A mamá, gracias por curar mis heridas con tiritas para el alma, gracias por todo, gracias

por la vida y por cuidar a mis mascotas mientras yo no estoy; gracias por todos los

sacrificios realizados.

A papá, que es un hombre muy valiente y enojón pero que siempre ha querido lo mejor

para sus hijos y perritos y con sacrificios nos sacó adelante, gracias también por la vida.

A mi hermano, el Player 1, que es el mejor hermano y que aún con tremendas diferencias,

jamás cortaremos el vínculo de amor y cercanía que tenemos; gracias por el ejemplo y por

todo, de verdad. Jamás olvidaré las noches de juegos, de series y películas e incluso las

pequeñas tertulias sobre música. Que la Utopía nunca te falte, Bro.

A mi abuelo Jaime, a Luz Marina y a mi tío Jaime también los aprecio mucho y agradezco

enormemente su apoyo y cariño. A Stefania, especialmente gracias por la infancia bonita y

divertida que vivimos juntas, fue graciosa y las risas no faltaron.

A mi tío César, cuya ayuda y colaboración fueron indispensables para el bienestar de mi

familia.

Te llevo siempre conmigo; no muy cerca pero sí muy dentro: A César, jamás imaginé que

el maravilloso azar del destino me pusiera en el camino a un ser tan especial, a un amigo

tan cercano que me demostró que la distancia no es impedimento para estar a un paso de la

otra persona. Gracias a ti, amigo mío, que acompañaste mi transitar por el colegio y la

universidad, estando siempre pendiente de mí, de mi familia y de mis cosas. Tus correos,

mensajes, llamadas y videoconferencias han dejado una huella tremenda en mi corazón y mi

vida. Jamás terminaré de agradecer todo lo que has hecho por mí y sé que algún día

celebraremos este logro. Las palabras se quedan cortas para expresar todo lo que me

gustaría y en un abrazo lo sabrás.

Page 5: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

V

Decía Carl Jung que Uno recuerda con aprecio a sus maestros brillantes, pero con

gratitud a aquellos que tocaron nuestros sentimientos. Este párrafo es para ti, Bernardo, que

con tu compañía, abrazos, gestos y palabras hicieron de mi paso por el colegio algo mucho

más grato y demostraste que un profesor puede llegar a ser un maestro y gran amigo.

Infinitas gracias a ti, Bernardo. Te aprecio mucho y te pienso con inmensurable gratitud.

A Tina y Natas: compañeras incansables de desvelos y lágrimas, de sonrisas, estrés y

cansancio; sus colitas siempre felices de tenerme cerca. Nada más reconfortante que su

honrosa compañía porque demuestra que las palabras no son necesarias para entender el

lenguaje del alma y del amor. Y aunque me encantaría que los perritos vivieran para

siempre, sé que no lo harán en el plano físico, pero siempre estarán en mi pensamiento y en

los cajones más especiales de mi recuerdo. Mi meta en la vida es ser tan maravillosa como

mis perritas creen que soy.

Al profesor Robinson Quintana, muchas gracias por su humildad, paciencia y gusto por

la enseñanza; gracias por guiarnos y deleitarnos con todo su saber sobre las ciencias físicas

y la geofísica.

Al profesor William Barragán, gracias también por hacer de la cartografía, la tecnología

y la ingeniería algo al alcance de todos y enseñarlo de forma comprensible y pedagógica.

A Jhon, que por la incertidumbre de la vida nos cruzamos en el colegio, que es como el

aire – aunque no se ve, uno sabe que está ahí. Muchas gracias, chinito. Y recuerda que “Pan,

panza”.

A Nicolás, este trabajo de grado no habría sido igual sin tu ayuda, crack :v Que, sin

contar la academia, la música nos conectó más… espero y deseo que la música te lleve

siempre lejos.

A los pocos amigos, a los muchos compañeros y conocidos que no nombré, ustedes

también hacen parte de esto, también tienen un lugar en esta fiesta. Mil gracias por todo lo

que hicieron, de algún modo cada pequeña cosa me ayudó en este transitar, en el crecimiento

y aprendizaje. Gracias por compartir conmigo, por tenerme en su pensamiento, por

desearme lo mejor y por estar para mí.

A todas y cada una de las personas y perritos que estuvieron conmigo hasta este momento,

quiero que sepan que la gratitud será infinita. Deseo con todo el corazón que la felicidad y

las buenas noticias nunca les falten, que vivan en abundancia y, que por sobre todas las

cosas, amen con profundidad y sin arrepentimientos.

Page 6: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

VI

Agradecimientos de Nicolás Cubillos Valderrama

Primero que todo gracias a la Universidad Distrital Francisco José de Caldas, por

brindarme la posibilidad de estudiar y permitir que este sueño hoy sea posible, gracias a

todos mis profesores del Colegio bachillerato, pero en especial gracias al profesor Juan

Pablo Guavita por formarme no solo académicamente sino personalmente también.

Gracias a mi madre Elvia Valderrama por su dedicación y esfuerzo incansable para que

yo pudiera salir adelante, le agradezco su comprensión, su ternura, su apoyo incondicional,

pero sobre todo le agradezco su amor y la confianza que siempre me ha tenido y sé que me

tendrá.

Gracias a mi padre John Fernando Cubillos por ser ejemplo del hombre en el que algún

día espero convertirme, le agradezco por matarse cada día en su trabajo, por esas

madrugadas, por seguir muchas veces de largo, por ofrecerme el dinero que en intachables

veces él necesitaba para que yo pudiera ir a la universidad, le agradezco ese cariño tan

grande que, aunque no lo suele decir mucho, sí lo demuestra con cada gesto y postura que

ha tomado conmigo, le agradezco su comprensión en las noches en las que llegué tarde y no

pudo descansar, ya que nunca me recriminó nada, gracias a ti, porque sin ti no sería ni la

sombra de lo que soy ahora.

Gracias a mi tío Gustavo por estar para mí y mi familia siempre que lo necesitamos,

gracias por todas esas golosinas que siempre nos traías, gracias por tu cariño, por cuidar

de mí cuando mis padres no podían, gracias por brindarme todo lo mejor de ti.

Gracias a mis hermanas a Sofía y a Kelly por ser un pilar en mi vida, gracias por sus

peleas que, aunque suene raro, siempre me ayudaron a crecer un poco como persona, a

Kelly le agradezco por sus charlas como hermana mayor por enseñarme el camino con su

ejemplo y Sofía le gradezco su cercanía conmigo las tardes de películas o series los

momentos divertidos que siempre he atesorado.

A Lucía Cubillos Valderrama, mi sobrina, gracias por ser ese motor que me impulsa a

seguir adelante por llenarme la vida de luz sin importar los momentos, por recordarme cada

día porqué deseo un mejor futuro para mí y para ella, gracias a ella por llegar a mí vida.

A mis amigos de la universidad a Laura, Camilo, Juan, Andrés, Aleja, Paola, Omar, Edna

y Kathe porque de ellos aprendí mucho, ya que me acompañaron en mi proceso de formación

gracias por estar conmigo cuando lo necesitaba, por tenerme paciencia al explicarme temas

que no comprendía, por volver estos años de universidad la mejor experiencia, gracias por

todos los buenos momentos.

A Joseth, parce, le agradezco por ser ese amigo incondicional, por brindarme su apoyo y

ayuda en cada momento que lo necesite, por todas esas tardes de Xbox donde solo hablamos

mierda hasta llegar la noche, gracias por todas esas experiencia y lugares nuevos que conocí

de los cuales jamás hubiera ido sin usted, parce gracias por soportarme y gracias por

siempre estar ahí.

Page 7: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

VII

A Michelle, aunque la conocí con el inicio de este trabajo, pude notar la excelente persona

que es.

Page 8: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

TABLA DE CONTENIDO

1. ANTECEDENTES Y JUSTIFICACIÓN .............................................................. 15

2. JUSTIFICACIÓN .................................................................................................. 19

3. PLANTEAMIENTO DEL PROBLEMA .............................................................. 20

4. OBJETIVOS .......................................................................................................... 21

4.1. Objetivo General ................................................................................................ 21

4.2. Objetivos Específicos ......................................................................................... 21

5. MARCO TEÓRICO............................................................................................... 22

5.1. Levantamiento .................................................................................................... 22

5.2. Levantamiento altimétrico.................................................................................. 22

5.3. Levantamiento planimétrico ............................................................................... 22

5.4. Levantamientos especiales ................................................................................. 22

5.5. Levantamiento arquitectónico ............................................................................ 22

5.6. Latitud ................................................................................................................ 22

5.7. Geofísica............................................................................................................. 23

5.8. Gravedad ............................................................................................................ 23

5.9. Unidades de la gravedad .................................................................................... 24

5.10. Gravedad teórica ............................................................................................. 24

5.11. Gravedad observada ....................................................................................... 25

5.12. Gravimetría ..................................................................................................... 25

5.13. Anomalía gravimétrica ................................................................................... 25

5.13.1. Anomalía de aire libre ............................................................................. 26

5.13.2. Anomalía de Bouguer Simple ................................................................. 26

5.13.3. Anomalía de Bouguer Total .................................................................... 26

5.14. Corrección gravimétrica ................................................................................. 27

5.14.1. Corrección de Aire libre .......................................................................... 27

5.14.2. Corrección de Bouguer Simple ............................................................... 27

5.14.3. Corrección topográfica ............................................................................ 27

5.15. Sistema operativo ........................................................................................... 28

5.16. Aplicación ....................................................................................................... 28

5.16.1. Aplicaciones nativas ................................................................................ 28

5.16.2. Aplicaciones web .................................................................................... 28

5.16.3. Aplicaciones web nativas o híbridas ....................................................... 28

Page 9: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

5.17. Lenguaje de programación ............................................................................. 28

5.18. Android ........................................................................................................... 29

5.19. Blueprint ......................................................................................................... 29

5.20. Activity ........................................................................................................... 29

5.21. JAVA .............................................................................................................. 29

5.22. XML ............................................................................................................... 29

5.23. Procesos de optimización ............................................................................... 30

5.24. Interfaz de usuario .......................................................................................... 30

5.25. React.JS .......................................................................................................... 30

5.26. Node.js ............................................................................................................ 30

5.27. Componente .................................................................................................... 30

5.28. Clase ............................................................................................................... 30

5.29. Compilación.................................................................................................... 30

5.30. Servicio Amazon S3 ....................................................................................... 31

5.31. Bucket ............................................................................................................. 31

5.32. Código QR ...................................................................................................... 31

6. METODOLOGÍA .................................................................................................. 32

6.1. Desarrollo de una base de ecuaciones como calculadora previa ........................ 32

6.2. Desarrollo de la aplicación en Android Studio .................................................. 32

6.3. Desarrollo de la aplicación web en React.JS ...................................................... 32

7. DESARROLLO DE LA PROPUESTA................................................................. 32

7.1. Base de cálculos ................................................................................................. 32

7.1.1. Datos suministrados por el usuario ......................................................... 32

7.2. Programación en Android Studio ....................................................................... 35

7.2.1. Diseño gráfico de la aplicación ............................................................... 38

7.2.2. Rotación automática ................................................................................ 44

7.2.3. Creación de las demás Activities ............................................................. 45

7.2.4. Vinculación entre Activities .................................................................... 46

7.2.5. Activity “Detalles” ................................................................................... 47

7.2.6. Activity “Calcular”................................................................................... 49

7.3. Cambio del icono de la aplicación ..................................................................... 55

7.4. Desarrollo de la aplicación web en React.JS ...................................................... 57

7.4.1. Crear espacio en la máquina para alojar la aplicación de React.JS ......... 58

7.4.2. Ejecutar la aplicación recién creada ........................................................ 58

Page 10: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

7.4.3. Escribir código para la aplicación ........................................................... 59

7.5. Publicación de la app web .................................................................................. 64

7.5.1. Amazon Web Services (AWS) ................................................................ 64

7.5.2. Creación de la cuenta en AWS ................................................................ 64

7.5.3. Compilación de la aplicación en el entorno local ................................... 65

7.5.4. Creación del bucket ................................................................................. 66

7.5.5. Alojamiento de la app web dentro del bucket creado en S3 ................... 66

7.6. Generación del código QR ................................................................................. 68

7.7. Pruebas ............................................................................................................... 68

8. DIAGRAMA DE FLUJO ...................................................................................... 69

9. CONCLUSIONES Y RECOMENDACIONES .................................................... 70

10. BIBLIOGRAFÍA ................................................................................................... 72

Page 11: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

TABLA DE ILUSTRACIONES

Ilustración 1. Diagrama aproximado de cómo interactúa la gravedad. ........................... 24

Ilustración 2. Propuesta 1 de calculadora en Excel ......................................................... 33

Ilustración 3. Propuesta 2 de calculadora en Excel ......................................................... 34

Ilustración 4. Propuesta 3 de calculadora en Excel ......................................................... 34

Ilustración 5. Instalación de las versiones de Android 8.1, 9 y 10 .................................. 35

Ilustración 6. Ventana de inicio Android Studio ............................................................. 35

Ilustración 7. Ventana tipos de Activities ........................................................................ 36

Ilustración 8. Nombre, ruta de guardado y lenguaje de programación de la aplicación. 36

Ilustración 9. Cantidad relativa de usuarios de cada versión de Android. ...................... 37

Ilustración 10. Ventana gráfica de Android Studio. ........................................................ 37

Ilustración 11. Opción Paste que permite agregar imágenes a la aplicación. ................. 38

Ilustración 12. Cuadro de diálogo para subir una imagen al programa. .......................... 38

Ilustración 13. Inicio de la ventana Strings. .................................................................... 39

Ilustración 14. Programación en XML para asignación de ID en los botones. ............... 39

Ilustración 15. Cambio de fondo de la aplicación. .......................................................... 40

Ilustración 16. Previsualización de las imágenes subidas para el fondo. ........................ 40

Ilustración 17. Panel de componentes para asignar a la Activity. .................................... 41

Ilustración 18. Ubicación espacial de los componentes. ................................................. 41

Ilustración 19. Vinculación de los ID en XML con la vista gráfica. ............................... 42

Ilustración 20. Resultado final de la ventana de inicio. ................................................... 42

Ilustración 21. Cambio en el estilo y característica del botón. ........................................ 43

Ilustración 22. Estilo nuevo de los botones. .................................................................... 43

Ilustración 23. Ventana Text. ........................................................................................... 44

Ilustración 24. Ventana Text de programación ................................................................ 44

Ilustración 25. Creación de una nueva Activity. .............................................................. 45

Ilustración 26. Características de la nueva Activity. ........................................................ 45

Ilustración 27. Programación de la vinculación entre las otras Activities. ...................... 46

Ilustración 28. Asignación de la clase creada. ................................................................. 46

Ilustración 29. Demostración Activity Detalles. .............................................................. 47

Ilustración 30. Programación ventana Strings. ................................................................ 47

Ilustración 31. Resultado base de la Activity Detalles. .................................................... 48

Ilustración 32. Botón "volver" Activity Detalles. ............................................................ 48

Ilustración 33. Ubicación espacial del Scrollview. .......................................................... 49

Ilustración 34. Componente Scrollview. .......................................................................... 49

Ilustración 35. Programación XML para la Activity Detalles.......................................... 50

Ilustración 36. Creación de variables en Java. ................................................................ 50

Ilustración 37. Vinculación de datos introducidos por el usuario y variables en Java .... 51

Ilustración 38. Creación nueva clase Public. .................................................................. 52

Ilustración 39. Tipo de variables según el tipo "Int" o "Double". ................................... 53

Ilustración 40. Cálculos. .................................................................................................. 53

Ilustración 41. Variable resultados. ................................................................................. 54

Ilustración 42. Solución mostrada al usuario. ................................................................. 54

Ilustración 43. Asignación de las clases .......................................................................... 55

Ilustración 44. Edición de iconos. ................................................................................... 56

Ilustración 45. Resultado final del icono seleccionado. .................................................. 56

Page 12: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

Ilustración 46. Código de programación para mostrar el logo de la aplicación. ............. 57

Ilustración 47. Descarga de la biblioteca JavaScript. ...................................................... 57

Ilustración 48. Carpeta de la aplicación creada según la ruta.......................................... 58

Ilustración 49. Activación en el LocalHost de la aplicación creada. .............................. 58

Ilustración 50. Ventana de la aplicación en blanco creada. ............................................. 59

Ilustración 51. Descarga del software Atom. .................................................................. 59

Ilustración 52. Ventana de inicio del software Atom. ..................................................... 60

Ilustración 53. Comparación carpeta React y las carpetas en Atom. .............................. 60

Ilustración 54. Creación de componentes. ....................................................................... 61

Ilustración 55. Vista parcial de la aplicación. ................................................................. 61

Ilustración 56. Código de para la creación de botones. ................................................... 61

Ilustración 57. Código solicitud clase file para archivos formatos .csv y .txt. ................ 62

Ilustración 58. Código lectura de los archivos. ............................................................... 62

Ilustración 59. Variables asignadas para los cálculos. .................................................... 63

Ilustración 60. Creación de cada función según su operación. ....................................... 63

Ilustración 61. Vista final app web. ................................................................................ 63

Ilustración 62. Logo Amazon Web Services ................................................................... 64

Ilustración 63. Registro en el servicio web de Amazon. ................................................. 64

Ilustración 64. Pago realizado por los servicios de AWS. .............................................. 65

Ilustración 65. Creación y configuración del Bucket. ..................................................... 66

Ilustración 66. Alojamiento de la aplicación en el Bucket. ............................................. 66

Ilustración 67. Ingreso de la carpeta Build en el Bucket.................................................. 67

Ilustración 68. Resultado final de la aplicación............................................................... 67

Ilustración 69. Código QR ............................................................................................... 68

Page 13: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

LISTA DE TABLAS

Tabla 1 - Trabajo de Jhon Alexander Galindo Ambuila ................................................. 16

Tabla 2 - Trabajo de María Rodríguez Velásquez y Kevin Rojas Gaitán ....................... 17

Tabla 3 - Trabajo de Juan David Ferro Falla y Reinaldo Corredor Romero ................... 17

Tabla 4 - Trabajo de Natalia Sánchez Torres y Lina Barrera Avellaneda ....................... 18

Tabla 5 - Cuadro de pruebas ............................................................................................ 68

Page 14: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

TABLA DE FÓRMULAS

Fórmula 1 - Gravedad ...................................................................................................... 24

Fórmula 2 - Cálculo de la gravedad teórica ..................................................................... 24

Fórmula 3 - cálculo de anomalías .................................................................................... 25

Fórmula 4 - Anomalía de aire libre .................................................................................. 26

Fórmula 5 - Anomalía de Bouguer Simple ...................................................................... 26

Fórmula 6 - Anomalía de Bouguer Total ......................................................................... 26

Fórmula 7 - Anomalía de aire libre .................................................................................. 27

Fórmula 8 - Corrección de Bouguer Simple .................................................................... 27

Fórmula 9 - Corrección topográfica ................................................................................. 27

Page 15: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

15

1. ANTECEDENTES Y JUSTIFICACIÓN

El avance tecnológico en instrumentación geofísica ha permitido, a partir de la década de

los cincuenta, el uso del aerotransporte en la adquisición de datos geofísicos. En particular,

el aerotransporte es imprescindible para la realización de reconocimientos magnéticos de

áreas extensas. La principal ventaja de los reconocimientos magnéticos aéreos es, sin lugar a

duda, la rapidez de adquisición de datos. Esto supone una reducción considerable del coste

de la campaña, además de reducir de manera significativa la corrección de las variaciones

temporales del campo magnético terrestre y de la deriva de los instrumentos. El hecho de

realizar las mediciones a cierta altura supone poder reconocer zonas que de otra forma serían

inaccesibles y conseguir, al mismo tiempo, el filtrado de altas frecuencias que generalmente

corresponden a ruidos y perturbaciones. Existen en la actualidad reconocimientos magnéticos

de la mayoría de los países desarrollados, y ciertamente de la mayoría de los países europeos,

que forman parte de la infraestructura geofísica y geológica necesaria para el desarrollo de

estas disciplinas. Por esta causa, la necesidad de disponer de documentos básicos, públicos y

de calidad, llevó al << Servei Geológic de Catalunya>> a la realización del proyecto de Mapa

Aeromagnético de Cataluña, a escala 1:250.000, cuya elaboración se describe en este trabajo

y del Mapa Gravimétrico a escala 1:500.000 que se presenta en un trabajo paralelo. (Zeyen

& Banda, 1988)

Durante 2002-2004 se han realizado dos importantes proyectos de cartografía geológica a

escala 1:50.000 denominados “K” (14 hojas) y “L” (20 hojas; perímetros indicados en la Fig.

2), a los que ha contribuido significativamente la interpretación de las imágenes geofísicas

del vuelo magnético y radiométrico de la República Dominicana (García Lobón y Rey Moral,

2002 a, b). El vuelo se realizó en 1995-96 con una separación de líneas de 1 km y altura

nominal de 120 m. Posteriormente, se efectuaron nuevos vuelos con 500 m de separación de

líneas, fundamentalmente en la Cordillera Central y sus bordes suroccidental y oriental, que

son las áreas vulcanoplutónicas del arco de islas. Además de los vuelos citados, en la

República Dominicana se dispone de varias gravimetrías estructurales, con puntos

irregularmente distribuidos. Estos trabajos geofísicos y cartográficos constituyen los

antecedentes del estudio petrofísico cuyos resultados se presentan en esta publicación.

(García-Lobón & Ayala, 2007)

A continuación, se enunciarán algunos de los muchos trabajos de grado que se han hecho

con respecto a la geofísica para la Universidad Distrital Francisco José de Caldas; se citarán

textualmente los resúmenes de cada trabajo.

Page 16: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

16

Tabla 1 - Trabajo de Jhon Alexander Galindo Ambuila

Título

del trabajo

Creación de aplicativo para la reducción de datos de gravimetría y

magnetometría terrestre

Resumen El procesamiento de datos gravimétricos y magnéticos ha sido

identificado como una de las necesidades crecientes dentro del Grupo de

Trabajo Exploración de recursos Geotérmicos del Servicio Geológico

Colombiano (SGC). Dentro de esta se incluye la utilización de altos

volúmenes de datos y de la necesidad de la implementación de herramientas

computacionales para la aplicación de las diferentes correcciones que

requieren los datos de tipo gravimétrico y magnético, y a su vez para la

generación de las diferentes interpolaciones que llevan a la interpretación

de los datos y el análisis del procesamiento realizado. Este trabajo presenta

un conjunto conceptos teóricos aplicados a las diferentes herramientas

desarrolladas sobre el código Python, que tienen como objetivo la ejecución

los algoritmos de gravedad observada, densidad de reducción y de

magnetogramas para cumplir con los estándares de procesamiento

impuestos, y a su vez mejorar la velocidad y precisión de ejecución de los

diferentes algoritmos desarrollados. Para alcanzar este objetivo se brinda

una descripción clara de la forma en la que se ejecutan los diferentes

módulos del programa desarrollado, los cuales son: el módulo de

Corrección de relajación que nos permitir ‘a organizar los datos obtenido a

partir de la magnetometría en un rango establecido de datos, el módulo de

cálculo de deriva que nos brinda la posibilidad de limpiar los datos erróneos

para llegar a un error de cierre óptimo para el procesamiento, el módulo de

correcciones que brinda la posibilidad de aplicar las diferentes correcciones

necesarias para la gravimetría y obtener la interpolación de los datos, el

módulo de magnetogramas dentro del cual se puede visualizar los diferentes

magnetogramas y aplicar las correcciones necesarias sobre los mismos, y

por ´ultimo los módulos de transformación de datos que permiten llevar un

archivo de formato .csv a Excel y Excel a .csv.

Autores Jhon Alexander Galindo Ambuila

Año 2017

URL http://hdl.handle.net/11349/7875

Page 17: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

17

Tabla 2 - Trabajo de María Rodríguez Velásquez y Kevin Rojas Gaitán

Título

del trabajo

Determinación de la dorsal Malpelo a partir de gravimetría satelital

Resumen En el documento se presenta el análisis de las anomalías gravimétricas

con datos del satélite Topex Poseidon en el pacífico colombiano. Se

calculan las anomalías Bouguer e isostática en la zona de subducción del

pacifico colombiano y se relacionan con los modelos isostáticos ya

existentes, la información de geología estructural y la sismicidad del área

de estudio.

Autores María Fernanda Rodríguez Velásquez

Kevin Fernando Rojas Gaitán

Año 2019

URL http://hdl.handle.net/11349/15099

Tabla 3 - Trabajo de Juan David Ferro Falla y Reinaldo Corredor Romero

Título

del trabajo

Construcción de un Modelo Matemático y Computacional para la

Interpolación de Trazas Sísmicas Relacionando la Transformación de

Dominio y la Programación Dinámica

Resumen Construcción de un modelo matemático y computacional que me permita

recuperar las trazas sísmicas dispersas o perdidas en la exploración sin

necesidad de realizar todo el reproceso de campo, a través de la

transformación de dominio y el problema inverso en geofísica integrando la

interpolación polinómica por el método de LaGrange , la transformada de

Fourier y las múltiples iteraciones ejecutadas que permitirán recuperar los

datos dispersos mediante la programación dinámica que incorpora

subproblemas superpuestos y subestructuras óptimas.

Autores Juan David Ferro Falla - Reinaldo Corredor Romero

Año 2017

URL http://hdl.handle.net/11349/5923

Page 18: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

18

Tabla 4 - Trabajo de Natalia Sánchez Torres y Lina Barrera Avellaneda

Título

del trabajo

Propuesta de una metodología de ajuste de redes gravimétricas. Estudio

de caso zona norte de Colombia

Resumen La gravimetría en Colombia se ha desarrollado desde mediados del siglo pasado, sus avances se han realizado por la necesidad de ser un insumo necesario para determinar un sistema de referencia vertical para el país, su desarrollo ha sido principalmente impulsado por el Instituto Geográfico Agustín Codazzi ya que este es la autoridad encargada de su actualización y toma de datos. En el presente documento se mostrará una metodología de ajuste de una red gravimétrica de orden 3, con datos tomados sobre las líneas de nivelación de la zona norte del país obteniéndose lecturas de valor de gravedad relativa, esta metodología será sustentada con un aplicativo de elaboración propia, el cual tiene como principal objetivo la comparación con los datos ya ajustados por el Instituto Geográfico Agustín Codazzi con el programa usado oficialmente por el grupo interno de trabajo GIT Geodesia (GRAVNETG), debido a que este no presenta una documentación de su implementación, por lo cual se hace necesario para optimizar el trabajo en el área de este grupo de la institución, documentar y tener un seguimiento del proceso de ajuste. El contenido del trabajo constará de un análisis y procesamiento de los datos obtenidos en campo, para luego revisar sus inconsistencias y ser eliminadas para evitar el ruido en la realización de los cálculos, se harán las correcciones instrumentales y la debida conversión a valores de gravedad (Miligales) para así tener valores iniciales de gravedad que por medio de mínimos cuadrados será ajustado logrando así minimizar errores.

Autores Natalia Carolina Sánchez Torres

Lina María Barrera Avellaneda

Año 2017

URL http://hdl.handle.net/11349/6362

Page 19: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

19

2. JUSTIFICACIÓN

En la actualidad el número de personas que disponen en todo momento de un Smartphone

es cada vez mayor, lo que abre la posibilidad de desarrollar aplicaciones que son dirigidas a

un público objetivo más estricto como lo son los ingenieros, NicMic es una aplicación de

este tipo, la cual posee un bajo peso una vez instalada y una facilidad para acceder a ella,

generando una buena posibilidad para realizar y facilitar los cálculos de la corrección de

Bouguer Simple.

Cuando se realizan trabajos de campos en la mayoría de los casos no se puede disponer

de un computador o puede que su batería no sea capaz de soportar el tiempo necesario para

realizar el trabajo, en cambio un Smartphone sí es capaz de sobrellevar dichos problemas

además de que en muchas ocasiones puede que solo sea necesario corregir 10 puntos lo que

hace engorroso la creación de una hoja de Excel para una cantidad de puntos tan baja, sin

embargo, este problema se ve cubierto por NicMic, la cual en una de sus funciones permite

la corrección individual de los puntos de manera fácil y así mismo se puede guardar la

información simplemente tomando un pantallazo, agilizando el proceso de los cálculos.

NicMic también permite la corrección por puntos de grupos, facilitando cálculos y

ofreciendo una alternativa segura y rápida, lo que claramente proporcionara una eficiencia

mayor a la hora de realizar dichas operaciones, así mismo NicMic es capaz de funcionar en

computadores y Tabletas para que cualquier persona interesada en realizar la corrección

pueda obtenerla sin ningún inconveniente.

NicMic además es una aplicación gratuita, lo que ahorraría gastos innecesarios a las

empresas que realizan mediciones gravimétricas y tienen la necesidad de realizar cálculos de

corrección como el antes mencionado.

Page 20: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

20

3. PLANTEAMIENTO DEL PROBLEMA

Utilizar el campo gravitacional de la Tierra para estudiar su estructura interna, es un

método extremadamente efectivo empleado para demostrar variaciones estructurales en todas

las profundidades y longitudes dentro de la superficie terrestre. (Central Washington

University, 2019)

Una anomalía gravimétrica es el resultado final de restar de la gravedad observada (que

depende de las densidades de los materiales presentes en el suelo y de la latitud del punto

donde se tomaron los datos). Los datos gravimétricos obtenidos en campo deben ser sujetos

a procesos que determinen sus anomalías y así mismo las correcciones necesarias para

obtener.

Para postprocesar los datos obtenidos en campo se hace necesaria la ejecución de cálculos

que son tediosos si se realizan a mano y también en computador, además, en la actualidad no

se cuenta con una aplicación disponible para móviles, que calcule las anomalías y

correcciones gravimétricas en tiempo real y esto sería de gran ayuda para exploraciones

sísmicas y mineras, empresas petroleras y estudios en el campo de la geofísica.

Page 21: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

21

4. OBJETIVOS

4.1. Objetivo General

Desarrollar una aplicación de software móvil que calcule con eficiencia y rapidez

una o varias anomalías gravimétricas y sus correcciones.

4.2. Objetivos Específicos

• Generar una base de ecuaciones como calculadora previa para optimizar procesos

de programación.

• Desarrollar una aplicación que calcule anomalías y correcciones gravimétricas.

• Realizar pruebas a la aplicación para identificar fallos.

• Optimizar procesos de cálculo de anomalías y correcciones gravimétricas.

• Proveer acceso rápido y efectivo a la aplicación para que cualquier persona pueda

hacer uso de ella.

Page 22: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

22

5. MARCO TEÓRICO

5.1. Levantamiento

Así se denomina al trabajo en campo de recolectar datos sobre alguna porción

de terreno.

5.2. Levantamiento altimétrico

Es un levantamiento que consiste en recolectar información acerca de los

puntos de elevación en una porción de terreno, teniendo en cuenta sus

características y elementos -bien sean naturales o hechos por la humanidad- y

plasmarlos gráficamente en un perfil, para demarcar o hacer evidentes las

diferencias de nivel. Se realiza con la ayuda de un nivel topográfico.

5.3. Levantamiento planimétrico

Al igual que el altimétrico, consiste en recolectar datos de una porción de

terreno, despreciando las alturas y teniendo en cuenta los ángulos horizontales y

las distancias; el producto final es una salida gráfica con ángulos, distancias,

orientación e idealmente coordenadas. De forma común, se realiza con teodolito

o estación total.

5.4. Levantamientos especiales

Son todos aquellos trabajos de levantamientos que no se pueden realizar o

llevar a cabo mediante el uso de topografía tradicional y sus equipos (nivel de

precisión, teodolito, estación total).

5.5. Levantamiento arquitectónico

Se realiza con el fin de conocer las características de alguna construcción para

generar una documentación gráfica lo más cercana a la realidad, que permita

hacer, entre otros procedimientos, análisis de datos estructurales.

5.6. Latitud

La latitud es el ángulo comprendido desde la línea del Ecuador hasta algún

punto. Va desde los 0° hasta los 180°.

Page 23: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

23

5.7. Geofísica

Es la aplicación de los principios y prácticas de la Física para la resolución de

los problemas relacionados con la tierra midiendo de modo indirecto las

variaciones de las magnitudes físicas en el espacio y el tiempo.

Como ocurre en otras ciencias, la Geofísica se divide en dos partes Geofísica

Pura y Geofísica Aplicada. Se denomina Geofísica Pura a la investigación del

planeta en que habitamos con fines de conocimiento científico.

Geofísica Aplicada es el estudio de prospectos de interés económico, buscando

anomalías de los campos físicos terrestre utilizando tecnología que le permite

obtener algún beneficio para la humanidad.

El objetivo principal y actual de la Geofísica es la determinación de la estructura

y composición de la Tierra, así como la historia de sus variaciones pasadas,

presentes y futuras. (Museo Virtual del Servicio Geológico Mexicano, 2019)

La geofísica es la caracterización de la geología, las estructuras geológicas, la

contaminación del agua subsuperficial y elementos antrópicos localizados debajo

de la superficie de la Tierra, basados en cartografía lateral y vertical de las

variaciones propias de dichos materiales; este proceso se lleva a cabo mediante

percepción remota utilizando tecnologías no invasivas. Traducido de

(Environmental and Engineering Geophysical Society, 2019)

La geofísica es la investigación no invasiva de las condiciones subsuperficiales

de la Tierra, mediante mediciones, análisis e interpretaciones de campos físicos

de la superficie; se pueden hacer análisis a varias decenas de metros de

profundidad. Traducido de (Environmental and Engineering Geophysical

Society, 2019)

5.8. Gravedad

Es una fuerza de atracción que existe entre dos masas cualesquiera, dos

cuerpos cualesquiera, dos partículas cualesquiera. La gravedad no es solamente

la atracción entre los objetos y la Tierra. Es una atracción que existe entre todos

los objetos, en todos los lugares del universo. Sir Isaac Newton (1642 – 1727)

descubrió que se requiere una fuerza para cambiar la velocidad o la dirección de

movimiento de un objeto. También descubrió que la fuerza llamada “gravedad”

debe hacer que una manzana se caiga de un árbol, lo que hace que los humanos y

animales vivan en un mundo que gira sin ser expulsados al espacio. Además,

dedujo que la fuerza de gravedad existe entre todos los objetos. Traducido de

(NASA, 2001)

Page 24: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

24

Un diagrama aproximado de cómo funciona la gravedad sería así:

Fuente 1(CALCULARTODO, 2019)

Ilustración 1. Diagrama aproximado de cómo interactúa la gravedad.

Por lo tanto,

𝐹 = 𝐺𝑚1𝑚2

𝑑2, 𝐺 = 6.67 × 10−11

Fórmula 1 - Gravedad

Donde:

F = Fuerza de gravedad entre dos cuerpos o masas, en Newton

G = Constante gravitacional

m1 y m2 = Masa 1 y Masa 2, respectivamente

D = Distancia entre el centro de cada cuerpo

5.9. Unidades de la gravedad

1 gal es 1 𝑐𝑚/𝑠2

1 miligal es 0,001 𝑐𝑚/𝑠2

1 gal es 1 𝑐𝑚/𝑠2 ⥤ 1.000 miligales

1 gal es 1 𝑚/𝑠2 ⥤ 100.000 miligales

5.10. Gravedad teórica

Es la gravedad que se obtiene según la latitud de un punto; está dada por la

siguiente ecuación:

𝐺 = −978.0832681(1 + 0.0052789704𝑠𝑒𝑛2𝜑 + 0.0000234611𝑠𝑒𝑛4𝜑)

Fórmula 2 - Cálculo de la gravedad teórica

Donde:

G = Gravedad teórica

= Latitud

Page 25: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

25

5.11. Gravedad observada

Es el valor de la gravedad determinado en un punto, por medio de la

observación directa (péndulos verticales) o cuantificado a partir de

procedimientos indirectos (instrumentos de caída libre y gravímetros).

(Repositorio de Tesis de la Universidad de Sonora, 2019)

5.12. Gravimetría

Es la técnica que permite conocer la diferencia de gravedad que existe en

distintos puntos sobre la superficie terrestre. (Repositorio de Tesis de la

Universidad de Sonora, 2019)

La gravimetría es la rama de la geofísica aplicada que se encarga de estudiar

la distribución de masas dentro de la Tierra. Los levantamientos gravimétricos

usan como parámetro físico el hecho de que distintas unidades geológicas poseen

diferentes densidades. Traducido de (Leibniz Institute for Applied Geophysics,

2019)

5.13. Anomalía gravimétrica

La discrepancia entre el valor de gravedad observado o medido, corregido o

bajado al nivel del mar, geoide o elipsoide y el valor teórico calculado. (Estrada,

2012).

Se describe mediante la siguiente ecuación:

𝐴 = 𝑔0 − 𝑔𝑇

Fórmula 3 - cálculo de anomalías

Donde:

A = Anomalía

Gravimétrica. 𝑔0= Gravedad observada.

𝑔𝑇= Gravedad Teórica

Page 26: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

26

5.13.1. Anomalía de aire libre

Se describe mediante la siguiente ecuación:

𝑨𝑨 = 𝒈𝟎 − 𝒈𝑻 + 𝑪𝑨

Fórmula 4 - Anomalía de aire libre

Donde:

𝐴𝐴 = Anomalía de aire

libre.

𝑔0= Gravedad observada.

𝑔𝑇= Gravedad Teórica.

𝐶𝐴 = Corrección de aire

libre

5.13.2. Anomalía de Bouguer Simple

Se describe mediante la siguiente ecuación:

𝐴𝐵𝑆 = 𝑔0 − 𝑔𝑇 + 𝐶𝐴 − 𝐶𝐵

Fórmula 5 - Anomalía de Bouguer Simple

Donde:

𝐴𝐴 = Anomalía de aire

libre.

𝑔0= Gravedad observada.

𝑔𝑇= Gravedad Teórica.

𝐶𝐴 = Corrección de aire

libre.

𝐶𝐵 = Corrección de

Bouguer.

5.13.3. Anomalía de Bouguer Total

Se describe mediante la siguiente ecuación:

𝐴𝐵𝑆 = 𝑔0 − 𝑔𝑇 + 𝐶𝐴 − 𝐶𝐵 − 𝐶𝐵𝑇

Fórmula 6 - Anomalía de Bouguer Total

Donde:

𝐴𝐴 = Anomalía de aire

libre.

𝑔0= Gravedad observada.

𝑔𝑇= Gravedad Teórica.

𝐶𝐴 = Corrección de aire

libre.

𝐶𝐵 = Corrección de

Bouguer.

Page 27: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

27

5.14. Corrección gravimétrica

La gravedad medida en la superficie de la Tierra generalmente no sirve para

hacer interpretaciones con respecto a las estructuras geológicas, porque varios

efectos diferentes se superponen y encubren las anomalías buscadas. La

separación y eliminación de estos efectos indeseables de la gravedad medida

siempre es el primer paso de la gravimetría aplicada después de las mediciones.

Este proceso es llamado corrección/reducción. Traducido de (Research Group

"Geophysics and Geoinformation", 2019)

5.14.1. Corrección de Aire libre

Se describe mediante la siguiente ecuación:

𝐶𝐴 = −0,3081ℎ (𝑚𝐺𝑎𝑙)

Fórmula 7 - Anomalía de aire libre

Donde h = Altura del punto sobre el nivel del mar en metros

5.14.2. Corrección de Bouguer Simple

Se describe mediante la siguiente ecuación:

𝐶𝐵 = 1.119ℎ (𝑚𝐺𝑎𝑙)

Fórmula 8 - Corrección de Bouguer Simple

Donde h = Altura del punto sobre el nivel del mar en metros

5.14.3. Corrección topográfica (equivalente a Corrección de Bouguer Total)

Se describe mediante la siguiente ecuación:

𝐶𝑇 = 1.119𝑟 (𝑚𝐺𝑎𝑙)

Fórmula 9 - Corrección topográfica

Donde r = Radio utilizado (en metros)

Page 28: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

28

5.15. Sistema operativo

Un sistema operativo es un conjunto de programas que permite manejar la

memoria, disco, medios de almacenamiento de información y los diferentes

periféricos o recursos de nuestra computadora o móvil. (CILSA O.N.G. por la

inclusión, 2019)

Capa compleja entre el hardware y el usuario, concebible también como una

máquina virtual, que facilita al usuario o al programador las herramientas e

interfaces adecuadas para realizar sus tareas informáticas, abstrayéndole de los

complicados procesos necesarios para llevarlas a cabo. (Baz Alonso, Ferreira

Artime, Álvarez Rodríguez, & García Baniello, 2019)

5.16. Aplicación

Una app es una herramienta diseñada para desarrollar una función específica

en una plataforma concreta: móvil, Tablet, tv, pc, entre otros. El término se deriva

de la palabra en inglés application, lo que significa Aplicación, se puede

descargar o acceder a las aplicaciones desde un teléfono o desde algún aparato

móvil – como, por ejemplo, una Tablet o un reproductor MP3. (López Castañeda,

2019)

5.16.1. Aplicaciones nativas

Son todas aquellas que se desarrollan para un sistema operativo en específico.

5.16.2. Aplicaciones web

Son aplicaciones versátiles a las cuales se puede acceder desde distintos dispositivos y no están diseñadas para algún sistema operativo en específico.

5.16.3. Aplicaciones web nativas o híbridas

Son una combinación de la aplicación web y nativa.

5.17. Lenguaje de programación

Los lenguajes de programación son lenguajes de notación artificiales creados

o desarrollados para ser usados al momento de preparar o escribir instrucciones

en forma de código en un computador para posteriormente ser ejecutadas por este.

Usualmente los lenguajes de programación están compuestos por series de reglas

de uso (sintaxis) que determinan los significados (semántica) de las expresiones

escritas en el lenguaje. Cada lenguaje de programación trabaja junto con su

Page 29: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

29

traductor (intérprete o compilador). Traducido de INTRODUCTION TO

COMPUTER PROGRAMMING (BASIC) (Usman, Owoade, Abimbola, &

Ogunsanwo, 2019)

5.18. Android

Es el sistema operativo desarrollado por la empresa de tecnologías Google, y

su lenguaje de programación es Java.

El código fuente de Android es gratuito y todo el mundo puede descargarlo,

personalizarlo y distribuirlo. El modelo de código abierto de Android fomenta la

innovación, ya que ofrece a los fabricantes de dispositivos libertad para

personalizar sus teléfonos y el Sistema Operativo Android y preinstalar las

aplicaciones que deseen. (Google, 2019)

5.19. Blueprint

La ventana Blueprint es una representación detalla de la aplicación, en la cual

se muestran datos de importancia como la ubicación de los elementos con

respecto a los demás y a los bordes de la pantalla del dispositivo. Traducido de

(Taylor, 2005)

5.20. Activity

Dentro de la programación se puede decir que cada ventana que posee una

aplicación es una Activity por consiguiente si una aplicación posee 4 ventanas se

puede decir que contiene 4 “actividades” o “Activities”, todas las Activities están

conformadas por dos partes: la parte lógica y la parte gráfica. La parte lógica es

un archivo .java que es la clase que se crea para poder manipular, interactuar y

colocar el código de esa actividad y la parte gráfica es un XML que tiene todos

los elementos que se van viendo de una pantalla declarados con etiquetas

parecidas a las del HTML. (Desarrolloweb.com, 2019)

5.21. JAVA

JAVA es un lenguaje de programación y una plataforma informática, permite

realizar cualquier tipo de programa y en la actualidad es un lenguaje muy

extendido y cada vez posee más importancia tanto en el ámbito del Internet como

en la informática en general. (Desarrolloweb.com, 2019)

5.22. XML

XML es un metalenguaje, lo que quiere decir que XML no es un lenguaje en

sí mismo, en cambio es un sistema que permite definir lenguajes de acuerdo con

las necesidades; XHTML, MathML y SVG son algunos de los lenguajes que el

XML tiene la capacidad de definir. (Definicion.de, 2019)

Page 30: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

30

5.23. Procesos de optimización

Son todos los procesos que se ejecutan para automatizar al máximo todas las

partes de algún proceso.

5.24. Interfaz de usuario

Es la manera en la que un usuario puede comunicarse o interactuar con una

máquina (generalmente un computador, aunque también se entiende para

móviles), hace referencia al hardware y al software.

5.25. React.JS

React.JS es una librería de código abierto de JavaScript que es utilizada para

desarrollar interfaces de usuario, específicamente para aplicaciones web. Es

utilizada para administrar las capas visibles (front end) para aplicaciones web y

móviles, a la vez que permite desarrollar interfaces de usuario reutilizables. Fue

creada por Jordan Walke, un ingeniero de software que trabaja para Facebook.

Traducido de (C# Corner, 2019)

5.26. Node.js

Está diseñada para crear aplicaciones de red escalables. Es un intérprete de

JavaScript que funciona como back end, donde se puede ejecutar código de forma

eficiente.

5.27. Componente

Los componentes permiten separar la interfaz de usuario en piezas

independientes, reutilizables y pensar en cada pieza de forma aislada.

Conceptualmente, los componentes son como las funciones de JavaScript.

Aceptan entradas arbitrarias (llamadas “props”) y devuelven a React elementos

que describen lo que debe aparecer en pantalla. (React.JS, 2019)

5.28. Clase

Son funciones que se utilizan para generar nuevos objetos.

5.29. Compilación

Es el proceso mediante el cual un intérprete (compilador) traduce el código

fuente escrito por el programador, en lenguaje máquina que el computador o

dispositivo puede interpretar y ejecutar las órdenes que el usuario solicitó

mediante el código fuente.

Page 31: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

31

5.30. Servicio Amazon S3

Amazon Simple Storage Service es un servicio de almacenamiento para Internet. Está diseñado para facilitar a los desarrolladores recursos de computación escalables basados en Web.

Amazon S3 tiene una interfaz de servicios web simple que puede utilizar para

almacenar y recuperar cualquier cantidad de datos, en cualquier momento, desde

cualquier parte de la web. Ofrece a cualquier desarrollador acceso a la misma

infraestructura de almacenamiento de datos económica, altamente escalable,

fiable, segura y rápida que utiliza Amazon ara mantener su propia red global de

sitios web. Este servicio tiene como fin maximizar los beneficios del escalado y

trasladarlos a los desarrolladores. (Amazon, 2019)

5.31. Bucket

En términos de implementación, los buckets son contenedores de objetos y

Amazon S3 proporciona Application Program Interfaces (API, Interfaces de

programación de aplicaciones) para que pueda administrarlos. Por ejemplo, puede

crear un bucket y cargar objetos con la API de Amazon S3. También puede usar

la consola de Amazon S3 para realizar estas operaciones. La consola utiliza las

API de Amazon S3 para enviar solicitudes a Amazon S3.

Un nombre de bucket de Amazon S3 es globalmente único y todas las cuentas

de AWS comparten el espacio de nombres. Esto significa que, una vez que se crea

un bucket, ninguna otra cuenta de AWS de ninguna otra región de AWS puede

usar el nombre de ese bucket hasta que el bucket se elimina. No debe confiar en

convenciones específicas de nomenclatura de buckets para propósitos de

verificación de la seguridad o disponibilidad. (Amazon, 2019)

5.32. Código QR

Un código QR es un código de barras bidimensional cuadrada que puede

almacenar los datos codificados. La mayoría del tiempo los datos es un enlace a un

sitio web (URL) (Unitag, 2019).

Page 32: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

32

6. METODOLOGÍA

El desarrollo de la aplicación se ejecutará en tres grandes pasos:

6.1. Desarrollo de una base de ecuaciones como calculadora previa

Esto con el fin de tener una plantilla de cálculos e interfaz visual ya definida

para que, al momento de programar la aplicación, sea mucho más fácil y sencillo

hacerlo.

6.2. Desarrollo de la aplicación en Android Studio

La programación base de la aplicación se realizó en el programa Android

Studio en los lenguajes de programación XML y Java para versiones de Android

comprendidas entre 4.2 a 10.

6.3. Desarrollo de la aplicación web en React.JS

La programación de la ventana para calcular grupos de puntos en la aplicación

se realizó en la biblioteca / framework React.JS, utilizando lenguajes tales como

HTML, JavaScript y CSS.

7. DESARROLLO DE LA PROPUESTA

7.1. Base de cálculos

Se generó una calculadora base como guía, para tener establecidos los pasos a

seguir, la distribución de los botones, qué datos se iban a solicitar al usuario de la

futura aplicación y los resultados esperados de un ejercicio solucionado

previamente.

7.1.1. Datos suministrados por el usuario

Para el cálculo de las anomalías y correcciones gravimétricas en la base de

cálculos, el usuario deberá suministrar la latitud del punto en grados, minutos y

segundos, la gravedad observada (se obtiene del gravímetro), la densidad, el radio

utilizado y la altura en metros sobre el nivel del mar.

Page 33: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

33

La base de caculos se optimizó de forma tal que una vez el usuario suministre

los datos de latitud, se hacen los cálculos para obtener la latitud en números

decimales.

A su vez, la base de cálculos fue optimizada para que tan pronto como se

obtenga la latitud en decimales, se calculen los siguientes datos:

• Gravedad teórica

• Anomalía de la gravedad

• Corrección de aire libre

• Anomalía de aire libre

• Corrección de Bouguer Simple

• Anomalía de Bouguer Simple

• Corrección Topográfica

• Anomalía de Bouguer Total

Se hicieron varias calculadoras base en el software Excel de Microsoft, pero finalmente

se eligió el diseño que fuera más cómodo a la vista y sencillo de utilizar.

Fuente 2. Elaboración propia.

Ilustración 2. Propuesta 1 de calculadora en Excel

Page 34: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

34

Fuente 3. elaboración propia

Ilustración 3. Propuesta 2 de calculadora en Excel

Fuente 4. elaboración propia

Ilustración 4. Propuesta 3 de calculadora en Excel

Page 35: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

35

7.2. Programación en Android Studio

Para comenzar la programación primero se deben configurar las versiones de Android que

serán instaladas en los emuladores de los diferentes dispositivos en los cuales se realizarán

las pruebas de la aplicación.

Fuente 5. Elaboración propia

Ilustración 5. Instalación de las versiones de Android 8.1, 9 y 10

De esta forma se descargan los complementos de compatibilidad de las versiones de

Android 8.0(Oreo), 8.1(Oreo), 9.1 y 10.

Ya una vez descargadas las diferentes versiones de Android se procede a iniciar el

programa, en la ventana de inicio del programa para esto solo se accede a la opción “Start a

new Android Studio Project”.

Fuente 6. Elaboración propia

Ilustración 6. Ventana de inicio Android Studio

Page 36: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

36

Inmediatamente después el programa pedirá seleccionar el tipo de pestaña o Activity y

para este caso será una Activity en blanco.

Fuente 7. Elaboración propia.

Ilustración 7. Ventana tipos de Activities

En la ventana siguiente se puede asignar un nombre a la aplicación y una ruta donde se

guardarán los diferentes archivos generados durante la programación; en este caso, la ruta se

deja por defecto y se le asigna el nombre “NicMic” además también se puede seleccionar el

tipo de lenguaje de programación entre Java y Kotlin, el cual también se dejará por defecto

con el lenguaje Java.

Fuente 8. Elaboración propia.

Ilustración 8. Nombre, ruta de guardado y lenguaje de programación de la aplicación.

Page 37: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

37

En la opción “minimum API level” se hace referencia a la versión mínima de Android que

soportará la app, para el desarrollo de esta aplicación se seleccionó un API 15 que hace

referencia a la versión de Android 4.0.1 y que estima más de un 99.6% de compatibilidad

con los distintos dispositivos Android, garantizando así la mayor cobertura respecto a la

población mundial que dispone de un Smartphone Android.

Fuente 9. Android Studio.

Ilustración 9. Cantidad relativa de usuarios de cada versión de Android.

Una vez configurado lo antes mencionado, el programa se inicia automaticamente, donde

lo primero que se muestra es la ventana de acción con la vista de la Activity y el blueprint

que permiten mediante el lenguaje de programación XML realizar el diseño grafico de la

aplicación.

Fuente 10. Elaboración propia.

Ilustración 10. Ventana gráfica de Android Studio.

Page 38: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

38

7.2.1. Diseño gráfico de la aplicación

Primero se cargan las imágenes que se usarán en el diseño de la aplicación, para esto hay

que ir a la carpeta Res, luego en la carpeta Drawable y se hace clic derecho para finalmente

seleccionar la opción “Paste”.

Fuente 11. Elaboración propia.

Ilustración 11. Opción Paste que permite agregar imágenes a la aplicación.

De inmediato se desplegará una ventana donde se puede seleccionar las imágenes que

vamos a utilizar es necesario tener en cuenta que exista la condición en la cual se debe tener

el nombre de la imagen en minúsculas, así mismo no puede llevar caracteres especiales

incluyendo el espacio.

Fuente 12. Elaboración propia.

Ilustración 12. Cuadro de diálogo para subir una imagen al programa.

Page 39: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

39

El siguiente paso consiste en activar la ventana de programación strings que permite

programa en el lenguaje XML, para esto simplemente se busca en la ruta Res, values y luego

strings.

Fuente 13.Elaboración propia.

Ilustración 13. Inicio de la ventana Strings.

Una vez activa la ventana “Strings” se procede a programar los ID de cada complemento

que contendrá la Activity. Para este caso este Activity solo contendrá 3 botones que tendrar

los IDs “Boton_A1_1”, “Boton_A2_2””Boton_A3_3” en esta misma ventana se le asigna el

nombre que se mostrará al usuario sobre el botón que serán “Punto individual”, “Grupo de

puntos” y “Detalles” respectivamente.

Fuente 14. Elaboración propia.

Ilustración 14. Programación en XML para asignación de ID en los botones.

Page 40: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

40

Continuando en la ventana “All atributes” se cargan las imágenes que se subieron en el

punto anterior (véase página 39), para esto se hace uso de la opción “background”

Fuente 15.Elaboración propia.

Ilustración 15. Cambio de fondo de la aplicación.

En la sección Project se escoge la imagen que se desea y esto se puede hacer ya sea según

su nombre o la previsualización pues ambos atributos son mostrados a l usuario por Android

Studio.

Fuente 16. Elaboración propia.

Ilustración 16. Previsualización de las imágenes subidas para el fondo.

Page 41: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

41

Luego se agregan los elementos gráficos que interactuarán directamente con el usuario;

simplemente es necesario seleccionar los componentes que se quieren añadir y se arrastran

hacia la previsualización de la Activity.

Fuente 17. Elaboración propia.

Ilustración 17. Panel de componentes para asignar a la Activity.

Una vez seleccionados y ubicados los componentes se les asigna una ubicación especifica

con respecto a los bordes de la pantalla y de los otros componentes a su alrededor.

Fuente 18. Elaboración propia.

Ilustración 18. Ubicación espacial de los componentes.

Page 42: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

42

Ahora en la sección Constraints se puede editar la altura y la longitud de cada componente,

también es posible editar el texto que se desea mostrar para esto se realiza una vinculación

desde la ventana “Strings” en la ilustración 19 mediante el comando Ctrl + espacio y luego

se selecciona según el ID con el cual se programó.

Fuente 19. Elaboración propia.

Ilustración 19. Vinculación de los ID en XML con la vista gráfica.

Para finalmente tener los nombres programados de la siguiente forma:

Fuente 20. Elaboración propia.

Ilustración 20. Resultado final de la ventana de inicio.

Page 43: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

43

Ahora se selecciona cada botón de forma individual y se modifican algunos aspectos

estéticos tales como su forma, aspecto y color; en este caso se redondean los bordes. Nota:

estos componentes pueden cambiar según las pruebas realizadas en cada dispositivo).

Fuente 21. Elaboración propia.

Ilustración 21. Cambio en el estilo y característica del botón.

Fuente 22. Elaboración propia.

Ilustración 22. Estilo nuevo de los botones.

Page 44: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

44

7.2.2. Rotación automática

En muchos casos los usuarios suelen usar sus celulares con la rotación automática activa

y es necesario considerar este factor a la hora de programar, para evitar posibles cierres

inesperados de la aplicación cuando el usuario coloque de manera horizontal su smartphone,

esto se realiza desde la ventana de programación en XML que el programa dispone y que se

encuentra en la parte inferior izquierda con el nombre “Text”.

Fuente 23. Elaboración propia.

Ilustración 23. Ventana Text.

Una vez en dicha ventana se cambia la primera línea de código que indica la orientación

de la Activity y se reemplaza por el comando “RelativeLayout” que permitirá a la Activity

funcionar tanto en forma vertical como en horizontal.

Fuente 24. Elaboración propia.

Ilustración 24. Ventana Text de programación

Page 45: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

45

7.2.3. Creación de las demás Activities

Para poder crear una segunda Activity dando clic derecho sobre “App” se selecciona la

opción New luego a Activity y finalmente se selecciona Empty Activity.

Fuente 25. Elaboración propia.

Ilustración 25. Creación de una nueva Activity.

Se desplegará inmediatamente una ventana donde se permite asignarle el nombre a la

nueva Activity y así mismo cambiar algunas propiedades como el lenguaje de programación,

para la programación de la app se dejarán todas las funciones por defecto.

Fuente 26. Elaboración propia.

Ilustración 26. Características de la nueva Activity.

Page 46: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

46

7.2.4. Vinculación entre Activities

Ahora ubicados a la Activity principal o Activity de bienvenida que se encuentra con el

nombre Main Activity, se programan las clases de tipo Public Void para ser asignadas a los

botones que vincularán a las otras Activities creadas.

Fuente 27. Elaboración propia.

Ilustración 27. Programación de la vinculación entre las otras Activities.

Se le asigna cada clase main a los respectivos botones para de esta forma el usuario al

tocar cada botón o interactuar con él será enviado a la Activity correspondiente.

Fuente 28. Elaboración propia.

Ilustración 28. Asignación de la clase creada.

Page 47: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

47

7.2.5. Activity “Detalles”

De la misma manera en que se programó a la Activity inicial se programa la Activity

Detalles con el fondo y se le asigna en este caso un TextView.

Fuente 29. Elaboración propia.

Ilustración 29. Demostración Activity Detalles.

En la ventana “Strings” se programa en XML el texto que se mostrar en dicho TextView

tal como se muestra en la Ilustración 14.

Fuente 30. Elaboración propia.

Ilustración 30. Programación ventana Strings.

Page 48: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

48

Por estética se asignaron varios TextView:

Fuente 31. Elaboración propia.

Ilustración 31. Resultado base de la Activity Detalles.

Finalmente se agrega un botón que permita al usuario volver a la Activity inicial.

Fuente 32. Elaboración propia.

Ilustración 32. Botón "volver" Activity Detalles.

Page 49: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

49

7.2.6. Activity “Calcular”

Esta pestaña o Activity contiene los componentes ya nombrados en las Activities anteriores

con algunos elementos adicionales como un Scrollview que permite al usuario desplazarse

por la pantalla de manera vertical además se agregó una serie de EditText donde el usuario

podrá introducir los datos.

Fuente 33. Elaboración propia.

Ilustración 33. Ubicación espacial del Scrollview.

NOTA: El Scrollview debe ir acompañado de un LinearLayout en el cual se introducirán

los demás complementos.

Fuente 34. Elaboración propia.

Ilustración 34. Componente Scrollview.

Page 50: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

50

Debido a que se debe agregar cada componente dentro del LinearLayout es necesario

asignar cada EditText y cada TextView, así como los botones desde la ventana “Text” de

código en XML mediante sus respectivos nombres en código, así como sus ID, su ubicación

espacial en la pantalla y sus dimensiones.

Fuente 35. Elaboración propia.

Ilustración 35. Programación XML para la Activity Detalles.

Una vez el usuario introduzca los datos, estos deben ser extraídos y vinculados a variables

dentro del código en Java de esta Activity; para que esto sea posible primero se debe utilizar

variables de tipo Private según su tipo ya sea EditText o TextView y asignarla dentro del

código Java.

Fuente 36. Elaboración propia.

Ilustración 36. Creación de variables en Java.

Page 51: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

51

Luego se extraen los datos que el usuario introdujo en los EditText mediante la

herramienta findViewById que permite extraer información basándose en el ID de los

componentes que se encuentren dentro de la clase de tipo R, y dichos valores son reasignados

a las variables de tipo privados que se encuentran en Java.

Fuente 37. Elaboración propia.

Ilustración 37. Vinculación de datos introducidos por el usuario y variables en Java

Page 52: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

52

También como lo hecho con la Activity Detalles se creó el botón de devolver y se asigna

otra clase en Public con la cual el usuario podrá iniciar los cálculos.

Fuente 38. Elaboración propia.

Ilustración 38. Creación nueva clase Public.

Page 53: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

53

Para Trabajar con números decimales en Java es necesario usar variables de tipo

“Double”, pero posteriormente se debe reducir la cantidad de decimales que el programa

reconozca y para las variables de tipo entero se usa el tipo “int”.

Fuente 39. Elaboración propia.

Ilustración 39. Tipo de variables según el tipo "Int" o "Double".

Se programan las fórmulas según lo establece el método y utilizando la base de cálculos

como guía, se obtiene:

Fuente 40. Elaboración propia.

Ilustración 40. Cálculos.

Page 54: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

54

Finalmente se asigna una variable con el nombre “Resultado” que será de tipo “string” y

se encargará de recoger los resultados de cada cálculo para finalmente en un TextView

mostrárselos al usuario.

Fuente 41. Elaboración propia.

Ilustración 41. Variable resultados.

De esta forma el resultado final con la línea de código sería:

Fuente 42. Elaboración propia.

Ilustración 42. Solución mostrada al usuario.

Page 55: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

55

Y como se hizo con los demás botones, se asigna el código hecho al botón “Calcular”:

Fuente 43. Elaboración propia.

Ilustración 43. Asignación de las clases

7.3. Cambio del icono de la aplicación

El icono es la imagen de presentación de la aplicación este se mostrará en el escritorio del

usuario entre sus otras aplicaciones y podrá verse también en la sección de aplicaciones en

segundo plano.

Page 56: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

56

Para poder realizar el cambio del icono según una imagen antes creada, dando clic derecho

a la carpeta app luego new y finalmente en “Image Asset” donde se desplegará la ventana de

edición con las diferentes previsualizaciones del icono según la circunstancia.

Fuente 44. Elaboración propia.

Ilustración 44. Edición de iconos.

Se generará un logo para todas las condiciones de la app (como el estado inactivo, la

función en segundo plano o la Play Store)

En Asset Type se selecciona la imagen y luego en Path se busca la imagen creada y se

ajusta al criterio del programador; en este caso se optó por dejarla así:

Fuente 45. Elaboración propia.

Ilustración 45. Resultado final del icono seleccionado.

Page 57: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

57

Una vez ya creado el logo y se programa para que aparezca en el Action Bar con la

siguiente línea de código

Fuente 46. Elaboración propia.

Ilustración 46. Código de programación para mostrar el logo de la aplicación.

7.4. Desarrollo de la aplicación web en React.JS

La idea es desarrollar una aplicación web sencilla que permita al usuario subir un archivo

en formato .txt o .csv

Lo primero para desarrollar aplicaciones en cualquier lenguaje, es descargar el código

fuente de ese lenguaje para tener acceso a las bibliotecas y herramientas de este, así que se

procede a descargar e instalar Node.JS, que es el código fuente de JavaScript que permite

trabajar del lado del servidor, lo que hace que sea un entorno de desarrollo de interfaz de

usuario mucho más eficiente, haciendo que el servidor en sí mismo soporte miles de

conexiones al tiempo. En este caso se trabajó con un computador con Windows como sistema

operativo de 64 bits.

Fuente 47. Elaboración propia.

Ilustración 47. Descarga de la biblioteca JavaScript.

Page 58: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

58

7.4.1. Crear espacio en la máquina para alojar la aplicación de React.JS

Hay que abrir la terminal cmd, escribir “cd” seguido de un espacio y la ubicación donde

se quiere guardar la aplicación generada.

A continuación, se escribe la orden npx create-react-app nicmic. Inmediatamente el

framework empezará a crear el espacio en la máquina para alojar la aplicación con todas sus

carpetas, este proceso puede tardar varios minutos.

El resultado es este, desde el explorador de archivos de la computadora se visualiza el

proyecto:

Fuente 48. Elaboración propia.

Ilustración 48. Carpeta de la aplicación creada según la ruta.

7.4.2. Ejecutar la aplicación recién creada

Posteriormente es necesario abrir de nuevo la terminal cmd, digitar “cd” seguido de la ruta

donde está la aplicación alojada, se presiona Enter y posteriormente se escribe la orden “npm

start” y Enter nuevamente.

Fuente 49. Elaboración propia.

Ilustración 49. Activación en el LocalHost de la aplicación creada.

Page 59: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

59

Esto hará que se ejecute la aplicación y se abra una ventana en el explorador de internet

que por defecto tiene asignado la computadora, un servidor local (localhost:3000) con el

contenido de la aplicación.

Fuente 50. Elaboración propia.

Ilustración 50. Ventana de la aplicación en blanco creada.

Como la aplicación todavía tiene todas sus carpetas vacías y sin código, saldrá una pestaña

del explorador de internet que dirá que no se puede acceder a este sitio web, pero esto irá

cambiando a medida que se agregue código.

7.4.3. Escribir código para la aplicación

Para escribir código es necesario un editor de texto bien estructurado y hecho

precisamente para desarrolladores, en este caso se recomienda utilizar Atom. (Disponible en

atom.io (Atom, 2019))

Fuente 51. Elaboración propia.

Ilustración 51. Descarga del software Atom.

Page 60: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

60

La instalación y primera ejecución de Atom puede tardar varios minutos, para luego

enseñar al usuario esta pantalla con dos paneles.

Fuente 52. Elaboración propia.

Ilustración 52. Ventana de inicio del software Atom.

Para empezar a escribir código, se puede hacer de dos formas: en el panel de la izquierda

llamado Project, habrá que arrastrar la carpeta que se creó con React.JS, en donde está todo

el proyecto de la aplicación o en el botón Open Project, habrá que buscar entre los archivos

del computador, la carpeta que contiene el proyecto de React.JS.

Al abrir el proyecto en Atom, se visualizará el siguiente panel, que contiene las mismas

carpetas y archivos creados por React.JS.

Fuente 53. Elaboración propia.

Ilustración 53. Comparación carpeta React y las carpetas en Atom.

React.JS es una biblioteca que trabaja mediante componentes; Los componentes permiten

separar la interfaz de usuario en piezas independientes, reutilizables y pensar en cada pieza

de forma aislada. (React.JS, 2019).

Page 61: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

61

Es importante aclarar que la carpeta node_modules es un directorio que es creado cuando

se ejecuta el comando “npm install”; la carpeta build será la que contenga todos los scripts y

códigos necesarios que se subirán posteriormente a un servidor web.

Para este proyecto se crearon dos componentes dentro de la carpeta src: uno llamado

AppliedRoute.js, mediante la siguiente línea de código:

Fuente 54. Elaboración propia.

Ilustración 54. Creación de componentes.

Este componente hará que la página se renderice de nuevo después de procesar todos los

datos que el usuario suministre y mediante los Props, se pasarán datos de componentes

“padres” a componentes “hijos” y no se pueden modificar.

El segundo componente creado, se llama ExtractFiles.js que es donde estará alojado el

código más importante de la aplicación y que alojará un botón que será el que al ser oprimido,

hará que se ejecute el algoritmo destinado a procesar todos los datos y generar un reporte con

los resultados.

La vista parcial de la aplicación web es esta:

Fuente 55. Elaboración propia.

Ilustración 55. Vista parcial de la aplicación.

El código para crear botones es el siguiente:

Fuente 56. Elaboración propia.

Ilustración 56. Código de para la creación de botones.

Page 62: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

62

Se solicitará al usuario que suba un archivo en formato .txt o .csv con los datos de

gravimetría que desea procesar, así que se escribe código para permitir dichos formatos

mediante este código con la función o clase files:

Fuente 57. Elaboración propia.

Ilustración 57. Código solicitud clase file para archivos formatos .csv y .txt.

Una vez el usuario haya subido su archivo, el computador o teléfono deberá analizar el

documento para separar cada tipo de dato y ubicarlo en su correspondiente clase.

Como los archivos con los datos de gravimetría contendrán valores de varias variables, es

indispensable establecer un orden para que el usuario organice sus datos antes de subirlos a

la aplicación. El orden de las columnas del formato .txt o .csv elegido por los desarrolladores

es este:

1) ID (número)

2) Grados

3) Minutos

4) Segundos

5) Altura (en metros)

6) Densidad

7) Radio utilizado (metros)

8) Gravedad observad

Para que el archivo de texto sea “leído” por la máquina y separado por líneas, es decir,

pasar de un dato tipo string a un array, será necesario utilizar el comando “Split” y el código

es este, que a su vez dará un Enter cuando se llegue al final de los datos de un solo punto:

Fuente 58. Elaboración propia.

Ilustración 58. Código lectura de los archivos.

Page 63: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

63

Luego se ingresan mediante distintas funciones, las variables que tendrá cada columna de

archivo de datos, y se ingresan en el orden anteriormente establecido:

Fuente 59. Elaboración propia.

Ilustración 59. Variables asignadas para los cálculos.

Como todos los datos de variables pueden contener decimales, se cambia el tipo de dato

Int por un Float.

Ahora hay que desarrollar la calculadora en sí misma, la que procesará todos los datos, lo

que hay que hacer es crear funciones: una función por cada operación, así:

Fuente 60. Elaboración propia.

Ilustración 60. Creación de cada función según su operación.

Finalmente, y después de modificar los textos de cada componente, la vista final de la app

web queda así:

Fuente 61. Elaboración propia.

Ilustración 61. Vista final app web.

Page 64: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

64

7.5. Publicación de la app web

Como la aplicación fue desarrollada desde un servidor local y personal, será necesario

subirla a algún servidor global que sirva de alojamiento en la nube y que permita que

cualquier persona alrededor del mundo pueda utilizarla, en caso contrario, la persona que

quisiera utilizarla debería tener todo el código de la aplicación en su dispositivo. En este

orden de ideas, es necesario buscar la forma de alojar la aplicación en algún servidor de

acceso mundial, y bajo la recomendación Jhon Guzmán, un ingeniero experto en desarrollo

de aplicaciones de todo tipo y que ostenta el título de ser el único Elastic Certified Engineer

en Colombia, se decidió utilizar la plataforma Amazon Web Services.

7.5.1. Amazon Web Services (AWS)

Amazon Web Services (AWS) es la plataforma en la nube más

adoptada y completa en el mundo, que ofrece más de 175 servicios

integrales de centros de datos a nivel global. Millones de clientes,

incluyendo las empresas emergentes que crecen más rápido, las

compañías más grandes y los organismos gubernamentales líderes,

están utilizando AWS para reducir los costos, aumentar su agilidad

e innovar de la forma más rápida. (Amazon, 2019)

7.5.2. Creación de la cuenta en AWS

Para acceder a los servicios web de Amazon, es necesario registrarse, y el proceso es el

siguiente:

Fuente 63. Elaboración propia.

Ilustración 63. Registro en el servicio web de Amazon.

Ilustración 62. Logo

Amazon Web Services

Fuente 62. (Amazon, 2019)

Page 65: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

65

Es importante aclarar que para crear una cuenta en AWS es necesario tener una tarjeta de

crédito, pues efectuarán un cobro inmediato para validar la cuenta; en este caso, el cobro fue

de $3522.48 pesos colombianos.

Fuente 64. Elaboración propia.

Ilustración 64. Pago realizado por los servicios de AWS.

7.5.3. Compilación de la aplicación en el entorno local

Una vez finalizado el desarrollo de la aplicación, hay que compilarla para detectar los

posibles errores de sintaxis que harían que la aplicación no funcionase bien o simplemente

no lo hiciera.

Para ejecutar la compilación, se abre la terminal cmd, se va a la ubicación de la carpeta

que contiene alojada la aplicación y se escribe el comando npm run build.

Page 66: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

66

7.5.4. Creación del bucket

En la sección de S3 de Amazon Web Services, aparecerá la opción de crear un nuevo

bucket: Hay que introducir el nombre deseado para el bucket y la página arrojará si es válido

o no, la región seleccionada deberá ser la más cercana a la localidad donde se desarrolló la

aplicación y posteriormente configurar el bucket.

Fuente 65. Elaboración propia.

Ilustración 65. Creación y configuración del Bucket.

Colombia no está dentro de las regiones disponibles en AWS, así que se seleccionó el

Norte de California por ser la más cercana.

7.5.5. Alojamiento de la app web dentro del bucket creado en S3

Fuente 66. Elaboración propia.

Ilustración 66. Alojamiento de la aplicación en el Bucket.

Page 67: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

67

Como el bucket está vacío, habrá que ingresar en él el contenido de la carpeta build de la

aplicación, así:

Fuente 67. Elaboración propia.

Ilustración 67. Ingreso de la carpeta Build en el Bucket.

Al hacer clic en el enlace index.html, la página dirige al usuario a otra ventana con esta

URL: https://nicmic.s3-us-west-1.amazonaws.com/index.html , donde podrá encontrar la

aplicación web disponible para cualquier parte del mundo.

Fuente 68. Elaboración propia.

Ilustración 68. Resultado final de la aplicación

Page 68: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

68

7.6. Generación del código QR

Una vez subido el archivo de la APK al Google Drive personal de uno de los autores, se

generó un vínculo compartido mediante un enlace; posteriormente, en la página web

www.codigos-qr.com/generador-de-codigos-qr/ se obtuvo el siguiente código QR.

Fuente 69. Elaboración propia.

Ilustración 69. Código QR

7.7. Pruebas

Se realizaron pruebas en diversos dispositivos teniendo en cuenta características tales

como la marca y la versión de Android, como se muestra en la siguiente tabla:

Tabla 5 - Cuadro de pruebas

Marca Modelo Versión

de Android

¿Funciona? ¿Se

visualiza

bien?

Parche de

seguridad

Huawei P9 Lite - Sí No -

Huawei P20 Lite 9.0 Sí Sí 6/octubre/2019

Xiaomi Redmi Note 8 - Sí No 1/octubre/2019

Motorola Moto E4 Plus 7.1.1 Sí Sí 5/agosto/ 2018

Huawei P Smart 2019 9.0 Sí Sí 6/octubre/2019

Motorola One 9.0 Sí Sí 1/noviembre/2019

Huawei Y9 2019 9.0 Sí Sí 6/octubre/2019

Samsung Galaxy J8 9.0 Sí No 1/agosto/2019

Huawei Mate 20 Lite 9.0 Sí Sí -

Motorola G7 9.0 Sí Sí -

Xiaomi Redmi Note 7 9.0 Sí No -

Page 69: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

69

8. DIAGRAMA DE FLUJO

Page 70: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

70

9. CONCLUSIONES Y RECOMENDACIONES

• La aplicación calcula con eficiencia hasta 9.000 puntos de forma simultánea, con

su función “grupo de puntos” siempre y cuando tenga una conexión a internet,

cumpliendo así el objetivo general con el que se planteó este proyecto.

• Es indispensable que se fortalezcan los contenidos vistos dentro de las asignaturas

de lógica de programación e ingeniería de software que los estudiantes de

Ingeniería Topográfica de la Universidad Distrital Francisco José de Caldas deben

atender dentro de su currículo obligatorio de materias.

• Al desarrollar una aplicación híbrida, es necesario tener conocimientos básicos y

avanzados de lenguajes de programación para mezclar las diferentes interfaces

necesarias para desarrollar la parte móvil y web de las aplicaciones.

• Se desarrolló una aplicación híbrida que le permite al usuario elegir entre las

opciones de calcular las anomalías y correcciones gravimétricas para un punto

individual o para un conjunto de puntos.

• La biblioteca elegida para desarrollar la aplicación web es React.JS, que al ser

una biblioteca de código abierto y reutilizable hace que programar sea mucho más

intuitivo.

• Para hacer que la aplicación web funcione desde cualquier lugar del mundo y no

solo desde el servidor local, fue necesario comprar un dominio web que permitió

alojar ahí el código.

• Se utilizaron los lenguajes de programación Java, JavaScript, XML y el lenguaje

de marcado HTML para desarrollar la aplicación tanto en Android Studio como

en React.JS.

• La calculadora desarrollada como base previa a la programación cumple con la

función para la que fue programada, pues el usuario fácilmente y de forma intuitiva puede suministrar los datos requeridos para obtener los cálculos finales

que satisfacen los problemas presentados al iniciar este trabajo.

• Por problemas técnicos, no fue posible emular virtualmente distintos teléfonos,

con lo cual fue necesario hacer pruebas en teléfonos físicos.

• Se probó la aplicación de dos formas: instalando directamente el APK de la

aplicación en el teléfono y depurándola mediante USB directamente desde el

computador.

Page 71: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

71

• Se realizaron pruebas de la aplicación en distintos modelos y marcas de teléfonos,

encontrando que en algunas referencias de Huawei, Xiaomi y Samsung no se

visualiza correctamente la aplicación; esto es debido a los colores utilizados

durante el desarrollo de esta.

• No fue posible emular distintos teléfonos de forma virtual, lo que llevó a la

obligación de probar la aplicación en teléfonos físicos.

• Se realizaron pruebas de la aplicación en 11 modelos distintos y marcas de

teléfonos, encontrando que en algunas referencias de Huawei, Xiaomi y Samsung

no se visualiza correctamente la aplicación; esto es debido a los colores utilizados

durante el desarrollo de esta.

• Los porcentajes de cobertura del parche de seguridad de Android del 1 y 5 de

agosto, el 1 de octubre de 2019 y el 1 de noviembre de 2019 es de 9.1% cada uno,

el 6 de octubre de 2019 el 27.3% y no se conoce información referente al parche

de seguridad del 36.4% del total de teléfonos.

• Los algoritmos planteados para desarrollar esta aplicación convierten complejas

y extensas ecuaciones en sencillos pasos que hacen que la aplicación sea ligera.

• Fue necesario desarrollar varias versiones de la base de cálculos en Excel, de

forma previa a la aplicación en Android, para saber cuál sería la opción más

adecuada, fácil, sencilla e intuitiva que tendría el usuario final.

• Generar un código QR facilita a los usuarios instalar la aplicación.

• Aunque no es posible calcular un grupo de puntos sin una conexión a internet sí

es permisible realizar cálculos para un punto individual; lo que facilita realizar

correcciones de puntos olvidados en lo cálculos previos, o puntos que se desean

verificar directamente en campo, pues tal proceso no requiere de una conexión a

internet.

Page 72: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

72

10. BIBLIOGRAFÍA

Amazon. (10 de Diciembre de 2019). Amazon Web Services. Obtenido de

https://aws.amazon.com/es/what-is-aws/?nc1=f_cc

Atom. (12 de Diciembre de 2019). ATOM. Obtenido de atom.io

Baz Alonso, A., Ferreira Artime, I., Álvarez Rodríguez, M., & García Baniello, R. (2019).

Dispositivos móviles.

C# Corner. (17 de Noviembre de 2019). Obtenido de What is ReactJS and why should we

use ReactJS: https://www.c-sharpcorner.com/article/what-and-why-reactjs/

CALCULARTODO. (20 de Octubre de 2019). Obtenido de

HTTPS://WWW.CALCULARTODO.COM/MECANICA/FUERZA-DE-

GRAVEDAD.PHP

Central Washington University. (20 de Octubre de 2019). Department of Geological

Sciences. Obtenido de

http://www.geology.cwu.edu/facstaff/tim/TEACHING/Geophysics/gravity_geoid.p

df

CILSA O.N.G. por la inclusión. (9 de Noviembre de 2019). Obtenido de

https://desarrollarinclusion.cilsa.org/tecnologia-inclusiva/que-es-un-sistema-

operativo/

Definicion.de. (23 de Noviembre de 2019). Definición.de. Obtenido de

https://definicion.de/xml/

Desarrolloweb.com. (15 de Noviembre de 2019). Desarrolloweb.com. Obtenido de

https://desarrolloweb.com/articulos/android-que-es-una-activity-o-actividad.html

Environmental and Engineering Geophysical Society. (20 de Octubre de 2019). Obtenido de

EEGS Foundation: https://www.eegs.org/what-is-geophysics-

Estrada, L. (2012). Universidad Nacional de Tucumán. Obtenido de Facultad de Ciencias

Exactas y Tecnología Departamento de Geodesia y Topografía: https://www.liag-

hannover.de/fileadmin/user_upload/dokumente/grundwassersysteme/burval/buch/05

1-064.pdf

García-Lobón, J., & Ayala, C. (2007). Cartografía geofísica de la República Dominicana:

datos de densidad, susceptibilidad magnética y magnetización remanente. Madrid.

Google. (2019). Android. Obtenido de https://www.android.com/intl/es_es/everyone/

Leibniz Institute for Applied Geophysics. (29 de Octubre de 2019). Obtenido de

https://www.liag-

hannover.de/fileadmin/user_upload/dokumente/grundwassersysteme/burval/buch/05

1-064.pdf

Page 73: NICMIC: LA APLICACIÓN PARA MÓVILES QUE CALCULA …repository.udistrital.edu.co/bitstream/11349/23026... · lenguaje del alma y del amor. Y aunque me encantaría que los perritos

73

López Castañeda, M. (29 de Octubre de 2019). Qué son las apps y tipos de apps. Obtenido

de Universidad Tecnológica de Pereira:

http://univirtual.utp.edu.co/pandora/recursos/2000/2591/2591.pdf

Museo Virtual del Servicio Geológico Mexicano. (20 de Octubre de 2019). Obtenido de

https://www.sgm.gob.mx/Web/MuseoVirtual/Geofisica/Introduccion-geofisica.html

NASA. (Febrero de 2001). Starchild Question. Obtenido de

https://starchild.gsfc.nasa.gov/docs/StarChild/questions/question30.html

React.JS. (12 de Octubre de 2019). React.js. Obtenido de

https://es.reactjs.org/docs/components-and-props.html

ReactJS. (18 de Noviembre de 2019). ReactJs. Obtenido de Componentes y propiedades:

https://es.reactjs.org/docs/components-and-props.html

Repositorio de Tesis de la Universidad de Sonora. (29 de Octubre de 2019). Obtenido de

http://tesis.uson.mx/digital/tesis/docs/20345/Capitulo10.pdf

Research Group "Geophysics and Geoinformation". (2 de Noviembre de 2019). Obtenido de

http://www.gravity.uni-kiel.de/Curso-

Caracas/reduccion_de_datos_y_anomalias_gravimetricas.html

Taylor, D. L. (2005). MACHINE TRADES BLUEPRINT READING - second edition. Nueva

York: Thomson.

Unitag. (2019). Unitag. Obtenido de https://www.unitag.io/es/qrcode/what-is-a-qrcode

Usman, O., Owoade, A., Abimbola, B., & Ogunsanwo, G. (2019). INTRODUCTION TO

COMPUTER PROGRAMMING (BASIC).

Zeyen, H., & Banda, E. (1988). CARTOGRAFÍA GEOFÍSICA EN CATALUÑA. I: EL

MAPA AEROMAGNÉTICO. Revista de la Sociedad Geológica de España.

Obtenido de SGE.