Organización de la información correspondiente a la red de nivelación nacional en el GIT de geodesia del IGAC
Texto completo
(2) Agradecimientos. ii. A los profesores de la Universidad Distrital que hicieron parte de mi proceso formativo por conducirme por el camino del conocimiento y por exhortarme, directa o indirectamente, a dar firmeza de manera constante a mi formación intelectual. A los funcionarios del GIT de geodesia por permitirme esta oportunidad, y especialmente a quienes acompañaron la labor desempeñada por su confianza, gratitud y disposición para atender cualquier requerimiento..
(3) Resumen. iii. En el periodo comprendido entre el 19 de agosto y el 13 de noviembre del presente año, se desarrolló un ejercicio teórico-práctico, tendiente a organizar la información de la Red de Nivelación Nacional para el grupo interno de trabajo –GIT- de geodesia en el Instituto Geográfico Agustín Codazzi –IGAC- . El ejercicio al que se alude ostenta un carácter académico y de inserción al quehacer profesional del Ingeniero Topógrafo, pues este se desarrolló asumiendo las características propias de un trabajo de pasantía, modalidad de trabajo de grado aquella, que fue adoptada por el autor del presente texto para optar al título del profesional en mención. El trabajo fue guiado a nivel interno por diferentes funcionarios del IGAC quienes fungen como líderes del proyecto de nivelación en el GIT de geodesia. Las actividades que se establecieron desde su dirección, fueron variando conforme se cumplían diferentes tareas fundamentales para la consecución del objetivo general. Siguiendo la lógica descrita, se obtuvo en una primera instancia, la transcripción a formato digital de los extractos de nivelación de 10 líneas cuyos archivos estaban en formato análogo, así como la transcripción a digital de 2 libros con información de cotas de puntos de diferentes líneas de nivelación. Toda esta información concernía a datos obtenidos en el plan de nivelación 1951-1999. Para una segunda instancia, se obtuvo por medio de la construcción de una macro, la estructuración del extracto de nivelación de 4 circuitos de la red, con miras a que las alturas geométricas de los puntos que conforman cada circuito fueran calculadas. Simultáneamente con esa actividad se estructuró junto con otro compañero pasante, la que será la Base de Datos Geográfica –GDB- de la Red de Nivelación Nacional. Para este.
(4) iv Propósito se diseñó un programa en Python que dinamizara el trabajo y con esto se pudo colaborar en la creación y posterior incorporación a la GDB de, 6 shapes de tipo línea y 6 shapes de tipo punto, los que representan respectivamente, la dirección que sigue una determinada línea de nivelación y los puntos geodésicos que conforman una línea o circuito de nivelación. Esta última información correspondía a datos de nivelación obtenidos desde el 2000 hasta el presente año..
(5) Tabla de Contenidos. v. Capítulo 1 Introducción .................................................................................................................. 1 Capítulo 2 Objetivos ....................................................................................................................... 3 Objetivos específicos .................................................................................................................. 3 Capítulo 3 Desarrollo ...................................................................................................................... 4 Recuperación de información ..................................................................................................... 4 Recuperación de extractos de nivelación. ............................................................................... 4 Recuperación de libros. ........................................................................................................... 6 Gestión de información de nivelación ........................................................................................ 7 Estructuración de extractos de circuitos. ................................................................................ 7 Construcción de la GDB de la Red de Nivelación Nacional. ................................................. 9 Creación de los shapes de tipo línea ................................................................................... 9 Creación de los shapes de tipo punto. ............................................................................... 10 Capítulo 4 Resultados obtenidos ................................................................................................... 13 Recuperación de información ................................................................................................... 13 Gestión de información de nivelación ...................................................................................... 14 Capítulo 5 Análisis de resultados .................................................................................................. 19 Extractos estructurados ............................................................................................................. 19 Shapes de líneas construidos ..................................................................................................... 21 Shapes de puntos construidos ................................................................................................... 22 Base de datos geográfica ........................................................................................................... 23 Modelo conceptual. ............................................................................................................... 24.
(6) vi. Esquema físico. ..................................................................................................................... 24 Capítulo 6 Evaluación de resultados ............................................................................................. 28 Recuperación de información ................................................................................................... 28 Gestión de información de nivelación ...................................................................................... 28 Creación de shapes de tipo línea. .......................................................................................... 28 Estructuración de extractos y creación de shapes de tipo punto. .......................................... 29 Capítulo 7 Conclusiones y recomendaciones ............................................................................... 33 Anexos .......................................................................................................................................... 36 Anexo A. Programa para extracción de entidades de tipo punto. ............................................. 36.
(7) Lista de tablas. vii. Tabla 1 Detalle de información de los extractos recuperados ...................................................... 14 Tabla 2 Detalle de información de los extractos estructurados .................................................... 15 Tabla 3 Detalle de información de todos los shapes construidos ................................................. 18 Tabla 4 Resumen de estructuración de extractos .......................................................................... 19 Tabla 5 Resumen de construcción de shapes de tipo línea ........................................................... 21 Tabla 6 Resumen de construcción de shapes de tipo punto .......................................................... 22 Tabla 7 Documentación de los atributos de la entidad línea ........................................................ 25 Tabla 8 Documentación de los atributos de la entidad punto ....................................................... 26.
(8) Lista de figuras. viii. Figura 1. Ejemplo de extracto de nivelación en formato análogo .................................................. 5 Figura 2. Formato de extracto de nivelación actualizado ............................................................... 6 Figura 3. Ejemplo de producto obtenido tras la ejecución del script de Python ........................... 12 Figura 4. Estructura de la GDB..................................................................................................... 15 Figura 5. Shapes de tipo línea construidos.................................................................................... 16 Figura 6. Shapes de tipo punto construidos .................................................................................. 17 Figura 7. Porcentaje de contribución a la estructuración de extractos .......................................... 20 Figura 8. Porcentaje de contribución a la construcción de shapes de tipo línea ........................... 21 Figura 9. Porcentaje de contribución a la construcción de shapes de tipo punto.......................... 23 Figura 10. Modelo entidad-relación de la GDB............................................................................ 24 Figura 11. Diagrama de procesos para la gestión de la información ............................................ 30.
(9) 1 Capítulo 1 Introducción En el presente informe se expondrán las labores que se desarrollaron en el marco de la pasantía llevada a cabo en el GIT de Geodesia del IGAC. La justificación de esta actividad viene dada por la necesidad que presentaba el GIT, de contar con colaboradores para organizar una parte sustancial de la información que está a cargo del proyecto de nivelación. Esta necesidad convergiría con la intención del estudiante, autor de este texto, de desarrollar su trabajo de grado en la modalidad de pasantía y redundaría finalmente, en la vinculación de él al Instituto por medio de este proyecto. Las labores delegadas para la pasantía, por parte de los líderes del proyecto de nivelación, fueron variando conforme se cumplían, pero siempre estuvieron sujetas a la consecución del objetivo general, el cual surge de la necesidad planteada. Es de aquí, que se propusiera para la definición de dicho objetivo general, un concepto tan amplio como ‘organizar’- la información de la Red de Nivelación Nacional-; pues, cierto es, que el enfoque bajo el cual se planteaban las actividades no era sino el que expone tal término. Para mayor claridad: la diversidad de las tareas que se realizaron, surge debido a que estas se establecían sobre la marcha, teniendo como única directriz, organizar la información de la Red de Nivelación Nacional. De acuerdo con esto, es posible excusar la falta de un cronograma de actividades estricto por cumplir, lo cual no significa ausencia de rigor y ética profesional; por el contrario, manifiesta un entendimiento cabal por parte del pasante y de sus superiores, de las necesidades del proyecto de nivelación y del GIT de geodesia..
(10) 2 Visto desde una perspectiva macro, el trabajo realizado se divide en dos grandes tareas que son mutuamente excluyentes, pero que, como ya se ha dicho, guardan relación en su justificación porque ambas están dirigidas a dar mayor orden a la información que maneja el proyecto de nivelación. Para conservar una estructura adecuada y comprensible de este documento, se ha convenido denominarlas: Recuperación de información y gestión de información de nivelación. Este informe da cuenta en su tercer capítulo, de las formas en cómo se desarrollaron esas dos tareas. Así mismo expone en el cuarto capítulo los resultados que se obtuvieron para cada una. En el capítulo quinto se hace un análisis de estos resultados y en el siguiente se describen los métodos que se utilizaron para validar su calidad. Finalmente, en el último capítulo se presentan algunas conclusiones que se derivan de la labor ejecutada y se proponen algunas recomendaciones para dar continuidad y mejorar el trabajo realizado..
(11) 3 Capítulo 2 Objetivos Contribuir en la organización de información concerniente a la Red de Nivelación Nacional, la cual es administrada por el proyecto de nivelación del GIT de Geodesia del IGAC. Objetivos específicos . Recuperar información de archivos disponibles análogamente como formatos escaneados y libros.. . Estructurar un cierto número de extractos de nivelación, a fin de que puedan utilizarse para calcular las alturas geométricas de los puntos que lo conforman y para construir su respectivo shape.. . Alimentar la GDB de la Red de Nivelación Nacional, creando un cierto número de shapes de tipo punto y de tipo línea e incorporándolos a esta, luego de efectuado el respectivo control de calidad para cada shape creado..
(12) 4 Capítulo 3 Desarrollo El presente capítulo pretende exhibir el contexto que respecta a las tareas solicitadas y a las formas y tiempos que fueron acogidos para el desarrollo de estas. Debe entonces, iniciarse por reconocer la ausencia de un cronograma de actividades estricto por cumplir, situación que no eximió el uso de tiempos para el control de las labores. El desarrollo de la pasantía abarcó dos actividades elementales y mutuamente excluyentes. La primera trató sobre la recuperación de información en formato análogo; la segunda, sobre gestión de información para uso inmediato y estructuración de la GDB de la Red de Nivelación Nacional. Recuperación de información La primera actividad que se delegó fue transcribir a digital información del plan de nivelación 1951-1999, cuyos archivos estaban en formato análogo. Esta tarea se ejecutó en un tiempo aproximado de un mes y su desarrollo se llevó a cabo de manera itinerante conforme se iban recuperando los archivos; esto es, se asignaba la recuperación de un archivo tal, tan pronto fuera este completamente recuperado en digital, se asignaba otro archivo para la misma tarea. La labor en cuestión comprendió dos tipos de recuperación que hacen posible una mejor exposición de su desarrollo. Estas fueron: recuperación de extractos de nivelación y recuperación de libros con información de cotas. Recuperación de extractos de nivelación. Los extractos de nivelación son el documento digital donde se registra, según el recorrido de una línea, la información de.
(13) 5 desniveles entre los puntos que la conforman, así como otra información relevante sobre nivelación. Este procedimiento de registro debe llevarse a cabo por parte de los topógrafos encargados de realizar la nivelación geodésica de la línea. Para los planes de nivelación ejecutados entre 1951 y 1999 no se contaba con esta directriz, de forma tal que toda la información levantada en este periodo se encontraba en formato análogo (hojas de campo, informes impresos, dibujos hechos a mano, extractos diligenciados en esfero, etc.). De aquí la justificación de esta labor. Un ejemplo de esto puede verse en la Figura 1.. Figura 1. Ejemplo de extracto de nivelación en formato análogo. Aunque fuera mucha la informacion que se tenía de cada línea, de acuerdo con las necesidaeds del GIT, solo fue necesario transcribir los extractos de nivelación. La forma en cómo se desarrolló este trabajo fue simple y llanamente, adaptando la interfaz de la máquina de trabajo, de manera que fuera posible transcribir los datos de los archivos análogos (fotos) a digital rápidamente..
(14) 6 El documento que se diligenciaba era un archivo Excel que contenía el nuevo formato para los extractos de nivelacion. Fue diseñado por el GIT de geodesia y esta incluido dentro de la gestión documetal del IGAC. Se reconoce con el serial F30100-2817V1. Para mayor ilustracion refierase a la Figura 2.. Figura 2. Formato de extracto de nivelación actualizado. Recuperación de libros. Esta otra parte de la fase de recuperación de información, tiene que ver con transcribir a formato digital las cotas de ciertos puntos que estaban almacenados en formato físico; explícitamente, se transcribieron a un archivo Excel el punto y su respectiva cota, tomando como referente dos libros con información de nivelación de las épocas de 1956 y 2000. Mientras que en el primero se realizó por completo la tarea, en el segundo se participó de manera parcial. Al igual que la parte anterior, el procedimiento para desarrollar la labor, se reducía a disponer de manera efectiva el lugar y la máquina de trabajo para poder digitalizar la información rápida y oportunamente. En este caso particular no se.
(15) 7 diligenciaba ningún formato que hiciera parte de la gestión documental del IGAC, simplemente se registraban en un archivo Excel los datos que se han mencionado. Gestión de información de nivelación Esta segunda fase de la pasantía tiene que ver, en su sentido más amplio, con gestión de la información. Comprende dos tareas fundamentales que son complementarias entre sí; estas son, estructuración de extractos de circuitos para uso inmediato y creación de la GDB de la Red de Nivelación Nacional. La información a la que esta parte se refiere fue levantada en el periodo comprendido entre el año 2000 y el presente año. El tiempo utilizado para llevar a cabo esta labor fue aproximadamente de dos meses. Estructuración de extractos de circuitos. Como ya se ha mencionado, los extractos de nivelación son el documento digital donde se registra la información de desniveles entre los puntos que conforman una línea de nivelación. La Red de Nivelación Nacional, está diseñada de forma que las líneas creen circuitos, con lo cual es posible ajustarla de manera más precisa. Esta situación conlleva a que sea necesario unir en un solo archivo el que sería el extracto de nivelación de cada circuito; es decir, debe pasarse la información que se tiene de las líneas que conforman un circuito a un único archivo. Esto es necesario hacerlo, ya que el extracto de nivelación es el documento preciso para calcular y ajustar las alturas geométricas de los puntos que hacen parte del circuito..
(16) 8 Para cumplir con este objetivo se decidió escribir una macro en VBA que tomara toda la información que existiera en el extracto de una determinada línea, la guardara en una matriz y posteriormente la transcribiera al formato actualizado F30100-28-17V1. Cabe aclarar que la macro debía correrse para cada línea que hiciera parte del cicuito, y por tanto el script debía modificarse cada tanto en ciertos aspectos como, rango de donde se tomaban los datos y celda en la que comezaría a escribirse los nuevos datos. A continuación se muestra el script utilizado. Sub Dim Dim c = x = For. test() x As Variant c As Integer 1 Worksheets("linea3").Range("A6:U520") i = 1 To UBound(x) If x(i, 1) = "" Then GoTo paso Else For j = 1 To UBound(x, 2) If j = 1 Or j = 8 Or j = 9 Or j = 10 Or / j = 12 Or j = 21 Then Cells(1345 + c, j).Value = x(i, j) End If Next j End If c = c + 1 paso: Next i End Sub. La justificacion para utilizar una macro en esta labor viene dada por dos aspectos fundamentales. Lo primero es que no todos los extractos de las líneas estaban en el formato actualizado, por el contrario la mayoria estaba en formatos antiguos; esto junto con el imperativo de transcribir solo ciertos datos al nuevo formato, puesto que este ya estaba formulado en muchos campos, representa el primer aspecto para justificar su uso. El segundo aspecto fundamental para justificar el uso de la macro se refiere a la ingente.
(17) 9 cantidad de informacion que hay en cada extracto, pues la cantidad de puntos que tiene cada línea oscila en un rango de entre 100 y 500 de estos. Esta tarea guarda relacion con la creacion de la GDB debido a que una vez estuviera estructurado el extracto, pasaba a crearse el shape de los puntos geodésicos que conforman el circuito. Construcción de la GDB de la Red de Nivelación Nacional. Esta fue quizás la tarea con mayor valor en el transcurso de la pasantía, pues aquí se condensa de manera íntegra la importancia de las otras labores necesarias para la consecución del objetivo general y además, dispone un producto que busca optimizar los procesos de toma de decisiones a través de una gestión de la información eficiente. La estructura de la GDB fue diseñada por los líderes del proyecto de nivelación. Consta, en resumen, de un Feature Dataset para cada línea de nivelación y uno adicional donde se encuentran diferenciados por medio de Feature Classes de tipo punto, los circuitos de la Red. Los Dataset de cada línea contienen dos Feature Classes diferentes, el primero de tipo línea busca ilustrar el recorrido que se sigue en cada una, el segundo de tipo punto muestra los puntos geodésicos que la conforman. El desarrollo de esta parte se ejecutó dividiéndola en dos secciones, la primera fue la creación de las líneas y la segunda la creación de los puntos. Creación de los shapes de tipo línea. Debido a que la Red de Nivelación en Colombia ha sido establecida por el IGAC a lo largo de las carreteras nacionales, siguiendo estándares técnicos del Servicio Geodésico Inter Americano, esta toma la.
(18) 10 forma de la red vial del país. De acuerdo con esto, la dirección que siga una línea de nivelación será la de la carretera que se haya seleccionado para su creación. Para crear las líneas de nivelación se siguió la rutina usual de creación de shapes en ArcGIS: se crea el shape desde el Catálogo almacenándosele en la ruta preferente y se inicia la edición de la nueva capa creada. A partir de un shape que contiene toda la red vial del país, se copia y se pega en la capa que se está creando las vías que correspondan a la línea. Creación de los shapes de tipo punto. Este proceso resulto ser el más laborioso no solo porque la creación de los shapes en sí fuera un tanto compleja, sino también porque es este el producto de la GDB que en suma, más interesa a los usuarios de esta información. Esto implicaba tener que operar con mayor pulcritud y establecer formas de controlar la calidad del producto. Para la realización de un shape de puntos geodésicos se contaba con cuatro insumos base, siempre: El extracto de nivelación, el cual contiene, como ya se ha dicho, información de desniveles entre los puntos de la línea o circuito y, tres shapes donde estaban contenidos todos los puntos que el IGAC ha posicionado a lo largo de las carreteras del país. En esencia, lo que debía hacerse para construir un shape de estos era extraer de los tres shapes base, solo las entidades que hicieran parte de la línea o circuito (los puntos que estuvieran en el extracto) que se estaba construyendo. Para esto debía tenerse en cuenta una jerarquía a la hora de extraer las entidades, pues en los shapes base se contaba con un orden en términos de actualización y mayor precisión..
(19) 11 Así entonces, se buscaban y se extraían en el shape más preciso y actualizado los puntos necesarios; si algunos puntos no se encontraban en este debían buscarse y extraerse del siguiente más preciso y actualizado. Si nuevamente faltaban puntos se acudía por ultimo al tercer shape. En caso de que hubiera puntos que no se encontraran en los shapes se debía informar a los líderes del proyecto. Para crear un shape entonces lo que se hacía era exportar de cada shape base las entidades que sirvieran para cada caso, lo cual se hace seleccionando los elementos que interesan de la capa y ejecutando la función Exportar. Con lo descrito se obtienen como máximo tres shapes, para obtener el shape necesario debía entonces fusionárseles. La forma en cómo se asumió esta tarea fue creando un programa en Python que permitiera seleccionar casi que automáticamente las entidades de cada shape base. Básicamente, lo que hacía el programa era comparar los nombres de los puntos del extracto con los nombres de los puntos que hubiera en cada shape base y con esto, arrojar en un bloc de notas el Query que debía escribirse en cada shape base para seleccionar solo las entidades necesarias. Para llevar a cabo el proceso de construcción de cada shape, se copiaba y pegaba los nombres de los puntos del extracto en un bloc de notas que se guardaba en el Escritorio con un nombre específico. Acto seguido se ejecutaba el programa desde el IDE Entought Canopy. Del producto .txt resultante se copiaba cada Query y se pegaba en el respectivo shape base. El resto del proceso se realizaba como se ha señalado, uniendo en uno solo los tres shapes resultantes..
(20) 12 Las ventajas que ofrecía este método apuntan a mayor dinamismo en la ejecución de la labor, pues seleccionar puntualmente cada entidad necesaria hubiera sido una tarea muy dispendiosa. Además se estableció dentro del programa el parámetro de jerarquía de búsqueda y elección en lo shapes base, lo que resulto muy eficiente si se tiene en cuenta que cada shape base tiene más de 6000 puntos y las líneas y circuitos entre 100 y 1000 puntos. Un ejemplo del producto que arrojaba el programa puede verse en la Figura 3.. Figura 3. Ejemplo de producto obtenido tras la ejecución del script de Python. Debido a la extensión del programa creado se decidió incorporar el código en el apéndice de este informe, donde se describe además, de manera muy breve, la tarea que cumple cada función..
(21) 13 Capítulo 4 Resultados obtenidos En el presente capítulo se mostrarán los productos que se obtuvieron a partir de los procedimientos que se describieron en el capítulo anterior. Para esto se conservará el mismo orden en el que se expuso anteriormente pero con arreglo a una mayor síntesis, ya que varias de las labores descritas guardan estrecha relación entre sí, permitiendo dar explicaciones más breves lo que se obtuvo en estas. Recuperación de información Para revisar esta parte vale la pena asumir un carácter pragmático. Con esto se alude a que debe reconocerse la complejidad de la tarea como baja, con lo cual no se insinúa en ningún caso falta de importancia o demás. Se plantea así esta parte con la intención de manifestar que en aras de la eficiencia los resultados se expondrán acorde a su complejidad, es decir, de forma sucinta. Así pues, en lo que respecta a la recuperación de libros, debe decirse que se obtuvo la digitalización de mucha información, lo cual implicó la creación de muchos libros de Excel con varias hojas en su interior. Pero, por lo dicho anteriormente, solo se dirá que se digitalizaron en total las cotas de los puntos de 19 líneas del plan de nivelación 1951-1999. Para el caso de la digitalización de extractos fue más factible la elaboración de una tabla que mostrará resumidamente la información más relevante de cada una de las 10 líneas de las que se recuperó la información. Para ver esto refiérase a la Tabla 1..
(22) 14 Tabla 1 Detalle de información de los extractos recuperados Línea BL-1 BL-13 BL-14 BL-15 BL-16 BL-7 BL-8 BO-11 Circuito Bogotá NA-2. Ubicación Sincelejo - Tolú Boca del Violo Yati Santa Rosa Bocas de Perico Coveñas - Tolú Cartagena - Gambote Puente Boyacá Bogotá Pasto - Popayán. Número de puntos 28 26 122 37 65 17 78 25 33 233. Kilómetros 42,76 20,22 114,52 30,37 99,95 21,45 70,89 22,56 30,24 257,22. No debe confundirse lo que se ve en esta tabla con los productos entregados para esta parte, pues estos últimos son los archivos Excel que se describieron en el capítulo anterior. La tabla solo busca expresar simbólicamente las cantidades de lo hecho por el pasante. Gestión de información de nivelación Para la primera parte de esta fase se mostrarán los resultados de igual forma que con la última parte de la fase anterior. Vale la pena recordar una vez más, que los productos que se entregaron aquí fueron los archivos Excel que se muestran en el capítulo 3. La información más relevante de los circuitos cuyos extractos fueron estructurados puede verse en la Tabla 2..
(23) 15 Tabla 2 Detalle de información de los extractos estructurados Circuito. Número de puntos. kilómetros. La Ye - Planeta Rica. 126. 157,465. Bosconia - Riohacha. 624. 703,080. Caño Alegre - Hatillo. 420. 475,914. Honda - Floridablanca. 790. 938,721. Nota. Los datos de número de puntos se obtuvieron de cada extracto con ayuda de la función contara de Excel. Los kilómetros se obtuvieron desde ArcGIS calculando la longitud en la tabla de atributos de las líneas.. Para el caso de la estructuración de la GDB debe decirse que se participó parcialmente, pues en esta actividad concurrieron, como sería lógico, varios funcionarios del GIT, así como un colega pasante. Aun así, no está de más indicar que el grueso de la labor, la alimentación de la GDB, ocurrió gracias al papel desempeñado por el compañero en mención y quien escribe estas líneas. La estructura de la GDB puede apreciarse en la Figura 4.. Figura 4. Estructura de la GDB.
(24) 16 La participación específica que se tuvo en la alimentación de la GDB fue creando primero, 6 shapes de tipo línea, los cuales pueden verse en el mapa que muestra la Figura 5.. Figura 5. Shapes de tipo línea construidos.
(25) 17 Los segundos elementos que se crearon e incorporaron en la GDB fueron 6 shapes de tipo punto que muestran los puntos geodésicos que conforman una línea o circuito. Estos pueden apreciarse en la Figura 6.. Figura 6. Shapes de tipo punto construidos.
(26) 18 La información más relevante de todos los shapes que se crearon se encuentra registrada en la Tabla 3. Tabla 3 Detalle de información de todos los shapes construidos. Shape. Tipo. Línea 14 Línea 13 Línea 10 Línea 15 Línea 11 Línea 8 G-Línea 2 G-Línea 13 G-Línea 10 G-Honda-Floridablanca G-Caño Alegre-Hatillo G-Bosconia-Riohacha. Línea Línea Línea Línea Línea Línea Punto Punto Punto Punto Punto Punto. Número de Conformado Denominación en la Red Kilómetros puntos por líneas creados Línea de nivelación No aplica No aplica 128,332 Línea de nivelación No aplica No aplica 189,001 Línea de nivelación No aplica No aplica 497,862 Línea de nivelación No aplica No aplica 203,303 Línea de nivelación No aplica No aplica 90,929 Línea de nivelación No aplica No aplica 133,041 Geodésicos de línea 520 No aplica 594,95 Geodésicos de línea 164 No aplica 189,001 Geodésicos de línea 466 No aplica 497,862 Geodésicos de circuito 849 3, 9, 10 938,721 Geodésicos de circuito 423 4, 9, 12, 13 475,914 Geodésicos de circuito 680 6, 7, 8 703,080. Nota. Los datos de número de puntos y kilómetros se extrajeron de ArcGIS a partir de las tablas de atributos de los shapes de tipo punto y de tipo línea respectivamente..
(27) 19 Capítulo 5 Análisis de resultados El análisis de los resultados permite mostrar el impacto o alcance de la labor que se ha realizado exponiendo detalles de los productos y derivando de estos, conclusiones lógicas que hacen posible tener una mirada más profunda de la actividad. La recuperación de información no sugiere ni en su ejecución per se, ni en los productos entregados, ningún tipo de análisis que permita una descripción más allá de lo que se expone en el capítulo 3 y 4. Es por esto que se ha obviado su exposición en este capítulo. Extractos estructurados Para esta parte en particular se propone mostrar el impacto de la labor realizada en función del porcentaje de contribución a la misma. Se muestra para esto, en la Tabla 4, un resumen de las cantidades objetivo que se esperaban una vez culminada la estructuración de todos los extractos, así como la cantidad con la que se contribuyó al cumplimiento de la tarea. Tabla 4 Resumen de estructuración de extractos Número de extractos a estructurar Número de puntos a estructurar. Aprox. Número de kilómetros a estructurar. Aprox.. Cantidad total. Cantidad contribuida. 12. 4. 6051. 1960. 6117. 2275. Nota. La tabla se obtuvo a partir de información suministrada por los líderes del proyecto de nivelación..
(28) 20 En la Figura 7 se muestra más claramente el impacto o alcance de los resultados por medio de gráficas de torta que denotan el porcentaje de contribución a la labor desde las 3 perspectivas planteadas.. Número de puntos a estructurar. 32% Cantidad contribuida. Número de extractos a estructurar. Cantidad restante. 68%. 33%. Número de kilometros a estructurar. 37%. 67%. Cantidad contribuida Cantidad restante. 63%. Figura 7. Porcentaje de contribución a la estructuración de extractos. Cantidad contribuida Cantidad restante.
(29) 21 De acuerdo con las gráficas es válido aseverar que se contribuyó en esta actividad estructurando aproximadamente 1/3 de lo planteado. La construcción restante corrió por cuenta de otro compañero pasante y algunos funcionarios del GIT. Shapes de líneas construidos El impacto o alcance de la labor realizada en este respecto se mide, al igual que en la anterior fase, en función del porcentaje de contribución a la misma. La información resumida, necesaria para mostrar este indicador, se muestra en la Tabla 5. Tabla 5 Resumen de construcción de shapes de tipo línea Cantidad total. Cantidad contribuida. Número de líneas construidas. 16. 6. Kilómetros de líneas construidas. 5135,610. 1242,468. A partir de la tabla 5 se infieren las gráficas de torta de la Figura 8, las cuales muestran el porcentaje de contribución a la labor desde las dos perspectivas planteadas.. Número de líneas construidas. 37% 63%. Kilometros de líneas construidas. Cantidad contribuida Cantidad restante. 24%. 76%. Cantidad contribuida Cantidad restante. Figura 8. Porcentaje de contribución a la construcción de shapes de tipo línea.
(30) 22 Las gráficas muestran un porcentaje de participación en esta actividad que varía desde 1/4 a un poco más de 1/3 según el enfoque que se acoja. Shapes de puntos construidos Para analizar el impacto de esta parte tal como en las fases anteriores, debe establecerse una diferenciación entre las variables que hacen parte del análisis y las que no. Para este caso puntual solo se tendrá en cuenta el número de shapes de tipo punto que estaban establecidos construirse de acuerdo a los lineamientos de los líderes del proyecto. Esta cantidad es igual al número de extractos que debían estructurarse y su registro aparece en la tabla 4. Debido a cuestiones de tiempo, dos de estos extractos no hicieron parte de tales lineamientos, con lo cual se advierte que para este análisis, el total de shapes esperados a construir son 10 y no 12. Además, también es válido aclarar que los shapes de puntos geodésicos de la mayoría de líneas se derivan luego de construido el shapes para el circuito. De aquí que estén planteados únicamente la construcción de los puntos geodésicos de solo dos líneas; las líneas 2 y 20 que no hacen parte aun de ningún circuito. La información de resumen que permite visualizar posteriormente el porcentaje de contribución se muestra en la Tabla 6. Tabla 6 Resumen de construcción de shapes de tipo punto. Número de shapes geodésicos construidos Kilómetros de los shapes geodésicos construidos. Cantidad total. Cantidad contribuida. 10. 4. 4909,000. 2712,665.
(31) 23 A partir de la tabla 6 se construyen las gráficas de torta que se muestran en la Figura 9. Número de shapes geodésicos construidos. 40%. Cantidad contribuida Cantidad restante. 60%. Kilómetros de los shapes geodésicos construidos. Cantidad contribuida. 45% 55%. Cantidad restante. Figura 9. Porcentaje de contribución a la construcción de shapes de tipo punto. De las gráficas se infiere que aunque se construyeron menos de la mitad de los shapes planteados, se contribuyó significativamente en esta labor por cuenta del número de kilómetros. Es decir, los shapes que se construyeron integran más de la mitad del resultado esperado, si se asimila la tarea con un enfoque que mida su complejidad o importancia en función de la longitud a trabajar. Base de datos geográfica Para este caso se propone analizar los resultados, ya no desde una mirada que mida el porcentaje de contribución a la labor, sino desde una que se centre en detallar aspectos fundamentales de la base de datos. Se plantea así el análisis con la intención de allanar el camino hacia una GDB de condiciones más óptimas, a partir de cambios sustanciales en su estructura que se propondrían con base en los aspectos que aquí se mencionen..
(32) 24 Modelo conceptual. Del componente conceptual de la GDB no existe registro alguno, debido a que el diseño de esta no se efectuó ciñéndose a la teoría de bases de datos, sino más bien proponiendo el modelo físico de datos más obvio y simple. Aun así vale la pena definir en primera instancia el modelo entidad-relación que serviría para este caso puntual. Este se presenta en la Figura 10.. 1: N Línea. Tiene. Puntos. Figura 10. Modelo entidad-relación de la GDB. Se omite en este modelo la representación de los atributos de las entidades, debido a que para el caso de los puntos, estos son muchos y sería contraproducente a esta exposición ordenada la muestra de ellos. Para resarcir esta situación se dedica una sección igual a la del modelo conceptual, que muestra la documentación del esquema físico de la GDB y donde se exponen por tanto, los atributos de cada entidad. Esquema físico. El esquema físico de la GDB fue concebido sin ser antecedido, como ya se ha dicho, por un diseño conceptual y un diseño lógico. Aunque esto implique que se presenten en la GDB ciertos problemas que se exponen en la teoría de bases de datos, el producto, aun así, resulta ser una fuente de mayor dinamismo en la gestión de la información, por lo menos a nivel interno (en el GIT)..
(33) 25 La concepción del esquema físico se da atendiendo a criterios de simplicidad y asumiendo que el ejercicio es apenas una primera aproximación, a la consolidación de una GDB más robusta que permita una gestión más eficiente de la información de nivelación. Como se ha expuesto en capítulos anteriores la estructura de la GDB (el esquema físico) consta de Datasets para cada línea de la red y otro para los circuitos. Los Dataset de las líneas están integrados por dos entidades: la línea que corresponde y sus respectivos puntos. El Dataset de los circuitos solo está integrado por entidades de tipo punto. En la Tabla 7 se documenta la tabla de atributos de la entidad línea. Tabla 7 Documentación de los atributos de la entidad línea Nombre de campo OBJECTID Shape Length. Tipo de dato ID del objeto Geometría Double. La entidad línea solo busca ser una referencia visual que permita una mejor asimilación del trayecto que se sigue para cada línea de nivelación, es por esto que su tabla de atributos resulta ser tan sencilla. Aun así el atributo adicional a los dos atributos estándar, longitud de la línea, es fundamental para analizar la estructura de la red. En lo que respecta a la entidad puntos, como ya se ha mencionado, esta es la más importante dentro de la GDB gracias a la información que contiene, la cual es trascendental para muchos procesos del GIT y así mismo lo será para muchos usuarios externos. La información a la que se hace referencia puede verse en la Tabla 8 donde se documenta la lista de atributos de la entidad puntos..
(34) 26 Tabla 8 Documentación de los atributos de la entidad punto Nombre de campo OBJECTID Shape Nomenclatura Nivelado Estado punto Latitud Longitud Altura elipsoidal Tipo punto ID Comision Año toma info Línea Nombre línea Tramo Altura geométrica Orden Fecha de cálculo Tipo coor Dpto ccdgo Dpto cnmbr Cod dptomp Nomb mpio Ruta alm ID Cálculo Código memoria Lat metadato N Long Metadato E Long Metadato W Lat metadato S Observaciones. Tipo de dato ID del objeto Geometría String String String Double Double Double String String Long integer String String String Double String Date String String String String String String String String Double Double Double Double String. Tamaño 254 254 254 254 254 254 254 254 254 254 254 254 254 254 254 254 254 254. Puede verse que a causa de la omisión del diseño lógico se prescindió de la normalización de la GDB y esto irrevocablemente conllevó, a no definir dominios para.
(35) 27 cada campo y junto con esto a pasar por alto tamaños exagerados asignados a algunas cadenas de caracteres. De acuerdo con lo dicho en este análisis, puede concluirse que la forma en cómo se concibió el diseño de la GDB, fue teniendo en mente que esta fuera apenas el inicio de una labor más amplia y compleja, que requerirá de la colaboración de varios funcionarios competentes para su consecución, en lo que sería una GDB normalizada y dispuesta para optimizar los procesos de planificación y toma de decisiones en el GIT, a través de una gestión de la información eficiente..
(36) 28 Capítulo 6 Evaluación de resultados En este capítulo se expondrán los métodos que se utilizaron para la verificación de las tareas y consecuentemente para la determinación del grado de validez de las mismas. Así mismo se mostrarán los resultados obtenidos al aplicar estos métodos. Recuperación de información Para esta actividad no se siguió ningún método de verificación más que desarrollarla adhiriéndose a criterios de honestidad y ética profesional, así como a procedimientos de trabajo ordenados que redujeran al mínimo la posibilidad de incurrir en errores. La validez de los resultados vendrá por parte, finalmente, de los líderes del proyecto de nivelación, quienes tendrán que revisarlos y emitir un concepto que se refiera además de a la validez, al cumplimiento o no de los tiempos de ejecución. Gestión de información de nivelación Para validar la información de esta tarea se ejecutaron diferentes controles de calidad dependiendo de la labor en específico. En esta parte se expondrán por separado, para mayor claridad, las labores de creación de shapes de tipo línea y la creación de shapes de tipo punto. Esta última está conectada con la estructuración de extractos de nivelación. Creación de shapes de tipo línea. Para garantizar un producto válido en esta actividad, se estableció desde un principio, que el criterio que regiría esta validez sería simplemente que la línea no estuviera constituida en multipartes..
(37) 29 Ya que la construcción de este tipo de shapes se daba uniendo en una sola capa varias partes de diferentes vías, la posibilidad de que el shape resultante fuera un elemento multiparte era muy alta. Para obedecer a la pauta señalada, se implementó en el procedimiento el imperativo de unir con la función Merge las líneas que se fueran integrando al shape y, como último paso para garantizar definitivamente el cumplimiento del criterio, el imperativo de ejecutar la función Explode Multipart Feature y constatar que efectivamente el objeto creado no era de tipo multiparte. Siguiendo el procedimiento y atendiendo a los pasos imperativos descritos, se obtuvo la creación de 6 shapes de tipo línea completamente válidos de acuerdo con lo establecido. Estructuración de extractos y creación de shapes de tipo punto. Debido a que estas dos actividades guardan estrecha relación, pudo establecerse un procedimiento común con el que fue posible garantizar la calidad de los productos finales. Este proceso se describe de forma clara en el diagrama de flujo que se muestra en la Figura 11..
(38) 30 Asignación de extracto para estructurar. Extracto estructurado. Estructuración de extracto. Creación de shape de puntos geodésicos. Controlar calidad del shape. Ajuste y cálculo de alturas geométricas del circuito. ¿Shape de puntos depurado?. Sí. No Incorporar a GDB. Figura 11. Diagrama de procesos para la gestión de la información. El diagrama de flujo muestra la relación que se ha señalado entre la estructuración de extractos y la creación de shapes de tipo punto. Además especifica donde se cumple el proceso para controlar la calidad de los shapes generados. Para la estructuración de extractos se acudió a los mismos elementos expuestos en la fase de recuperación de información: honestidad y ética laboral, y procedimientos de.
(39) 31 trabajo ordenados que redujeran al mínimo la posibilidad de incurrir en errores, esto último complementado con el uso de programación algorítmica para la automatización de la tarea. De acuerdo con esto se obtuvo la estructuración de 4 extractos y su calidad se constató con el proceso de control de calidad del shape. Tal proceso era llevado a cabo de manera muy simple pero resultaba suficiente para garantizar la calidad del shape. Consistía en recorrer en el mismo orden del extracto, el shape creado y verificar que cada punto que estuviera registrado en ese documento lo estuviera también en la capa generada. Además de verificar lo que se ha descrito, el procedimiento permitía incorporar al shape generado, puntos que no se hubieran nivelado según el extracto y que estuvieran cerca la línea. Siguiendo este proceso de control de calidad se constató la completa coherencia del orden que se siguió para nivelar los puntos de los extractos que se estructuraron y recíprocamente, la incorporación de todos los puntos del extracto en el shape. Para esto último debe señalarse que se presentaron casos donde no todos los puntos del extracto se incluyeron en el shape, debido a razones forzosas y cuya solución estaba fuera del alcance, inclusive, de muchos funcionarios del GIT. Estas razones correspondían principalmente a falta de información de toda índole sobre tales puntos, tanto en GEOCARTO como en los otros medios donde se atesoran este tipo de datos. El proceso de control de calidad entonces, permitió también encontrar fallos en la organización de la información que ya se tiene almacenada en el IGAC (GEOCARTO), un ejemplo es lo recién descrito y otros más tienen que ver con duplicidad en la nomenclatura y malos cálculos de coordenadas..
(40) 32 Todos estos contratiempos fueron informados en su debido tiempo, tanto a los líderes del proyecto de nivelación como al líder del proyecto de GNSS. Omitiendo estos percances y considerando la calidad de los shapes y extractos, garantizada por medio del control de calidad expuesto, puede decirse que la labor realizada pone a disposición del GIT de geodesia unos productos listos para su uso a nivel interno y con miras a ser ofrecidos a usuarios externos..
(41) 33 Capítulo 7 Conclusiones y recomendaciones 1. Las labores que se encomendaron en el marco de la pasantía se cumplieron satisfactoriamente y acorde a parámetros de calidad establecidos por los líderes del proyecto de nivelación. Su consecución favorable se atribuye en cierta medida a la identificación y comprensión a cabalidad del objetivo general, que aunque amplio en su noción, resulta ser el más acertado y diciente de conformidad con las necesidades del proyecto. Dicho de otra forma, se comprendió desde el inicio de las labores que las necesidades más apremiantes del proyecto tenían que ver con organización de la información y que era en este aspecto en el que se colaboraría, a través de la ejecución expedita de las tareas delegadas. Por otro lado, también debe atribuirse la obtención de resultados satisfactorios a la buena comunicación establecida entre las partes, que en lo que respecta a los líderes se manifestó con la impartición de mandatos claros y precisos. 2. Este informe da cuenta de todas las labores que se realizaron en la pasantía y constata además, que en efecto, aunque se hayan desarrollado dos grandes tareas mutuamente excluyentes, ambas se circunscribieron dentro del concepto de organización de información. Esto demuestra la coherencia con la que fue concebida la pasantía desde su inicio. A pesar de esto, es claro que de las dos tareas a las que se alude, la que corresponde a gestión de la información de nivelación goza de mayor valor por cuenta de su impacto en términos inmediatos y porque obtuvo mayor dedicación tanto en tiempo como en recursos. Explícitamente, su mayor impacto en términos inmediatos se debe a que entrega, una vez cumplida la tarea, un producto que apunta a optimizar los procesos.
(42) 34 de planificación y toma de decisiones en el GIT, a través de una gestión de la información eficiente. Este producto hace referencia, por supuesto, a la GDB construida. 3. El ejercicio desarrollado en la pasantía, referente a la construcción de la GDB, es una primera aproximación que funcionará como estructura vertebral para obtener una GDB mejor diseñada y que pueda servir, cada vez de forma más efectiva, a los propósitos planteados de optimizar los procesos de planificación y toma de decisiones dentro del GIT. Se habla en términos de primera aproximación porque como se expuso en el contenido de este informe, en su construcción se ha omitido el paso fundamental de normalización, lo que conlleva a que esta contenga ‘errores’ en su constitución, que reducen su capacidad de servir como un insumo que fortalezca la eficiencia. Aun así, debe tenerse claro que la labor desarrollada no es menos meritoria que la necesaria para obtener una mejor GDB, pues su ejecución en sí no fue sencilla y además, lo que se ha obtenido de esta conserva gran valor por servir ya, a una mejor gestión de la información dentro del GIT. Como puede notarse, tanto en el contenido del informe como en las conclusiones expuestas se hace un especial énfasis en la actividad de construcción de la GDB. De acuerdo con esto, se recomendarán ciertas pautas para complementar el trabajo realizado refiriéndose únicamente a este aspecto. La primera propuesta que se recomienda es efectuar todo el proceso que se propone desde la teoría de bases de datos para el diseño de estas. Esto es, partir de un modelo conceptual (puede revisarse el que se propone en este informe), continuar con el diseño de un modelo lógico lo cual implica la normalización de las tablas obtenidas, y.
(43) 35 culminar con la obtención de un esquema físico sin redundancia de datos, con pocas dificultades para la actualización de los datos, y que proteja la integridad de los datos. La puesta en marcha de esta tarea hará posible, por ejemplo, que no se presenten dificultades en la actualización de los datos tan pronto sean resueltos los problemas que se reportaron en el capítulo final, así como la eliminación de datos redundantes que a simple vista, debido a la estructura de la GDB, se infiere que son muchos. Pero más importante aún, es el hecho de que acoger esta recomendación significará una gestión de la información mucho más eficiente. Finalmente se recomienda que en el caso de que se efectuara lo recomendado anteriormente, se replique inmediatamente el proceso de control de calidad expuesto en la evaluación de resultados. Esto con el fin constatar una vez más la calidad del producto, corroborando que en el proceso de mejora no haya habido perdida de datos..
(44) 36 Anexos Anexo A. Programa para extracción de entidades de tipo punto. El programa en su totalidad consta de 4 partes. La primera parte guarda en forma de listas todos los nombres que conforman los shape base y el extracto, los cuales están almacenados en bloc de notas independientes guardados en el escritorio. Tiene establecidos diferentes métodos que van desde la estandarización de las listas eliminando espacios, guiones, y algunas letras en específico, hasta el retorno de estas. def load(ruta): inFile = open(ruta) lst=[] for line in inFile: if line=='\n': pass else: line=line.strip('\n') lst.append(line) return lst def limpiar(lst): lstl=[] for e in lst: lstl.append(e.replace(' ','').replace('-','')) return lstl g1=load('C:\Users\jessica\Des ktop\geodeActu.txt') g2=load('C:\Users\jessica\Des ktop\geode06.txt') g3=load('C:\Users\jessica\Des ktop\geodeNivel.txt') g1l=limpiar(g1) g2l=limpiar(g2) g3l=limpiar(g3) class lista(object): def __init__(self,ruta): self.ruta = ruta. def getRuta (self): return self.ruta def load(self): inFile = open(self.getRuta()) lst=[] for line in inFile: if line=='\n': pass else: line=line.strip('\n') lst.append(line) return lst def loadl(self): lstl=[] for e in self.load(): if e[0]=='O': lstl.append(e.replace(e[0],'0 ').replace(' ','').replace('','').replace('NP','')) else: lstl.append(e.replace(' ','').replace('','').replace('NP','')) return lstl def tbm(self): tbms=[] for e in self.loadl(): if 'TBM' in e: tbms.append(e) return tbms.
(45) def exr(self): extr=[] for e in self.loadl(): if e in self.tbm(): pass else: extr.append(e) return extr. def generarlista(self): return [[self.loadl(),self.exr()],[g 1,g1l],[g2,g2l],[g3,g3l],self .tbm()]. La segunda parte se encarga de comparar las listas y generar las nuevas listas con los puntos que se van a extraer. Estas últimas son necesarias para después generar el Query. import numpy as np. return self.g03. class compara(object):. def getG03l(self): return self.g03Limpio. def __init__(self,lista): self.lista = lista self.extracto=self.lista[0][0 ] self.extractoLimpio=self.list a[0][1] self.gAct=self.lista[1][0] self.gActLimpio=self.lista[1] [1] self.g03=self.lista[2][0] self.g03Limpio=self.lista[2][ 1] self.gNiv=self.lista[3][0] self.gNivLimpio=self.lista[3] [1] self.tbm=self.lista[4] def getExt(self): return self.extracto def getExtl(self): return self.extractoLimpio def getGA(self): return self.gAct def getGAl(self): return self.gActLimpio def getG03(self):. def getGN(self): return self.gNiv def getGNl(self): return self.gNivLimpio def getTBM(self): return self.tbm def compara1(self): son=[] rmn=[] for e in self.getExtl(): if e in self.getGAl(): son.append(self.getGA()[self. getGAl().index(e)]) else: rmn.append(e) return [son,rmn] def compara2(self): esta=self.compara1()[1] son=[] rmn=[] for e in esta: if e in self.getG03l(): son.append(self.getG03()[self .getG03l().index(e)]) else:.
(46) rmn.append(e) return [son,rmn] def compara3(self): esta=self.compara2()[1] son=[] rmn=[] for e in esta: if e in self.getGNl(): son.append(self.getGN()[self. getGNl().index(e)]) else: rmn.append(e) return [son,rmn]. lstl.append(e.replace(' ','').replace('','').replace('NP','')) return lstl def getFlt(self): return list(np.setdiff1d(self.getExt l(), self.getTtlLimp())) def generarlista(self): return [self.getExt(),self.getTBM(), self.getExtl(),self.getTtl(),. def getTtl(self): return self.compara3()[0]+self.compa ra2()[0]+self.compara1()[0] def getTtlLimp(self): lstl=[] for e in self.getTtl():. self.getFlt(), self.compara1()[0],self.compa ra2()[0],self.compara3()[0]]. La tercera parte se encarga transcribir a un bloc de notas los Querys que se generan a partir de las listas y de dar un resumen con datos relevantes sobre la información obtenida. class resumen(object): def __init__(self,lista): self.lista = lista self.extracto=self.lista[0] self.tbm=self.lista[1] self.exr=self.lista[2] self.total=self.lista[3] self.faltan=self.lista[4] self.g1=self.lista[5] self.g2=self.lista[6] self.g3=self.lista[7] def getExt(self): return self.extracto def getTBM(self): return self.tbm. def getExtr(self): return self.exr def getTtl(self): return self.total def getFlt(self): return self.faltan def getG1(self): return self.g1 def getG2(self): return self.g2 def getG3(self): return self.g3.
(47) def q1(self): msj='' for e in self.getG1(): if e==self.getG1()[0]: msj= ' PUNTO ' + "= '"+str(e)+"'" else: msj=msj+' or '+ ' PUNTO ' + "= '"+str(e)+"'" return msj def q2(self): msj='' for e in self.getG2(): if e==self.getG2()[0]: msj= ' PUNTO ' + "= "+"'"+str(e)+"'" else: msj=msj+' or '+ 'PUNTO ' + "= "+"'"+str(e)+"'" return msj def q3(self): msj='' for e in self.getG3(): if e==self.getG3()[0]: msj= ' NOMENCLA ' + "= "+"'"+str(e)+"'" else: msj=msj+' or '+ 'NOMENCLA ' + "= "+"'"+str(e)+"'" return msj def rmn(self): arc=open('C:\Users\jessica\De sktop\datosObtnidos.txt', 'w') arc.write("\n"+str(len(self.g etExt()))+ " puntos en extracto original, "+str(len(self.getTBM()))+' son TBM. Quedan '+str(len(self.getExtr()))+'\. n'+str(len(self.getTtl()))+" elementos encontrados. Faltan "+str(len(self.getFlt()))+"." ) arc.write("\n"+str(len(self.g etG1()))+" en geodésicos_actualizados") arc.write("\n"+str(len(self.g etG2()))+" en geodésicos_06032017") arc.write("\n"+str(len(self.g etG3()))+" en geodésicos_nivelación") arc.write("\n\n\nQuery para extraer de Geodésicos Actualizados:\n\n"+self.q1()) arc.write("\n\n\nQuery para extraer de Geodésicos 06032017:\n\n"+self.q2()) arc.write("\n\n\nQuery para extraer de Geodésicos Nivelación:\n\n"+self.q3()) arc.close() print str(len(self.getExt()))+ " puntos en extracto original, "+str(len(self.getTBM()))+' son TBM. Quedan '+str(len(self.getExtr()))+'\ n'+str(len(self.getTtl()))+" elementos encontrados. Faltan "+str(len(self.getFlt()))+"." print "\n"+str(len(self.getG1()))+" en geodésicos_actualizados" print str(len(self.getG2()))+" en geodésicos_06032017" print str(len(self.getG3()))+" en geodésicos_nivelación.". Finalmente, la última parte, se encarga de llamar los programas para su ejecución..
(48) from listas import * from comparacion import * from resumen import * def ejecutar(ruta): ex=lista(ruta). h=ex.generarlista() comp=compara(h) j=comp.generarlista() ttl=resumen(j) ttl.rmn().
(49)
Figure
Outline
Documento similar
The 'On-boarding of users to Substance, Product, Organisation and Referentials (SPOR) data services' document must be considered the reference guidance, as this document includes the
In medicinal products containing more than one manufactured item (e.g., contraceptive having different strengths and fixed dose combination as part of the same medicinal
Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in
This section provides guidance with examples on encoding medicinal product packaging information, together with the relationship between Pack Size, Package Item (container)
Cedulario se inicia a mediados del siglo XVIL, por sus propias cédulas puede advertirse que no estaba totalmente conquistada la Nueva Gali- cia, ya que a fines del siglo xvn y en
The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,
De hecho, este sometimiento periódico al voto, esta decisión periódica de los electores sobre la gestión ha sido uno de los componentes teóricos más interesantes de la
Ciaurriz quien, durante su primer arlo de estancia en Loyola 40 , catalogó sus fondos siguiendo la división previa a la que nos hemos referido; y si esta labor fue de