Proyecto (1) (1)repository.udistrital.edu.co/bitstream/11349/6213/... · Proyecto (1) (1) ... x
Organización de la información correspondiente a la...
Transcript of Organización de la información correspondiente a la...
Organización de la información correspondiente a la Red de Nivelación
Nacional en el GIT de Geodesia del IGAC
Informe final de pasantía
Sergio Daniel López Pinzón
Diciembre de 2017
Universidad Distrital Francisco José de Caldas
Facultad de Medio Ambiente y Recursos Naturales
Ingeniería Topográfica
Bogotá D. C.
ii Agradecimientos
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.
iii Resumen
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
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.
v Tabla de Contenidos
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
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
vii Lista de tablas
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
viii Lista de figuras
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
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.
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.
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.
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
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.
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-28-
17V1. 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
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.
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 test()
Dim x As Variant
Dim c As Integer
c = 1
x = Worksheets("linea3").Range("A6:U520")
For 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
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
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.
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.
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.
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.
14
Tabla 1
Detalle de información de los extractos recuperados
Línea Ubicación Número de puntos Kilómetros
BL-1 Sincelejo - Tolú 28 42,76
BL-13 Boca del Violo 26 20,22
BL-14 Yati 122 114,52
BL-15 Santa Rosa 37 30,37
BL-16 Bocas de Perico 65 99,95
BL-7 Coveñas - Tolú 17 21,45
BL-8 Cartagena - Gambote 78 70,89
BO-11 Puente Boyacá 25 22,56
Circuito Bogotá Bogotá 33 30,24
NA-2 Pasto - Popayán 233 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.
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
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
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
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 Denominación en la Red
Número
de
puntos
creados
Conformado
por líneas Kilómetros
Línea 14 Línea Línea de nivelación No aplica No aplica 128,332
Línea 13 Línea Línea de nivelación No aplica No aplica 189,001
Línea 10 Línea Línea de nivelación No aplica No aplica 497,862
Línea 15 Línea Línea de nivelación No aplica No aplica 203,303
Línea 11 Línea Línea de nivelación No aplica No aplica 90,929
Línea 8 Línea Línea de nivelación No aplica No aplica 133,041
G-Línea 2 Punto Geodésicos de línea 520 No aplica 594,95
G-Línea 13 Punto Geodésicos de línea 164 No aplica 189,001
G-Línea 10 Punto Geodésicos de línea 466 No aplica 497,862
G-Honda-Floridablanca Punto Geodésicos de circuito 849 3, 9, 10 938,721
G-Caño Alegre-Hatillo Punto Geodésicos de circuito 423 4, 9, 12, 13 475,914
G-Bosconia-Riohacha Punto 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.
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
Cantidad total Cantidad contribuida
Número de extractos a
estructurar 12 4
Número de puntos a
estructurar. Aprox. 6051 1960
Número de kilómetros a
estructurar. Aprox. 6117 2275
Nota. La tabla se obtuvo a partir de información suministrada por los líderes del proyecto de nivelación.
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.
Figura 7. Porcentaje de contribución a la estructuración de extractos
32%
68%
Número de puntos a estructurar
Cantidad
contribuida
Cantidad
restante
37%
63%
Número de kilometros a estructurar
Cantidad
contribuida
Cantidad restante
33%
67%
Número de extractos a estructurar
Cantidad
contribuida
Cantidad
restante
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.
Figura 8. Porcentaje de contribución a la construcción de shapes de tipo línea
37%
63%
Número de líneas construidas
Cantidad
contribuida
Cantidad
restante
24%
76%
Kilometros de líneas construidas
Cantidad
contribuida
Cantidad
restante
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
Cantidad total Cantidad contribuida
Número de shapes geodésicos
construidos 10 4
Kilómetros de los shapes
geodésicos construidos 4909,000 2712,665
23
A partir de la tabla 6 se construyen las gráficas de torta que se muestran en la
Figura 9.
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.
55%
45%
Kilómetros de los shapes geodésicos
construidos
Cantidad
contribuida
Cantidad
restante
40%
60%
Número de shapes geodésicos
construidos
Cantidad
contribuida
Cantidad
restante
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.
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).
Línea Tiene Puntos
1: N
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 Tipo de dato
OBJECTID ID del objeto
Shape Geometría
Length 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.
26
Tabla 8
Documentación de los atributos de la entidad punto
Nombre de campo Tipo de dato Tamaño
OBJECTID ID del objeto -
Shape Geometría -
Nomenclatura String 254
Nivelado String 254
Estado punto String 254
Latitud Double -
Longitud Double -
Altura elipsoidal Double -
Tipo punto String 254
ID Comision String 254
Año toma info Long integer -
Línea String 254
Nombre línea String 254
Tramo String 254
Altura geométrica Double -
Orden String 254
Fecha de cálculo Date -
Tipo coor String 254
Dpto ccdgo String 254
Dpto cnmbr String 254
Cod dptomp String 254
Nomb mpio String 254
Ruta alm String 254
ID Cálculo String 254
Código memoria String 254
Lat metadato N Double -
Long Metadato E Double -
Long Metadato W Double -
Lat metadato S Double -
Observaciones String 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
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.
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.
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.
30
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
Asignación de
extracto para
estructurar
Estructuración
de extracto
Creación de shape
de puntos
geodésicos
Ajuste y cálculo de
alturas geométricas
del circuito
Extracto
estructurado
Controlar calidad
del shape
¿Shape de
puntos
depurado?
Incorporar
a GDB
Sí
No
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.
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.
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
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
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.
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
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
class compara(object):
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):
return self.g03
def getG03l(self):
return self.g03Limpio
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:
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]
def getTtl(self):
return
self.compara3()[0]+self.compa
ra2()[0]+self.compara1()[0]
def getTtlLimp(self):
lstl=[]
for e in self.getTtl():
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(),
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
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()
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()))+"."
"\n"+str(len(self.getG1()))+"
en geodésicos_actualizados"
str(len(self.getG2()))+" en
geodésicos_06032017"
str(len(self.getG3()))+" en
geodésicos_nivelación."
Finalmente, la última parte, se encarga de llamar los programas para su
ejecución.