aplicaciones sig -...

27
Dada la cantidad de datos levantados en campo por parte del área de topografía, se ve la necesidad de validar esta información, ya que en el proceso de levantamiento y digitalización del modelo de datos se evidencian incongruencias que repercuten con la información de campo dicha información es de suprema importancia ya que sobre ella se realizan actividades de planeación para brindar soluciones a un temas especifico. Con el fin de evitar desinformación por el proceso de digitalización se generara un validador a partir de lenguaje phyton, el cual tendrá pautas normativas que permitirán que el modelo de datos este lo mejor diligenciado posible. APLICACIONES SIG APLICACIONES SIG PARA LA VALIDACIÓN DE MODELO DE DATOS EDUARD ENRIQUE BAUTISTA BULLA CODIGO UNIVERSIDAD: 20112025082

Upload: phamanh

Post on 03-Nov-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

Dada la cantidad de datos levantados en

campo por parte del área de topografía, se

ve la necesidad de validar esta información,

ya que en el proceso de levantamiento y

digitalización del modelo de datos se

evidencian incongruencias que repercuten

con la información de campo dicha

información es de suprema importancia ya

que sobre ella se realizan actividades de

planeación para brindar soluciones a un

temas especifico. Con el fin de evitar

desinformación por el proceso de

digitalización se generara un validador a

partir de lenguaje phyton, el cual tendrá

pautas normativas que permitirán que el

modelo de datos este lo mejor diligenciado

posible.

APLICACIONES SIG

APLICACIONES SIG PARA LA

VALIDACIÓN DE MODELO DE

DATOS

EDUARD ENRIQUE BAUTISTA BULLA CODIGO UNIVERSIDAD: 20112025082

Tabla de contenido INTRODUCCIÓN ................................................................................................................................... 2

PLANTEAMIENTO DEL PROBLEMA ...................................................................................................... 2

OBJETIVOS ........................................................................................................................................... 3

GENERALES ...................................................................................................................................... 3

ESPECÍFICOS .................................................................................................................................... 3

JUSTIFICACIÓN .................................................................................................................................... 3

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

ALCANCES Y LIMITACIONES ................................................................................................................. 8

METODOLOGÍA.................................................................................................................................... 9

PASOS A SEGUIR ............................................................................................................................ 10

RECURSOS ......................................................................................................................................... 11

CRONOGRAMA .................................................................................................................................. 11

VALIDADOR ....................................................................................................................................... 13

IMPORTAR LIBRERIAS .................................................................................................................... 13

GENERAR PARAMETROS ............................................................................................................... 14

DEFINIR LAS FUNCIONES ............................................................................................................... 15

DEFINIR LOS CAMPOS PARA LA CONSULTA SQL ....................................................................... 16

GENERAR LA CONSULTA SQL ..................................................................................................... 18

ACTUALIZACION DE LOS CAMPOS ............................................................................................. 19

INFORMAR SOBRE LOS POSIBLES ERRORES .............................................................................. 20

LLAMAR ATRIBUTOS DE LOS LAYERS CREADOS ........................................................................ 20

CREACION D EL SCRIPT DESDE EL TOOLBOX ................................................................................. 21

CREACION DEL BOTON PARA IMBOCAR EL SCRIPT ....................................................................... 22

VALIDACION DEL MODELO DE DATOS .......................................................................................... 24

CONCLUSIONES ................................................................................................................................. 25

BIBLIOGRAFÍA .................................................................................................................................... 26

AGRADECIMIENTOS........................................................................................................................... 26

INTRODUCCIÓN

En el contexto cartográfico de catastro de redes, en la empresa de acueducto y

alcantarillado de Bogotá, en el área de Topografía se genera información digital

levantada en campo, la cual constantemente se debe actualizar, para luego ser

cargada a la base de datos, la base de datos es utilizada por funcionarios,

usuarios y empresas que la requieren para la planeación de diferentes proyectos,

este flujo de información tiene que ser revisada, con el fin de cumplir unos

parámetros de calidad relacionados con los modelos de datos establecidos en las

normas, dicha información es tan robusta que es dispendioso revisarla en su

totalidad, por ende el área DITG (Dirección de Información tecnológica y

geográfica) , se ve en la necesidad de crear una aplicación en el lenguaje de

programación phyton (siendo este una extensión del software arcgis) que nos

