APLICACIONES SIG -...
Transcript of APLICACIONES SIG -...
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)