REINGENIERA Y OPTIMIZACIN: SISTEMA DE MAPEO DIGITAL
Tesis para optar al grado de Magster en Tecnologa de la Informacin
JOSE MIGUEL RODRIGO BASUALTO
PROFESORA GUA: Nancy Hitschfeld Kahler
MIEMBROS DE LA COMISIN: Carlos Hurtado Larrain Cecilia Rivara Ziga Andrea Rodrguez Taste
Santiago de Chile Marzo 2007 2 Universidad de Chile Facultad de Ciencias Fsicas y Matemticas Departamento de Ciencias de la Computacin
REINGENIERA Y OPTIMIZACIN: SISTEMA DE MAPEO DIGITAL
Tesis para optar al grado de Magster en Tecnologa de la Informacin
JOSE MIGUEL RODRIGO BASUALTO
PROFESORA GUA: Nancy Hitschfeld Kahler
MIEMBROS DE LA COMISIN: Carlos Hurtado Larrain Cecilia Rivara Ziga Andrea Rodrguez Taste
Santiago de Chile Marzo 2007 3 RESUMEN La informacin geolgica constituye uno de los eslabones estratgicos fundamentales para la explotacin minera. La Divisin El Teniente cuenta con una inmensa cantidad de informacin geolgica que ha sido levantada desde hace 50 aos. A partir del ao 2000, el autor comienza a innovar en la Superintendencia Geologa de la Divisin El Teniente, desarrollando e implementando un sistema digital de mapeo estructural. Luego participa en el desarrollo de la versin 3.1 del software GVMapper. A partir de este ltimo software, desarrolla una serie de cambios destinados a conseguir la compatibilidad con una base de datos Oracle, entre otros objetivos. As se lleg al denominado Mapeador Digital, que adolece de una serie de falencias arquitectnicas y tcnicas que son abordadas en esta tesis. El producto de esta reingeniera es denominado en este documento como Sistema de Mapeo Digital o SMD. El SMD es un sistema de software que permite la creacin e implementacin de un cdigo de mapeo estndar, el cual es distribuido automticamente a los usuarios mediante interfaces grficas que apoyan el mapeo en terreno tanto de sondajes como de mapas. Este sistema adems sincroniza la informacin creada y/o modificada localmente por los usuarios, con una base de datos central Oracle 9i. En esta tesis se hizo una revisin crtica de la implementacin actual del SMD en trminos del modelo de datos subyacente, de la arquitectura del software que actualmente est funcionando y de la plataforma de desarrollo utilizada, desde el punto de vista del escalamiento y la interoperabilidad. A partir de esta revisin se estableci un plan de accin, parte del cual fue llevado a cabo en este trabajo. Los cambios realizados se han traducido en diversas mejoras en trminos de normalizacin de la estructura de datos, as como en el rendimiento de la aplicacin de despliegue grfico. Dichos cambios ya se encuentran en produccin. La mayor normalizacin de la base de datos ha permitido el acceso a la informacin por usuarios no familiarizados con el uso del SMD. El reemplazo de los campos binarios por campos numricos ha permitido acceder a la informacin contenida en ellos por va de simple SQL, disminuyendo drsticamente la dependencia del SMD por parte de la Superintendencia Geologa. Para hacer posible el escalamiento del SMD, se ha definido a Visual Studio 2005 y, en particular, al lenguaje C#como la plataforma de desarrollo futuro, en caso de seguir contando con los mismos recursos fsicos y humanos hasta ahora disponibles. El xito que ha tenido el mapeo digital durante sus seis aos de funcionamiento y evolucin se ha debido fundamentalmente a que su desarrollo ha estado siempre ligado estrechamente con el negocio al que apoya, en este caso la Geologa. El desarrollo histrico del SMD, incluyendo esta tesis, se ha llevado a cabo mediante una estrategia poco convencional, sin equipo de diseo, desarrollo y pruebas bien definidos. El diseo y desarrollo han estado a cargo del autor, mientras que las pruebas, en general, son realizadas por los usuarios ms experimentados. 4 AGRADECIMIENTOS Agradezco a mi esposa Annabella quien me motiv a seguir este magster y me apoy durante el arduo desarrollo del trabajo que signific el SMD, durante estos ltimos cuatro aos, el que incluy muchos fines de semana. El autor desea agradecer adems a todos los miembros de la Superintendencia Geologa de la Divisin El Teniente, quienes han colaborado constantemente mediante el uso del Sistema de Mapeo Digital y sus constantes contribuciones para depurarlo y mejorarlo. 5 TABLA DE CONTENIDO RESUMEN 3 AGRADECIMIENTOS 4 1. INTRODUCCIN 7 1.1 SISTEMA DE MAPEO DIGITAL 8 1.2 HISTORIA DEL SMD 13 1.3 MODELO CONCEPTUAL DEL SMD 15 1.4 OBJETIVO GENERAL 17 1.5 OBJETIVOS ESPECFICOS 17 1.6 APORTE DE ESTA TESIS 17 1.7 LIMITACIONES 18 1.8 METODOLOGA 18 2. ESTADO DEL ARTE EN EL MERCADO 20 2.1 ENCOM DISCOVER 6.1 20 2.2 GEOROVER 20 2.3 OASIS MONTAJ 20 2.4 ARCINFO 21 2.5 GVMAPPER 21 3. ANLISIS Y MODIFICACIONES AL MODELO DE DATOS 24 3.1 MODELO ENTIDAD-RELACIN 25 3.2 SOPORTES DE INFORMACIN 27 3.3 TEMAS Y REGLAS DE MAPEO 29 3.4 INFORMACIN DE MAPEO 33 3.5 TABLAS DE ELEMENTOS MAPEABLES 37 3.6 ESTILOS DE MAPEO 40 3.7 CONCURRENCIA 40 3.8 REPOSITORIO LOCAL DE INFORMACIN 41 4. REPROGRAMACIN DEL SMD 43 4.1 PLAN DE ACCIN 43 4.2 LENGUAJE DE PROGRAMACIN 45 4.3 ARQUITECTURA PROPUESTA 47 4.4 REPROGRAMACIN DE APLICACIONES EN VISUAL BASIC 6.0 48 4.4.1 PROCESADOR DE SOLICITUDES 48 4.4.2 CONFIGURADOR 49 4.4.3 MAPEADOR DE MAPAS 54 6 4.4.4 MAPEADOR DE SONDAJ ES 57 4.4.5 MAPEADOR: UNIFICACIN DE SONDAJ ES Y MAPAS 58 4.4.6 IMPORTADOR DE VECTORES 59 4.5. PROTOTIPO DEL MAPEADOR DE ELEMENTOS 2D 60 4.5.1 ACCESO A LA BASE DE DATOS LOCAL 61 4.5.2 INTERFAZ GRFICA DE USUARIO 62 5. CONCLUSIONES Y RECOMENDACIONES 66 5.1 CONCLUSIONES 66 5.2 RECOMENDACIONES 67 5.2.1 ACCESO A DATOS 67 5.2.2 PROTOCOLO DE COMUNICACIN Y TRANSMISIN DE DATOS 68 5.2.3 ASPECTOS ADMINISTRATIVOS 68 6. BIBLIOGRAFA 69 ANEXO A: GLOSARIO 70 ANEXO B: DESCRIPCIN GLOBAL DEL SMD Y SUS COMPONENTES 72 B.1 CONFIGURADOR 72 B.1.1 CREACIN DE CUENTAS DE USUARIO Y PERFILES 72 B.1.2 CREACIN DE TEMAS DE MAPEO 72 B.1.3 CONSULTA DE INFORMACIN 73 B.1.4 CREACIN Y EDICIN DE ELEMENTOS MAPEABLES 73 B.1.5 IMPORTACIN DE IMGENES Y PLANOS VECTORIALES 73 B.1.6 CREACIN DE PROGRAMAS DE SONDAJ ES 74 B.1.7 ADMINISTRACIN DE PARMETROS CRTICOS 74 B.2 SERVIDOR Y PROCESADOR 74 B.2.1 SERVIDOR 74 B.2.2 PROCESADOR 75 B.3 CLIENTE DEL SMD 75 B.4 MAPEADOR 75 B.4.1 MAPEADOR DE SONDAJ ES 75 B.4.2 MAPEADOR DE MAPAS 75
7 Figura 1: Hoja de mapeo clsica, utilizada hasta 2002. 1. INTRODUCCIN Los gelogos tenemos varias misiones estratgicas para el negocio minero, dentro de las cuales se pueden destacar: Buscar yacimientos, identificando blancos para exploracin distrital y regional. Levantar la informacin bsica relativa a las rocas, estructuras (fallas, fracturas, diaclasas y vetillas), mineralizacin y otros temas relevantes para el yacimiento en explotacin. Evaluar cuantitativa y cualitativamente los recursos presentes en el yacimiento. Emitir informes tcnicos relativos a variadas materias relacionadas con la explotacin minera. Emitir informes tcnicos relativos a materias relacionadas con el medio ambiente (deslizamientos, acopios de material estril y relaves, etc.). Esta tesis tratar fundamentalmente de aplicar tcnicas informticas para proponer mejoras al sistema de mapeo que apoya al rea de geologa de la Divisin El Teniente de CODELCO CHILE, denominado aqu Sistema de Mapeo Digital y abreviado SMD. Al final de este documento se incluye un glosario de trminos que puede ayudar al lector con algunos conceptos especficos aqu mencionados. La informacin geolgica bsica se obtiene del mapeo de sondajes y mapas. sta consiste en datos geogrficos (puntos, polilneas, polgonos y tramos de sondajes) a los cuales se asocian datos relativos a distintos temas, a saber: litologa (tipos de roca), estructuras (fallas, vetillas, fracturas, etc.), leyes (presencia de determinados elementos de inters minero), mineralizacin (presencia de minerales que en su composicin contienen elementos de inters, tanto favorables como perjudiciales para la explotacin minera) y otros temas que, segn las caractersticas propias del yacimiento, puede ser relevante reconocer en terreno para su posterior anlisis. El proceso de levantamiento de esta informacin ha sido tradicionalmente manual, dibujando las caractersticas reconocidas y anotando sus atributos en hojas de papel (figura 1). En el caso de los mapas, parte del contenido de dichas hojas se traspasaba a un plano oficial, calcando a 8 Figura 2: Operacin en terreno del SMD. mano los rasgos reconocidos en terreno. La mayora de los atributos observados pocas veces eran traspasados a algn medio de almacenamiento electrnico que permitiera su anlisis conjunto. El traspaso sistemtico de informacin a un medio de almacenamiento digital se haca slo para la informacin obtenida a partir del mapeo de sondajes. La informacin durante dcadas, ha sido almacenada en forma parcializada de diversas formas: papel (planos, hojas de mapeo, cartillas de mapeo de sondajes, etc.), planillas de clculo, archivos planos y, slo algunos datos, en bases de datos relacionales. En consecuencia, no exista un repositorio comn para los datos geolgicos reconocidos en terreno, siendo ellos de tanta relevancia estratgica. Adems, la aplicacin de un estndar de mapeo se haca realmente difcil dada la carencia de una instancia de validacin comn para todos los datos ingresados. A fines del ao 1999, en la Divisin El Teniente, el autor comenz a desarrollar en Visual Basic 6.0, un software muy simple que permita almacenar los datos geolgicos en forma digital. Dicha iniciativa ha pasado por varias etapas, habiendo participado otros actores en el proceso (Geovectra S.A. con el producto GVMapper) y llegando en la actualidad a ser el medio estndar de levantamiento y almacenamiento de informacin geolgica de la divisin. 1.1 Sistema de Mapeo Digital El Sistema de Mapeo Digital (SMD) tiene por objetivo facilitar el levantamiento de informacin en terreno (figura 2), sobre la base de un cdigo de mapeo estndar contenido en una base de datos central. Los gelogos y profesionales afines pueden acceder a la informacin almacenada para verla y/o modificarla en forma ordenada y administrada a travs de perfiles de usuario. Una descripcin ms detallada de los distintos mdulos que componen el SMD se puede ver en el Anexo B de este documento.
9 Figura 3.1: Arquitectura fsica del SMD. Figura 3.2: Arquitectura dinmica del SMD. La arquitectura del sistema (figuras 3.1 y 3.2), consiste bsicamente en un servidor de base de datos, un servidor de aplicaciones y una serie de equipos porttiles y/o equipos de escritorio con sistema operativo Windows 2000 o posterior.
10 Figura 4: Vista del mapeador de mapas del Sistema de Mapeo Digital. Figura 5: Mapa del proceso de levantamiento de informacin geolgica mediante un sistema digital. 1. REQUERIMIENTO DE INFORMACIN 2. BAJ ADA DEL PLANO A MAPEAR, AL EQUIPO PORTATIL 3. ARRIBO AL SECTOR Y PREPARACIN DEL TNEL A MAPEAR 5. DE VUELTA EN LA OFICINA SE SUBE EL PLANO MODIFICADO, LO QUE ACTUALIZA AUTOMATICAMENTE LA BASE DE DATOS CENTRAL 6. SE PUEDEN OBTENER: REPORTES EN EXCEL O TEXTO, EXPORTACION A AUTOCAD, ANALISIS Y FILTROS DE LOS DATOS MAPEADOS, ETC. 4. SE INGRESA MANUALMENTE A UN EQUIPO PORTATIL, LA INFORMACION DE LOS ELEMENTOS A MAPEAR La principal caracterstica del SMD (que adems lo diferencia del resto de los sistemas de mapeo geolgico existentes en el mercado), es su orientacin a la creacin de un cdigo estndar de mapeo que es distribuido a los clientes en forma automtica. Dicho cdigo es creado por los gelogos administradores del SMD, a travs de una aplicacin de configuracin. De esta forma, cada aplicacin cliente obtiene los datos de configuracin del cdigo central de mapeo y genera en forma dinmica las interfaces necesarias para el ingreso de los datos de cada tema, reemplazando a la hoja de mapeo tradicional por una digital (figura 4).
Durante el procedimiento de mapeo (figura 5), cada gelogo levanta la informacin en un computador porttil, tipo hand held o tablet PC, en el cual corre la aplicacin de mapeo.
11 Figura 6: Ficha de un corte transparente. La generalidad de este enfoque hace que el sistema sea aplicable al resto de las reas de la minera que requieren del levantamiento de informacin en terreno (geotcnia, geomecnica, etc.). De hecho, en el SMD existen actualmente temas tan especializados como la descripcin de cortes transparentes de roca (figura 6).
Al conectarse a la red, el sistema es capaz de sincronizar la base de datos central con las modificaciones hechas durante la sesin de mapeo, quedando stas a la vista de todos los interesados en forma inmediata. Todo este sistema ha sido desarrollado en Visual Basic 6.0 y, por lo tanto, est absolutamente restringido a plataformas Windows por ahora. El modelo de datos asociado a las caractersticas grficas como los puntos, polilneas y polgonos adolece de falencias tcnicas que no permiten una consulta ptima de dichos datos. El xito que ha tenido este sistema ha hecho que aumenten los interesados en utilizarlo, por lo que se hace urgente una revisin de las herramientas y tcnicas de desarrollo subyacentes, as como del modelo de datos que permite almacenar la informacin. 12 El SMD est compuesto por diez aplicaciones, algunas de las cuales se describen brevemente en la tabla 1. Mdulo Funcin Mapeador de Mapas Permite al usuario ingresar informacin a un mapa (superficie, planta o seccin). Mapeador de Sondajes Permite al usuario ingresar informacin a un sondaje. Cliente Est instalado en los equipos porttiles y/o de escritorio, permitiendo la conexin con el Mdulo Servidor y el acceso, a travs de l, a la informacin contenida en el sistema. Permite al usuario obtener y editar la informacin de los elementos (mapas y sondajes). Ingreso Canales y Sondajes Est instalado en equipos de escritorio. Permite la creacin de nuevos sondajes y canales mediante una interfaz especialmente diseada para el efecto. Importador de vectores Permite importar archivos vectoriales tales como dxf. Importador de imgenes Permite importar y georreferenciar imgenes de diversos formatos (jpg, tiff, gif, etc.). Servidor Escucha las solicitudes de los clientes. Autoriza usuarios segn su perfil y da curso a sus solicitudes segn corresponda. Cuenta con conexin constante a la base de datos central. Administra los Procesadores de Solicitud. Procesadores de Solicitud Procesan los requerimientos de usuarios como obtener y actualizar elementos. Cuentan con conexin a la base de datos central. Exportador a AutoCAD Permite la exportacin directa a formato dwg, mediante el uso de un ActiveX proporcionado por la versin AutoCAD 2002. Requiere de AutoCAD 2002 Full instalado. Configurador
Es la interfaz de usuario para el administrador del Sistema de Mapeo Digital. Administra la base de datos del sistema permitiendo la creacin de elementos y temas de mapeo, as como la administracin de cuentas de usuario, perfiles, etc.
Tabla 1: Aplicaciones que componen el Sistema de Mapeo Digital. 13 Figura 8: Arquitectura actual del SMD. Figura 7: Desarrollo histrico del SMD, a partir de GVMapper (Geovectra S.A.) y el Mapeador Estructural desarrollado en la Superintendencia Geologa (SGL). 1.2 Historia del SMD A continuacin se hace una breve resea histrica y tcnica de lo que ha sido el desarrollo de las distintas aplicaciones que llevaron al SMD que funciona en la actualidad (figura 7).
El ao 2002 se libera la versin 3.1 de GVMapper. Dicho software fue el resultado de la experiencia acumulada por Geovectra S.A. en su desarrollo del mapeador GVMapper versin 1.0, orientado a sondajes (Geovectra, 2003) y de la experiencia del autor en el desarrollo de una aplicacin de mapeo para tneles en la Divisin El Teniente de CODELCO CHILE. Este desarrollo se llev a cabo entre los aos 2000 y 2002, terminando con la liberacin de la versin 3.1 de GVMapper aqu mencionada. La arquitectura esquemtica de este software se muestra en la figura 8.
14 Figura 9: Arquitectura actual del SMD. Tal como se aprecia en la figura 8, la arquitectura muestra un altsimo grado de acoplamiento entre las distintas capas a nivel de modelo de datos, uso intensivo de Microsoft Access y el uso de los campos BLOB para el almacenamiento de los vrtices. Adems, se distinguen problemas serios de seguridad como el uso de carpetas compartidas para todos los usuarios, de tal forma que puedan tener acceso a la base de datos central. El motivo de esto ltimo es que la aplicacin cliente abre directamente la base de datos central Access ubicada en el servidor y, mediante vinculacin de tablas, procede a la sincronizacin de la base de datos central con los nuevos elementos registrados en la base de datos local. De este modo, el sistema est expuesto constantemente a la corrupcin o prdida de la base de datos central a manos de un usuario descuidado o mal intencionado. El autor desarroll e implement, a partir del ao 2003, una organizacin en capas, donde la lgica de mapeo reside en el cliente (en celeste), la lgica de sincronizacin con la base de datos central lo hace en el servidor de aplicaciones (en verde), mientras que la base de datos reside en un conjunto de servidores (en amarillo). En trminos generales, la arquitectura actual del SMD se resume grficamente en la figura 9.
Sin embargo, existen an tres temas transversales a las capas antes definidas, que las acoplan y reducen en gran medida la escalabilidad y mantenibilidad del SMD. Estos temas son: 1. Modelo de Datos: El modelo diseado es compartido por todas las capas, incluyendo la base de datos local que usan las aplicaciones de mapeo. Esto se traduce en el hecho que un cambio en el modelo de datos central origine efectos en casi todas las aplicaciones aguas abajo. 15 Figura 10: Diagrama UML Nivel 0. Generalidades del SMD. 2. Microsoft Access '97: El uso de esta "base de datos" es intensivo, cumpliendo el rol de repositorio de datos local, medio de transporte para la informacin entre cliente y servidor de aplicaciones, y medio de conexin entre los datos mapeados y la base de datos central, a travs de la vinculacin de tablas. 3. Uso de BLOB's para almacenar vrtices: Para ser guardados y recuperados se requiere la ejecucin de un algoritmo especfico que fue programado en C++ y compilado como una dll que es llamada desde el cdigo Visual Basic. Este ha sido uno de los temas que ms ha incidido en el hecho de no poder separar el modelo de datos central y local, debido a que la transferencia de BLOB's es mucho ms eficiente al tener tablas vinculadas y hacer operaciones de insercin del tipo "INSERT INTO TABLA_ORIGEN SELECT * FROM TABLA_DESTINO", para evitar tener que descomprimir los vrtices almacenados en cada campo BLOB. De los puntos anteriormente mencionados, terminar con el uso de los BLOB's se considera prioritario para flexibilizar al SMD y facilitar el logro de los objetivos de esta tesis. 1.3 Modelo Conceptual del SMD Para esquematizar en forma general los actores y las funcionalidades relacionadas con el SMD, a continuacin se presentan algunos diagramas UML en tres distintos niveles aumentando la profundidad del enfoque (figuras 10, 11 y 12).
16 Figura 11: Diagrama UML Nivel 1. Figura 12: Diagrama UML Nivel 2.
Los diagramas antes mostrados slo pretenden aclarar grficamente los actores involucrados en el SMD y sus relaciones fundamentales, as como enunciar los casos de uso ms relevantes. Para una descripcin ms detallada del SMD, se puede referir al Anexo B, donde se describen las funcionalidades que este sistema provee.
17 1.4 Objetivo General Mejorar el diseo, escalabilidad y eficiencia del Sistema de Mapeo Digital que opera en la Divisin El Teniente de CODELCO CHILE. 1.5 Objetivos Especficos 1. Realizar una revisin general del SMD y decidir los puntos crticos a abordar. 2. Disear modificaciones en el modelo de datos vigente, de tal forma de facilitar la realizacin de consultas geogrficas (e.g. por proximidad). 3. Disear modificaciones en el modelo de datos vigente de tal forma que las tablas de datos sean legibles por otros sistemas o usuarios de la base de datos. 4. Revisar la continuidad de MS Access '97 como repositorio de datos local para el SMD. 5. Elegir un lenguaje de programacin para reimplementar los distintos mdulos del SMD. 6. Implementar los cambios de diseo bsicos en el SMD que actualmente est en produccin. 7. Disear un plan para la migracin del SMD actualmente en produccin (Visual Basic 6.0), a la nueva plataforma de programacin elegida. 8. Desarrollo de un pequeo prototipo en el lenguaje de programacin elegido, con la interfaz bsica del mapeador de elementos 2D (mapas). 9. Identificar mejoras a futuro. 1.6 Aporte de esta tesis El principal aporte de esta tesis ser el de proveer a la Superintendencia Geologa de la Divisin El Teniente, de la implementacin de las modificaciones bsicas al SMD, para poder llevar a cabo una estrategia (propuesta en este documento) para obtener un software para levantamiento geolgico totalmente compatible con el sistema que actualmente est en uso, pero escalable, siendo desarrollado en una plataforma ms actualizada. Adems, los cambios en el modelo de datos permitirn hacer consultas geogrficas en forma eficiente en comparacin con las herramientas actualmente en uso, facilitando adems la interoperabilidad del SMD con otros sistemas que se puedan conectar a su misma base de datos. En trminos de escalabilidad y mantenibilidad, los cambios propuestos en esta tesis permitirn aumentar la independencia entre el modelo de datos y la aplicacin propiamente tal. De esta 18 forma, se posibilita un eventual cambio de software en cualquier capa (cliente o servicio) sin necesidad de hacer cambios en los datos. 1.7 Limitaciones 1. La base de datos central es Oracle 9i por imposicin estndar de CODELCO, por lo que no se puede considerar un cambio en este SGDB. Adems, no existe la posibilidad de agregar componentes como un Motor Geomtrico o similares dentro del presupuesto considerado para este trabajo. 2. La base de datos central es administrada por la GCTIC (Gerencia Corporativa de Tecnologas de la Informacin y Comunicaciones), por lo que se les debe consultar en caso de requerir la creacin de nuevos usuarios o la modificacin de los permisos ya existentes. 3. El xito del SMD se ha basado en los aportes de sus usuarios y el respeto a su opinin. Por esto, cualquier cambio originado por los resultados de esta tesis debe ser puesto en prctica procurando alterar lo menos posible el trabajo de los clientes actuales. 4. Actualmente, el SMD cuenta en la prctica con slo un diseador y programador (el autor). Todas las decisiones y recomendaciones que se informen en esta tesis deben tener esto en consideracin. 1.8 Metodologa El SMD al interior de la Superintendencia Geologa ha sido desarrollado mediante una estrategia de desarrollo "poco convencional", sin equipo de diseo, desarrollo y pruebas bien definidos. El diseo y desarrollo han estado a cargo del autor, mientras que las pruebas en general son realizadas por los usuarios ms experimentados. Dado que hasta el momento esta estrategia ha sido exitosa, la misma se aplicar para el desarrollo de esta tesis. Para llevar a cabo este trabajo de forma ordenada, se proceder a una revisin de la estructura de datos actual, de tal forma de aportar mayor flexibilidad para el desarrollo de herramientas de anlisis, as como para las funcionalidades propias del SMD (estilos de despliegue, sincronizacin de datos entre clientes y servidor, etc.). Se procurar dar mayor claridad a la informacin contenida en la base de datos y a los nombres de tablas y campos, la que actualmente aparece bastante crptica para cualquier persona o aplicacin externa que visualice las tablas. Este cambio aumentar la posibilidad de conectar otros softwares a la misma base de datos, aumentando la interoperabilidad del sistema y la posibilidad de compartir la informacin almacenada. 19 Sobre la base de la nueva estructura de datos, se harn las modificaciones necesarias en el SMD actualmente en funcionamiento para adaptarlo a la misma. Esto implica desarrollo y mantenimiento de cdigo en Visual Basic 6.0. Si bien esta plataforma de desarrollo est descontinuada, ya existe una experiencia exitosa de desarrollo, pruebas y puesta en produccin en el lenguaje Visual Basic 6.0. Por esto, se considera conveniente aproximar, en trminos de estructura de datos y herramientas bsicas, al SMD actual con el que ser desarrollado en el futuro prximo, de tal forma de propiciar una migracin gradual y poco "traumtica" para los usuarios del sistema actual. En forma paralela al desarrollo y mantenimiento del SMD, se considera la eleccin de la plataforma de desarrollo ms adecuada, teniendo en consideracin las condiciones de desarrollo y recursos disponibles actualmente. Para probar la efectividad de la plataforma de desarrollo elegida, se considera la programacin de un pequeo prototipo de la aplicacin de mapeo de elementos 2D (mapas). Las funcionalidades a reproducir se detallan en la seccin correspondiente. Para llevar a cabo todas las modificaciones propuestas en esta tesis, ser necesario hacer mantenimiento a prcticamente todos los mdulos ejecutables del SMD.
20 2. ESTADO DEL ARTE EN EL MERCADO En los ltimos cinco aos se han desarrollado varias aplicaciones orientadas a la visualizacin, mapeo y anlisis de informacin relativa a las "geociencias", especialmente a la geologa. A continuacin se hace una breve descripcin de algunos sistemas de mapeo geolgico que se encuentran actualmente en el mercado. Es necesario enfatizar que, desde la perspectiva del negocio, slo GVMapper 3.3 (Geovectra, 2006) tiene una funcionalidad comparable a la del SMD. 2.1 Encom Discover 6.1 Est orientado a los usuarios de MapInfo (software para manejo de informacin geogrfica conocido a nivel mundial). Permite el mapeo, visualizacin y anlisis de datos espaciales orientados a las geociencias. Posee caractersticas como control y agrupamiento de capas, herramientas de edicin de objetos, leyendas y simbologa estndar para creacin de mapas. Presenta adems una amplia gama de herramientas de graficacin y anlisis de datos, as como la posibilidad de desplegar sondajes. Posee un mdulo 3D opcional (Encom, 2006). 2.2 GeoRover
Es una aplicacin orientada especficamente a gelogos, incluyendo conexin para GPS, visualizacin de imgenes y compatibilidad con PDA's (Windows CE). Su base de datos consiste en un archivo ASCII (.dbf), teniendo adems posibilidad de utilizar ODBC para conectarse a bases de datos que soporten este protocolo (GAF, 2006). 2.3 Oasis Montaj Es una herramienta de anlisis y mapeo de informacin asociada a la exploracin de minerales, petrleo y gas. Tambin posee extensiones para proceso de informacin geofsica y geoqumica. Tiene una base de datos capaz de almacenar ms de dos billones de puntos de informacin por canal. Sobre esta informacin se pueden ejecutar filtros y procesos. Maneja la proyeccin de los puntos en ms de 2000 datums y proyecciones. Permite tambin visualizacin en tres dimensiones para mltiples superficies, cada una con sus propios contenidos (Geosoft, 2006). 21 2.4 ArcInfo Incluye las funcionalidades de ArcView y ArcEditor (dos aplicaciones de la misma empresa). Est orientado al almacenamiento de datos, su anlisis y modelamiento, adems del despliegue de mapas. En cuanto al manejo de los datos, ArcInfo permite crear bases de datos, definir su esquema y administrar su integridad (Esri, 2006). Las diferencias entre las aplicaciones antes descritas y el SMD, se basan en que este ltimo es un sistema que distribuye e implementa un cdigo de mapeo estndar en todos los equipos que se conectan con una aplicacin cliente al servidor del sistema. Adems, implementa el manejo de usuarios y perfiles lo que significa un gran aporte al negocio desde el punto de vista administrativo. Los softwares revisados hasta aqu poseen siempre un repositorio de datos local como nica fuente de informacin o, a lo sumo, la capacidad de conectarse va ODBC a un repositorio externo. Sin embargo, esto no garantiza la seguridad de los datos, la estandarizacin de la informacin y, sobre todo, no se ocupan de la administracin de las transacciones hechas por los usuarios. Por lo antes expuesto, se considera que el SMD satisface las necesidades de la Superintendencia Geologa en forma mucho ms cercana a su realidad que los softwares hasta aqu revisados. 2.5 GVMapper El nico software comercial que se considera comparable al SMD, es la versin 3.3 de GVMapper (Geovectra S.A., 2006). Tal como se mencion en la introduccin, el autor fue uno de los dos programadores de GVMapper versin 3.1. El desarrollo encaminado hacia el SMD se separ de este software a partir del ao 2003 debido a falencias de seguridad y escalabilidad, entre otras, de las que adoleca GVMapper en ese momento. Segn la empresa que lo desarrolla, GVMapper es una suite de aplicaciones de software para la captura y administracin de informacin geolgica. Su utilidad est en la captura de informacin geolgica en terreno (exploracin, bancos, tneles) y mapeo de sondajes. Su interfaz se describe como ergonmica para su utilizacin con pen tablets. Adems, ofrece herramientas para la importacin de informacin histrica, herramientas de clculo incorporadas y capacidad de exportar datos a los formatos de los sistemas de informacin geogrfica (SIG) y aplicaciones de modelamiento 3D, de mayor presencia en el mercado. 22 Figura 13: Arquitectura de GVMapper-GVServer. Hasta la fecha, GVMapper conserva las siguientes caractersticas de la versin 3.1 en la cual se separ el desarrollo hacia el SMD: Las bases de datos central y local estn construidas con archivos Access. La base de datos central se accede mediante una carpeta compartida en el servidor. Es GVMapper (instalado en el cliente), quien realiza las transacciones con la base de datos. En este sentido, GVMapper como tal, sigue contando con las mismas falencias a las que se debi el inicio del desarrollo del SMD por el autor. Sin embargo, Geovectra ha desarrollado el mdulo GVServer (figura 13), el cual funciona como un servicio en un servidor.
GVServer est encargado de: Administrar las bases de datos de GVMapper. Realizar todas las transacciones de datos entre la base de datos central y los mapeadores o clientes. Incorporar niveles de seguridad y de acceso a los datos. Permitir la integracin entre distintos sistemas. Permitir la interconexin entre la base de datos de GVMapper con otras bases de datos y aplicaciones mineras. De este modo, el sistema de mapeo ofrecido por Geovectra distribuye los distintos mdulos en capas. 23 Con el uso de GVServer se ofrecen una serie de ventajas, entre las cuales se mencionan las siguientes: GVMapper puede interactuar simultneamente con varios GVServer dentro de una misma red corporativa. Todos los clientes GVMapper de una red corporativa pueden obtener sus elementos de apoyo de una nica base de datos geoespacial. GVServer funciona con un esquema de licencias orientado al equipo. El mdulo GVServer est programado en C, lo que lo hace muy interesante desde el punto de vista de su eventual portabilidad a sistemas operativos como Linux o similares. Sin embargo, hace uso de algunas API de Windows que evitan su portabilidad inmediata, por lo que esta posibilidad podra ser evaluada y encomendada como un proyecto a la empresa desarrolladora. La compatibilidad con varios SGDB como SQL Server y Oracle resulta muy deseable en caso de un eventual cambio de gestor de base de datos en la Corporacin. Sin embargo, GVServer slo ha sido utilizado con Access y SQL Server hasta el momento. La base de datos tanto local como central, an almacena los vrtices en campos de tipo BLOB, lo que constituye una limitacin bastante importante desde el punto de vista de la normalizacin del esquema de datos, as como de la legibilidad de los mismos usando SQL estndar. Este tema es desarrollado en profundidad en esta tesis. Para lograr una estructura de datos similar a la que se tiene actualmente, habra que generar una base de datos paralela, la cual sea actualizada desde los daemons que ofrece Geovectra. Esto significara, entre otros puntos: Redundancia de la informacin Alta dependencia de la fiabilidad de los procesos de actualizacin Aumento de la carga de procesos en el servidor de aplicaciones En resumen, GVMapper sin el mdulo adicional GVServer es muy inferior, desde el punto de vista de la seguridad de los datos y estabilidad del servicio, a lo que proporciona actualmente el SMD. La eventual adicin del mdulo GVServer resulta una mejora importante y digna de ser evaluada, sin embargo, ser necesario para su implementacin el desarrollo de varios cambios a nivel de la estructura de datos para que la informacin sea legible. Adems, GVServer slo ha sido utilizado a partir de julio de 2006, por lo que tiene muy poco tiempo de uso y depuracin, en comparacin con los tres aos que tiene el SMD usando Oracle. Esto ltimo constituye un riesgo adicional. 24 3. ANLISIS Y MODIFICACIONES AL MODELO DE DATOS La base de datos central del SMD es administrada con Oracle 9i. El mismo est instalado en un conjunto de servidores administrado por la GCTIC de CODELCO CHILE. El autor, como desarrollador y usuario de esta base de datos, tiene privilegios para crear, consultar, eliminar y alterar tablas. El mdulo Servidor, los mdulos Procesadores de Solicitudes y el Configurador se conectan a la base de datos central con el mismo usuario de Oracle. La estructura actual de la base de datos adolece de varios problemas en trminos de eficiencia y normalizacin. Adems, muchos de los campos no tienen bien definido su tamao (e.g. Varchar2, Number), por lo que generalmente ocupan mucho ms espacio del que requieren en realidad. Muchas tablas cuentan con un campo denominado ID, el cual en algunos casos no es utilizado. Dicho campo es usualmente autonumrico, lo que implica la existencia de una secuencia y un trigger para llevar a cabo el autoincremento de su valor cada vez que se agrega un registro. En caso de no ser utilizado el campo ID, esta tesis contempla su eliminacin de la tabla correspondiente, as como la eliminacin de la secuencia y el trigger asociados. Estos defectos son comunes a muchas tablas, por lo que sin ser mencionados en cada caso, sern abordados para todas ellas. Los cambios en la base de datos fueron hechos mediante la ejecucin directa de sentencias SQL a travs de la aplicacin PL/SQL para el caso de los cambios en las tablas de meta datos. En el caso de las tablas de datos, los cambios de estructura y la migracin de datos se hizo mediante la programacin de funciones en Visual Basic 6.0. Para probar el funcionamiento de dichas aplicaciones, se copi todo el contenido de la base de datos oficial en una base de datos de desarrollo. Sobre esta ltima se ejecutaron todos los cambios en forma previa, verificando que no se produjeran errores durante la ejecucin, los cuales, en caso de ocurrir, eran almacenados en un archivo de texto (.log). Una vez que se logr la ejecucin de todas las funciones de cambio de estructura y migracin de datos sin errores en la base de datos de desarrollo, se procedi a respaldar la base de datos oficial (de produccin) y a ejecutar dichas funciones sobre la misma. En esta seccin se explicarn los rasgos fundamentales del modelo inicial de la base de datos del SMD en trminos de la utilidad que presenta cada tabla para el mismo. Para un mejor entendimiento del modelo de datos, se explicarn las tablas segn el contexto al que pertenecen: soportes de informacin, temas de mapeo, administracin de usuarios. En cada contexto, luego de explicar brevemente cada tabla, se indicar cuando corresponda, la modificacin realizada en esta tesis y los motivos que la justifican. Algunas tablas de menor relevancia, no sern mencionadas en este documento. 25 Figura 14: Diagrama E-R de los datos del SMD. 3.1 Modelo Entidad-Relacin Para explicar en forma general las principales entidades involucradas en el modelo de datos del SMD, se utilizarn dos diagramas entidad-relacin. El primero de ellos (figura 14) muestra las entidades que contienen la informacin del negocio, tales como usuarios del sistema, soportes mapeados, datos asociados a los soportes, etc.
En la figura 14 se puede ver que la entidad central en el SMD es el soporte, que es cualquier ubicacin en el espacio (punto, polilnea, polgono o tramo de sondaje), al cual un usuario del SMD le ha asignado informacin en alguno de los temas configurados. Al soporte se le asocia entonces informacin en cuanto a datos temticos, por ejemplo litologa y, en caso que corresponda, se le puede asociar tambin informacin espacial extra, tal como lo es una observacin de rumbo y manteo (disposicin de un plano en el espacio). Un soporte, a su vez, pertenece a un usuario quien posee uno o varios perfiles en el SMD. Dichos perfiles describen las caractersticas y autorizaciones que posee el usuario. Cada soporte es creado sobre un elemento mapeable, por ejemplo un mapa o un sondaje. Los elementos mapeables tienen tambin perfiles asociados, los que permiten definir los temas que pueden ser levantados en cada uno de ellos. El segundo diagrama (figura 15) muestra los meta datos contenidos en la base de datos del SMD. Esta informacin consiste en la definicin de los temas que pueden ser mapeados por los 26 Figura 15: Diagrama E-R de los meta datos del SMD. usuarios del SMD, los atributos que los componen, los valores que dichos atributos pueden asumir (dominios) y las reglas de validacin que se deben verificar al momento del mapeo de cada uno de los temas.
Dentro de las funcionalidades del SMD est la posibilidad de vincular unos temas con otros, por ejemplo el tema Litologa que describe en trminos generales la roca observada, con el tema Descripcin de Fenocristales, que contiene una descripcin detallada de los cristales que componen una roca porfdica. A su vez, es posible vincular los atributos dentro de un tema para permitir, por ejemplo, que cuando seleccionamos un grupo de rocas, tal como las rocas intrusivas, se nos ofrezcan tipos de rocas coherentes con dicha eleccin, es decir, granito, granodiorita, etc. En el caso de atributos de uso comn en ms de un tema, como podra ser el color, para evitar tener que digitar en la configuracin de cada tema que contiene este campo todos los colores autorizados, se cuenta con una entidad independiente denominada campo la cual es referenciada por el atributo del tema. As, un cambio en la entidad campo se ver reflejada en todos los atributos de los temas que "apunten hacia l". Esto facilita la mantenibilidad del cdigo de mapeo y agiliza mucho el proceso de configuracin de los temas. 27 Figura 16: Tabla GSYSSOPORTES original. 3.2 Soportes de Informacin Recordemos que el SMD permite configurar un nmero indefinido de temas de mapeo, los que pueden ser reconocidos en sondajes o en mapas. Tabla GSYSSOPORTES: Tal como se explic en la introduccin, este sistema provee la capacidad de almacenar informacin recopilada en terreno. Por ejemplo, en el tema Litologa, un rea determinada puede ser calificada como un Granito en el campo Tipo. Est rea podra ser un punto, una polilnea, un polgono o un tramo de un sondaje. Todas las reas (o porciones del espacio) caracterizadas en el SMD son denominadas soportes y son almacenadas en una nica tabla denominada GSYSSOPORTES (figura 16). Cada soporte est identificado en forma nica en el SMD por el campo IDSOPORTE, que es autonumrico. Un soporte, en el caso de los mapas, est conformado por una sucesin ordenada de vrtices, los cuales son almacenados en campos de tipo BLOB (Binary Large Object) denominados VERTICES y EXTRADATA. Para almacenar y obtener los vrtices es necesario ejecutar ciertos algoritmos especficos, lo que los hace lentos de obtener y sumamente complejos de consultar. En el caso de los sondajes, los soportes corresponden a tramos caracterizados por los campos DESDE y HASTA (numricos), por lo que carecen de informacin en los campos de tipo BLOB antes mencionados. El hecho que los campos VERTICES, EXTRADATA, DESDE y HASTA coexistan en la misma tabla implica un desperdicio de espacio considerable. Esto es ms grave an teniendo en cuenta que esta tabla tiene ms de 950.000 registros en la actualidad. A partir de lo expuesto anteriormente, como primera medida se elimina la caracterstica auto numrica del campo IDSOPORTE. Dicho campo pasar adems a ser de tipo texto, con una longitud de 25 caracteres. El valor del identificador de cada nuevo soporte (IDSOPORTE), ser construido en forma local como la concatenacin de los datos: IDUSUARIO-IDPROCESO- CORRELATIVO_DE_LA_SESION. El valor IDPROCESO es nico en el SMD y es asignado cada vez que se baja informacin. Cada equipo maneja localmente un correlativo de los soportes generados en cada sesin. El IDUSUARIO es un nmero nico para cada usuario, 28 Figura 17: Nueva estructura para el almacenamiento de soportes. manejado internamente por el SMD. Todo esto garantiza la unicidad del IDSOPORTE al momento de su asignacin durante el mapeo. Se decide separar la tabla GSYSSOPORTES en tres tablas denominadas: GSYSSOPORTES, TTEVERTICES y TTETRAMOS, cuyas estructuras se muestran en la figura 17. Esto nos permitir obtener dos ventajas fundamentales: 1. Se evita el desperdicio de espacio producto del almacenamiento conjunto de los soportes de sondajes y mapas. 2. Se almacenan los datos de vrtices en un formato accesible directamente (sin necesidad de procesos externos al SGDB). Esto permite realizar consultas directas sobre la base de datos y obtener resultados en un tiempo mucho menor, utilizando SQL estndar.
Adicionalmente, se eliminarn campos calculados (o derivados) a partir de otros como lo era el campo denominado SOPORTE, calculado a partir de la resta: (HASTA - DESDE). En el caso de la tabla TTEVERTICES, se ha optado por dejar como clave principal a los campos IDSOPORTE y ORDEN. El orden representa justamente la secuencia correcta de los vrtices de cada soporte. La posibilidad de generar una tabla de vrtices que fueran nicos (con coordenadas irrepetibles) y una tabla de nexos entre soportes y vrtices se descart ya que haciendo una prueba se observ que el ahorro de espacio no superaba el 2%, mientras que la merma en rendimiento era bastante relevante, especialmente en lo que se refiere a la insercin de soportes en la base de datos.
29 Figura 18: Tablas originales para almacenamiento de metadatos de temas configurados en el SMD. 3.3 Temas y Reglas de Mapeo Un tema de mapeo es un tpico tcnico acerca del cual queremos recopilar informacin. En el SMD todos los temas son genricos, ya que se deben adaptar a tpicos muy diversos. Por ejemplo, un tema genrico puede ser el Estado de los Tneles en una mina subterrnea. Para lograr el funcionamiento de los teas genricos, existe un conjunto de tablas de meta datos, algunas de las cuales son descritas a continuacin. Tabla GSYSTABLAS: Los registros de esta tabla corresponden a cada uno de los temas definidos en el SMD (figura 18). Esta tabla posee como clave principal un identificador numrico autoincrementable (con el uso de una secuencia y un trigger) denominado ID. Adems, el campo Nombre, es una clave nica. Para dar ms flexibilidad al SMD, es posible vincular unos temas con otros. As, por ejemplo, el tema Estado de los Tneles podra tener vinculado un tema especfico para descripcin de la filtracin de agua, que incluyera una medicin de pH, caudal, ubicacin, etc. Para hacer efectiva esta vinculacin, desde el punto de vista de la base 30 de datos, la tabla GSYSTABLAS cuenta con el campo Vinculado, el cual es cero en caso de no ser un tema vinculado y, en caso contrario, contiene el ID del tema al cual se vincula. Para la denominacin de cada tabla asociada a cada uno de los temas definidos (registros de GSYSTABLAS), se concatena la cadena "DATGTABLA" con el identificador numrico (ID) que le haya correspondido. As, por ejemplo, el tema Estado de la Fortificacin puede tener un ID = 21. Por lo tanto, la tabla con la informacin asociada a este tema se denominar DATGTABLA21. Con el fin de mejorar la legibilidad del modelo de datos, la denominacin de las tablas asociadas a cada tema ser reemplazada por la concatenacin de la cadena "D_" con el nombre real del tema, procesado de tal forma que todos sus caracteres estn en mayscula, que comience con una letra y que no posea espacios o caracteres especiales. De esta forma, la tabla asociada al tema Estado de los Tneles, se denominar D_ESTADO_DE_LOS_TUNELES. Se asignar un mximo de 28 caracteres al nombre de los temas, de tal forma de cumplir con la restriccin de largo de nombre de tablas de Oracle 9i, que parece ser uno de los ms restrictivos en este aspecto (SQL Server 2000 admite hasta 128 caracteres). Tabla GSYSNEXOTABCAM: Al mapear cada tema debemos asignar valores a distintos rasgos, denominados campos. En el ejemplo Estado de los Tneles, los campos podran ser Estado de la fortificacin, Escurrimiento de agua, Levantamiento del piso, Distancia al frente, Fecha. Esta tabla (figura 18) contiene los vnculos entre cada tema y sus campos, especificando eventuales reglas de validacin especficas, orden de aparicin, estilo para su despliegue en sondajes y mapas, etc. A cada campo le es asignado un identificador, ID, que en adelante denominaremos IDNEXO. De esta forma, los campos de las tablas de informacin se denominan concatenando la cadena "CAMPO" con el IDNEXO asociado al campo en la tabla GSYSNEXOTABCAM. El nombre del campo se guarda en la tabla GSYSNOMBRES y el ID asignado en dicha tabla es guardado en el campo IDNOMBRE de la tabla GSYSNEXOTABCAM. Por esto, para obtener el nombre real del campo, es necesario consultar la tabla GSYSNOMBRES. Adems, es posible vincular campos de la misma o de distintas tablas de tal forma de ingresar slo una vez los atributos que se le deben asignar. Por ejemplo, si el Estado de la Fortificacin est presente en ms de un tema, basta con vincular ambos campos y as ingresar slo en uno de los temas valores tales como bueno, regular o malo. Esto evita el tedioso ingreso de los distintos atributos y conserva la integridad entre conceptos relacionados. Cada campo puede ser caracterizado con un tipo de dato especfico, segn su forma de medicin u observacin. En el caso del Estado de la fortificacin, el campo slo debera ser 31 Figura 19: Tablas para almacenamiento de perfiles y metadatos de temas. descrito con uno de los tres valores definidos y no con otros creados por el usuario. Para esto el sistema considera un tipo de dato denominado Texto Fijo en el SMD. Para este tipo de dato es necesario, al momento de la creacin o edicin del tema, generar una lista de valores aceptables para cada campo de este tipo. De este modo, el SMD ofrecer en forma automtica slo esta lista, evitando el ingreso de datos inconsistentes con el estndar de mapeo definido. En esta tabla se almacena el "estilo" (color, abreviatura, histograma, etc.) con el que se debe desplegar cada campo, tanto en el mapeador de mapas como en el de sondajes. Una vez ms, para contribuir a la legibilidad de la estructura de datos, se propone agregar los campos: NOMBRE y NOMBRE_COLUMNA ambos de tipo VarChar(30). El campo NOMBRE almacenar el nombre real asignado por el usuario al campo, prescindiendo del uso de la tabla GSYSNOMBRES para tal efecto. En tanto, el campo NOMBRE_COLUMNA almacenar el nombre de la columna asignada a este campo en la tabla de informacin asociada al tema al que pertenece (figura 19). El nombre de la columna ser obtenido procesando el nombre real del campo en forma anloga a lo que se har con el nombre de las tablas asociadas a los temas de mapeo. De esta forma, lo que antes era: DATGTABLA21: CAMPO233 ...ahora ser: D_ESTADO_DE_LOS_TUNELES: ESTADO_DE_LA_FORTIFICACION Esto facilitar la interoperabilidad de la base de datos del SMD con otros usuarios de la misma y con eventuales aplicaciones cliente que en el futuro se conecten a esta base de datos.
32 Figura 20: Tabla GSYSNOMBRES. Figura 21: Tabla GSYSNEXOATT. Figura 22: Tabla GSYSRELNEXOS. Figura 23: Tabla GSYSNEXOATAT. Tabla GSYSNOMBRES: Los distintos atributos que caracterizan a cada campo de tipo texto fijo son almacenados en esta tabla (figura 20). El campo ID contiene un identificador numrico nico de cada nombre del sistema, mientras que el nombre propiamente tal, es almacenado en el campo denominado NOMBRE. En esta tesis se harn los cambios necesarios para prescindir de esta tabla. Tabla GSYSNEXOATT: Almacena los vnculos entre los campos de tipo texto fijo del sistema y los atributos que les pueden ser asignados (figura 21). Adems, posee el campo ENABLED que permite deshabilitar o descontinuar algn atributo si ya no es necesario o no aplica en el campo en cuestin. El estilo particular de cada atributo es indicado en esta tabla. Se propone almacenar directamente el nombre de los valores en lugar del ID asignado en la tabla GSYSNOMBRES. Tabla GSYSRELTABLAS: Mediante cada registro de esta tabla se le indica al SMD que dos temas estn relacionados al momento de su mapeo, siendo posible condicionar dicha relacin mediante el valor que asuma un campo de la tabla "padre" (figura 19). En el ejemplo de Estado de la Fortificacin, el campo Escurrimiento de Agua podra condicionar la relacin con un tema denominado Agua, que tuviera campos como pH, color, etc. Tabla GSYSRELNEXOS: As como es posible relacionar dos temas, es posible hacer lo mismo con dos campos de tipo texto fijo del mismo tema. Para esto cada registro de esta tabla indica la relacin entre dos campos de un tema mediante su IDNEXO, explicado anteriormente (figura 22). Tabla GSYSNEXOATAT: Cuando dos campos de tipo texto fijo estn relacionados, los valores que el hijo puede asumir son funcin del valor que haya asumido el padre. Dichas relaciones se especifican mediante esta tabla (figura 23). De este modo, si tenemos un campo 33 Figura 25: Ejemplo del cambio en la metodologa de almacenamiento de datos genricos. Tema de Litologa: ex tabla DATGTABLA51, actual tabla D_LITOLOGIA. Figura 24: Esquema para almacenamiento de soportes y datos asociados. Modelo original. denominado PAS y otro denominado CIUDAD, esta tabla permite generar las relaciones existentes entre los pases y las ciudades que les pertenecen. 3.4 Informacin de Mapeo Tablas DATGTABLAn: Estas son las tablas que almacenan la informacin de los temas del SMD. Su nombre es estndar y consiste en "DATGTABLA" seguido por el ID que se le asigna en el campo homnimo de la tabla GSYSTABLAS, tal como se indic anteriormente. Cada una de estas tablas es generada con un campo denominado IDSOPORTE, vinculado a un soporte registrado en la tabla GSYSSOPORTES. El resto de la columnas tienen nombres codificados como "CAMPO" seguidos de un identificador numrico dado por el campo ID asignado en la tabla GSYSNEXOTABCAM (IDNEXO). Esta forma de codificar los nombres de tablas y campos le dan gran flexibilidad al sistema en trminos de poder modificar el nombre "conceptual" de los mismos, sin afectar su nombre real dentro de la base de datos. Adems, se imponen muchas menos restricciones con respecto a los nombres que pueden adoptar temas y campos, los cuales se ven muy restringidos en los SGDB. Para los campos de tipo texto fijo descritos anteriormente, se almacena el ID asignado en la tabla GSYSNOMBRES, en lugar del valor mapeado literalmente. El modelo original se aprecia en la figura 24.
Gran parte de lo descrito en el prrafo anterior se cambiar como parte de esta tesis, ya que hace demasiado ilegible la informacin de la base de datos en caso que se desee cambiar el 34 Figura 25: Ejemplo del cambio en la forma de almacenamiento de datos genricos. Tema: Litologa, ex tabla DATGTABLA51, actual tabla D_LITOLOGIA. software que la lee o maneja y, adems, hace que la informacin contenida en las tablas de informacin sea muy dependiente de cualquier error en la tabla GSYSNOMBRES, lo que es un riesgo no deseado. Por lo tanto, los campos de texto fijo sern llenados con la informacin literal mapeada. De esta forma, la tabla GSYSNOMBRES podr ser eliminada del sistema con el consiguiente ahorro de espacio, administracin y cdigo fuente. Tal como se dijo al describir la tabla GSYSTABLAS, la denominacin de las tablas temticas ("DATGTABLAn") ser cambiada por una mucho ms entendible por un usuario comn. Lo mismo se har con la denominacin de los campos. As se llega a una estructura como la mostrada en la figura 25.
Tablas DATSTABLAn: Estas tablas son exclusivas para la informacin externa (como anlisis de laboratorio) relativa a los sondajes. Por esto en lugar de contar con un campo IDSOPORTE, tienen los campos: IDSONDAJ E, DESDE, HASTA como clave principal (ver tabla DATSTABLA71 en figura 24). Para estas tablas existen importadores de datos externos especialmente diseados. Sin embargo, en esta tesis se considera necesario eliminar estas tablas y dejar su informacin en temas genricos. Se considera el desarrollo de un mdulo de importacin de datos que sea capaz de ajustarse a la configuracin de cualquier tema. Esto le dar mucha ms interoperabilidad al SMD, siendo posible importar datos desde otras fuentes, fijando previamente un formato adecuado. El mdulo de importacin debe considerar la validacin de las reglas impuestas durante la configuracin de cada tema. Para la migracin de los datos 35 Figura 26: Tabla GSYSGRUPOSSOP. desde las tablas "DATSTABLA" a sus equivalentes genricas, fue necesario programar una pequea aplicacin que gener los registros necesarios en la tabla GSYSSOPORTES, obteniendo un IDSOPORTE y luego aliment los registros definitivos en la tabla del tema en cuestin. Tabla DATESTR: Esta tabla contiene informacin relativa al nico tema no configurable del sistema: Estructuras. Dicho tema fue codificado directamente debido a que en sus inicios los temas genricos no tenan la capacidad para satisfacer los requerimientos de este concepto geolgico. Sin embargo, actualmente los temas genricos ya pueden almacenar informacin estructural. Por esto se considera la eliminacin de esta tabla y el almacenamiento de su informacin en un tema configurado especialmente para este efecto. Esto no fue abordado en esta tesis. Tabla DATCOMPONENTES: Esta tabla (figura 24) est relacionada con DATESTR y su objetivo es almacenar la informacin del relleno de cada estructura. Una vez reemplazada la tabla DATESTR, esta tabla tambin ser reemplazada por un tema genrico equivalente, vinculado al nuevo tema de "Estructuras". El reemplazo de las tablas DATESTR y DATCOMPONENTES, ser relativamente simple ya que la codificacin de sus campos responde al mismo concepto que los temas genricos. Tabla GSYSGRUPOSSOP: En el caso de los soportes mapeados en plantas y secciones, stos pueden ser agrupados con el objetivo de hacer anlisis conjuntos de caractersticas similares reconocidas en distintos sectores. Un ejemplo de esto puede ser una falla que es observada en tres tneles distintos. Bajo ciertas circunstancias, se podra concluir que las tres observaciones corresponden a la misma falla, por lo que resulta de importancia tener la posibilidad de agrupar estos soportes sin que pierdan la individualidad en su reconocimiento. Este es el papel que juega la tabla GSYSGRUPOSSOP (figura 26). Esta tabla permite, adicionalmente, ingresar una descripcin de cada grupo de soportes. 36 Figura 27: Esquema para almacenamiento de soportes y datos asociados. Modelo propuesto. Al realizar los cambios mencionados en los prrafos anteriores, se llega al modelo propuesto en la figura 27.
La tabla DATRUMBOS, cumple la funcin de almacenar la informacin relativa a la orientacin espacial de los soportes planares (e.g. un plano estructural como una falla), reconocidos en el sistema. A dichos soportes se les suele asociar una medicin de rumbo (ngulo con respecto al Norte) y manteo (inclinacin con respecto a la horizontal). Los campos DIP y DIPDIR cumplen la funcin de almacenar los datos de rumbo y manteo en un formato alternativo que no viene al caso explicar en este documento. Las leyes de los distintos elementos de inters, como Cu (cobre) y Mo (molibdeno), son almacenadas en el tema LeyesCuMo, cuya informacin es almacenada, segn el nuevo formato, en la tabla D_LEYESCUMO. Desde luego hay muchas otras tablas genricas (tipo D_xxxx), pero todas comparten el mismo esquema de relacin con GSYSSOPORTES por lo que no tiene sentido mostrar el modelo de datos completo.
37 Figura 28: Tabla DATSSONDAJ ES original. Figura 29: Tabla DATSMAPAS original. 3.5 Tablas de Elementos Mapeables En este documento se entiende por elemento mapeable a toda entidad espacial de una dimensin o dos dimensiones, a la cual se le pueden asignar valores en los distintos temas configurados en el sistema. El sistema en la actualidad cuenta con los siguientes tipos de elementos mapeables preconfigurados: Sondajes (una dimensin), Plantas (planos horizontales de dos dimensiones), Secciones (planos verticales de dos dimensiones) y Superficie (mapas de dos dimensiones no necesariamente planos). Para almacenar informacin de cada unos de estos tipos de elementos, se cuenta con dos tablas en el sistema, las cuales son descritas a continuacin. Tabla DATSSONDAJES: Esta tabla almacena los sondajes configurados en el sistema (figura 28). La informacin espacial de cada sondaje es actualmente almacenada en los campos de tipo BLOB: VERTICES y EXTRADATA, en forma anloga a lo que se hace en la tabla GSYSSOPORTES. Por esto, en esta tesis se reemplaz este mtodo de almacenamiento por un almacenamiento va GSYSSOPORTES y TTEVERTICES, de la misma forma que se hace con todos los soportes del sistema, utilizando como IDSOPORTE el identificador del sondaje (IDSONDAJ E). De esta forma, esta tabla deber contener un campo IDSOPORTE en lugar de IDSONDAJ E, tendiendo a convertir la tabla DATSSONDAJ ES en un tema genrico ms, con algn atributo especial (tipo de tema) que indique que se trata de una tabla de elementos mapeables de una dimensin. Esto adems har que las caractersticas atribuibles a los elementos mapeables sean flexibles y configurables por los administradores del sistema, sin necesidad de cambiar cdigo fuente como ocurre actualmente. Tabla DATSMAPAS: Esta tabla almacena los mapas configurados en el sistema: plantas, secciones y superficie (figura 29). Hasta el momento los mapas han sido restringidos a ser planos rectangulares. Por esto, su informacin espacial se almacena dentro 38 Figura 31: Tabla DATSTRAYECTORIAS original. Figura 30: Tablas DATSSONDAJ ES y DATSMAPAS, modelo desarrollado en esta tesis. de esta tabla en los campos: P1X, P1Y, P1Z, P3X, P3Y y P3Z, que corresponden a los vrtices opuestos del rectngulo que representara al mapa en un plano horizontal (superficie o planta) o vertical (seccin). En este trabajo, se considera hacer en esta tabla los mismos cambios mencionados para DATSSONDAJ ES, dndole tambin la misma flexibilidad y permitiendo la creacin de mapas poligonales. De esta forma, el sistema se dejar mucho ms flexible teniendo la posibilidad de agregar nuevos tipos de elementos de una o dos dimensiones a medida que sea requerido por el administrador del sistema. Las caractersticas de cada tipo de elemento sern totalmente flexibles y configurables, al igual que todo el resto de los temas del SMD. En la figura 30 se muestran los cambios que se alcanzaron a hacer durante el desarrollo de esta tesis para las tablas de elementos mapeables.
Tabla DATSTRAYECTORIAS: Los sondajes estn planeados para seguir una trayectoria recta a medida que son perforados. Sin embargo, debido a las caractersticas del medio rocoso que atraviesan, as como a las caractersticas propias del mtodo de perforacin, stos se van desviando. Para obtener una nocin lo ms exacta posible de la trayectoria seguida por el pozo, se realiza una medicin de azimut e inclinacin en varias estaciones al interior del 39 Figura 32: Tabla DATSTRAYECTORIAS. Modelo propuesto. mismo. Dichas mediciones, junto con otros parmetros son actualmente almacenados en la tabla DATSTRAYECTORIAS (figura 31). Durante el desarrollo de esta tesis se detect que la estructura de esta tabla tiene un problema conceptual con relacin al mtodo de captura de la informacin de trayectorias. Por esto, el autor realiz un levantamiento de la prctica de medicin de trayectorias en la Superintendencia Geologa para terminar finalmente en la redaccin de un procedimiento (Rodrigo, 2005) el cual es oficial actualmente. Los cambios necesarios dicen relacin con el hecho que cada medicin de trayectoria se hace en un punto, siendo que la tabla actual considera un DESDE, HASTA. Adems, la orientacin medida (mal llamada RUMBO en esta tabla) considera una correccin por declinacin magntica. Por lo tanto, muchas veces el dato que existe en la base de datos no coincide con el que aparece en el certificado emitido por la empresa que realiz la medicin. Esto trae problemas de auditabilidad asociados. Producto de lo expuesto anteriormente, se efectuaron varios cambios en la estructura de la tabla DATSTRAYECTORIAS, llegando a la que se muestra en la figura 32. Los ms importantes son la eliminacin del campo HASTA, la incorporacin del campo AZIMUT_CORREGIDO que corresponde a la aplicacin de la declinacin magntica al campo RUMBO (cuyo nombre se conserva por ahora), el cual siempre tiene el dato tal como se encuentra en el certificado emitido por la empresa que haya realizado la medicin. Esta tabla tiene una estructura fija, lo que ha obligado a hacer cambios en el cdigo a medida que se han requerido cambios en los parmetros asociados a este concepto. Por esto, se considera necesario dejar tambin esta tabla como un tema genrico de un tipo especial, que pueda ser asociado al concepto de trayectoria pero que a la vez tenga la flexibilidad requerida. 40 Figura 33: Tabla GSYSESTILOSNUMERICORANGOS original. 3.6 Estilos de Mapeo El SMD maneja la informacin y el estilo (color, textura, abreviaciones) con el que la misma es desplegada en sondajes y mapas. Para esto cuenta con varias tablas especialmente dedicadas a este efecto y algunos campos en otras tablas de sistema. Tabla GSYSESTILOSNUMERICORANGOS: Para el caso de los campos numricos, el estilo viene dado por el intervalo en el que se encuentra el valor a desplegar. Dicha informacin es almacenada en esta tabla (figura 33). Se cambiar el nombre de esta tabla por uno ms corto: GSYSRANGOS. Tabla GSYSECARACT: Ciertas caractersticas de la descripcin del tema "Estructuras" han requerido ser configuradas aparte, por ejemplo, dado un tipo de estructura, qu campos son pertinentes. Esa funcionalidad ha sido almacenada en esta tabla. Sin embargo, una vez que la tabla DATESTR sea convertida en un tema genrico, esta funcionalidad estar presente en forma directa. Por este motivo, se considera la eliminacin de esta tabla configurando, en su reemplazo, las reglas equivalentes para el nuevo tema "Estructuras". Tabla GSYSNOMBRES: En esta tabla residen tambin los estilos de despliegue de cada nombre del sistema. Este hecho hace que para cada nombre, por ejemplo "Baja" que podra ser utilizado en un campo denominado "Intensidad", el estilo de despliegue es nico, digamos azul. Sin embargo, esto puede ser indeseable ya que varios temas pueden tener campos con el atributo "Baja" entre los atributos admisibles, quedando todos restringidos a exhibir el mismo estilo. Por esto, se recomienda trasladar los campos relativos al estilo de cada valor desde la tabla GSYSNOMBRES hacia la tabla GSYSNEXOATT. De esta forma, la eleccin de los estilos ser independiente para cada campo de cada tema configurado. Adems, producto de la eliminacin de la tabla GSYSNOMBRES, los estilos debern ser trasladados de todas formas. 3.7 Concurrencia Si bien los gestores de bases de datos como Oracle 9i incorporan un tratamiento adecuado para la realizacin de transacciones concurrentes, el SMD considera tambin una administracin de este concepto a nivel de la aplicacin. Esto lo hace estableciendo la reserva de un tema (e.g. Litologa) de un mapa o sondaje (e.g. Esmeralda Hundimiento) por, a lo sumo, un usuario a la vez. Esto evita que dos usuarios modifiquen la informacin de la misma rea o 41 tramos de sondaje al mismo tiempo. Recordemos que el mapeo se lleva a cabo en terreno, donde no hay conexin a la red y, por lo tanto, no hay posibilidad de que un usuario vea los cambios que realiza otro en tiempo real. Esta restriccin es implementada y validada por la aplicacin de servicio (Servidor.exe y Procesador.exe). Dada la restriccin anterior, la concurrencia a nivel de bajada o subida de datos desde o hacia la base de datos central (cuando varios usuarios desean hacer transacciones al mismo tiempo), se resuelve ejecutando tantos hilos de ejecucin de los procesadores de solicitud (Procesador.exe) como transacciones simultneas se estn llevando a cabo. Desde luego, existe un parmetro que permite indicar el nmero mximo de transacciones simultneas que estamos dispuestos a admitir, entre otros parmetros administrativos de bajo nivel. 3.8 Repositorio Local de Informacin Para comenzar a tratar este tema, hay que examinar la necesidad de contar con un SGDB a nivel local en el SMD. La posibilidad de almacenar los datos en archivos de tipo XML o ASCII puede ser una alternativa interesante. El tamao de los mismos podra ser una desventaja, sin embargo, resulta de gran inters estudiar esta posibilidad antes de tomar cualquier decisin. El uso de Access a nivel local surgi del hecho que en la aplicacin de mapeo original se utiliza SQL intensivamente, leyendo datos desde el disco duro a travs de dicha "base de datos". Adems, se cuenta con una muy utilizada herramienta de filtro de informacin que se ejecuta por la misma va del SQL en Access. Sin embargo, la capacidad de memoria RAM de los computadores usados actualmente, hacen posible la carga masiva de gran cantidad de datos en memoria. De esta forma, se elimina el acceso constante a disco (acelerando de forma considerable el rendimiento), siendo necesario replantear la forma de ejecutar los filtros de informacin. El hecho de usar un repositorio propietario, tal como Access, trae riesgos asociados a eventuales cambios no avisados en los protocolos de comunicacin con la base de datos, licenciamiento, entre otros. Debido a la magnitud de los cambios que se propone efectuar en esta tesis, se considera ms prudente postergar cualquier decisin de cambio en el repositorio local de informacin. En consecuencia, una vez elegido el lenguaje de programacin y desarrollado un prototipo de mapeador, se puede hacer un estudio con mejores antecedentes para evaluar el mejor repositorio local. 42 Debido a las condiciones intensivas de uso del sistema, el autor considera conveniente realizar las modificaciones parte por parte, priorizando los cambios sobre la base de datos central. 43 4. REPROGRAMACIN DEL SMD En este captulo se describirn las proposiciones y cambios efectuados en trminos de las aplicaciones que conforman el SMD. Para realizar estas acciones en forma ordenada y minimizar el impacto sobre el funcionamiento actual del SMD, se confeccion un plan de accin que es descrito en la siguiente seccin. 4.1 Plan de Accin En este captulo se detallan en forma ordenada cada una de las actividades tcnicas que se consideran necesarias para lograr los objetivos propuestos en esta tesis. 1. Para lograr una migracin exitosa se considera necesario, dados los recursos y limitaciones actuales, realizar todo los ajustes en la estructura de la base de datos central y, paralelamente, las correcciones en el software actual (Visual Basic 6.0), de tal forma de mantener la operatividad del sistema. Esto debido a que el costo de realizar modificaciones al software actual es muy bajo en trminos de tiempo. De esta forma, se espera dejar funcionando el software actual modificado, con la nueva estructura de datos. El orden recomendado para las modificaciones en la base de datos es el siguiente: Traspaso de temas externos a temas genricos. Eliminacin de temas externos, tanto de la base de datos como del cdigo de las aplicaciones Cambio de ubicacin de estilos de despliegue desde GSYSNOMBRES a GSYSNEXOATT. Modificacin del cdigo de las aplicaciones que usan los estilos. Cambio en la denominacin de las tablas asociadas a los temas genricos. Modificacin del cdigo de los mapeadores y el configurador para responder al cambio de denominacin de tablas Cambio en la denominacin de los campos de las tablas antes mencionadas Modificacin de las aplicaciones de mapeo y configurador Reemplazo de los nombres codificados en las tablas de datos, por los nombres originales. Eliminacin de la tabla GSYSNOMBRES. 44 Modificacin de las aplicaciones de mapeo y configurador Programacin de mdulo para poblamiento de tablas de vrtices Creacin y poblamiento de las tablas de vrtices y tramos, a partir de la informacin contenida en GSYSOPORTES. Cambio en el cdigo de aplicaciones de mapeo, configurador y procesador, afectados por el cambio en la ubicacin de los vrtices y tramos del SMD 2. Una vez llevados a cabo todos los cambios en la base de datos central, se considera la programacin de las aplicaciones de mapeo en C#, conectadas al mismo repositorio Access de la aplicacin actual. El orden de programacin recomendado es el siguiente: Aplicacin de mapeo de plantas y secciones Aplicacin de mapeo de sondajes Aplicacin cliente Aplicacin de transacciones: procesador.exe Aplicacin de servicio: servidor.exe Aplicacin de configuracin del SMD: configurador.exe 3. Para el testing y marcha blanca, se considera la liberacin de los nuevos mdulos de mapeo para dos usuarios avanzados del sistema actual. De esta forma es como se han hecho todas las modificaciones al sistema, las cuales han resultado exitosas. 4. En forma paralela al desarrollo del prototipo en la nueva plataforma de programacin, se debe disear el nuevo formato de transmisin de los datos solicitados por los usuarios, as como de los nuevos datos aportados por los mismos. Se recomienda suspender por completo el intercambio de informacin va archivos Access y reemplazar esta prctica por un formato ms estndar como archivos ASCII, XML o similares ms compactos. 5. Se considera la realizacin de un estudio para determinar el cambio del repositorio local de datos. Esto debido a que para esto ser necesario realizar cambios tanto en la aplicacin de servicio como en la aplicacin cliente y en los mapeadores propiamente tales. Los puntos 1, 2 y 3 fueron realizados durante el desarrollo de esta tesis. Slo falta realizar los puntos 4 y 5, los que quedan como una recomendacin en este documento. 45 4.2 Lenguaje de Programacin La eleccin del lenguaje y plataforma de desarrollo se har basado en la realidad actual del SMD en cuanto a los siguientes puntos: 1. Equipo fsico y humano de desarrollo disponible: Actualmente slo hay una persona a cargo del diseo, desarrollo e implementacin del SMD, as como de su administracin. 2. Condiciones establecidas por el negocio: Debido a que el SMD cumple una funcin estratgica al interior de la Superintendencia Geologa de la Divisin El Teniente, es necesario asegurar su funcionamiento continuo, as como modificaciones y mantenimiento rpidos. 3. Restricciones establecidas por la tecnologa: Los equipos presentes en la Divisin tienen sistemas operativos Windows 2000 o posterior, en su gran mayora. El hecho que la plataforma actual de desarrollo (Visual Basic 6.0) se encuentre descontinuada por Microsoft desde marzo de 2005 aumenta el riesgo de incompatibilidades futuras con nuevos productos de esta compaa que, para bien o para mal, son los ms utilizados en la corporacin. 4. Necesidad de conservar continuidad en el servicio actual: La migracin del SMD debe ser transparente para el usuario, sin ocasionar interrupciones al servicio. 5. Conservar todas las funcionalidades actuales del SMD ms todas las nuevas funcionalidades que se consideran necesarias. Los puntos anteriormente mencionados se traducen en la necesidad de contar con una plataforma de desarrollo que cumpla, como mnimo, los siguientes requisitos: 1. Alta velocidad en la codificacin. 2. Herramientas de depuracin rpida. 3. Compatibilidad con los sistemas operativos Windows 2000 o posterior. 4. Capacidad de desarrollo tanto de software grfico como de servicios (daemon) y tecnologas de conexin a distintas fuentes de datos (ODBC, OleDb o similares). A partir de los antecedentes antes expuestos, es posible dirigir la mirada hacia la plataforma .NET que ha estado en constante progreso desde 2000. Dicha plataforma ofrece compatibilidad con los sistemas operativos existentes en la divisin. Adicionalmente, existe el llamado proyecto Mono (Mono, 2006), el cual promete la implementacin de las clases de la plataforma .NET en otros sistema operativos tales como Linux, Solaris, Mac OS X, etc. Dicha promesa lo hace muy 46 interesante adems para la posible futura migracin de las aplicaciones que dan el servicio del SMD. Dentro de la plataforma .NET, existen una serie de lenguajes disponibles para el desarrollo. Dentro de ellos destacan dos como interesantes para esta tesis: Visual Basic .NET y C#.NET. Entre estos dos lenguajes, se optar por el desarrollo en C#debido a las siguientes razones: 1. Permite el desarrollo rpido de aplicaciones. 2. Posee recoleccin de basura, lo que evita el "escape" de memoria (memory leak) contando con un algoritmo de recoleccin bastante eficiente. 3. Similitudes lingsticas con J ava y C++. 4. Estadsticas de rendimiento comparables (usualmente superiores) a lenguajes similares. 5. Entorno de desarrollo (IDE) bastante familiar para un desarrollador de Visual Basic 6.0. 6. Caractersticas como boxing y el sistema comn de tipos que hacen mucho ms fcil la codificacin. 7. Facilidad de distribucin (un archivo .exe y algunas .dll). 8. Poderosas libreras que vienen con la tecnologa .NET (e.g. Managed DirectX). Gran compatibilidad con .NET Compact FrameWork, permite el desarrollo de aplicaciones para PDA's con sistemas operativos del tipo Windows Mobile, que tengan el .NET Compact FrameWork instalado. 47 Figura 34: Arquitectura propuesta para el SMD. 4.3 Arquitectura Propuesta Tal como se describi en el captulo 1, la arquitectura actual del SMD adolece de problemas de acoplamiento entre las distintas capas que lo componen. El trabajo efectuado en esta tesis sentar las bases para eliminar el acoplamiento antes mencionado, de tal forma de conseguir una arquitectura similar a la mostrada en la figura 34.
Esta arquitectura separa el modelo de datos de las capas de servicio y cliente, mediante una capa de acceso a datos, de tal forma de poder hacer cambios en dicho modelo, sin afectar los desarrollos realizados aguas abajo. De esta forma, una vez establecido un protocolo estndar de transmisin de datos, se podra licitar el desarrollo de cada una de las capas del SMD a distintas empresas expertas en cada tema. As mismo, se podra contar con ms de una versin de la aplicacin cliente, la que incluso podra funcionar en otros sistemas operativos tales como alguna distribucin de Linux. Esto favorecera la portabilidad del SMD y su escalabilidad en el futuro. 48 4.4 Reprogramacin de aplicaciones en Visual Basic 6.0 Para adaptar el SMD a la nueva estructura de datos, segn el plan diseado, ser necesario reprogramar algunas funcionalidades de las siguientes aplicaciones: 1. Procesador 2. Configurador 3. Mapeador de Mapas 4. Mapeador de Sondajes 5. Importador de Vectores 6. Importador de Imgenes En esta seccin slo se muestran los cambios que han sufrido los mdulos ms relevantes de cada una de las aplicaciones antes enumeradas. Las interfaces que se muestran incorporan las modificaciones realizadas, las que son descritas en cada seccin. 4.4.1 Procesador de Solicitudes Esta aplicacin funciona en el servidor de aplicaciones, siendo la encargada de llevar a cabo las solicitudes de los usuarios. Para esto es capaz de realizar lo siguiente: 1. Validar los permisos vigentes para el usuario 2. Bajar la informacin requerida si corresponde 3. Actualizar la base de datos central con los nuevos datos aportados por el usuario 4. Almacenar la informacin relativa a cada transaccin 5. Generar una base de datos local vlida, a partir de la estructura actual de la base de datos central, para enviar al equipo del usuario Para realizar estas tareas, esta aplicacin obtiene la base de datos local del cliente (Access) de un directorio del servidor de aplicaciones donde fue dejado va FTP por la aplicacin cliente. Genera vnculos desde sta a las tablas de la base de datos central y efecta sentencias SQL adecuadas a los fines de la solicitud realizada por el usuario. Este proceso, tal como se puede ver, es bastante "poco estndar" y tiene asociados varios riesgos, por ejemplo, el hecho de vincular una base de datos Access a varias tablas de la base de datos central. Por esto, se recomienda cambiar esta prctica por una subida y bajada de datos que no contemple la vinculacin de tablas como medio. Esto ahora ser posible debido a la eliminacin 49 de los campos tipo BLOB de la tabla de soportes. Dichos campos slo podan ser insertados a travs de SQL en la base de datos central, mediante la vinculacin de tablas. La validacin de permisos de usuario no se ha visto afectada con los cambios en la estructura de datos, debido a que las tablas asociadas permanecen iguales. En cuanto a la bajada de informacin, afortunadamente la generacin de la estructura de la base de datos local se hace en forma automtica con la lectura de las tablas de la base de datos central. Por lo tanto, los cambios efectuados en la base de datos central, se vern reflejados en la base de datos local, sin necesidad de modificaciones de cdigo fuente. Solamente fue necesario incluir la bajada del registro de GSYSSOPORTES asociado a cada elemento mapeable (mapa o sondaje). La eliminacin de las tablas externas (DATSTABLAn) permite eliminar algo de cdigo especfico para ellas. La actualizacin de informacin en la base de datos central se ve afectada por los siguientes cambios: 1. El IDSOPORTE de la tabla GSYSSOPORTES deja de ser autonumrico y cambia su tipo de datos a string. Esto simplifica el cdigo ya que hasta el momento era necesario reasignar los identificadores de los nuevos soportes, por los definitivos asignados en la base de datos central, al momento de la insercin de cada nuevo registro. Ahora los soportes ya vienen con un IDSOPORTE nico, por construccin. 2. La tabla GSYSSOPORTES se divide en tres: GSYSSOPORTES, TTEVERTICES y TTETRAMOS. Esto produce un cambio en la cadena SQL que efecta la subida de datos. Este cambio permitir en el futuro dejar de usar Access como portador de la informacin, ya que hasta el momento era necesario slo por el hecho del traspaso de los campos de tipo BLOB desde Access a Oracle a travs de la vinculacin de tablas, tal como se mencion anteriormente. 4.4.2 Configurador Esta aplicacin es la que permite a los administradores del SMD realizar, entre otras, las siguientes tareas: 1. Crear cuentas de usuario 2. Crear perfiles de usuario 3. Crear elementos mapeables: mapas y sondajes 50 Figura 35: Mdulo de administracin de temas genricos. 4. Crear perfiles de elementos mapeables 5. Crear temas de mapeo 6. Configurar las reglas de mapeo: relaciones entre temas, relaciones entre campos, reglas de validacin de campos y valores que puede aceptar cada campo 7. Configurar los estilos de despliegue oficiales para cada tema Los cambios en la estructura de datos hicieron necesario realizar modificaciones al mdulo de configuracin de estilos de despliegue, almacenando los estilos en las nuevas tablas destinadas para ello. Previamente, se realiz la migracin de los datos de estilos ya configurados desde las tablas originales hacia su nueva ubicacin. Esto se hizo mediante la aplicacin PL/SQL Developer Versin 5.0. La eliminacin de las tablas externas permite eliminar un mdulo completo destinado a su creacin y edicin. Para implementar los cambios planeados, ser necesario hacer varios cambios en los mdulos: 1. Administrador de Temas Genricos 2. Administrador de Sondajes 3. Administrador de Mapas 4. Administrador de Datos El Administrador de Temas Genricos (figura 35) es el que proporciona la interfaz para crear y editar los temas de mapeo del SMD.
51 Figura 36: Funcin para normalizar una cadena (Visual Basic 6.0) Se procede a cambiar el mtodo de denominacin de las tablas asociadas a los temas genricos, reemplazando el prefijo "DATGTABLA" por "D_" y reemplazando el identificador del tema, por el nombre real del tema normalizado. Para esto, se program una simple funcin que lleva todas las letras a maysculas sin acentos, reemplaza los espacios por guiones bajos ("_") y elimina el resto de los caracteres (figura 36).
52 Figura 37: Mdulo de Administracin de Sondajes.
Adems, para los campos de tipo texto fijo, se dejan como tipo VarChar2(90) en lugar de Number, ya que desde ahora se almacenar el atributo literal y no el ID asociado al atributo en la tabla GSYSNOMBRES. El Administrador de Sondajes (figura 37) se ver muy afectado por el cambio propuesto, en el sentido de reemplazar la tabla DATSSONDAJ ES por un tema configurable. Si bien se considera de gran utilidad el cambio propuesto, el autor decide que deber ser aplicado en una etapa posterior al desarrollo de esta tesis ya que se considera prudente probar el sistema completo con las modificaciones ms urgentes, para luego implementar las menos crticas. El nico cambio que se llevar a cabo, ser el de eliminar los campos VERTICES y EXTRADATA, trasladando la informacin espacial del sondaje a la estructura dada por las tablas: GSYSSOPORTES y TTEVERTICES. As, cada sondaje ser almacenado en un registro de la tabla GSYSSOPORTES con su identificador IDSONDAJ E ingresado en el campo IDSOPORTE.
53 Figura 38: Mdulo de Administracin y Anlisis de Datos. El Administrador de Datos (figura 38), es el mdulo que permite la consulta y anlisis de todos los datos del SMD, tanto para sondajes como para mapas.
Debido a los cambios en la estructura de datos, fue necesario hacer algunos cambios en las consultas SQL que realiza este mdulo. Esto afect positivamente el rendimiento de las consultas a campos de tipo texto fijo. Adems, el nuevo formato de almacenamiento de vrtices ha hecho disminuir el cdigo fuente necesario para hacer consultas de sondajes que cortan determinado volumen. Este tipo de consultas consisten en que dado un polgono en planta y dos cotas, se obtienen todos los sondajes que, al menos en parte, estn contenidos en dicho volumen. 54 Figura 39: Mapeador de mapas (plantas y secciones) del SMD. 4.4.3 Mapeador de Mapas Esta aplicacin (figura 39), genera las interfaces necesarias para el mapeo de mapas (plantas, secciones y superficie). Para esto, realiza las siguientes tareas, entre muchas otras: 1. Despliega los soportes con los estilos configurados en la base de datos 2. Despliega los vectores que se encuentren disponibles 3. Despliega las imgenes georreferenciadas que se encuentren disponibles 4. Genera las interfaces de mapeo de cada tema configurado 5. Valida la topologa de los soportes dibujados (evita sobre posicin de soportes del mismo tema en el mismo espacio) 6. Provee herramientas de filtro de informacin 7. Permite imprimir mapas 8. Permite generar secciones definidas por el usuario en cualquier planta y con cualquier orientacin y extensin
55 Figura 40: Funcin para asignacin de identificador de soporte. El cambio en la forma de asignar los identificadores de los nuevos soportes afectar a ambos mdulos de mapeo. Se crea una nueva funcin (figura 40) que genera dicho identificador, garantizando su unicidad al mantener un correlativo interno para cada sesin de mapeo. Dicha sesin se identifica por un nmero nico (denominado en el cdigo como "IdProceso") proporcionado por el sistema al momento de la bajada de datos.
La nueva denominacin de las tablas asociadas a los temas de mapeo no incide prcticamente en el cdigo fuente de las aplicaciones de mapeo, ya que dicho nombre siempre ha sido ledo del campo NOMBRE_TABLA de la tabla GSYSTABLAS. As mismo, la eliminacin de los temas externos y el tema "Estructura" slo tiene como consecuencia la eliminacin de bastante cdigo requerido para administrar el comportamiento del software ante tales casos especiales. Por lo tanto, se considera muy positivo desde este punto de vista. El cambio en la denominacin de los campos de las tablas antes mencionadas resulta ms complejo de implementar, por el alto grado de dependencia que haba al interior del cdigo fuente, de esta forma de denominacin. El cambio se llev a cabo con xito de todas formas. Al dejar de almacenar los vrtices en campos de tipo BLOB, se ha podido prescindir de la dll que prestaba el servicio de interpretacin de dichos campos. As, se hizo un cambio bastante profundo en los mtodos de lectura de soportes, haciendo un uso ms intensivo de la memoria 56 RAM y disminuyendo al mximo los accesos a disco que se hacan con demasiada frecuencia en la versin actual de los mapeadores. Con estos cambios se logr ahorros de tiempo del orden de 80% en planos con gran cantidad de informacin. Este ahorro fue medido cargando la informacin del mismo mapa ("Esmeralda Produccin") en el formato antiguo y el nuevo. Se hicieron 10 mediciones del tiempo de despliegue del total del mapa con todos los temas "encendidos". En todas ellas la aplicacin que utilizaba el modelo antiguo demor del orden de 11 segundos, mientras que la nueva aplicacin registr tiempos del orden de los 2 segundos. 57 Figura 41: Mapeador de Sondajes del SMD. 4.4.4 Mapeador de Sondajes Esta aplicacin (figura 41) genera las interfaces necesarias para el mapeo de sondajes. Para esto, realiza las siguientes tarea, entre muchas otras: 1. Despliega los soportes con los estilos configurados en la base de datos 2. Genera las interfaces de mapeo de cada tema configurado 3. Valida la topologa de los soportes dibujados (evita traslapes) 4. Permite imprimir sondajes Esta aplicacin comparte bastante cdigo con el mapeador de mapas, por lo que los cambios referidos anteriormente son vlidos tambin para este mdulo.
58 Figura 42: Mapeador unificado de sondajes y mapas. 4.4.5 Mapeador: Unificacin de sondajes y mapas Para simplificar an ms la mantenibilidad del cdigo maximizando la reutilizacin del mismo, se procedi a unificar los mapeadores de sondajes y mapas en una nica aplicacin MDI (multiple document interface), tal como se aprecia en la figura 42.
Esto finalmente se tradujo en una disminucin importante de la cantidad de lneas de cdigo y del tiempo requerido para depurar errores. Adems, ha trado importantes beneficios prcticos para el uso del sistema. En particular, ahora es posible desplegar paralelamente un sondaje y un mapa, siendo posible visualizar la expresin del sondaje sobre el mapa antes mencionado al momento de su edicin. Esto facilita la interpretacin precoz de la informacin geolgica, as como posteriores anlisis espaciales de informacin.
59 Figura 43: Importador de Vectores del SMD. 4.4.6 Importador de Vectores El Importador de Vectores (figura 43) se vio afectado debido a que la forma de almacenamiento de los vrtices de los datos vectoriales era similar al de los datos en general, considerando el uso de BLOB's. Por esto, fue necesario hacer modificaciones anlogas a las requeridas por los mdulos de mapeo, de tal forma de almacenar los archivos dxf importados, en la nueva estructura que considera una tabla de vrtices.
60 Figura 44: Clase para el manejo de excepciones. 4.5. Prototipo del Mapeador de Elementos 2D Para probar algunas de las capacidades bsicas del lenguaje C#y la plataforma de desarrollo .NET, se desarroll un pequeo prototipo de la interfaz del mapeador de elementos 2D, que corresponde al mdulo capaz de visualizar los mapas del SMD. Para el desarrollo se crearon clases bsicas, algunas de las cuales son descritas en esta seccin. Este mdulo cuenta con las siguientes capacidades: 1. Conexin a la misma base de datos Access '97 con la que actualmente operan los mapeadores del SMD. 2. Despliegue de los soportes de todos los temas configurados, con los estilos definidos actualmente en el SMD. 3. Capacidad de zoom in, zoom out, paneo y seleccin grfica de soportes. Para el manejo adecuado de excepciones, se cre la clase MyException (figura 44), la cual llena un archivo de texto con cada excepcin que se produce y la pila de llamadas recibidas en forma previa al evento. Esto favorece mucho la depuracin del cdigo.
61 Figura 46: Funcin para abrir una base de datos Access en Visual Basic 6.0. Figura 45: Clase para acceso a datos. 4.5.1 Acceso a la base de datos local Las aplicaciones de mapeo actuales se conectan a la base de datos local Access, a travs de la tecnologa DAO (data access objects), proporcionada por el lenguaje Visual Basic 6.0. Dicha tecnologa provee de todas las clases necesarias para acceder y modificar los datos contenidos, adems de algunas utilidades adicionales como la compactacin de la base de datos. En el caso de C#, se utiliz la tecnologa ADO .NET para la conexin al repositorio local. Las clases utilizadas para el acceso a datos estn contenidas en el espacio de nombres (namespace) System.Data.OleDb las cuales son explotadas a travs de la construccin de una clase denominada Db (figura 45). El cdigo necesario para acceder a la base de datos local se exhibe tanto para Visual Basic 6.0 (figura 46) como para C#(figura 47).
62 Figura 48: Clase Punto. Figura 47: Constructor de clase de acceso a datos en C#.
4.5.2 Interfaz grfica de usuario Con el objetivo de conservar la familiaridad del usuario con la interfaz del software actualmente en funcionamiento, sta fue conservada en la mayor medida posible, haciendo slo algunas modificaciones menores que han sido sugeridas en muchos casos por los mismos clientes del SMD. Para los objetos grficos, la clase bsica es el punto (figura 48), el cul cuenta con coordenadas reales X, Y, Z y con un par de lo que denomino coordenadas topolgicas. Estas ltimas sirven para resolver las relaciones entre los distintos polgonos en cada planta o seccin, tales como intersecciones, sobre posiciones o inclusiones. Estas relaciones son siempre resueltas en 2D, por lo que para el caso de las plantas se utilizan las coordenadas X e Y, mientras que en las secciones, las coordenadas topolgicas son obtenidas como la proyeccin de cada polgono en el plano vertical definido por la seccin. En esta clase se implementa el mtodo que determina la distancia entre dos puntos. 63 Figura 49: Clases definidas para el manejo de elementos mapeables. Figura 50: Clase soporte. Los elementos mapeables como sondajes y mapas se consideran hijos de una clase abstracta que denomino Elemento Mapeable (figura 49). En dicha clase agrupo tambin a elementos de apoyo como lo son los vectores y las imgenes.
El manejo de soportes qued centralizado en la clase denominada Soporte (figura 50), la cual rene ciertas propiedades que son actualizadas a medida que el soporte va siendo construido como lo son los lmites de ubicacin, el largo y rea si aplican, etc. Adems, al momento de irse agregando vrtices a un soporte, la funcin que realiza dicha labor valida la topologa del mismo, evitando que el nuevo trazo corte a un trazo ya existente o que el polgono se cierre en un punto que no sea el primero. Todas las visualizaciones que permite el sistema son en superficies planas, ya sea una planta (plano horizontal) o una seccin (plano vertical). Los vrtices que componen un soporte se almacenan en una lista enlazada, lo que hace muy eficiente su insercin y obtencin. 64 Figura 52: Clases para manejar los temas, atributos y valores definidos en el cdigo del SMD. Figura 51: Clase lista enlazada. Para manejar las listas de vrtices, as como listas de otros elementos, se creo algo muy similar a lo que son los templates en C++, y que en C#son denominadas clases genricas. stas estn agrupadas en el espacio de nombres System.Collections.Generic. Haciendo uso de esta funcionalidad, se crea la clase ListaElementos (figura 51). Tal como es de esperarse, el uso de la clase ListaElementos nos permite mantener listas de distintos conjuntos de objetos de la aplicacin y se hace uso intensivo de sta en muchas clases.
Para implementar el manejo del cdigo del SMD, as como de los estilos asociados a los valores que asumen los distintos atributos de cada tema, se han creado las clases: tema, atributo y valor (figura 52).
65 Figura 53: Vista del mapa Esmeralda Hundimiento, a travs del prototipo en C#. Finalmente, en la figura 53 se muestra un despliegue del sector Esmeralda Hundimiento del yacimiento El Teniente.
Lograr este desarrollo no tom ms all de un mes incluyendo el diseo y programacin. Adems, el autor se ha dedicado tambin a otras actividades dentro de ese perodo de tiempo. Por este motivo, se sostiene que la velocidad de desarrollo que se puede conseguir es muy adecuada para los recursos disponibles para este efecto. El rendimiento de la aplicacin, en cuanto a velocidad de despliegue especialmente, es inferior al logrado con Visual Basic 6.0. Sin embargo, se debe hacer notar que el desarrollador tiene mucho que aprender con respecto al uso de GDI+(Graphics Device Interface). Otra herramienta destacable de Visual Studio 2005 es su capacidad de generacin de diagramas de clases, la cual es muy eficiente y til para agilizar el proceso de diseo y documentacin del software. 66 5. CONCLUSIONES Y RECOMENDACIONES En este captulo se detallan las conclusiones a las que fue posible llegar una vez terminado este trabajo, considerando tanto la experiencia recopilada durante el desarrollo del mismo, como la experiencia obtenida durante los seis aos que ha llevado el desarrollo e implementacin del mapeo digital en la Superintendencia Geologa de la Divisin El Teniente. 5.1 Conclusiones En esta tesis se ha hecho una revisin crtica del sistema de mapeo digital que se viene desarrollando y utilizando en la Divisin El Teniente de CODELCO CHILE desde el ao 2002. Esta revisin ha permitido identificar y realizar los cambios ms crticos que dicho sistema requera para posibilitar su escalamiento e interoperabilidad. Es importante destacar que muchos de los cambios indicados en esta tesis, han sido puestos con xito en produccin durante el curso de este trabajo. Los cambios realizados se han traducido en diversas mejoras en trminos de normalizacin de la estructura de datos subyacente, as como en el rendimiento de la aplicacin de despliegue grfico. La mayor normalizacin de la base de datos ha permitido el acceso a la informacin por usuarios no familiarizados con el uso del SMD. El reemplazo de los campos de tipo BLOB ha permitido acceder a la informacin de los vrtices de los distintos soportes almacenados por va de simple SQL, disminuyendo drsticamente la dependencia del SMD por parte de la Superintendencia Geologa. La nueva estructura de datos permite facilitar la consulta geogrfica de soportes por cercana a un punto dado. La reprogramacin de varias aplicaciones del SMD ha optimizado sensiblemente el despliegue de la informacin de mapas, gracias a la disminucin del acceso a disco. Esto fue posible en gran medida debido a los cambios en la estructura de datos antes mencionados. Para hacer posible el escalamiento del SMD, se ha definido a Visual Studio 2005 y, en particular, al lenguaje C#como la plataforma de desarrollo futuro, en caso de seguir contando con los mismos recursos fsicos y humanos hasta ahora disponibles. El desarrollo del prototipo de mapeador 2D en C#, ha permitido confirmar que este lenguaje resulta muy adecuado para extender el desarrollo del SMD. La potencia de la plataforma .NET unida a la velocidad de desarrollo lograda mediante el IDE de Visual Studio 2005 permiten continuar escalando el sistema con los recursos actualmente disponibles, al menos en el mediano plazo. 67 Se ha confeccionado un plan de migracin que permitir un cambio de plataforma de desarrollo gradual pero eficiente. Resulta fundamental seguirlo en forma estricta para garantizar la mnima interferencia con la produccin. El xito que ha tenido el mapeo digital durante sus seis aos de funcionamiento en la Superintendencia Geologa de la Divisin El Teniente, se ha debido fundamentalmente a que su desarrollo ha estado siempre ligado estrechamente con el negocio al que apoya, en este caso la Geologa. Sin embargo, su generalidad le permite fcilmente ampliar su alcance fuera de esta rea, incorporando el manejo de otros temas como el estado geomecnico de los tneles. La atencin constante que se ha puesto en la satisfaccin de los usuarios, siendo el desarrollador uno de ellos, ha sido la base para la corta curva de aprendizaje que tienen las aplicaciones de mapeo y anlisis del SMD. Todas las etapas de desarrollo del sistema de software antes detalladas, incluyendo esta tesis, se han llevado a cabo mediante una estrategia de desarrollo "poco convencional", sin equipo de diseo, desarrollo y pruebas bien definidos. El diseo y desarrollo han estado a cargo del autor, mientras que las pruebas en general son realizadas por los usuarios ms experimentados. Esta prctica, si bien ha funcionado hasta el momento, se considera poco reproducible ante cambios en las personas que desarrollan y usan el SMD. Por esto, durante el desarrollo de esta tesis, el autor ha publicado una serie de procedimientos que describen en detalle los pasos de cada una de las actividades relacionadas en mayor o menor medida con la administracin del SMD (Rodrigo, 2005, 2006 a y 2006 b). Dichos documentos podrn ayudar tambin a la Superintendencia Geologa de la Divisin El Teniente a certificarse ISO9000, meta que ha sido fijada por la Corporacin para el mediano plazo. 5.2 Recomendaciones En esta seccin se indican una serie de recomendaciones para tres distintos mbitos que comprenden el SMD. 5.2.1 Acceso a datos Eliminar la prctica de vincular tablas desde una base de datos Access a la base de datos central, por una subida y bajada de datos que porte los registros como texto y los almacene en algn formato no propietario para su transmisin por la red. Estudiar alternativas para optimizar la bajada de informacin desde la base de datos. 68 La base de datos local Access '97 actualmente utilizada debe ser reemplazada lo antes posible. Ya se est comenzando el estudio de una buena alternativa para el repositorio local de datos del SMD. Eliminar el nico tema preconfigurado (Estructura) y reemplazarlo por uno genrico equivalente. Mejorar el modelo de datos en lo que se refiere a vinculacin de temas y atributos. En particular, permitir vincular un tema a uno o ms temas. 5.2.2 Protocolo de comunicacin y transmisin de datos Implementar de un protocolo estndar de transmisin de los datos solicitados por los usuarios, permitir el desarrollo de varios tipos de aplicaciones de mapeo. Esto nos permitir adjudicar las distintas capas del SMD a distintos grupos de desarrollo especializados en cada una de ellas. 5.2.3 Aspectos Administrativos Para poder lograr una trazabilidad de los cambios que sufren los soportes y la informacin en general con el tiempo (por ejemplo, la evolucin de una falla), se recomienda estudiar los cambios en el modelo de datos que permitan esta potencialidad. Se recomienda licitar el desarrollo y mantenimiento de los distintos mdulos del SMD para lograr la permanencia del sistema en el tiempo. Dichas licitaciones deben ser dirigidas y coordinadas por profesionales del perfil de los que han participado en el desarrollo del SMD, quienes tienen el conocimiento cabal del negocio y de la herramienta de software que lo apoya. Esto disminuir la dependencia del SMD del diseador y desarrollador actual. 69 6. BIBLIOGRAFA 1. Encom Technology Pty Ltd. (2006). Encom Discover 6.1. Sistema de Informacin Geogrfica para profesionales de las Ciencias de la Tierra. <www.encom.com.au/pdfs/discover61_spanish.pd>. 2. Esri (2006). Arcinfo, Complete Desktop GIS for the GIS professional. <www.esri.com/software/arcgis/arcinfo> 3. GAF (2006). Software. <www.gaf.de> 4. Geosoft (2006). Oasis Montaj. <www.geosoft.com/pinfo/oasismontaj/index.asp> 5. Geovectra S.A. (2003). Manual de GVMapper Versin 3.1. 6. Geovectra S.A. (2006). GVMapper. <www.geovectra.cl> 7. Mono. (2006). What is Mono? <www.mono-project.com> 8. Rodrigo B., Jos M. (2005). Procedimiento Administrativo de Proposicin, Realizacin y Reporte de Sondajes. GRMD-SGL-P-017. Divisin El Teniente. CODELCO CHILE. 9. Rodrigo B., Jos M. (2005). Mdulo de Anlisis y Administracin de Datos de Sondajes para el Sistema de Mapeo Digital. SGL-I-124-2005. Divisin El Teniente. CODELCO CHILE. 10. Rodrigo B., Jos M. (2006 a). Instructivo para Certificacin de Perforacin, Topografa de Collar y Medicin de Trayectoria de Sondajes. GRMD-SGL-I-007. Divisin El Teniente. CODELCO CHILE. 11. Rodrigo B., Jos M. (2006 b). Manual de Instalacin y Operacin del Sistema de Mapeo Digital. Informe Indito de la Superintendencia Geologa. Divisin El Teniente. CODELCO CHILE. 70 ANEXO A: Glosario Base de Datos Central: Es la base de datos donde se almacena toda la informacin del SMD. A ella slo tiene acceso el servidor de aplicaciones y el mdulo de configuracin. Actualmente es administrada a travs de Oracle 9i. Base de Datos Local: Es el repositorio donde se almacena la informacin en cada equipo de mapeo. Actualmente se utiliza Microsoft Access '97 para este efecto. BLOB: Binary Large Object. Campo autonumrico: Es un campo que se auto incrementa en una unidad cada vez que se agrega un registro en la tabla a la que pertenece. Para implementar esto en Oracle, se crea una secuencia y un trigger que extrae el nuevo valor y lo inserta el campo de inters. Corte Transparente: Seccin muy delgada de una roca, cortada y preparada para su estudio al microscopio. Elemento Mapeable: Toda entidad espacial de una dimensin o dos dimensiones, sobre la cual se pueden crear soportes en los distintos temas configurados en el SMD. Ejemplos de elementos mapeables son las plantas, secciones, mapas de superficie y sondajes. GCTIC: Gerencia Corporativa de Tecnologas de la Informacin y Comunicaciones Manteo: ngulo que forma un plano con el plano horizontal, medido en la direccin de mxima pendiente del plano aludido. Mapa: Representacin geogrfica bidimensional de la realidad. Usualmente se utilizan plantas (mapa horizontal plano) o secciones verticales (mapa vertical plano). Mapear: Reconocer informacin relativa a un tema dentro de un sondaje o mapa. Rumbo: ngulo que forma un linear con el Norte geogrfico. SMD: Sistema de Mapeo Digital. Sondaje: Un sondaje consiste en una muestra de roca obtenida mediante la perforacin de un pozo en el macizo rocoso. Dicha muestra puede ser un cilindro slido (sondaje diamantino) o una muestra de polvo de roca (sondaje de aire reverso). Soporte: Entidad espacial a la cual se le asocia informacin relativa a algn tpico. Puede ser un punto, una polilnea o un tramo de un sondaje. Tema Maestro o Padre: Es un tema que no est vinculado a ningn otro tema. Tema Vinculado, Detalle o Hijo: Es un tema vinculado a otro de mayor jerarqua o maestro. 71 Trayectoria: Sucesin de mediciones puntuales de la orientacin de un sondaje, que permiten determinar su desviacin con respecto al programa del mismo y, en consecuencia, su ubicacin "real" en el espacio. Vectores: Son planos importados al SMD a partir de archivos DXF. stos quedan disponibles en el sistema para los usuarios autorizados. Usualmente se utilizan para almacenar los planos de los tneles de los sectores productivos. Vrtice: Punto (x, y, z) perteneciente a un soporte y originado durante el proceso de mapeo. A un vrtice nico se le denomina punto en el SMD. Una sucesin de vrtices puede ser una polilnea o un polgono, en caso que el primer y ltimo vrtice sean iguales.
72 ANEXO B: Descripcin global del SMD y sus componentes En este anexo se describe el SMD en trminos de sus principales componentes, de tal forma de entregar al lector una visin de la forma en que este sistema opera y de las funcionalidades que proporciona a los usuarios. Las interfaces sern omitidas para proteger la confidencialidad del SMD. B.1 Configurador Este mdulo del SMD es el que permite crear y administrar las cuentas de usuarios, perfiles de usuarios y el cdigo de mapeo implementado. Tambin permite acceder a toda la informacin almacenada, proporcionando herramientas de filtro, anlisis de datos y utilidades de exportacin. El acceso a este mdulo se debe restringir a usuarios de confianza, con gran conocimiento del negocio que se est configurando (e.g. geologa, geomecnica u otro) y con habilidades para estructurar informacin en forma coherente. Es deseable, aunque no indispensable, que se tengan algunos conocimientos bsicos de administracin y consulta de bases de datos (lenguaje SQL). B.1.1 Creacin de Cuentas de Usuario y Perfiles Mediante una interfaz se permite crear y editar las cuentas de los usuarios del SMD. A cada usuario le puede ser asignado uno o ms perfiles. Cada perfil consiste en una serie de autorizaciones para acceder a los distintos temas configurados en el SMD, as como a los distintos elementos mapeables. De esta forma cuando un usuario reserva un mapa para levantar informacin en el mismo, debe tener acceso al mapa y, separadamente, debe tener acceso a los temas que desea editar. Por otra parte, existen los llamados perfiles de elementos mapeables los que permiten asociar un mapa con un conjunto especfico de temas. Esto nos habilita para tener mapas temticos especficos destinados exclusivamente, por ejemplo, al levantamiento e interpretacin litolgica. Cada elemento mapeable puede tener tan slo un perfil. B.1.2 Creacin de Temas de Mapeo Se provee una interfaz que permite crear cualquier tipo de tema o tpico que se requiera mapear en terreno, sondajes o interpretar en gabinete. 73 El enfoque consiste en permitir al usuario crear un tema cualquiera. Luego, puede crear campos, que son los conceptos a reconocer para dicho tema al momento de mapear. Cada campo puede ser de tipo numrico, texto, memo (texto largo), objeto (archivo binario como foto, documento pdf, etc.) o booleano. Se pueden establecer ciertas reglas de validacin sobre los valores que pueden asumir los campos (mnimo, mximo, suma mnima, suma mxima, etc.). En particular, los valores de los campos de texto se pueden configurar de tal forma que el usuario deba elegir entre un nmero restringido de posibilidades, ayudando al cumplimiento de un estndar de mapeo. Sin perjuicio de esto, los usuarios que estn debidamente autorizados, pueden agregar nuevos valores a dichos campos al momento del mapeo. B.1.3 Consulta de Informacin Para realizar anlisis de grandes cantidades de informacin, el configurador cuenta con un mdulo destinado a este efecto, denominado Administrador de Datos. Su funcin consiste en dar acceso a toda la informacin contenida en la base de datos, aportando herramientas para simplificar su consulta y filtro tanto temtico como espacial. Los datos obtenidos de esta forma, pueden ser exportados en formato ASCII o Excel, lo que permite su posterior utilizacin en softwares de modelamiento u otros. Adems, si se cuenta con los privilegios necesarios, es posible consultar todas las transacciones realizadas en el sistema (bajadas de elementos, actualizaciones, labores administrativas, etc.). Esto permite un control cercano de las actividades y facilita la posibilidad de llevar una estadstica respecto de las mismas. B.1.4 Creacin y edicin de Elementos Mapeables Los sondajes y mapas pueden ser creados y editados mediante sendas interfaces. stas permiten asignarles nombre, perfil de mapeo (los temas que le correspondern) y ubicacin espacial, entre otras caractersticas administrativas. B.1.5 Importacin de imgenes y planos vectoriales Para mapear tanto en superficie como en labores subterrneas, suele ser de gran utilidad contar con un plano topogrfico. Dichos planos pueden ser importados al sistema cuando estn en formato dxf. As mismo, si se cuenta con imgenes satelitales, fotografas areas o planos antiguos escaneados, es posible georreferenciar dichas imgenes e importarlas al SMD para contar con ellas al momento del mapeo o la interpretacin.
74 B.1.6 Creacin de programas de sondajes Mediante una interfaz destinada al efecto, los gelogos pueden crear sus programas de sondajes, ingresando cada una de las propuestas (nombre, ubicacin, tipo de muestra, etc.). El SMD provee la posibilidad de visualizar la propuesta en el mapa de tal forma de descartar a priori cualquier error en los datos. Adems, este mdulo almacena dicha informacin en la base de datos, lo que permite hacer un control administrativo del proceso de perforacin de sondajes desde la propuesta hasta el mapeo del testigo. B.1.7 Administracin de parmetros crticos Existen generalmente una serie de parmetros administrativos que es conveniente almacenar en la base de datos. Un ejemplo de dichos parmetros es la declinacin magntica. Este dato debe ser obtenido de una fuente confiable (IGM: Instituto Geogrfico Militar) y su valor debe estar respaldado por un documento oficial. Sin embargo, es til que todos los usuarios tengan acceso a dicho valor con objetivos prcticos. El SMD provee la posibilidad de almacenar los parmetros crticos que sea necesario, para lo cual se consulta su nombre, descripcin, tipo de dato y valor. Una vez que son creados, cualquier aplicacin perteneciente al SMD tendr acceso a dicho parmetro, pero slo en modo de lectura. De esta forma cualquier modificacin en los valores (hecha en el Configurador), es inmediatamente difundida por el SMD a los usuarios del sistema. B.2 Servidor y Procesador Debido a la naturaleza distribuida del SMD, existen dos aplicaciones encargadas de "escuchar" y realizar las solicitudes encargadas por los usuarios. Estas aplicaciones residen el servidor de aplicaciones del SMD. B.2.1 Servidor Esta aplicacin acepta las conexiones de los clientes y "decide" si se autoriza o no la transaccin. Permite la concurrencia de un nmero configurable de usuarios (actualmente 20), y deriva las solicitudes a otra aplicacin denominada procesador. El proceso de autorizacin lo realiza mediante la validacin del nombre de usuario y contrasea enviados en forma codificada desde el cliente, con la informacin correspondiente que existe en la base de datos central. 75 B.2.2 Procesador El procesador es el encargado de efectuar los procedimientos necesarios para la sincronizacin de la base de datos central con los nuevos datos aportados por los usuarios, as como la consulta de informacin a la base de datos central y su derivacin hacia los usuarios que la soliciten. Es posible activar varias instancias del procesador, lo que permite el procesamiento paralelo de las solicitudes. B.3 Cliente del SMD Esta aplicacin permite el acceso de cada usuario al sistema de mapeo digital, a travs de su nombre de usuario y contrasea. Una vez iniciada una sesin es posible solicitar un elemento mapeable para su edicin o, simplemente, para su visualizacin. As mismo es posible obtener los vectores e imgenes que estn disponibles en la base de datos central. B.4 Mapeador Esta aplicacin contiene toda la grfica del SMD y es la que permite el despliegue de los elementos mapeables, tanto mapas como sondajes. B.4.1 Mapeador de Sondajes Provee las interfaces y mdulos para el mapeo de sondajes. Adems, permite a los usuarios exportar la informacin de los sondajes seleccionados hacia archivos ASCII o Excel. As mismo, es posible imprimir los sondajes en una impresora o plotter, agregando cierta informacin administrativa como encabezado de cada hoja. B.4.2 Mapeador de Mapas Esta aplicacin contiene la grfica ms compleja del SMD. Permite desplegar tanto plantas como secciones y dibujar sobre ellos cualquier nuevo soporte. Esto ltimo se puede hacer directamente o con la ayuda de una serie de asistentes que facilitan la creacin de nuevas figuras. Adems, es posible conectar un GPS a computador porttil (puerto serial) y desplegar la lectura obtenida directamente sobre el mapa que est siendo desplegado. Esto posibilita la ubicacin instantnea de la posicin actual en el mapa de trabajo.