permita validar esta información, ingresando solo el modelo de datos, de cada shp

entregado al área.

La aplicación está en función de cada una de las normas, de tal forma que la

validación detecte los errores que no cumplan con la norma, ya que esto generaría

redundancia de datos, información errónea e incumplimiento de la norma. Se

revisaran planos de obra y diseños de acueducto y alcantarillado. Con el fin de

poder realizar esta aplicación se estimó un plazo de máximo de 4 meses con una

intensidad horaria mínimo de 32 horas semanales, tiempo suficiente para concluir

la etapa de pasantías por parte de la universidad.

PLANTEAMIENTO DEL PROBLEMA

La cantidad de Información Suministrada al área DITG de las diferentes Obras de

Acueducto, Obras de Alcantarillado, Diseño de Acueductos y Diseño de

Alcantarillado es revisada por esta área para luego ser subida a la base de Datos,

dicha base de Datos es utilizada no solo por los funcionarios sino también por los

usuarios del servicio, de tal forma que la base de datos tiene que cumplir con unos

estándares de calidad, los cuales son establecidos por unas normas.

La revisión de esta información es muy dispendiosa ya que la cantidad de redes

es muy densa teniendo en cuenta que cada línea de esta red o cada nodo de la

misma, tiene diferentes atributos. Ejemplo; Líneas que espacialmente representan

tuberías de diferentes Diámetros, Diferentes materiales, diferentes profundidades

etc. Es necesario validar esta información de tal forma que no haya incoherencias

en la Base de Datos. Como Ejemplo; Una tubería de Tipo Red Troncal es de

10m de Diámetro y resulta que en la información suministrada esta tubería es de

Polietileno cuando en la norma se establece que las tuberías de 5m en adelante

tienen que ser de concreto.

Por ende nos vemos en la obligación de crear una aplicación que permita corregir

de manera rápida este proceso de tal forma que al momento de cargar la

información a la base de Datos se vaya información incoherente porque puede

acarrear problemas de planeación de las diferentes áreas de la empresa.

OBJETIVOS

GENERALES

1 Crear de manera óptima una Aplicación para la validación de la información

suministrada.

ESPECÍFICOS

1 Estudio dispendioso de las Normas (NS -046, NS -028 y NS -054)

2 Por medio de una programación en phyton establecer las normas de la

aplicación.

3 Validar reglas topológicas para que la información represente lo mejor posible

las redes que hay en terreno.

4 Implementar dicha aplicación en las diferentes Normas que regulan los modelos

de Datos

JUSTIFICACIÓN

En el contexto de la cartografía de Catastro de Redes, en la empresa de

Acueducto y Alcantarillado de Bogotá, existe un flujo de información la cual

constantemente se debe actualizar, con el fin de cumplir con las normas

establecidas de calidad y para objeto de la planeación, representar

cartográficamente las redes de acueducto y alcantarillado. Se ve la necesidad de

Actualizar la información constantemente, debido a los mantenimientos y nuevas

obras que se desarrollan diariamente, esta información es subida a la nube en una

base de Datos Compacta que pueden consultar todos los usuarios y funcionarios ,

dicha base de datos cumple con un modelo de Datos previamente establecido.

La base de datos tiene cuatro flujos de información diferente, cuya función es

actualizar lo mejor posible dicha base de datos, los flujos de información son:

1 Recepción de Obras y Diseños

2 Mantenimientos Preventivos

3 Mantenimientos Correctivos

4 Novedades

Es importante aclarar que la EAB (Empresa de Acueducto Alcantarillado de

Bogotá) se divide en 5 zonas con el fin de cubrir todas las necesidades del servicio

en la ciudad, todas las zonas tienen un área de Trabajo en Común que se encarga

de toda la información cartográfica y de cada flujo de información de cada zona,

con el fin de ser compilada, revisada y cargada a la Base de Datos.

En nuestra área de estudio, trabajaremos sobre el flujo de información Recepción

de Obras y Diseños, Este flujo de información cumple con tres Normas Básicas las

cuales tiene que cumplir unas normas las cuales son:

1 NS -046 (Obras Acueducto y Alcantarillado)

2 NS -028 (Diseño Acueductos)

3 NS -054 (Diseño Alcantarillado)

Esta información es entregada al área DITG (Dirección de Información Tecnología

Cartográfica), dicha información es entregada en formato .shp o .dwg con el fin de

