TRABAJO FIN DE GRADO

Anuncio
 TRABAJO FIN DE GRADO
GRADO EN INGENIERÍA DE TECNOLOGÍAS Y
SERVICIOS DE TELECOMUNICACIÓN
DISEÑO E IMPLEMENTACIÓN DE UNA
APLICACIÓN PARA LA CORRECCIÓN DE
COORDENADAS EN REGISTROS DE
GEORRADAR EN MOVIMIENTO
PAULA PALACIOS MAHAVE
2016 II TRABAJO FIN DE GRADO
TÍTULO:
Diseño e implementación de una aplicación
para la corrección de coordenadas en
registros de georradar en movimiento
AUTORA:
Dña. Paula Palacios Mahave
TUTOR:
D. Javier Jesús Lapazaran Izargain
DEPARTAMENTO:
Departamento de Matemática Aplicada a las
Tecnologías de la Información y las
Comunicaciones
TRIBUNAL:
Presidente:
Vocal:
Secretario:
Suplente:
D. Francisco José Navarro Valero
D. Jaime Otero García
D. Ricardo Rodríguez Cielos
Dña. María Isabel de Corcuera Labrado
FECHA DE LECTURA:_____________________
CALIFICACIÓN: __________________________
I II UNIVERSIDAD POLITÉCNICA DE MADRID
ESCUELA TÉCNICA SUPERIOR
DE INGENIEROS DE TELECOMUNICACIÓN
TRABAJO FIN DE GRADO
GRADO EN INGENIERÍA DE TECNOLOGÍAS Y
SERVICIOS DE TELECOMUNICACIÓN
DISEÑO E IMPLEMENTACIÓN DE UNA
APLICACIÓN PARA LA CORRECCIÓN DE
COORDENADAS EN REGISTROS DE
GEORRADAR EN MOVIMIENTO
PAULA PALACIOS MAHAVE
2016 III IV Resumen
Este trabajo fin de grado (TFG) pretende resolver algunas necesidades habituales asociadas a la posición de medidas obtenidas en prospecciones de glaciares mediante georradares en movimiento dotados de posicionamiento GPS (Global Positioning System). El objetivo principal de este TFG es la implementación de una aplicación con la que poder automatizar de forma supervisada la lectura, análisis y corrección de las coordenadas obtenidas de los ficheros de posición con diferentes georradares. Como punto de partida, en este TFG se describe someramente el principio de funcionamiento del georradar y se motiva la elección de este tipo de equipos para la medida de espesores de hielo en glaciología. Seguidamente se desarrollan unas nociones básicas de los sistemas de coordenadas geográficas y UTM (Universal Transverse Mercator), señalando las ventajas de éste frente a aquél en el cálculo de distancias. En una segunda parte de este TFG se analizan los distintos tipos de error existentes en los ficheros de posiciones de los georradares habituales y sus causas, y se ofrecen procedimientos con los que corregir estos errores. Para ello se describen los formatos de los ficheros de posiciones existentes para cada tipo de georradar, detectando aquellos parámetros que generalizarán la lectura de ficheros de posiciones en cualquier formato. Finalmente se desarrolla una aplicación en Java que permite visualizar posiciones, detectar errores y aplicar correcciones de posición a las coordenadas asociadas a las trazas de georardar existentes en un fichero de posiciones. La aplicación permite la lectura de ficheros de posiciones con formatos habituales y facilita una sencilla herramienta con la que incorporar nuevos formatos, previendo futuras necesidades de lectura de otros tipos de ficheros de posiciones. Permite también realizar distintos tipos de diezmado e interpolación de posiciones, así como la corrección de un bias de posicionamiento derivado del movimiento del georradar durante su uso. Los resultados obtenidos tras cada corrección o manipulación de posiciones pueden exportarse a un nuevo fichero y el recorrido visualizarse en una gráfica, que también puede ser exportada. Las posiciones en coordenadas geográficas son convertidas a coordenadas UTM para facilitar su corrección, por lo que toda posición puede ser exportada tanto en coordenadas geográficas como UTM. Todas las funcionalidades de la aplicación se describen detalladamente en un manual de usuario que forma parte de esta memoria. Adicionalmente se incluye un caso práctico completo de lectura, corrección y exportación, sobre el que se estudian los diferentes resultados obtenidos. Palabras clave
Glaciología, georradar, GPR, error, corrección, bias, interpolar, diezmar, GPS, coordenadas geográficas, UTM, traza, latitud, longitud, easting, northing, aplicación, Java. V Summary
This final grade project (FGP) aims to solve some common needs associated with the position measurements obtained in the survey of glaciers using ground penetrating radars (GPR) in motion with a GPS (Global Positioning System) in them integrated. The main objective of this FGP is the implementation of an application that can automate, under supervision, the reading, analysis and bias correction of the coordinates obtained from the position files with different geo-­‐
radars. To begin with, in this FPG the operating principle of the GPR is briefly described and the use of this type of equipment for measuring ice thickness in Glaciology is encouraged. Then, some basic notions of the geographic and UTM (Universal Transverse Mercator) coordinate systems are developed, pointing out the advantages of the latter versus the former in order to calculate distances. In a second part of this FPG, different types of existing errors in the position files from those common georadars are described, as well as the causes and the procedures that are available to correct these errors. In order to achieve this, the different formats of these files for each georadar are described, and those parameters to generalize the reading of every file with any format are highlighted. Finally, a Java application is developed so positions can be visualized, errors can be detected and the corrections in the position of the coordinates associated with the georadar traces that exist in the position files, can be applied. The application allows reading position files with common formats and provides an easy tool to incorporate new formats, anticipating future needs in the reading of other kind of position files. It also allows different types of decimation and interpolation of positions, as well as the correction of the bias that exists because of the movement of the georadar during its use. The results obtained after each correction or manipulation of positions can be exported to a new file and the route can be displayed on a graph, which can also be exported. The positions given in geographic coordinates are converted into UTM coordinates in order to facilitate its correction, so every position can be exported either in geographic coordinates or UTM. All the functionalities implemented in the application are described in detail in a manual that is part of this paper. Additionally, a complete practical case of the reading, correction and exportation of the data is included; afterwards, the different results are studied. Keywords
Glaciology, georadar, GPR, error, correction, bias, interpolation, decimate, GPS, geographic coordinates, UTM, trace, latitude, longitude, easting, northing, application, Java. VI Índice
1. PLANTEAMIENTO DEL PROBLEMA ........................................................................................... 1 2. OBJETIVOS ........................................................................................................................................ 1 3. INTRODUCCIÓN ............................................................................................................................... 2 3.1. EQUIPOS GPR Y GPS ..................................................................................................................................... 2 3.2. SISTEMAS DE COORDENADAS UTILIZADOS ................................................................................................. 3 3.2.1. Coordenadas geográficas .................................................................................................................. 3 3.2.1. Coordenadas UTM ................................................................................................................................ 4 3.2.2. Conversión de coordenadas geográficas a UTM ...................................................................... 6 4. PROBLEMAS Y SU SOLUCIÓN TEÓRICA .................................................................................... 6 4.1. LECTURA DE FICHEROS .................................................................................................................................. 6 4.1.1. Formatos estándar ............................................................................................................................... 6 4.1.2. Nuevos formatos .................................................................................................................................... 8 4.2. CORRECCIÓN DE COORDENADAS ............................................................................................................... 10 4.2.1. Tipos de errores ................................................................................................................................... 10 4.2.2. Determinación de la existencia de movimiento ..................................................................... 13 4.2.3. Tipos de correcciones ........................................................................................................................ 14 4.2.4. Cálculo de la velocidad ..................................................................................................................... 20 5. APLICACIÓN .................................................................................................................................... 21 5.1. ASPECTOS DE PROGRAMACIÓN ................................................................................................................. 21 5.2. INSTALACIÓN Y ARRANQUE DE LA APLICACIÓN ...................................................................................... 21 5.3. MANUAL DE USUARIO ................................................................................................................................. 21 5.3.1. Lectura de ficheros ............................................................................................................................. 21 5.3.2. Visualización de la información ................................................................................................... 24 5.3.3. Aplicación de la corrección ............................................................................................................. 27 5.3.4. Generación de nuevos ficheros ...................................................................................................... 32 5.4. EJEMPLO: UN CASO REAL ........................................................................................................................... 33 6. CONCLUSIONES Y LÍNEAS DE TRABAJO FUTURO ............................................................... 42 6.1. CONCLUSIONES ............................................................................................................................................ 42 6.2. VALORACIÓN PERSONAL ............................................................................................................................ 43 6.3. FUTURAS LÍNEAS DE TRABAJO ................................................................................................................... 43 7. BIBLIOGRAFÍA ............................................................................................................................... 44 VII VIII 1. Planteamiento del problema El Grupo de Simulación Numérica en Ciencias e Ingeniería de la Universidad Politécnica de Madrid nace a finales de los años 90 dentro del Departamento de Matemática Aplicada a las Tecnologías de la Información en la Escuela Técnica Superior de Ingenieros de Telecomunicación. Desde sus orígenes ha desarrollado proyectos en el campo de la glaciología, mayoritariamente en el Ártico y la Antártida. Uno de los equipos habituales de medida utilizados es el georradar o GPR (Ground Penetrating Radar), que se desplaza a lo largo de la superficie del glaciar midiendo ciertas características internas de éste. El georradar lleva asociado un receptor GPS (Global Positioning System) para la localización geográfica de las medidas obtenidas. Las coordenadas obtenidas se almacenan en ficheros de texto, conocidos como ficheros de posiciones. De la exactitud de estas coordenadas depende la de las medidas de georradar en el glaciar en estudio. Sin embargo, es frecuente que estos ficheros de posiciones presenten errores en las coordenadas asociadas a las medidas de georardar. En ocasiones estos errores se producen debido a fallos de medida o de registro asociados al receptor GPS. En otras ocasiones es el propio movimiento del sistema GPR-­‐GPS durante las medidas el que provoca errores sistemáticos de posición. Se plantea la necesidad de diseñar e implementar una aplicación para la lectura, estudio y corrección de los ficheros de posiciones obtenidos con el georradar a partir de las mediciones de GPS. 2. Objetivos El objetivo principal de este trabajo fin de grado (TFG) es la implementación de una aplicación que, bajo la supervisión de un usuario experimentado, sea capaz de automatizar la lectura, análisis y corrección de las coordenadas obtenidas de los ficheros de posiciones con diferentes georradares. Para ello, y dado que los errores que se pretenden detectar y corregir se encuentran en los ficheros de posiciones de georradar, se incluye un estudio de los diferentes formatos de fichero de posiciones existentes para los radares habituales conocidos. A partir de este estudio se generalizan los parámetros a tener en consideración para la lectura de cualquier formato. A continuación, se analizan los tipos de errores, sus causas y las diferentes soluciones para su corrección. Finalmente se implementa una aplicación en Java con la que se da solución a las necesidades detectadas, facilitando la visualización de posiciones y la corrección de los diferentes errores en las posiciones de las trazas o medidas de georradar. Este TFG pretende detectar y corregir errores sistemáticos. No es objetivo de este TFG evaluar el carácter aleatorio de los errores de medida de posición, como el error de precisión propio del GPS. 1 3. Introducción 3.1. Equipos GPR y GPS Este trabajo pretende leer y manipular ficheros obtenidos con un georradar sobre un glaciar, con un receptor GPS integrado. El conjunto se desplaza a lo largo de la superficie del glaciar y se recogen las medidas obtenidas del georradar y el GPS. El principio de funcionamiento del georradar es la propagación y reflexión de ondas electromagnéticas por el subsuelo. El vacío es el medio ideal para la propagación electromagnética, pero en la interacción de una onda con otros medios se producen atenuaciones y reflexiones. La mayor parte de los materiales no interactúan con los campos magnéticos (su permeabilidad magnética relativa es unitaria), y son los parámetros eléctricos del medio, la conductividad y la permitividad, los que regulan la propagación a través de ellos. La propagación requiere de medios con bajas pérdidas, donde la conductividad sea despreciable y la permitividad baja. Las reflexiones se producen en los contrastes de conductividad o permitividad (e.g. heterogeneidades y cambios de material). En medios con bajas pérdidas (buenos dieléctricos), como son los habituales en glaciología (e.g. agua dulce, aire, hielo), es la permitividad quien caracteriza electromagnéticamente el medio. Tanto el aire como el hielo son medios donde las ondas electromagnéticas se propagan particularmente bien, por lo que se dice que son "transparentes" a las ondas. Su permitividad es baja (ca. 1 y 3,2, respectivamente) y su conductividad nula o despreciable. El agua dulce tiene una elevada permitividad (ca. 80), aunque su conductividad es despreciable, por lo que las inclusiones de agua en el hielo provocan grandes reflexiones. El agua marina es además un gran conductor, por lo que las ondas son reflejadas en su superficie (Acorne et al, 1989; Ludwig et al, 1996). Un georradar consiste en un sistema de transmisor y receptor acoplados (Figura 1). El transmisor emite pulsos electromagnéticos de una determinada frecuencia principal que lo caracteriza, habitualmente en la banda entre 1 MHz y 1 GHz (HF a UHF). Esta señal se transmite a través del glaciar, donde puede alcanzar grandes profundidades gracias a la particular “transparencia” del hielo para las ondas electromagnéticas en el rango de frecuencias del georradar. Finalmente cuando la señal emitida alcanza el lecho o algún otro contraste de permitividades, la señal se refleja y es recogida por el receptor. A continuación estos valores se registran en los ficheros de trazas que genera el georradar. 2 Figura 1: Esquema del georradar en su desplazamiento sobre la superficie de un glaciar. Debido al desplazamiento del georradar (transmisor, Tx, y receptor, Rx), se obtienen medidas del tiempo hasta la reflexión en discontinuidades endoglaciares y en el lecho subglaciar. Tanto la penetración de la onda como la resolución vertical de los resultados registrados dependen de la frecuencia principal del radar que se utilice. A menor frecuencia, menor atenuación, por lo que se produce una mayor capacidad de penetración a costa de disminuir la resolución vertical. Por el contrario, a mayor frecuencia, menor capacidad de penetración con mejor resolución vertical. También el tiempo de escucha por el receptor depende de la frecuencia, ya que como consecuencia de la mayor penetración a frecuencias bajas, el equipo deberá permanecer más tiempo escuchando la recepción de reflexiones. Y esto condiciona la velocidad a la que puede desplazarse el equipo, ya que una menor frecuencia implica mayor tiempo de escucha en un punto, lo que supone una velocidad de desplazamiento inferior, para conservar la resolución horizontal de los registros (Macheret et al, 1993; Ludwig et al, 1996).
Con cada registro de traza se toma el último valor obtenido por el GPS, y estos valores se almacenan en los denominados ficheros de posiciones. Así, cada fichero de trazas del georradar tiene asociado un fichero de posiciones. 3.2. Sistemas de coordenadas utilizados 3.2.1. Coordenadas geográficas Las coordenadas geográficas son un sistema de localización que, aprovechando la esfericidad del globo terrestre, emplea un sistema de coordenadas esféricas cuyo origen es el centro de la Tierra. Cualquier punto de la superficie puede caracterizarse mediante dos valores angulares: latitud y longitud, que pueden expresarse en grados, minutos y segundos. La tierra se divide transversal y longitudinalmente (respecto a su eje de rotación) por líneas imaginarias que respectivamente se denominan paralelos y meridianos. El paralelo de mayor longitud es el ecuador y el plano que lo contiene es perpendicular al eje de rotación terrestre. Se define la latitud como la inclinación con respecto al plano del ecuador (Figura 2). La latitud toma valores comprendidos entre 0 y 90° si se especifica adicionalmente el hemisferio al que se hace referencia, típicamente mediante las letras N (norte) y 3 S (sur). Por otro lado, puede tomar valores entre −90 y 90°, donde la convención designa el signo negativo (−) para el hemisferio sur. Se define la longitud como el ángulo de apertura en el plano definido por el corte entre el paralelo al que apunta la latitud y la esfera terrestre. Se toma como referencia (ángulo 0°) el meridiano de Greenwich, denominado así por cruzar el observatorio con el mismo nombre. La longitud toma valores comprendidos entre 0 y 180° si se referencia el hemisferio correspondiente, típicamente mediante las letras E (este) y W (oeste, en inglés west). Figura 2: Coordenadas geográficas sobre el globo terrestre. Se representan en azul claro las líneas imaginarias que representan los paralelos y meridianos. En azul oscuro el meridiano 0° (Meridiano de Greenwich) y el Ecuador. El valor de Norte a Sur viene definido por la latitud y el valor de Oeste a este por la longitud. Imagen tomada de [1]. Los receptores GPS emplean este tipo de coordenadas por lo que en nuestros ficheros de posiciones obtenidos mediante georradar se registrarán los valores correspondientes a las latitudes y longitudes para cada instante de medida. 3.2.1. Coordenadas UTM Las coordenadas UTM (Universal Transverse Mercator) proyectan el globo terráqueo sobre 60 cilindros, uno por cada 6° de la esfera (Figura 3). Al visualizar todas estas proyecciones sobre un único plano, éste se divide en un total de 60 zonas (franjas de norte a sur) que se identifican por un número comprendido entre 1 y 60. Cada zona se subdivide a la vez en 20 bandas que nombran por una letra entre C y X (ambas incluidas). Las bandas que quedan fuera (zonas polares) reciben un trato especial. 4 Figura 3: Representación sobre el plano de las proyecciones cilíndricas de cada huso (6°) para la localización mediante coordenadas UTM. Las subdivisiones verticales representan las zonas y las horizontales las bandas. Imagen tomada de [2]. Se puede determinar la posición proyectada de cualquier punto sobre la superficie terrestre a partir de tres valores: zona, easting y northing. Cada zona tiene su origen de coordenadas que se corresponde con el cruce entre el meridiano central y el ecuador. Este punto se define como 500 km este y 0 km norte en el hemisferio norte y como 500 km este y 10000 km norte en el hemisferio sur. Dentro de cada zona se localizan los puntos mediante coordenadas cartesianas, donde al valor x se le conoce como Easting y al valor y como Northing (Figura 4). Figura 4: Sistema de coordenadas en cada huso, que determina una posición según las coordenadas UTM. El huso se encuentra subdividido en bandas y el origen de coordenadas coincide con la intersección del meridiano central que atraviesa la zona y el Ecuador. Imagen tomada de [3]. 5 3.2.2. Conversión de coordenadas geográficas a UTM En los ficheros de posiciones obtenidos de un georradar se almacenan los valores recogidos por el GPS en forma de coordenadas geográficas. Sin embargo, debido la complejidad en el cálculo de distancias a partir de magnitudes angulares, es frecuente trabajar con coordenadas UTM. De esta forma, el trabajo con distancias se simplifica considerablemente, al hacer uso de un sistema cartesiano. Dado que la Tierra no es una esfera perfecta existen distintos procedimientos para la conversión de las coordenadas geográficas a UTM y viceversa. Se toma la Tierra como un esferoide cuyos parámetros varían de acuerdo al cuadrado que estudiemos y se realizan las proyecciones sobre cada cilindro. Este proceso es descrito por complejas ecuaciones que van más allá de la finalidad de este proyecto. Todo el software empleado para la conversión de un tipo a otro de coordenadas ha sido cedido por Jaime Altozano (Altozano Derqui, 2015) quien realizó su Proyecto de Fin de Carrera en este campo e implementó el conversor siguiendo las ecuaciones de la National Geospatial-­‐Intelligence Agency (2014). 4. Problemas y su solución teórica 4.1. Lectura de ficheros Cada fichero almacena por columnas la siguiente información relevante para este TFG: -­‐ Número de traza: hace referencia al orden de prelación de la medida tomada por el GPR. Es guardada con una periodicidad TGPR. -­‐ Coordenadas geográficas: posición correspondiente a cada traza. Vienen dadas por el GPS, que se actualiza con una periodicidad TGPS. -­‐ Información temporal: algunos GPR almacenan adicionalmente información horaria del instante de almacenamiento de cada medida con una resolución máxima de una décima segundo, dependiente del receptor GPS utilizado. 4.1.1. Formatos estándar En los proyectos de investigación realizados se han empleado cuatro tipos de radares cuya información de posicionamiento se ha procesado en distintos formatos que se reflejan en la Tabla 1. Cada uno dispone la información de maneras diferentes, que son el objeto de estudio en este apartado. Radar Formato RAMAC .cor VIRL2 .xyz VIRL6 .hdr, .xyz.txt VIRL7 .hdr, .xyz.txt Tabla 1: Formatos habituales del fichero de posiciones en cada tipo de georradar. 6 A continuación se expone el contenido de cada fichero y se detallan los parámetros relevantes para este proyecto. Formato ".cor" Es el formato asociado al radar RAMAC (de Malå Geosystems). La información contenida por este fichero tiene la forma: número de traza, fecha, latitud, N/S, longitud, W/E, altitud, HDOP (medida teórica de la precisión del GPS empleado). Cada traza dispone de las coordenadas geográficas a partir de cuatro columnas separadas por tabulaciones: latitud, N/S, longitud y W/E. Latitud y longitud vienen determinadas en grados positivos, con hasta once valores decimales. Los hemisferios norte y sur se indican por los caracteres N y S respectivamente, y análogamente los hemisferios este y oeste por los caracteres E y W. Este formato no incluye leyenda pero recoge información horaria. Formato ".xyz" Es el formato estándar para el radar VIRL2. La información viene ordenada por: número de traza, longitud, latitud, altitud, coordenadas UTM (easting, northing, zona) obtenidas a partir de puntos de control, marcador del punto de control. Longitud y latitud vienen dados en grados y minutos. Para el primero de estos parámetros se emplean hasta tres cifras para los grados y dos cifras enteras y tres decimales para los minutos. Para el segundo parámetro, dos cifras para los grados y dos cifras enteras y tres decimales para los minutos. Estos valores pueden ser positivos o negativos, por lo que los hemisferios quedan totalmente definidos. Este formato no incluye leyenda ni información horaria y sus columnas vienen separadas por espacios. Formato ".xyz.txt" Es el formato generado por el programa Glaciator (Reguero Rubio, 2007) y es empleado para el almacenamiento de datos de posicionamiento de los radares VIRL6 y VIRL7. Los datos se representan como: número de traza, N/S, latitud, E/W, longitud, zona UTM, northing, easting, altitud, UTM obtenidas de los puntos de control (3 columnas), marcador del punto de control . Las columnas se separan mediante tabulaciones y las coordenadas geográficas se definen en cuatro columnas: latitud, N/S, longitud y W/E. La latitud se expresa en siete cifras, dos correspondientes a los grados, las dos siguientes correspondientes a la parte entera de los minutos y las tres últimas a la parte decimal de éstos. La longitud incluye una cifra más para los grados siendo el resto igual que para la latitud. Estas columnas toman valores positivos y los hemisferios se definen de igual modo que para el formato ".cor". Este formato carece de información horaria y sí contiene una primera línea de leyenda. 7 Forrmato ".hdr" (VIRL6) Este es un formato generado a partir del procesado de datos en el software MATLAB para el radar VIRL6. La estructura del formato viene dada por: número de traza, número de trazas recogidas, periodo de muestreo, odómetro, altitud, zona UTM, latitud, longitud y hora. No se precisa información sobre los hemisferios puesto que latitud y longitud pueden ser valores tanto positivos como negativos, y vienen directamente expresados en grados con dos cifras enteras y hasta seis cifras decimales. Se aporta información horaria y la primera línea contiene la leyenda. Las columnas emplean una separación consistente en un número irregular de espacios. Formato ".hdr" (VIRL7) VIRL7 también recoge sus datos de posicionamiento en el formato .hdr pero latitud y longitud vienen dados en grados con hasta diez cifras decimales. Las Tabla 2 y Tabla 3 resumen las características relevantes mencionadas para cada formato. Incluyen el modo de presentar la información según cada tipo de fichero y el índice de columna en que se encuentra cada dato. Formato Formato Latitud Columna N/S Latitud Formato Longitud Columna W/E Longitud Formato Hora Columna Hora .cor .xyz .xyz.txt .hdr (VIRL6) .hdr (VIRL7) gg.ggggggggggg ggmm.mmm ggmm.mmm gg.gggggg 4 3 3 6 5 -­‐ 2 -­‐ gg.ggggggggggg gggmm.mmm gggmm.mmm gg.gggggg 6 2 5 7 7 -­‐ 4 -­‐ hh:mm:ss -­‐ -­‐ hhmmss 3 -­‐ -­‐ 8 gg.gggggggggg 7 -­‐ gg.gggggggggg 8 -­‐ hhmmss 9 Tabla 2: Resumen de las columnas de coordenadas y hora para cada formato, donde g: grado; m: minuto; h: hora; s: segundo. Formato .cor .xyz .xyz.txt .hdr (VIRL6) .hdr (VIRL7) Columna de nº de traza 1 1 1 1 1 Leyenda No No Sí Sí Sí Tabla 3: Resumen de las columnas de número de traza y leyenda para cada formato. 4.1.2. Nuevos formatos Los radares y formatos de fichero citados son los hasta la fecha empleados por el grupo de investigación. Basándonos en las características descritas y con el fin de generalizar la lectura de datos en cualquier formato, se describen a continuación los parámetros necesarios a tener en cuenta para alcanzar tal fin. En la lectura de cualquier archivo se han de tener en cuenta la configuración de cuatro parámetros: 1. Coordenadas. 2. Información horaria. 8 3. Leyenda. 4. Número de traza. 1. Configuración de lectura del parámetro coordenadas 1.1. Separación entre las columnas de datos Las columnas de datos vienen divididas por un número fijo o irregular de separadores, típicamente espacios en blanco o tabulaciones. Es preciso definir qué tipo de separador se emplea y su número. 1.2. Latitud y longitud Cada tipo de fichero define estas magnitudes con ciertas columnas y con un formato fijo. Es necesario definir las columnas correspondientes y el formato de los datos, que no necesariamente será el mismo para ambas magnitudes. 1.3. Formato decimal Típicamente se emplea el punto (“.”) como separador de las cifras decimales, sin embargo, otros estándares emplean la coma (“,”). Ha de definirse el separador decimal pertinente. Algunos datos se presentan como una sucesión de cifras sin separador decimal explícito (escrito), en los que la posición de cada cifra determina su peso. 1.4. Información sobre los hemisferios Existen dos opciones. La primera consiste en dar cifras en valor absoluto a las que se añaden dos caracteres correspondientes a los puntos cardinales N/S y W/E para definir el cuadrante terrestre en que se tomaron las medidas. En la segunda se dan datos con signo que, por su valor positivo o negativo, implican uno u otro hemisferio. 2. Configuración de la información horaria 2.1. Definir si existe esta información No todos los ficheros proporcionan información temporal. Se ha de indicar si se dispone o no de esta información. 2.2. Hora En caso de disponer de este dato, hay que indicar en qué índice de columna se encuentra, en qué formato, si incluye o no separadores y en tal caso, qué tipo de separadores incluye. Típicamente se emplea “:” para separar entre horas, minutos y segundos, pero pueden presentarse datos en los que el separador es omitido. 3. Configuración de la leyenda Un determinado formato puede presentar o no una o varias líneas de leyenda. Es necesario indicar si ésta existe y el número de líneas que ocupa. 4. Configuración del número de traza Cada traza es almacenada mediante un número identificador. Este valor es necesario para el tratamiento posterior de la información. Es preciso indicar el índice de la columna que incluye este valor. 9 4.2. Corrección de coordenadas 4.2.1. Tipos de errores Los datos recogidos plantean los siguientes problemas: -­‐ Errores de GPS. Como toda medida, la realizada con GPS tiene un error asociado. -­‐ La falta de sincronismo entre el registro de traza y la actualización del GPS, que a su vez puede suponer: -­‐ Que trazas diferentes tengan igual registro de posición a pesar de existir desplazamiento. -­‐ Que se produzca un error debido al desplazamiento durante el tiempo entre actualización de GPS y registro de traza. Errores de GPS Al realizar cualquier medida se produce un error. Pero además, hay errores que se producen por fallos en el equipo receptor de GPS. En este caso nos referimos a este tipo de errores, que en la práctica, repasando el histórico de medidas, se pueden resumir en: -­‐ La obtención de coordenadas fuera del rango esperado. Son detectables, dado que implican un salto muy drástico entre dos trazas consecutivas. Suelen ser errores puntuales. -­‐ Un desplazamiento visiblemente escalonado. Implica que longitud o latitud no se actualizan correctamente con la misma frecuencia. Cuando se produce, es un patrón que se repite en todo el fichero. Falta de sincronismo entre registro de traza y GPS (TGPR, TGPS) En el fichero de coordenadas asociado al perfil de GPR se almacena cada número de traza con el último valor obtenido del GPS. Sin embargo, los instantes de toma de datos del georradar no tienen por qué coincidir con los de actualización del GPS. Ni siquiera aunque se realizaran ambos con la misma frecuencia, dada la falta de sincronismo entre ambos sistemas, el del georradar y el del GPS. Para el análisis realizado examinemos distintos escenarios según las distintas posibles relaciones entre TGPR y TGPS que se reflejan en los casos (a) y (b) de la Figura 5. • Escenario a: TGPS < TGPR La frecuencia de actualización del GPS es mayor que la de registro de trazas, por lo que en el GPS se actualizan coordenadas que no son posteriormente registradas en el fichero de coordenadas de traza. La falta de sincronismo supone que una traza puede registrarse en un instante tn con una coordenada que ha sido tomada en el instante sk. Éste último estará comprendido entre los instantes tn−TGPS y tn. Por lo tanto, el error temporal cometido eT puede tomar valores entre 0 y TGPS. En el caso (a) de la Figura 5, cada flecha relaciona una posición actualizada en el GPS con la traza para la que se registra dicha posición en el fichero de coordenadas de traza. La línea discontinua muestra la relación entre las dos líneas temporales. En un caso ideal (sincronismo entre GPS y GPR) la flecha y la línea discontinua se encontrarían solapadas, lo que indicaría que la actualización del GPS habría tenido lugar simultáneamente con el registro de la traza, tal que no existiría incertidumbre temporal del instante de registro de 10 posición, eT. Esta sincronía no sucede en la realidad. Sea por tanto, respecto a la Figura 5a, el mejor de los casos el dado en la traza tomada en t1 y el peor, el dado en la traza tomada en t5. Si consideramos que trabajamos en términos de incertidumbres de posición en lugar de incertidumbres de tiempo, podemos calcular el correspondiente intervalo de error de posición eP como v·eT, donde v es la velocidad de desplazamiento. • Escenario b: TGPR < TGPS Sea ahora la frecuencia de actualización de GPS menor que la del registro de traza, como se muestra en el caso (b) de la Figura 5. El fichero de coordenadas consta de varias trazas que han sido tomadas por el georradar en la misma posición geográfica. Pero esta posición constante sólo se corresponderá con la realidad cuando el equipo se encuentre en reposo, que no es la situación habitual de medida. Considerando que existe desplazamiento, para m trazas registradas con la coordenada obtenida en sn, el error temporal eT que existe para cada una de las m trazas, registrada en el instante tk, queda comprendido entre (k−n)·TGPR y (1+k−n)·TGPR. De nuevo, en términos de posición establecemos el error de posición, eP, como v·eT. En el caso representado por la Figura 5b, las cuatro primeras trazas se registran con la misma posición. La primera dentro de un grupo de m trazas con la misma posición (e.g. la traza tomada en el instante t1) tiene una incertidumbre temporal en el registro de su posición eT1 < TGPR; esta incertidumbre es de TGPR < eT2 < 2TGPR para la tomada en el instante t2; pasa a ser 2TGPR < eT3 < 3TGPR para la tomada en el instante t3, y así sucesivamente. Además, para la última traza del grupo con idéntica posición, la incertidumbre temporal en el registro de su posición es eTm < TGPS. 11 Figura 5: Representación de los diferentes escenarios en función de TGPR y TGPS. Se representan para cada escenario dos líneas temporales, donde se reflejan el registro de trazas del GPR y la actualización del GPS. En cada escenario las líneas discontinuas muestran la falta de sincronismo entre ambos equipos, GPR y GPS. (a) y (b) representan los respectivos escenarios a y b, tal como originalmente registrados; en (bI) y (bII) se muestran los resultados de aplicar en (b) la interpolación o el diezmado de posiciones, respectivamente; en (aI) y (bIII) se muestran los resultados obtenidos tras aplicar la corrección de bias en los casos (a) y (bI). Figura tomada de (Lapazaran et al, 2016). 12 4.2.2. Determinación de la existencia de movimiento Hemos caracterizado los tipos de error de posición que se dan en los datos. Antes de detectar y corregir errores sistemáticos asociados al movimiento, hemos de detectar la existencia o no de movimiento. En un fichero de coordenadas real, la falta de sincronismo se traduce en secuencias de N trazas consecutivas con idénticas coordenadas, donde N pertenece al conjunto de los números naturales (N = 1 si todas diferentes). Podemos estimar la relación entre TGPR y TGPS como la moda de N. De forma que la relación entre TGPS y TGPR es m : 1 donde m es el valor de la moda. Distingamos dos casos: Caso 1: TGPR < TGPS La moda de repetición de coordenadas será igual a uno. Un cambio en el valor de las coordenadas registradas implicará la existencia de movimiento, y la ausencia de cambio implicará que el sistema se hallaba en reposo. Caso 2: TGPR > TGPS La moda de repetición de coordenadas será mayor que uno. Existen tres posibles escenarios. Figura 6. • Escenario 1 El registro muestra bloques de m trazas con iguales coordenadas. Si un bloque tiene coordenadas distintas a las del anterior, podemos determinar que durante el registro de las m primeras existía movimiento. • Escenario 2 Supongamos ahora 3 grupos de m trazas cada uno. Los dos primeros con coordenadas iguales y un tercero con nuevas coordenadas. Determinamos la existencia de movimiento durante el registro de las trazas del grupo 2 y el reposo durante el registro de las m primeras trazas. Podemos generalizar este proceso al análisis de un número de trazas con iguales coordenadas múltiplo de la moda. Sea N el número de trazas consecutivas con coordenadas iguales tal que N mód(m) = 0, se considerará que existe movimiento durante el registro de las últimas m trazas. • Escenario 3 Dado que TGPS no es necesariamente múltiplo exacto de TGPR, pueden darse grupos de N trazas consecutivas con coordenadas iguales, sin que N sea múltiplo de m, i.e. N mód(m) ≠ 0. En función del tipo de formato se han observado dos situaciones habituales: a) Grupos de trazas con N mód(m) = m−1. En tal caso se determina que existe movimiento en las m−1 trazas. b) Grupos de trazas con N mód(m) = 1, donde (N/m) > 0. En tal caso, se determina que existe movimiento en las m+1 últimas trazas. 13 Figura 6: Criterio para la determinación de la existencia de movimiento en trazas con iguales coordenadas. Se representan tres escenarios para distintas cantidades de trazas (N) con iguales coordenadas, donde la moda de repetición de éstas es m = 5. Cada línea representa la secuencia temporal de registro de traza, cada círculo representa una traza y éstas se numeran de 0 a m−1. Recuadradas en rojo se muestran las trazas durante cuyo registro se ha determinado existencia de movimiento. 4.2.3. Tipos de correcciones Se presentan tres tipos de solución para la corrección de errores debidos al movimiento, a saber: 1. Diezmado. 2. Interpolación lineal. 3. Corrección de bias. 1. Diezmado 1.1. Según coordenadas UTM El diezmado consiste en eliminar aquellas trazas consecutivas cuya posición coincida con la anterior. En aquellos bloques de trazas en los que las mediciones han sido tomadas en reposo, se toma la primera traza registrada del bloque y se ignora el resto. El criterio de diezmado según coordenadas UTM se realiza comparando los valores de los parámetros Easting y Northing de dos o más trazas 14 consecutivas. Se considera que las trazas tienen la misma posición si tienen respectivamente iguales ambos parámetros. Para realizar el diezmado se toma la primera traza y se evalúa si la siguiente tiene sus mismas coordenadas. Si son iguales se pasa a evaluar la siguiente, si no lo son se toma la nueva traza y se comienza de nuevo el proceso. El diezmado tiene sentido cuando TGPR ≤ TGPS (escenario b descrito en 4.2.1). Como resultado, al tomar únicamente la primera de las m trazas con iguales coordenadas, la incertidumbre temporal en el registro de su posición se reduce a eT < TGPR (caso (bII) en la Figura 5). 1.2. Según la latitud Es frecuente que los registros de GPS no se actualicen al mismo ritmo en latitud y en longitud. Entendemos esto como un error del receptor GPS, pero contemplamos la situación por ser real. Este error se detecta fácilmente observando que las posiciones de las trazas indican un desplazamiento escalonado, que no se corresponde con el de una trayectoria natural. En tales casos, podemos utilizar el diezmado para eliminar las trazas con posición errónea. Si es la latitud la que se actualiza a ritmo inferior al de la longitud, podremos diezmar según la latitud, en caso contrario se diezmará según la longitud (diezmado tipo 1.3). El criterio de diezmado según latitud se realiza comparando los valores del parámetro latitud de dos o más trazas consecutivas. Se conserva únicamente la primera traza de cualquier bloque de trazas con latitud constante. 1.3. Según la longitud Análogo al punto 1.2, se evalúan las trazas consecutivas en función de su longitud. 2. Interpolación lineal 2.1. Interpolación lineal sobre coordenadas UTM A diferencia del diezmado, no se descartan valores. Los conjuntos de trazas donde se ha determinado ausencia de movimiento mantienen sus coordenadas originales. En los conjuntos de trazas en que se ha determinado movimiento es donde corregimos coordenadas mediante interpolación. Determinamos un grupo de N trazas con coordenadas iguales c1 tal que la traza N+1 tiene un coordenada c2 y c1 ≠ c2. Las coordenadas c2 y c1 se consideran diferentes si difieren en su valor Easting o Northing. Se supone que existe una velocidad constante y que los cambios de dirección son despreciables a lo largo de la distancia d entre c1 y c2. Podemos considerar el vector desplazamiento espacial, 𝑑, como el segmento recto que une c2 y c1, cuya longitud es la distancia d. A lo largo !
de este segmento se definen N−1 nuevos puntos tales que 𝑐!! = 𝑐! + 𝑖 ! , con 𝑖 ∈ [1, 𝑁 − 1]. La primera traza del grupo de N trazas mantiene la posición c1 con la que originalmente ha sido registrada, mientras que las trazas registradas en los instantes t2…tN se asocian a las nuevas coordenadas c11...c1N−1. Tiene sentido interpolar cuando TGPR ≤ TGPS (escenario b descrito en 4.2.1). En el escenario (bI) de la Figura 5 se observa que las nuevas coordenadas estimadas 15 para las trazas registradas en un tk dado equivalen a las coordenadas obtenidas en los instantes equidistantes entre sn y sn+1, y se encuentran indicados por las flechas de color verde. De este modo, eT no depende ni de k ni de n, sino que toma un valor entre 0 y TGPR. 2.2. Interpolación lineal sobre latitud/longitud Cuando la longitud y latitud no se actualizan con la misma frecuencia, el trayecto que presenta la sucesión de trazas es escalonado, pero se puede interpolar sobre el trayecto definido por los puntos con latitudes y longitudes diferentes. Este error asociado a la diferencia en la frecuencia de actualización entre la latitud y la longitud se produce habitualmente cuando se utilizan receptores GPS autónomos de la gama de gran público, que han sido muy habituales en las medidas con georradar en glaciología. Estos receptores tienen períodos de actualización (TGPS) elevados, por lo que, además, es frecuente que se registren varias trazas con las mismas coordenadas. Podemos encontrar varias trazas con idénticas coordenadas, a continuación cambiar e.g. la longitud, y volver a encontrar varias trazas con idénticas coordenadas (con la misma latitud que las anteriores y la nueva longitud), repitiéndose esta situación varias veces hasta que también se actualice la latitud. Las actualizaciones intermedias de la longitud sin actualizar la longitud generan nuevas posiciones, que podríamos interpretar como mediciones nuevas en la posición, y sin embargo no son reales. Se mezclan así dos problemas: el problema de lentitud en la actualización de la latitud frente a la longitud, o viceversa, y el problema precedente, de lentitud en la actualización de posiciones nuevas del GPS frente al período de registro del georradar (TGPS > TGPR). Para resolverlos, primero corregiremos los errores derivados de la falta de sincronía entre las actualizaciones de longitud y latitud (lo que acercará a la realidad esas nuevas posiciones), y luego realizaremos una interpolación lineal sobre las coordenadas UTM resultantes, como se ha explicado en el apartado anterior. Para simplificar la explicación, seguiremos suponiendo que existe un retardo en la actualización de la latitud. Trátese de modo análogo en caso de que el retardo de actualización se produzca en la longitud. Supongamos un fichero de posiciones con una moda de repetición de posiciones m (ni la latitud ni la longitud cambian en m trazas consecutivas). Además, supongamos que existe un problema en la actualización de la latitud y que la frecuencia de actualización de ésta es N veces inferior a la de la longitud. Esto implica que existen N posiciones consecutivas que difieren únicamente por su longitud, y en cada una de ellas hay m trazas con la misma posición. Pero como cada posición se repite para m trazas, existen grupos de m·N trazas consecutivas con la misma latitud (abarcando N longitudes distintas). Para corregir las posiciones erróneas, en primer lugar hemos de determinar esos grupos de m·N trazas. Las m primeras trazas de cada grupo mantienen las coordenadas originales. Las otras (N−1) distintas posiciones asociadas al resto de trazas de ese grupo (m·N−m trazas), han de corregirse. Para ello, consideremos el vector 𝑑 , que une los puntos definidos por las coordenadas c1 y cN+1, cuyas coordenadas son distintas tanto en latitud como en longitud. 16 Figura 7: (1) Trayecto marcado por las coordenadas originales. (2) Interpolación lineal sobre el trayecto original. (3) Trayecto original (en gris) y trayecto tras diezmar por latitud (en rojo). 17 Calculamos las coordenadas de las N−1 posiciones restantes interpolando linealmente N−1 nuevos puntos sobre el segmento definido por el vector 𝑑 , de !
forma que 𝑐′!!! = 𝑐! + 𝑖 ! con i ∊ [1, N−1]. Corregidas las coordenadas de los N−1 grupos de esta forma, ahora el problema vuelve a verse reducido a la existencia de grupos de m trazas cuyas coordenadas son iguales. Por lo que este problema se resuelve de acuerdo a lo descrito para la interpolación lineal sobre coordenadas UTM, en el punto 2.1. En la Figura 7(1) se muestra un típico ejemplo del caso al que nos hemos referido. Cada circunferencia representa un conjunto de dos trazas cuyas coordenadas coinciden, lo que significa que el registro de trazas tiene una frecuencia igual al doble de la frecuencia de actualización del GPS. Observamos que existe un cierto patrón de escalonamiento, de forma que existen grupos de 3 circunferencias que se encuentran sobre un tramo recto casi paralelo al eje de abscisas (latitud constante). Consecuentemente, la actualización de la latitud es tres veces menor que la de la longitud. De modo que, en resumen, existen grupos de 6 trazas cuya latitud no varía, con 3 longitudes distintas, que cambian cada 2 trazas. Si no nos diéramos cuenta del diferente ritmo de actualización entre latitud y longitud e interpolásemos linealmente las coordenadas (como se ha realizado en el caso "2.1. Interpolación lineal sobre coordenadas UTM"), obtendríamos el resultado mostrado en la Figura 7(2). De las 6 trazas, 5 de ellas seguirían manteniendo el error en la latitud. A pesar de las interpolaciones, las nuevas coordenadas corregidas siguen sobre el trayecto erróneo descrito por las coordenadas originales. Si en lugar de eso optáramos por diezmar por latitud, guardando únicamente la primera traza del grupo de 6, obtendríamos un nuevo trayecto como el marcado en rojo en la Figura 7(3). El trayecto es correcto, pero por cada “escalón” se desechan 5 trazas. Para evitar estos problemas se ha desarrollado en la aplicación la corrección interpolando linealmente sobre la latitud. Para realizar esta interpolación, en primer lugar se determinan los grupos de seis (N·m) trazas consecutivas cuya latitud no varía (Figura 8(a)). A continuación, se mantienen las coordenadas del primer grupo de dos (m) trazas cuyas latitudes son iguales. Los otros dos (N−1) grupos (las dos esferas restantes, Figura 8(b)), corrigen sus coordenadas, que se posicionan sobre el segmento que une las posiciones que hemos mantenido con el valor original (en la Figura 8(b), las marcadas por círculos rojos). Las nuevas posiciones (N−1 circunferencias magenta) se sitúan en puntos equiespaciados a lo largo de dicho segmento. Finalmente, teniendo en cuenta que cada circunferencia representa 2 (m) trazas, éstas son interpoladas linealmente sobre el segmento (Figura 8(c)), con lo que han sido corregidas el total de las 6 (N·m) trazas que originalmente tenían igual latitud. 18 Figura 8: Pasos para la interpolación sobre latitud. (a) Determinación de los grupos de coordenadas con iguales latitudes. (b) Corrección de las posiciones de las coordenadas no iguales en longitud. (c) Interpolación lineal sobre las correcciones de (b). 19 3. Corrección de bias Como se ha visto en los puntos anteriores, para TGPS < TGPR el máximo eT obtenido es TGPS y para TGPR < TGPS tras aplicar diezmado o interpolación, el máximo eT es TGPR. Por ello, podemos concluir que máx(eT) = mín(TGPR, TGPS) y que eT es una variable aleatoria con distribución uniforme en (0, mín(TGPR, TGPS)), por lo que la media y la desviación estándar son mín(TGPR, TGPS)/2 y mín(TGPR, TGPS)/√12 respectivamente. En resumen, este error está acotado y que tiene un bias o sesgo asociado igual a la mitad de su valor máximo, y no debe caracterizarse mediante su desviación típica, sino que es más acertado caracterizarlo por su valor máximo, mín(TGPR, TGPS). Pero conocido que el error medio es no nulo, y conocido su valor, si desplazamos las coordenadas de cada traza, obtenidas por el GPS en el instante sn, sustituyéndolas por las que se habrían obtenido un tiempo mín(TGPR, TGPS)/2 más tarde, sn’ = sn + mín(TGPR, TGPS)/2, habremos corregido la media del error (bias), obteniendo una nueva distribución uniforme del error centrada en 0 (insesgada). Las nuevas media y desviación estándar son 0 y mín(TGPR, TGPS)/√12 respectivamente. Los errores, ya no resultan siempre positivos, quedan comprendidos en el intervalo (−mín(TGPR, TGPS)/2, mín(TGPR, TGPS)/2) y se pueden caracterizar por su desviación típica mín(TGPR, TGPS)/√12, muy reducida frente a la caracterización previa a la corrección del bias, mín(TGPR, TGPS). Los resultados se plasman en la Figura 5 (aI) y (bIII). Siendo cn la posición asociada a cierta traza, obtenida en el instante sn, y siendo v la velocidad de desplazamiento del georradar al medir dicha traza, podemos calcular la nueva posición cn’ que debe asociarse esa traza tras la corrección de bias, como aquella que se hubiera obtenido en sn’, es decir, cn’ = cn + v · mín(TGPR, TGPS)/2. 4.2.4. Cálculo de la velocidad Podemos definir distintos procedimientos para estimar la velocidad de desplazamiento v: !
1. Obtención de la velocidad a partir de los datos del fichero. Sabemos que 𝑣 = !!, donde 𝑑 es el vector de desplazamiento recorrido, su módulo, d, es la distancia recorrida y Δ𝑡 es el intervalo temporal en que se recorre dicha distancia. En aquellos ficheros de posiciones con información horaria podemos obtener el valor de v, ya que podemos calcular 𝑑 = 𝑐! − 𝑐! , donde c1 y c2 son las coordenadas registradas en los instantes s1 y s2, y Δ𝑡 = 𝑠! − 𝑠! . 2. Obtención de la velocidad a partir de TGPR. Conocida la posición de dos trazas con coordenadas c1 y c2 podemos estimar la velocidad media en ese trayecto ! !!
como 𝑣 = !! ! . !"#
3. Obtención de la velocidad a partir de TGPS. Podemos estimar la velocidad a !
partir de la actualización del GPS si suponemos 𝑇!"# = !"#
, donde m es la !
moda de repetición de trazas. Este procedimiento sólo es útil cuando m > 1 y ! !!
TGPR < TGPS. Calcularemos 𝑣 = !! ! . !"#
20 5. Aplicación 5.1. Aspectos de programación Se ha decidido implementar esta aplicación sobre Java, dada su versatilidad. Debido a su extendido uso existen numerosas librerías que facilitan la rápida implementación de funcionalidades. La mayor parte de los equipos cuentan con la plataforma Java instalada y ello permite implementar un código apto para cualquier dispositivo independientemente de su sistema operativo. Concretamente, se ha trabajado sobre la plataforma JavaFx. Ésta está orientada al diseño de aplicaciones con interfaz gráfica y permite diseñar de forma rápida y eficaz interfaces gráficas a partir de xml y definir estilos mediante ficheros en css. La siguiente cita es tomada la web oficial de Java “[4]: “¿Qué es JavaFX? JavaFX está basado en Java. La plataforma JavaFX permite a los desarrolladores de la aplicación crear e implementar fácilmente aplicaciones de Internet enriquecidas (RIA) que se comportan de la misma forma en distintas plataformas. JavaFX amplía la potencia de Java permitiendo a los desarrolladores utilizar cualquier biblioteca de Java en aplicaciones JavaFX. Los desarrolladores pueden ampliar sus capacidades en Java y utilizar la tecnología de presentación que JavaFX proporciona para crear experiencias visuales que resulten atractivas.” 5.2. Instalación y arranque de la aplicación La aplicación no requiere de ningún tipo de instalación. El sistema en el que se arranque puede ser Windows, Linux o MAC OSX con la versión Java 8 instalada. Actualmente esta es la última versión, pero las nuevas versiones de Java son diseñadas compatibles con las funcionalidades añadidas en versiones anteriores. Cumplidos los anteriores requisitos basta con hacer doble click sobre el archivo CorrectorCoordenadas.jar. Inmediatamente se abrirá en la ventana de inicio lista para su uso. 5.3. Manual de usuario 5.3.1. Lectura de ficheros En el inicio de la aplicación ésta se abre en la ventana “Abrir Fichero”. Paso 1: Selección del fichero de datos El usuario selecciona un fichero que contiene los datos originales con los que se va trabajar. En la parte superior (Figura 9) dispone de un campo para escribir la ruta del fichero dentro del ordenador y de un botón que abre una ventana para navegar hasta el directorio que lo contiene. Pulsando sobre el fichero éste se selecciona. 21 Figura 9: Procedimiento para la selección de un fichero de coordenadas. A continuación, antes de importar posiciones, es necesario definir en la aplicación cuál es el formato que tiene el archivo de posiciones a importar. Para ello, el usuario puede utilizar uno de los formatos estándar que están predefinidos en la aplicación, pero también puede diseñar un nuevo formato de fichero de posiciones, o puede cargar uno que previamente hubiera diseñado. Las opciones entre las que debe elegir el usuario son dos: Paso 2a: Diseño y carga de un formato El usuario puede acceder a la herramienta de diseño de formatos nuevos y de carga de formatos personalizados previamente definidos desplegando la pestaña “Diseño de Formato” (Figura 10). Si se dispone de un fichero de formato previamente diseñado, se ha de hacer click sobre el botón “Cargar Formato”. Se abrirá una nueva ventana para el acceso al directorio con el archivo de diseño; pinchando sobre éste, se cargará el formato. En caso de existir errores en el fichero cargado se lanza una ventana de aviso que remite al campo fallido. En caso de carga exitosa, los campos de diseño quedarán rellenos con la información cargada Si quiere diseñarse un nuevo formato de archivo de posiciones, el usuario habrá de rellenar los campos solicitados con la información pertinente. Una vez finalizado el proceso, se debe pulsar el botón situado en la zona inferior derecha “Guardar Formato”. Se despliega una ventana que solicita el nombre con el que se guarda el fichero de diseño y el directorio donde alojarlo. Los textos que se introduzcan en los campos superiores “Introduzca el tipo de radar” e “Introduzca el formato de fichero” serán los nombres con los que la aplicación se referirá a la configuración guardada o cargada. La aplicación agrupa los formatos de fichero por tipo de radar, de modo que un mismo nombre de 22 formato de fichero puede utilizarse con distintos radares, sin que tengan que coincidir sus contenidos (e.g. formato .hdr en VIRL6 y en VIRL7; Tabla 2 y Tabla 3). Una vez cargado o diseñado un nuevo formato, éste se añade a la lista de formatos asociados al radar correspondiente. Si este radar es uno de los contemplados previamente por la aplicación (por defecto, RAMAC, VIRL2, VIRL6 y VILR7), se añade el nuevo formato a los formatos habituales de dicho radar. Si se trata de un nuevo radar, éste se incorpora a la lista de radares contemplados por la aplicación, y el formato de fichero diseñado se le asocia como habitual para ese radar. Nótese que en caso de coincidir el nombre de un formato de un radar con uno ya existente se borrará el primero y se guardará el último salvado. Figura 10: Procedimiento para el diseño de un formato. Parámetros a introducir por el usuario. Paso 2b: Selección de un radar y formato Pulsando sobre “Selección de Formato” (Figura 11) se despliega una pestaña donde se puede seleccionar uno de los radares predefinidos. Éstos son: RAMAC, VIRL2, VIRL6 y VIRL7, que son aquellos de los que se han recogido datos hasta la fecha. Si previamente se ha diseñado un formato de fichero para algún otro radar (Paso 2a), en el despliegue de los radares disponibles, también figurará el nuevo radar. Una vez seleccionado el tipo de radar, ha de seleccionarse el formato del archivo a cargar. Pinchando sobre la pestaña de formatos se desplegarán todos los formatos de fichero definidos para ese tipo de radar seleccionado, tanto los que la aplicación incluye por defecto, como los previamente diseñados o cargados. Adicionalmente el usuario dispone de un botón “Mostrar Características de formato”, que mostrará en el cuadro situado en la parte inferior derecha las características del formato escogido que incluye los datos que reflejan y el orden de presentación de éstos. Finalizada la selección el usuario ha de pinchar en “Aplicar Configuración”. 23 Figura 11 : Procedimiento para la selección de un radar y formato y mostrar las características del formato seleccionado. 5.3.2. Visualización de la información Tras pulsar sobre el fichero de datos el usuario dispone de la zona central derecha de la ventana “Abrir Fichero” para visualizar el contenido original del fichero (Figura 12). Seguidos los pasos 1 y 2, la información habrá sido correctamente leída. Paso 3: Análisis de datos El usuario procede a analizar el contenido numérico. Pulsando sobre la pestaña “Parámetros de Corrección” en la parte superior izquierda, se abre un nuevo panel en la misma ventana (Figura 12). En la parte inferior y bajo el título de “Información de fichero”, se dispone de la información referente al tipo de la configuración de trabajo (radar y formato), el número total de trazas del que se dispone, la moda del número de trazas con igual valor de coordenadas y el espacio total recorrido. En la mitad derecha de la pantalla se representa una tabla con dos pestañas. La primera ordena la información original obtenida y presenta las coordenadas geográficas bajo las columnas Índice, Latitud, W/E, Longitud, N/S y Nº Original de Traza. Índice se refiere al orden de la traza en cuestión dentro del fichero y el número de traza original al número de referencia a esa traza en el fichero original, que no tiene por qué empezar en 0. La segunda pestaña presenta las coordenadas originales convertidas en coordenadas UTM bajo las columnas: Índice, Easting, Northing, Zona, Nº de traza Original y Distancia a la siguiente traza. Adicionalmente, en caso de disponer de información horaria en el fichero se presenta una columna “Velocidad desde fichero”. 24 Figura 12: Ventana de visualización de la información obtenida del fichero. La información general se muestra en el recuadro naranja. El rectángulo rojo señala las dos tablas generadas originalmente tras la lectura de datos. Ésta consta de dos pestañas (en azul y verde) que presentan los datos en coordenadas geográficas (azul) y tras la conversión a UTM (verde). Paso 4: Generación de gráficas Haciendo click sobre el botón “Dibujar Trazas” situado en la parte inferior izquierda (Figura 13), se abre una nueva ventana que presenta una gráfica vacía (Figura 14). Figura 13: Panel de “Parámetros de Corrección”. Señalado en rojo el botón para la generación de gráficas. En naranja puede verse la zona “Introducción de Datos”, donde se seleccionan las distintas correcciones. 25 Figura 14: Ventana para la visualización gráfica de los datos obtenidos de un fichero de coordenadas. Mediante el panel situado en la izquierda el usuario habrá de desplegar la pestaña “Selector de Gráficas”, donde se encuentra desmarcado un cajetín bajo el título “Coordenadas UTM”. Una vez seleccionado (Figura 15), púlsese el botón “Plot” en la zona inferior del panel y para la visualización en la gráfica de la derecha de los valores Northing-­‐Easting de las coordenadas UTM calculadas. Figura 15: Procedimiento para la selección de las gráficas a representar. 26 5.3.3. Aplicación de la corrección Se ha diseñado una aplicación para la corrección de coordenadas con la intención de que resulte lo más autónoma posible, y donde la intervención del usuario se limite a la introducción de unos valores de partida. Será responsabilidad de éste el criterio en la introducción de tales datos así como el análisis de los resultados obtenidos. Cargados ya los datos en el Paso 3 y visualizados en el Paso 4, en este Paso 5 el usuario debe ahora elegir una entre las distintas correcciones a aplicar. Luego, en el Paso 6, ejecutará la corrección elegida y en el Paso 7 observará el resultado obtenido. Mientras no se cambien los datos, la aplicación guardará interna y temporalmente los resultados obtenidos en el Paso 6, de modo que se pueda volver a realizar nuevas correcciones y comparar entre ellas (volviendo al Paso 5 para seleccionar una nueva corrección, ejecutándola en el Paso 6 y visualizándola en el Paso 7). Los resultados de aquellas correcciones realizadas que el usuario quiera conservar podrán exportarse posteriormente (Paso 8). Bajo la pestaña “Introducción de Datos” del panel “Parámetros de Corrección” (Figura 13), se encuentran los parámetros que utilizan las diferentes correcciones posibles. No todos ellos son necesarios para todos los tipos de corrección. A continuación se muestra el procedimiento que el usuario de la aplicación debe seguir a la hora de seleccionar cada una de las correcciones disponibles. Paso 5a: Selección y configuración de la corrección por diezmado Bajo el título “Diseño de Configuración” se encuentra la opción de “Diezmado” (Figura 16). Figura 16: Procedimiento para la selección de corrección por diezmado. Desplegando las opciones disponibles encontramos los tipos previamente descritos: “Por UTM”, “Por Latitud” y “Por Longitud”. Adicionalmente, el usuario 27 puede indicar manualmente que se guarde una de cada N trazas. Para ello el usuario deberá introducir el valor de N en el recuadro “Tomar una de cada: [ ] trazas”. Esta opción permite al usuario determinar un patrón de repetición observado y eliminar las trazas que considera innecesarias. Paso 5b: Selección y configuración de la corrección por interpolación Bajo la pestaña “Diseño de Corrección” se encuentra la opción “Tipo de interpolación” (Figura 17). Pinchando sobre el recuadro contiguo, el usuario puede seleccionar uno de los tipos de interpolación descritos en 4.2.3. Tipos de correcciones. Figura 17: Procedimiento para la selección para la corrección por interpolación. "Diezmado" y "Tipo de interpolación" son configuraciones de corrección excluyentes, de modo que una no puede aplicarse mientras se aplica la otra. Cuando una opción de diezmado es seleccionada, se inhabilitan las opciones de interpolación y viceversa. Si por cualquier razón se quisiera diezmar posiciones previamente interpoladas, se procedería siguiendo los siguientes pasos. Primero se interpolarían posiciones, se guardarían los resultados y éstos se exportarían, generando un nuevo fichero de coordenadas (véase Paso 8). A continuación se podría aplicar la corrección de diezmado. Téngase en cuenta que si no se ha tenido cuidado de hacer la exportación en un formato que la aplicación contemple para importación, antes de volver a importarlo para diezmarlo sería necesario volver a aplicar el Paso 1 para generar el formato de fichero adecuado para tal importación. Paso 5c: Selección y configuración de la corrección de bias Esta corrección requiere la introducción de tres valores por parte del usuario: TGPR, TGPS y la velocidad de desplazamiento. Los dos primeros parámetros se introducen en los campos indicados para ellos en la parte superior del cuadro “Introducción de Datos”. Pueden introducirse como periodo en segundos o como frecuencia en Hz. Para el valor de la velocidad existen cuatro opciones (Figura 18): 28 1. Velocidad introducida. 2. Velocidad desde fichero. 3. Actualización de traza. 4. Actualización de GPS. Figura 18: Procedimiento para la selección de corrección de bias. 1. Velocidad introducida Adicionalmente a los posibles procedimientos para la estimación de la velocidad descritos en 4.2.4, la aplicación permite que el usuario se base en otros criterios para determinar este parámetro. Puede introducir en el campo “Velocidad de desplazamiento” un valor que se tomará como la velocidad media en los tramos en que se determina existencia de movimiento. 2. Velocidad desde fichero Esta opción puede seleccionarse únicamente sobre aquellos ficheros que contengan información horaria. No es necesario que el usuario introduzca ningún otro parámetro. 3. Actualización de traza El usuario ha proporcionado información del periodo de registro de trazas por lo que la velocidad puede calcularse a partir de este dato. El procedimiento es el seguido en 4.2.4. 4. Actualización de GPS En la lectura de datos se obtiene la moda de trazas con iguales coordenadas. Además el campo de periodo de actualización de GPS es un requisito necesario para la corrección de bias, por lo que se dispone de los datos necesarios para estimar la velocidad de acuerdo a lo descrito en el punto 4.2.4. 29 Paso 6: Ejecución de la corrección En el Paso 5 el usuario ha configurado la corrección que quiere aplicar sobre los datos, pero ésta no ha sido ejecutada todavía. Si para un mismo fichero de posiciones el usuario quisiera ejecutar varias correcciones, deberá ir configurando (paso 5) y ejecutando (Paso 6) una tras otra sobre los datos. Para este paso se requiere que el usuario dé un nombre, bajo el que se guardarán temporalmente los resultados de ejecutar la corrección configurada en el paso previo. En “Guardar Corrección” (Figura 19), dentro del campo “Nombrar la corrección como…”, se introduce dicho nombre. A continuación, se pulsa sobre el botón “Añadir” y la corrección configurada se ejecuta. Si la ejecución se realiza con éxito, los resultados obtenidos se guardan bajo el nombre escogido, que se añade a la lista situada en la parte inmediatamente inferior. Esta lista almacena los nombres de todas las configuraciones de corrección ya ejecutadas sobre los datos hasta el momento. Por defecto, sobre esta lista aparece “Coordenadas UTM”, que se corresponde a los datos leídos del fichero tras su conversión a coordenadas UTM. Si se produce algún fallo al ejecutar las correcciones de la configuración, como por ejemplo, si no se ha introducido un parámetro necesario, aparecerá un mensaje de error y no se ejecutará la corrección. Figura 19: Procedimiento para guardar una corrección y visualizarla. Los valores obtenidos se guardan temporalmente bajo el nombre antes indicado y puede volverse al Paso 5 para configurar una nueva corrección. Si el usuario desea realizar más correcciones, puede realizarlas tanto antes como después de visualizar y estudiar los valores obtenidos (Paso 7). Mientras se trabaje con el mismo fichero y no se cierre la aplicación, los resultados obtenidos de las diferentes correcciones ejecutadas permanecen guardados internamente para su visualización y son accesibles para el usuario a partir de la lista de nombres previamente descrita (véase el Paso 7). En caso contrario, si se cambia de fichero o se cierra la aplicación, se borrarán las coordenadas corregidas. Si se desea guardar 30 estos valores en un fichero externo, pueden exportarse como un fichero de texto o una imagen, siguiendo el procedimiento que se describe en el Paso 8. Pueden borrarse una o todas las configuraciones de corrección ejecutadas pulsando sobre “Borrar selección” (borra el elemento seleccionado sobre la lista y los valores bajo este identificador) o “Borrar todas” respectivamente. Paso 7: Visualización de los nuevos valores Seleccionando uno de los elementos de la lista situada en la zona central izquierda (Figura 19), abrimos los resultados de una corrección ejecutada, que habían sido guardados bajo este nombre (Paso 6), en la tabla que encontramos a la derecha. La información se clasifica por columnas donde encontramos: Índice: orden de la traza dentro del fichero. Easting, Northing y zona: caracterizan la coordenada UTM correspondiente. Nº de traza Original: número de registro de la traza tomada del fichero inicial sin modificar. Latitud, Longitud: conversión de las coordenadas UTM modificadas de nuevo a coordenadas geográficas. Distancia a la traza Siguiente: distancia en metros a la siguiente traza registrada. Distancia a la traza original: distancia entre las coordenadas tras aplicar la corrección y las coordenadas del fichero original para cada traza. Velocidad desde fichero: para ficheros que disponen de información horaria, cuando se aplica una corrección, se incluye la velocidad de desplazamiento. En el diezmado, las filas correspondientes a cada traza incluyen la velocidad que se calcula con la lectura del fichero. En la interpolación, las trazas que se determinan tomadas en ausencia de movimiento, figuran con el valor 0 en esta columna. El resto de trazas incluyen el valor calculado a partir del fichero. Pulsando sobre el botón “Dibujar Trazas”, en la parte inferior izquierda, se abre una nueva ventana. Ahora, además de las coordenadas del fichero original en el “Selector de Gráficas”, se pueden seleccionar todas las correcciones que han sido registradas en la lista. Si se pincha sobre “Plot” se representarán aquellos datos que han sido previamente seleccionados. Para desplazarse dentro de la gráfica se dispone de una opción de “Zoom”. Al desplegar esta pestaña encontramos los máximos valores de los ejes X (Easting) e Y (Northing) que están siendo representados. El usuario puede variar estos datos introduciendo los valores deseados y pulsando la tecla “intro”. Mediante el botón “Restaurar Valores” se vuelve a los valores iniciales. La gráfica además permite modificar su visualización desplazándose por los ejes X e Y deslizando hacia izquierda o derecha y arriba o abajo respectivamente. Para Ampliar a una zona concreta el usuario puede pinchar sobre la gráfica y arrastrar hacia abajo y a la derecha para delimitar los nuevos intervalos de estudio. A modo de ayuda mientras se lleva a cabo este proceso se dibuja un rectángulo que muestra la zona que va a ser seleccionada. 31 5.3.4. Generación de nuevos ficheros Hasta ahora todo el proceso de análisis de datos y gráficas visualizadas se perdería con el cierre de la aplicación. Paso 8: Guardar fichero de datos El usuario dispone de la opción “Fichero de Texto” bajo el título “Generar Ficheros” en la parte inferior izquierda de la ventana “Parámetros de Corrección” (Figura 20). Pulsando sobre ésta se visualiza una nueva ventana que presenta dos listas. Una primera con las correcciones registradas y una segunda, que mostrará las columnas de que dispone la corrección que haya sido seleccionada en la primera. Se generarán tantos nuevos ficheros como correcciones haya seleccionadas en la primera lista. Por defecto los nombres de los ficheros coincidirán con los nombres dados a cada corrección. Pulsando sobre “Guardar Configuraciones” se despliega una nueva ventana para la selección del directorio donde se almacenarán los ficheros. Una vez aceptado un directorio, inmediatamente se generarán los correspondientes ficheros. En caso de existir previamente un archivo con igual nombre en el directorio escogido, se reemplazará éste por el nuevo. El formato de cada uno de los nuevos ficheros generados lo puede determinar el usuario. Seleccionando sobre la lista de columnas para una corrección concreta puede arrastrar los componentes para colocarlos en el orden deseado. Además puede desmarcarlos. El resultado final será el número total de columnas marcadas en el orden en que hayan sido dispuestas en la lista. Figura 20: Procedimiento para exportar un fichero de texto con los datos corregidos.
Paso 9: Guardar gráfica Tras el paso 7 se ha llegado a la visualización de una gráfica que incluye tantas correcciones como hayan sido seleccionadas. Podemos guardar la gráfica visualizada en formato .png pinchando sobre “Guardar como Imagen”. Aparecerá 32 una nueva ventana para definir el nombre de la imagen generada y su ruta en el ordenador. 5.4. Ejemplo: Un caso real A continuación, se muestra la lectura, el análisis y la corrección de un fichero generado a partir del georradar VIRL6 y con formato .xyx.txt. Seguimos los Pasos 1 y 2 previamente descritos para cargar el fichero y seleccionar el formato. En la Figura 21, el cuadrado en rojo nos muestra el contenido de nuestro fichero. Los datos se colocan de acuerdo al formato .xyz.txt y las columnas relevantes para este TFG van de la 1 a la 5. Latitud y longitud son valores positivos y todas las coordenadas corresponden a los hemisferios norte y este. Obsérvese que además este fichero ya aporta su propia conversión a coordenadas UTM, si bien son interpolaciones realizadas entre puntos de control. Este dato se descarta y todos los cálculos posteriores se realizan a partir de la conversión realizada por esta aplicación. Figura 21: Lectura de datos de un fichero generado por el georradar VIRL6 con formato .xyz.txt. En el recuadro en rojo se observa el fichero leído. Tras la selección del radar y formato el fichero se ha leído con éxito. Subrayado en azul se muestran las características del formato escogido. Prosiguiendo con el Paso 3, podemos observar el resultado en la Figura 22. Señalado en rojo se indica dónde nos muestra la aplicación información acerca de los datos importados. Nos muestra que hemos tomado los datos de un fichero obtenido para el georradar VIRL6 y que tiene un formato xyz.txt. Que el número de muestras recogidas asciende hasta 1066 con un espacio recorrido de unos 2.7 km. Nos muestra que la moda en la repetición de trazas es igual a 4, por lo que 33 podemos estimar que la relación entre el tiempo de actualización del GPS y el registro de trazas es aproximadamente 4. Figura 22: Visualización de la información contenida en el fichero leído. En el círculo en rojo se especifica información general. En la tabla de la derecha se encuentran las coordenadas geográficas.
La tabla en el margen derecho nos muestra las coordenadas geográficas contenidas en el fichero, expresadas en grados. Pulsando sobre “Coordenadas UTM” obtenemos la conversión de aquéllas a coordenadas UTM (Figura 23). Este fichero registra las medidas tomadas en la zona 33. 34 Figura 23: Coordenadas del fichero .xyz.txt leído tras la conversión a coordenadas UTM. Se muestra el índice dentro de la tabla, los valores correspondientes a las coordenadas UTM, el número de traza y la distancia a la traza siguiente Procedemos, de acuerdo al proceso descrito en el Paso 4, a representar estos valores (Figura 24). Figura 24: Representación gráfica de los valores originales. En el recuadro rojo se amplía la zona del trayecto que se encuentra recuadrada en naranja. Observamos en la trayectoria un cierto patrón donde para la variación de los valores Easting se mantiene el Northing. Teniendo en cuenta que se está representando un desplazamiento real, es improbable que se haya seguido circuito 35 con un escalonado tan marcado y periódico. Podemos sospechar que existe un problema en la actualización de la latitud por parte del GPS. Por tanto, procedemos a corregir las coordenadas de diferentes maneras: (1) diezmando en longitud, (2) interpolando sobre latitud, (3) corrigiendo bias simultáneamente con el diezmado por latitud y finalmente (4) corrigiendo bias simultáneamente con interpolación sobre latitud. A cada una de estas correcciones se les ha decido nombrar (los nombres designados para las distintas correcciones son escogidos por el usuario; véase Paso 6) como: (1) “Diezmado por Latitud”, (2) “Interpolación sobre Latitud”, (3) “Corrección de bias con diezmado sobre latitud” y (4) “Corrección de bias con interpolación sobre latitud” respectivamente. Todas las correcciones se añaden a la lista de correcciones (Figura 25). Figura 25: Lista de correcciones guardadas. Si se sigue el Paso 7 para la visualización de los resultados obtenidos de las correcciones se observarán las siguientes tablas y figuras cuya explicación se desarrolla a continuación. Figura 26: Representación de todas las correcciones simultáneamente en todo el espacio recorrido (arriba) y tras aplicar zoom (abajo). 36 La Figura 26 muestra la representación simultánea de todas las correcciones. Nótese que debido a la proximidad entre los puntos la información no puede interpretarse fácilmente. Por ello, se ha optado por desglosar las correcciones individualmente y realizar las representaciones simultáneas de aquellas que se considera de interés comparar. Además, no se ha representado todo el trayecto recorrido, sino que se ha realizado zoom sobre las zonas de interés. Aquellas en las que se puede fácilmente apreciar los resultados que se busca resaltar. (1) “Diezmado por Latitud” Tras aplicar esta corrección, el número total de trazas se reduce a 121. Considérese que si se registraron 1066 trazas y el valor de GPS se actualizaba con cada registro de 4 de éstas, el valor estimado es 267 trazas con coordenadas diferentes. Sin embargo, tras el diezmado, el número total de trazas es próximo a la mitad. Podemos estimar que la longitud se actualiza el doble de veces que la latitud y por tanto, deducir que encontraremos escalones con dos grupos de trazas que tienen igual latitud. Compruébese en la Figura 26 que se confirman los resultados esperados. Proseguimos con el análisis de los nuevos valores obtenidos tras aplicar la corrección. La Figura 27 representa los 6 primeros valores correspondientes a las 6 primeras trazas del fichero. Destaquemos las columnas “Nº Traza Original”, “Distancia a Traza Siguiente” y “Distancia a Traza Original”: la primera es el número de traza original sobre el que se ha realizado la corrección; la segunda, es la distancia entre la posición corregida de la traza actual y la de la siguiente; la tercera es la distancia entre la traza corregida y la correspondiente original sin corregir. El diezmado por latitud descarta aquellas trazas de igual latitud, por lo que las trazas que se mantienen vienen definidas por el número de traza del que disponían originalmente. En el listado de éstas observemos que este número ya no se corresponde con el índice de lista, a diferencia de la mostrada en la Figura 23, precisamente porque se han descartado las trazas intermedias. Por método, cada traza no descartada tiene unas coordenadas distintas a la siguiente, en este caso, las trazas registradas distan entre ellas hasta decenas de metros. Sin embargo, el valor de las coordenadas de estas trazas no ha sido modificado, por lo que, con respecto al fichero original, las coordenadas asociadas a cada traza distan 0 metros de las coordenadas originales. Figura 27: Tabla obtenida para “Diezmado por Latitud”. (2) “Interpolación sobre Latitud” En la Figura 28 observamos que el número de traza coincide de nuevo con el índice de lista, tal y como sucedía en el fichero original. En la interpolación no se descartan trazas. Como se ha visto en el diezmado por latitud y puede verse en la Figura 27, la siguiente traza a la traza 0 cuyo valor de latitud cambia es la 20 y, sin embargo, observamos ahora (Figura 28) que las trazas de la 1 a la 5 disponen de una “Distancia a Traza Original” no nula. Además, las trazas de la 0 a la 3 distan el 37 mismo espacio con la traza siguiente. Con esta información podemos deducir que las 4 trazas de la 0 a la 3 tenían originalmente las mismas coordenadas (Figura 23) y, puesto que el valor de la moda es 4, se ha determinado que durante su registro existía movimiento y se han interpolado. Por otro lado, las trazas 4 y 5 no habían actualizado debidamente su latitud, por lo que se corrigen sus coordenadas (de ahí la diferencia respecto a los datos originales). Como entre ellas la distancia es 0, concluimos que se ha determinado que durante su registro no existía movimiento. Figura 28: Tabla obtenida para “Interpolación sobre Latitud”. (3) “Corrección de bias con diezmado sobre latitud” Puesto que el formato .xyz.txt no dispone de información temporal, seleccionamos la estimación de velocidad a partir de la frecuencia de registro de traza. Como valores de TGPR y TGPS introducimos 0.5 y 2 segundos respectivamente. Puesto que la relación entre estos valores es igual al valor de la moda, obsérvese en la Figura 29 que las velocidades calculadas a partir de ambos parámetros son iguales. Es de interés establecer la comparación con respecto al diezmado sin corrección de bias. Los valores de las coordenadas originales han sido rectificados y se ve claramente en la columna “Distancia a Traza Original”. Figura 29: Tabla obtenida para “Corrección de bias con diezmado sobre latitud”. (4) “Corrección de bias con interpolación sobre latitud” Se mantienen los mismos parámetros de TGPR y TGPS que en la corrección anterior y la estimación de la velocidad se calcula de nuevo a partir del periodo de registro de traza. Si se comparan los valores de las coordenadas en la Figura 30 con los obtenidos sin corrección de bias en la Figura 28, observamos que han sido modificados para las trazas 0 a 3 (en las que habíamos determinado que existía movimiento durante su registro) y se mantienen para las trazas 4 y 5. Es consistente con lo anterior que las velocidades para esos dos grupos de trazas (0-­‐3 y 4-­‐5) son distintas de cero y cero respectivamente. Figura 30: Tabla obtenida para “Corrección de bias con interpolación sobre latitud”. Comparación entre el diezmado y la interpolación En la Figura 31 se han representado gráficamente los resultados del diezmado (izquierda) y del diezmado e interpolación (derecha) superpuestos con el trayecto original. Obsérvese cómo se han suavizado las irregularidades provocadas por el 38 error en la actualización de la latitud. La interpolación marca las trazas sobre el nuevo recorrido que ha definido el diezmado. Esto se ve claramente reflejado si se comparan los dos tipos de interpolación, sobre UTM y sobre latitud (Figura 32). Las trazas interpoladas sobre el recorrido original (interpolación sobre UTM) se proyectan sobre la línea azul claro de la gráfica izquierda de la Figura 31. Figura 31: Representación del recorrido original vs tras diezmar por latitud (izquierda). Representación del trayecto original y, superpuestos, los trayectos tras diezmar por latitud y tras interpolar sobre latitud (derecha). Figura 32: Representación de la interpolación sobre UTM y la interpolación sobre latitud. Comparación entre la corrección y no corrección de bias Para ver el efecto de la corrección de bias, en el diezmado y en la interpolación sobre latitud, se superponen en las gráficas de las Figura 33 y Figura 34 respectivamente, los datos con y sin corrección de bias. Las coordenadas tras la corrección de bias se encuentran desplazadas en la dirección del movimiento. 39 Figura 33: Representación del trayecto original junto con diezmado por latitud con y sin corrección de bias. Figura 34: Representación del recorrido original junto con interpolación sobre latitud con y sin corrección de bias. Con zoom medio (izquierda) y con zoom alto (derecha). Para concluir, exportamos a un fichero las columnas “Nº Traza Original”, “Easting”, “Northing” y “Zona” tras la interpolación sobre latitud y corrección de bias. Para ello indicamos la corrección y las columnas (Figura 35) siguiendo el Paso 8 del manual de usuario. 40 Figura 35: Exportación a un fichero de texto los datos de la corrección por interpolación sobre latitud y corrección de bias. Seleccionadas las columnas “Nº Traza Original”, “Easting”, “Northing” y “Zona”. El fichero resultante incluye la leyenda y los datos corregidos (Figura 36). Figura 36: Fichero de datos exportado desde la aplicación. Finalmente exportamos la gráfica generada de esta misma corrección. El resultado es la gráfica en formato png que se refleja en la Figura 37). Figura 37: Gráfica exportada desde la aplicación. 41 6. Conclusiones y líneas de trabajo futuro 6.1. Conclusiones Este TFG ha conseguido llevar a cabo con éxito su objetivo fundamental de implementar una aplicación semiautomática para el análisis, visualización y corrección de errores de posicionamiento en perfiles de georradar en glaciología. Los desarrollos realizados por la autora se pueden agrupar en los siguientes bloques. Por un lado, esta memoria desarrolla una breve introducción al contexto de investigación en el que se generan las necesidades. Se ha descrito el funcionamiento del georradar como equipo de trabajo en glaciología y se ha realizado una introducción tanto al sistema de coordenadas geográficas empleado por el GPS en su toma de datos, como al sistema de coordenadas UTM, más apropiado para realizar los cálculos de distancias. A continuación se ha realizado un detallado análisis de los ficheros de datos sobre los que versa este TFG. Se han analizado los distintos formatos de fichero de posiciones que son típicamente utilizados según la clase de georradar, y se han establecido unos criterios para la generalización de la lectura de cualquier otro formato futuro. Posteriormente en este TFG se ha realizado un estudio de los distintos tipos de error de posicionamiento existentes en los ficheros de posiciones de georradar. Se ha puesto de manifiesto la presencia de errores causados por el propio receptor GPS y de otros sistemáticos debidos al movimiento del GPR. Se ha establecido un criterio para la determinación de la existencia o no de movimiento del georradar durante el registro de trazas y se han descrito las distintas correcciones que se deben a aplicar para solucionar cada error. Finalmente, en la memoria de este TFG se describen los aspectos relativos a la aplicación implementada. Se justifica el porqué de utilizar JavaFX, se describe la instalación y se incluye un manual para el usuario de la aplicación. Como resumen de las siguientes características de la aplicación se pueden destacar las siguientes: -­‐ Es adaptable a nuevos formatos, gracias a las características del módulo de lectura de ficheros que incluye. -­‐ Facilita el análisis y la toma de decisiones, gracias a su componente gráfica, con la que puede visualizarse la información presente en los datos. -­‐ Es sencilla de uso y versátil, posibilitando la aplicación de diferentes tipos de corrección sobre los datos de posición provenientes de cualquier georradar, y permitiendo comparar los resultados generados tras las correcciones aplicadas, tanto gracias a su herramienta de visualización como por su flexibilidad de exportación en formatos personalizables. Para concluir esta memoria se muestra un ejemplo del uso de esta aplicación para la corrección de un fichero y se comentan los resultados obtenidos. 42 6.2. Valoración personal Al comienzo del curso académico acudí a mi tutor Javier Lapazaran en busca de un proyecto de fin de grado. El último día de mi clase de Álgebra hace cuatro años en el primer semestre del primer curso mencionó lo siguiente: “No os volveré a dar clase, pero si en algún momento alguno está interesado en glaciares estaré en mi departamento”. No se trata de una cita textual debido a que ha transcurrido mucho desde entonces, pero la idea persistió. Este proyecto fue uno de los que me ofreció. Probablemente lo escogí sin ningún criterio particular, pero llamó mi atención que algo como tener en cuenta el movimiento en la toma de datos discretos de posición no es contemplado por todos los investigadores en este campo. La caracterización de un glaciar, más allá de los datos obtenidos por el georradar, está condicionada por la situación adecuada de estos datos. Carecer de información sobre cuál es la posición del punto estudiado o posicionar los datos erróneamente supone un estudio incorrecto. Este TFG ha puesto en práctica mis nociones de programación, que eran básicas, para llegar a desarrollar una aplicación funcional apta para su uso. Este trabajo me ha permitido adentrarme en la dificultad de acotar errores. Aprender sobre los distintos sistemas de coordenadas y sobre el trato de datos aplicando técnicas como el diezmado, la interpolación y la corrección de bias. Pero sobre todo, me ha enfrentado a un proyecto real. La necesidad de diseñar un sistema completo para satisfacer la necesidad de un usuario. He tomado decisiones de diseño y he tomado decisiones basándome en mi propio criterio. Considero que se han alcanzado los objetivos de este proyecto y que a éste pueden añadirse nuevas líneas de trabajo, las cuales menciono en el siguiente apartado. 6.3. Futuras líneas de trabajo De cara a un futuro se plantean dos líneas de trabajo. En primer lugar, añadir funcionalidades a la aplicación de forma que se adapte a las necesidades del usuario y pueda mejorarse la interacción de éste con los datos. Tanto mediante las mejoras de la interfaz gráfica, implementando nuevas necesidades que surgen tras el uso continuado de un software; como mediante la visualización de los datos sobre el mapa. Esto último podría realizarse empleando librerías de JavaScript que trabajan con Google Maps. Para incluir JavaScript en esta aplicación desarrollada en Java, podría crearse una nueva ventana que se comportara como un navegador web (browser). Lenguajes de programación de tan alto nivel como JavaScript permiten un diseño vistoso y sencillo para mejorar la experiencia del usuario. Por otro lado, se ha hecho un estudio teórico del error y se ha corregido éste sobre los datos leídos de un determinado fichero. Se ha aplicado únicamente interpolación lineal, pero podrían considerarse otros tipos. Bajo criterio del usuario éste podría determinar si es despreciable un cambio en la dirección de desplazamiento o no. Además, podría resultar de interés trabajar con los errores aleatorios y hacer un estudio conjunto tanto de éstos como de los detectados por la aplicación. 43 7. Bibliografía Páginas web citadas [1] Coordenadas Geográficas: http://iesasbccss3.blogspot.com.es/2015/09/coordenadas-­‐geograficas.html [2] Características de las coordenadas UTM y descripción de este tipo de coordenadas: http://www.elgps.com/documentos/utm/coordenadas_utm.html [3] Coordenadas UTM: http://proteccioncivilsariegos.blogspot.com.es/p/fase-­‐
lunartormentas-­‐solares-­‐orientacion.html [4] Conozca más sobre la tecnología Java.: https://www.java.com/es/about/ Publicaciones citadas Acorne, S. a. (1989). Investigations of dielectric properties of some frozen materials using cross-­‐borehole radiowave pule transmissions. CRREL , 89 (4). Altozano Derqui, J. (2015). Desarrollo de una herramienta software para la manipulación de datos de georradar. Proyecto de Fin de Carrera, ETSIT-­‐UPM. Ludwig, S. G. (1996). Application of Ground Penetrating Radar in Glaciology and Permafrost Prospecting. Study Paper for the Arctic Studies Programme at the Arctic Centre, Rovaniemi (Finland). National Geospatial-­‐Intelligence Agency. (2014). The Universal Grids and the Transverse Mercator and Polar Stereographic Map Projections. Standarization document, Office of Geomatics . Lapazaran J, Otero J, Martín-­‐Español A and Navarro F (2016) On the errors involved in ice-­‐thickness estimates I: Ground-­‐penetrating radar measurement errors. Journal of Glaciology. In press (doi: 10.1017/jog.2016.93). Reguero, S. (2007). Desarrollo de una aplicación de procesado de datos de georradar en estudios glaciológicos. Proyecto de Fin de Carrera, ETSIT-­‐UPM. Macheret, Yu.Ya., Moskalevsky, M.Y. y Vasilenko, E.V. (1993). Velocity of radio waves in glaciers as an indicator of their hydrothermal state, structure and regime. Journal of Glaciology, 39 (132), 373-­‐384. Vasilenko, E.V., Sokolov, V.G., Macheret, Yu.Ya., Glazovsky, A.F., Cuadrado, M.L. y Navarro, F.J. (2002). A digital recording system for radioglaciological studies. Royal Society of New Zealand Bulletin, 35, 611-­‐617. Vasilenko EV, Machío F, Lapazaran JJ, Navarro FJ and Frolovskiy K (2011) A compact lightweight multipurpose ground-­‐penetrating radar for glaciological 44 applications. Journal of Glaciology, 10.3189/002214311798843430). 45 57(206), 1113-­‐1118 (doi: 
Descargar