validarla para llevarla a un Modelo de Paso y luego Cargarla a la Base de Datos.

Esta Información es representada por medio de Nodos y Líneas los cuales tienen

diferentes Atributos Según el caso de la Norma, dicha información es bastante

robusta y para poder validarla y verificar que todo el modelo de Datos cumpla con

la Norma es necesario generar una Aplicación en ArcGis que permita validar esta

información, esto se hace a través de dominios y Subtipos Programados en

Phyton en donde la información es la de la Norma Misma para efectos de Calidad

en cada una de la normas.

MARCO TEÓRICO

TOPOLOGÍA

Se utiliza para identificar a un área de la matemática que estudia la continuidad y

otros conceptos originados a partir de ella. Se trata de una especialización

vinculada a las propiedades y características que poseen los

cuerpos geométricos y que se mantienen sin alteraciones gracias a cambios

continuos, con independencia de su tamaño o apariencia.

TOPOLOGÍA DE RED

Se define como el mapa físico o lógico de una red para intercambiar datos. En

otras palabras, es la forma en que está diseñada la red, sea en el plano físico o

lógico. El concepto de red puede definirse como "conjunto de nodos

interconectados". Un nodo es el punto en el que una curva se intercepta a sí

misma.

NODO

Punto Con una determinada información espacial, dicho punto puede tener

atributos que pueden dar una representación espacial en la realidad. Es

considerado como la representación más pequeña en la realidad.

LÍNEA

Una línea funciona como una sucesión continua de puntos trazados, como por

ejemplo un trazo o un guion. Las líneas suelen utilizarse en la composición

artística, se denomina en cambio a trazos rectos sueltos, que no forman una

figura o forma en particular.

ACOMETIDA DE AGUA POTABLE

Se le llama acometida al enlace de la instalación general interior del inmueble con la tubería de la de distribución. Es la parte de la instalación que, tomando el agua de las tuberías de servicio de los ayuntamientos o compañías de abastecimiento

público, la llevan al interior de los edificios. Limitando conceptos podemos decir va desde el punto de toma en la red de distribución asta la llave de paso general. Las acometidas vienen impuestas por las compañías suministradoras que siguen las normas establecidas por los reglamentos de construcción los cuales indican la disposición de la acometida, los accesorios y demás detalles técnicos. La tubería atravesará el muro de cerramiento del edificio por un orificio, de modo que el tubo quede suelto y permita la libre dilatación, y también deberá ser rejuntado de tal forma que a la vez el orificio quede impermeabilizado. Disposición general de una acometida para abastecer de agua a un edificio. La llave de la toma se encuentra colocada sobre la tubería de la red de distribución y se abre el paso a la acometida. Su instalación es conveniente, porque permite hacer tomas en la red y maniobras en las acometidas, sin que la tubería deje de estar en servicio. Por otro lado, la llave de registro estará situada sobre la acometida en la vía pública, junto al edificio. Se intercala en el ramal de acometida antes de llegar al terreno de la finca que se abastece, pues su misión más inmediata es la de cortar el paso de agua por la compañía suministradora y dejar sin servicio al usuario. La llave de registro, que puede ser de compuerta, va dispuesta en un hueco practicado en el terreno y acondicionado con la obra de albañilería, recibiendo el nombre de arqueta. La cual deberá quedar enlucida y cubierta con una tapa registro de un material de resistencia adecuada, acoplado a su correspondiente marco, que se fijará a la obra. De quedar en calzada el registro será de hierro; la cara superior del registro quedará al mismo nivel de la acera o la calzada. La tubería se montará empleando los enlaces a la rosca. SERVICIO PÚBLICO DOMICILIARIO DE ACUEDUCTO

Llamado también servicio público domiciliario de agua potable. Es la distribución

municipal de agua apta para el consumo humano, incluida su conexión y medición.

También se aplicará esta Ley a las actividades complementarias tales como

captación de agua y su procesamiento, tratamiento, almacenamiento, conducción

y transporte.

FUENTE DE ABASTECIMIENTO:

Es el sitio de donde se capta el agua que es por lo general una cuenca

hidrográfica o un acuífero. La selección de la misma depende de factores como

accesibilidad, localización, cantidad y calidad.

OBRAS DE CAPTACIÓN:

El tipo de estructura a utilizar depende del tipo de fuente utilizada. Si la fuente es

superficial la captación se hace mediante una estructura de “bocatoma” y si la

fuente es subterránea se hace mediante “pozos”.

OBRAS DE ADUCCIÓN:

Son las obras para el transporte del agua desde el sitio de captación hasta la

planta de tratamiento. Generalmente la conducción se realiza por tubería a presión

o por gravedad y/o por canales abiertos o cerrados.

TRATAMIENTO DEL AGUA:

Es el proceso por medio del cual se transforma la calidad del agua presente en la

fuente de abastecimiento a una calidad adecuada para su consumo humano de

acuerdo con la normatividad vigente.

ALMACENAMIENTO:

Es la capacidad que debe tener el sistema, de almacenar agua tratada para poder

suplir la demanda en las horas pico y proveer unas reservas para situaciones de

emergencia como es el caso de almacenamiento de agua contra incendio, o en

periodos de mantenimiento de redes

DISTRIBUCIÓN:

Es el proceso por medio del cual se conduce el agua desde los sitios de

almacenamiento hasta los predios de los usuarios del servicio. Los elementos

principales de la conducción son las redes matrices, las cuales tienen como

función conducir grandes volúmenes de agua hacia todas las zonas de la ciudad, y

redes secundarias, que distribuyen el agua en cada calle y sobre las cuales están

instaladas las acometidas.

SERVICIO PÚBLICO DOMICILIARIO DE ALCANTARILLADO:

Es la recolección municipal de residuos, principalmente líquidos, por medio de

tuberías y conductos. También se aplicará esta Ley a las actividades

complementarias de transporte, tratamiento y disposición final de tales residuos.

ALCANTARILLADO SANITARIO:

Es el sistema de recolección diseñado para llevar las aguas domésticas e

industriales.

ALCANTARILLADO PLUVIAL:

Es el sistema compuesto por todas las instalaciones e infraestructura destinada a

la evacuación, recolección, conducción de aguas lluvias, drenaje de la escorrentía

superficial, con el fin de controlar las crecientes y mitigar el riesgo por inundación

en época de invierno de acuerdo con las condiciones topográficas, hidrológicas y

socioeconómicas.

ALCANTARILLADO COMBINADO:

Es un sistema que conduce, evacua y permite el drenaje por condiciones técnicas

y condiciones topográficas simultáneamente de aguas residuales y aguas lluvia.

Ilustración 1 Interrelación de la ciudad con los servicios de Acueducto y Alcantarillado

ALCANCES Y LIMITACIONES

La aplicación a desarrollar puede ser muy útil en diversas áreas de la empresa

que maneje modelo de datos espaciales, con relación a las redes de acueducto y

alcantarillado, la aplicación como tal se limitaría a analizar redes de este tipo,

sobretodo en relación con el marco normativo, ya que es este quien define los

parámetros de la aplicación por ende estaría fuertemente limitada por la norma.

Aun así la idea de validar modelos de datos, es una idea que puede tener

múltiples alcances no solo con el catastro de redes, sino en el contexto catastral y

de gestión predial, con esta validación de datos podemos validar Zonas

Homogéneas Físicas ya sabido que estas tienen ciertas variables que son únicas

y no pueden variar, En otras redes de servicios públicos podríamos utilizarla de tal

manera que validara información con otro tipo de normas, Información Predial en

el contexto urbano como Rural a nivel municipal Ejemplo: un predio cuyo uso de

suelo es agrícola y en la base de datos tiene usos forestales y de protección, en

este caso la base no es coherente y serviría para corregir todos estos tipos de

errores.

METODOLOGÍA

Principalmente se estudiara las normas las cuales limitaran los modelos de datos

para que este pueda ser validado, Se estudiaran aplicaciones en phyton similares

que puedan ser útiles, de no ser así se profundizara en el estudio de la

herramienta y el lenguaje para poderlo programar, se abastecerá el programa con

diferentes normas que permitan su validación, se generaran diferentes tipos de

ensayos comenzando desde los modelos menos robustos hasta los más densos.

Por último se proporcionara a cada norma un modelo diferente para que este

pueda ser ejecutado desde su propia validación, se procederá a verificar que

efectivamente el modelo cumpla con cada una de las validaciones.

Final mente se explorara otros campos a los que se pueda ser útil la aplicación.

PASOS A SEGUIR

Recopilación de la Información: Información suministrada o investigada para

poder analizar en caso particular las normas que regulan los modelos de Datos.

Corrección Obras redes de Acueducto y Alcantarillado: Actividades que se

desarrollan en el día a día, y que son necesarias para validar la información.

Análisis de Información: Se estudiara la información con el fin de proponer

soluciones para la implementación de la aplicación.

Análisis de Norma Técnica: La Aplicación está regulada por la norma por ende

se debe determinara los parámetros que estén en función de modelo.

Revisión de Códigos .py: Se buscara información existente de códigos

anteriores que faciliten el desarrollo de la información.

Diseño del modelo: Se comenzara diseñando un modelo esquema que permita

dar orden al código a desarrollar.

Estructuración del modelo: Generación de Datos en cuanto a entrada y salida

de cada validación.

Modelo Físico: Desarrollo de un modelo físico que permita, esquematizar la

estructura del modelo.

Modelo conceptual: Si se requiere se diseñara un modelo de entidad relación

que permita cumplir con las Formas Normales.

Desarrollo de la Aplicación: Se implementara el código necesario para

desarrollar la aplicación.

Prueba del Sistema: Se ajustara el código a las normas establecidas, para que la

validación sea la correcta, se generaran ensayos para posibles soluciones del

sistema.

Implementación y Evaluación: Se implementara en todos la información

suministrada con el fin de dar con los errores establecidos.

Contestación Avisos SAP: Actividades a desarrollar durante el proceso laboral.

RECURSOS

1 Estación de computación (CPU, mouse, teclado, monitor etc )

2 Software (ArcGis, Phyton, Excel)

3 Normas de Recepción de Obras y Diseños (NS -046,NS -028 y NS -054)

4 Recurso Tiempo

CRONOGRAMA

VALIDADOR

IMPORTAR LIBRERIAS

Inicialmente se importan las librerías que necesitamos par el proceso de desarrollo del código:

“ArcPy es un paquete de sitio de Python que proporciona una manera útil y

productiva de realizar análisis de datos geográficos, conversión de datos,

administración de datos y automatización de mapas con Python.

Este paquete proporciona una rica experiencia Python nativa, que ofrece

finalización de código (escriba una palabra clave y un punto para obtener una lista

emergente de propiedades y métodos admitidos por esa palabra clave; seleccione

uno para insertarlo), así como documentación de referencia para cada función,

módulo y clase..

La ventaja adicional de utilizar ArcPy es que Python es un lenguaje de

programación de uso general. Es un lenguaje interpretado con asignación

dinámica de tipos, adecuado para el trabajo interactivo y la creación rápida de

prototipos en programas únicos conocidos como secuencias de comandos,

además de ofrecer potencia suficiente como permitir la escritura de aplicaciones

grandes. Las aplicaciones ArcGIS escritas con ArcPy se benefician del desarrollo

de módulos adicionales en numerosos nichos de Python por parte de

profesionales del SIG y programadores de muchas disciplinas diferentes.”1

Además se incorporan otras librerías de utilidad como la os,sys que son librerías

que en su momento nos ayudaran a determinar una debida ruta de algún archivo

como lo es en el caso de invocar los layes de características específicas.

1 https://pro.arcgis.com/es/pro-app/arcpy/get-started/what-is-arcpy-.htm

GENERAR PARAMETROS

Al momento de generar parámetros lo hacemos con una función de arcpy que la

denominamos arcpy.GetParametersAsText(0) phyton por defecto no permite

entrada de parámetros que su consecutivo inicial no sea 0 es decir si

comenzamos con el parámetro (1) al momento de compilar nos arrojara un error,

generaremos tantos parámetros como sean necesarios para llevar a cabo nuestra

validación, pero en general es solamente un parámetro por función es decir el

código puede validar varios parámetros de entrada pero a cada parámetro le

pertenece una función diferente, la cantidad de parámetros está sujeta a los

diferentes modelos de datos que puede tener cada parámetro.

Obtiene el parámetro especificado como una cadena de texto por su posición de

índice de la lista de parámetros, Cualquier valor independientemente del tipo de

datos del parámetro se devolverá como una cadena; Para utilizar el parámetro

como un objeto ArcPy o Python en su lugar.

Los parámetros de entrada también se pueden generar desde el workspace que

no e mas que un espacio de trabajo determinado, dicho espacio de trabajo se

define desde el código, la desventaja es que no es muy dinámico ya que una vez

el usuario ejecute el código se dirigirá al workspace que se estableció en el

código, no permitiendo al usuario escoger los parámetros que necesita validar es

por ello que se genera este tipo de función, por otro lado la invocación del

parámetro desde el workspace se puede realizar con la librería os que permite

enrutar cualquier archivo a un determinado espacio de trabajo.

Ilustración 2 Código utilizado para definir parámetros

DEFINIR LAS FUNCIONES

La definición de funciones es importante ya que nos permite indicar que hacer en

el código de forma ordenada y en secuencia de una serie de pasos.

“Una función es una funcionalidad definida que realiza una tarea específica y se

puede incorporar a un programa más amplio.

En ArcPy, todas las herramientas de geoprocesamiento se proporcionan como

funciones, pero no todas las funciones son herramientas de geoprocesamiento.

Además de herramientas, ArcPy proporciona diversas funciones para brindar

mayor soporte a los flujos de trabajo de geoprocesamiento que utilizan Python.

Las funciones se pueden utilizar para enumerar ciertos datasets, recuperar las

propiedades de un dataset, validar el nombre de una tabla antes de agregarlo a

una geodatabase o realizar muchas otras tareas de geoprocesamiento útiles.

Estas funciones solamente están disponibles desde ArcPy y no como

herramientas en las aplicaciones de ArcGIS, ya que se diseñaron para los flujos

de trabajo de Python.

La forma general de una función es similar a la de una herramienta: toma

argumentos, que pueden o no ser requeridos, y devuelve algo. El valor devuelto

por una función que no es una herramienta puede variar: desde cadenas de

caracteres a objetos de geoprocesamiento. Las funciones de herramientas

siempre devuelven un objeto Result y proporcionan soporte de mensajes de

geoprocesamiento.”2

2 https://pro.arcgis.com/es/pro-app/arcpy/geoprocessing_and_python/using-functions-in-python.htm

DEFINIR LOS CAMPOS PARA LA CONSULTA SQL

Para definir los Parámetros de entrada primero es necesario generar una copia del

archivo nativo, de tal forma que el archivo tal cual no vaya a ser alterado, ya que el

proceso del validador nos mostrará los atributos mal diligenciados con lo que

conllevará modificarlo. De tal forma se crea una copia y a esta copia se modifica lo

que se necesita.

Ilustración 3 Código para generar copia de un archivo

Luego Generamos un id y un número secuencial a todos los campos y atributos

que tengamos, esto lo realizamos con el fin de poder consultar un atributo dado,

previamente identificado con el id que estamos asignando. Esto lo generamos con

el siguiente código:

Ilustración 4 Código para generar un autoincremento

En esta parte del código podemos evidenciar una función cuyo objetivo es generar

un id y a cada atributo incrementarle un numero de tal forma que sea único,

simplemente se cumple con asignar debidamente los parámetros de la función.

Luego de Generar el ID se definen los campos, esto con el fin de poder llamarlos a

consultas una vez ya definidos, es definir los parámetros para luego utilizarlos en

diferentes métodos de consulta, en promedio se definen 80 parámetros por

función, para el caso del validador de acueducto, a continuación, se dará a

conocer el código para definir cada nombre de la columna.

En esta parte del código se intenta por medio de los comentarios tener orden de

los campos que estamos definiendo, hay que tener en cuenta que estos campos

son los nombres de los atributos de las columnas los cuales serán definidos para

luego ser utilizados en la consulta SQL.

Hay que tener en cuenta que para cada variable se establece una cantidad de

dominios, estos dominios están sujetos a la norma que establece la empresa, la

idea es establecer esto como los dominios que vamos a validar para que la

integridad de la base de datos este lo mejor posible para la integridad de los datos.

Ilustración 5 Definir Campos para la consulta SQL

GENERAR LA CONSULTA SQL

Lo que se intenta generar con las consultas SQL es un tipo de QUERY en donde

solamente me seleccione los parámetros que estamos dando por medio de las

consultas SQL es decir que podemos tener más de 500 datos pero solamente me

ilustrara los campos que nosotros estemos indicando, previamente a esto serán

los campos cuyos dominios no coincidan con la norma establecida por la empresa.

Claramente se define la función de cada uno de los parámetros, podemos

evidenciar que seleccionamos el parámetro 0 el cual es la coordenada Norte,

anteriormente el parámetro que definimos como el parámetro Norte Esta igualado

a cero es decir la consulta me está diciendo seleccióneme el parámetro 0 el cual

me seleccionara los campos que tengan el valor 0.

Es importante la selección ya que me seleccionara los campos mal diligenciados

en la columna Norte, también se pueden hacer subconsultas es decir

seleccióneme el parámetro pozo pero que no tenga cota rasante, esto con el fin de

seleccionar todos los pozos que no cumplan con este dominio, ya que todo pozo

debe tener una cota rasante.

En este caso podemos darnos cuenta que un tipo de datos necesita cumplir

ciertas condiciones para que pueda ser validado, es decir el parámetro 87

depende de otros parámetros, para que pueda ser validado en su totalidad, es

decir una válvula tiene que cumplir unos caracteres previos para poder ser

definido, y las subconsultas nos permiten dar con lo que se necesita.

Esto se complementa con una información que genera el validador tan pronto se

está ejecutando la cual nos informara en que parte del proceso se está

ejecutando, y que conlleva esto se hace a través de la sentencia anterior.

ACTUALIZACION DE LOS CAMPOS

La actualización de los datos consta en identificar el error y resaltarlo de alguna

manera posible, con el fin de poder identificarlo para su debida corrección o

diligenciamiento, esto se tiene que hacer con cada fila de cada columna, por lo

tanto, si el modelo de Datos es muy extenso, el proceso de compilación será más

demorado.

Una de las preguntas que surgen a lo largo del Validador es la manera de poder

identificar el error ya que cada columna tiene su propio tipo de dato, es decir la

mayoría puede ser numérico pero también hay de tipo texto, inclusive de tipo Date

lo que permite que la forma de resaltar el error sea más diferente para cada uno,

en su defecto se concluyó que para el tipo texto se dejara “ERROR” y para el tipo

numérico de dejar unas líneas consecutivas de “11111111”.

.

La idea es resaltar de alguna manera el error que se está seleccionando y por eso

se actualizan los campos donde se genera el error, claramente podemos

evidenciar que una de las cláusulas es: donde la calidad de dato no tenga estos

dominós por favor remplace lo que tenga por una serie consecutiva de “1111111”

permitiendo identificar donde está el error y realice el proceso columna por

columna.

INFORMAR SOBRE LOS POSIBLES ERRORES

El código de pyton en la parte del validador dará a conocer los errores más

recurrentes y nos enrutara a la línea que está mal, esto lo hace a traves del

código;

LLAMAR ATRIBUTOS DE LOS LAYERS CREADOS

La idea es que espacialmente se vea la diferencia de los layers que están bien

validados a los que no están bien validados por eso el código llama las

propiedades de unos layers de tal forma que al momento de validar la información

estos los diferentes elementos topológicos sean representados de diferente

manera.

De esta manera el script traerá las propiedades de los layers que se encuentran

en una determinada carpeta que por lo general es donde encontraremos el script

CREACION D EL SCRIPT DESDE EL TOOLBOX

Para poder ejecutar el Script debemos crear el Toolbox desde el ArcCataolg y

luego adicionarle el script, un toolblox puede tener varios Scripts con el fin de

poderlos ejecutar todos desde la misma caja de Herramientas.

Al momento de adicionar el script tenemos que darle la ruta de donde esta nuestro

código Python, esto se hace desde la pestaña Surce en las propiedades del Script.

Luego según la cantidad de Parámetros que

tengamos en nuestro código asi mismo

debemos enrutar los parámetros en las

propiedades del Script.

Hay que tener en cuenta muy bien los

parametros que son de entrada y los que son

de salida es decir los Input y Output y tambine

los valores que son requeridos, toda esta

informacion la podemos ajustar a los

parametros de las propiedades.

CREACION DEL BOTON PARA IMBOCAR EL SCRIPT

Para la creación del Botón Podemos ejecutaremos una extensión llamada

NottPadd la cual me permitirá generar un botón a partir de un Script, generando

una barra de Herramientas, que me permitirá generar varios botones a la vez.

Podemos observar que principalmente se diligenciara la información para poder,

crear la herramienta, Seleccionaremos una imagen la cual va servir de referencia

para identificarla en la herramienta del customice de Arcgis.

Luego se generan los diferentes

botones cada botón ejecutara un Script

Diferente con el fin de proporcionar

diferentes herramientas, podemos

crear más de cinco botones, el único

condicional es que todos estén dentro

del mismo toolbox, la manera de

poderlo enrutar es con un código en

Python que permitirá su ejecución.

El Código para la ejecución tiene dos parámetros los cuales van a hacer referencia

al lugar donde se encuentra el tollbox con extensión .tbx y el otro parámetro es el

nombre que se le dio al Script Cuando se valido la información en las propiedades

de cada Script.

Una vez realizado este paso ejecutamos un script que generara la actualización en

el ArcMap de tal forma que aparezca el botón esto se realiza de la siguiente

manera:

Se da doble click en el archivo señalado esta es la

manera de actualizar un cambio para que al

momento de abrir ArcMap el lo reconozca, luego

generamos este archivo desde el Customice de

Arcgis.

De esta manera podemos

evidenciar la relación de la

extensión directamente con el

software y esto lo que

permitirá es crear el botón y

que al momento de dar clik el

me llame el Script.

VALIDACION DEL MODELO DE DATOS

Finalmente podemos observar cómo se genera el validador a partir de los

parametros de entra, para el caso del aplicativo de Aprobacion de Redes de

Acueducto y Alcantarillado.

Todos los parámetros ya han sido Validados con las diferentes Obras que se

presentan a la empresa de Acueducto de Bogota. La diferencia no es muy Alta

ente Obra y Diseño ya que tienen Básicamente el mismo modelo de Datos.

Acontinuacion podemos Observar como se resaltan los espacios que están mal

diligenciados y se actualizan con la secuencia de líneas de “1111111”, es decir eñ

diámetro está mal diligenciado.

CONCLUSIONES

ArcGis ofrece muchas ayudas dinámicas que nos ayudan al proceso de

programación, con la opción de crear y proponer nuevas aplicaciones para los

diferentes problemas de la cotidianidad.

Para el caso de la Empresa de Acueducto y Alcantarillado la aplicación

garantizara la integridad de los dominios, y la buena confiabilidad para la base de

datos de la empresa.

Este proceso del validador puede tener múltiples Aplicaciones, entre esas la de

validar zonas homogéneas físicas o Geoeconómicas, En las bases de Datos cuyo

objetivo es garantizar el debido orden jurídico de los predios, en las demás redes

de Servicios Públicos, en los inventarios Forestales y Licencias Ambientales, esto

debido a que hoy en día es un requisito para toda entidad Publica la

Implementación de Servicios de Información Geográfica.

La utilización del NottPadd Permite Optimizar tiempos ya que nos permite ir de

una forma muy Dinámica al Script, al igual que las diferentes Aplicaciones que se

desarrollan dentro del código, es de mucho provecho cuando se generan procesos

repetitivos.

L a implementación de los mensajes de código mientras se ejecuta el Script es

muy Importante ya que permite al Usuario ver en qué parte del proceso se está

ejecutando el código.

BIBLIOGRAFÍA

http://www.institutodeestudiosurbanos.info/dmdocuments/cendocieu/coleccion_digi

tal/Alcantarillado/DTS_Acueducto_Alcantarillado-Acueducto-EAAB-2006.pdf

http://eab-

sigue.maps.arcgis.com/apps/webappviewer/index.html?id=6ad170bd1cdc450b823

bd22d0786431d-

http://www.dimesa.com.do/servicios_detalle.php?titulo=24.

http://desktop.arcgis.com/es/arcmap/10.3/analyze/arcpy/what-is-arcpy-.htm

https://mappinggis.com

https://geoinnova.org/blog-territorio/usando-python-para-arcgis-arcpy/

https://github.com/arcpy

AGRADECIMIENTOS

ING. Oscar Aguirre

(Quien Formulo un código anterior y acompaño en el proceso de entendimiento del

mismo)

ING. Dennis Vanegas

(Quien Estuvo Pendiente de todo el Proceso, de la pasantía y del buen desarrollo de la

misma)

ING. Berenice Rojas

(Quien Estuvo Pendiente de todo el Proceso, de la pasantía y del buen desarrollo de la

misma)