Beruflich Dokumente
Kultur Dokumente
PÚBLICA
“Informe de Residencia”
Tema:
Programación del Sistema de
Información Geográfica de la
delegación de SEMARNAT
Presenta:
Martín Antonio Huizar Villa
1. INTRODUCCIÓN .............................................................................................. 6
2. JUSTIFICACIÓN .............................................................................................. 7
3. OBJETIVOS ..................................................................................................... 8
3.1. Objetivo general ................................................................................................................ 8
3.2. Objetivos específicos ....................................................................................................... 8
4. CARACTERIZACIÓN DEL ÁREA DE ESTUDIO ............................................ 9
4.1. Antecedentes. ................................................................................................................... 9
4.2. Ordenamiento territorial ................................................................................................. 11
4.3. Razón social y domicilio fiscal ...................................................................................... 12
4.4. Ubicación Geográficas................................................................................................... 12
5. PROBLEMAS A RESOLVER CON EL PROYECTO ..................................... 13
5.1. Alcances del proyecto .................................................................................................... 13
5.2. Limitaciones del proyecto .............................................................................................. 13
6. MARCO TEÓRICO ......................................................................................... 14
6.1. Lenguajes de programación ......................................................................................... 14
6.1.1. Definición de lenguaje de programación............................................................. 14
6.1.2. Clasificación de los lenguajes de programación ............................................... 14
6.1.2.1. Lenguaje de aplicación científica ................................................................. 14
6.1.2.2. Lenguaje de procesamiento de datos ......................................................... 14
6.1.2.3. Lenguaje de programación de sistemas ..................................................... 15
6.1.2.4. Lenguajes para SIG ....................................................................................... 15
6.2. Sistemas de Información Geográfica(SIG) ................................................................. 15
6.2.1. Definición de SIG .................................................................................................... 15
6.2.2. Componentes de los SIG ...................................................................................... 16
6.2.3. Aplicaciones de SIG ............................................................................................... 16
6.2.4. Panorama actual del software para SIG ............................................................. 17
6.2.4.1. Panorama actual del software privado ........................................................ 17
6.2.4.2. Panorama actual del software libre ............................................................. 18
3
7. PROCEDIMIENTOS Y DESCRIPCIÓN DE LAS ACTIVIDADES
REALIZADAS. ...................................................................................................... 20
7.1. Descripción de las actividades realizadas .................................................................. 20
8. METODOLOGÍA ............................................................................................. 21
8.1. Materiales ........................................................................................................................ 21
8.2. Descripción de la metodología ..................................................................................... 21
8.3. Etapas del desarrollo ..................................................................................................... 21
8.3.1. Versión 1. Script para crear polígonos, puntos y líneas ................................... 21
8.3.1.1. Análisis ............................................................................................................. 21
8.3.1.2. Diseño .............................................................................................................. 22
8.3.1.3. Implementación ............................................................................................... 24
8.3.1.4. Pruebas ............................................................................................................ 24
8.3.2. Versión 2. Rediseño del script para crear polígonos, puntos y líneas ........... 24
8.3.2.1. Análisis ............................................................................................................. 24
8.3.2.2. Diseño. ............................................................................................................. 25
8.3.2.3. Implementación............................................................................................... 26
8.3.2.4. Pruebas. ........................................................................................................... 27
8.3.3. Versión 3 Traslapes ............................................................................................... 27
8.3.3.1. Análisis ............................................................................................................. 27
8.3.3.2. Diseño .............................................................................................................. 28
8.3.3.3. Implementación ............................................................................................... 28
8.3.3.4. Pruebas ............................................................................................................ 29
8.3.4. Versión 4 script terminado ................................................................................... 30
8.3.4.1. Análisis ............................................................................................................. 30
8.3.4.2. Diseño .............................................................................................................. 30
8.3.4.3. Implementación ............................................................................................... 31
8.3.4.4. Pruebas. ........................................................................................................... 33
9. RESULTADOS ............................................................................................... 34
10. CONCLUSIÓN ................................................................................................ 35
11. REFERENCIAS BIBLIOGRÁFICAS. ............................................................. 36
4
Índice de figuras
5
1. INTRODUCCIÓN
Con el objetivo de reducir el trabajo manual así como los errores que pueden surgir
al realizar los traslapes de polígonos cada uno de los proyectos que se asignan al
departamento de ordenamiento territorial de la Secretaria de Recursos Naturales y
Medio Ambiente (SEMARNAT) delegación Durango, se crea un script el cual está
programado en Python 2.7 para ArcGis® 10.2 utilizando la librería ArcPy. El script
que se realizó durante este proyecto es de gran apoyo para este departamento ya
que genera un informe completo de todos los traslapes que hay en cada uno de los
proyectos que son asignados.
6
2. JUSTIFICACIÓN
7
3. OBJETIVOS
Generar un script para SEMARNAT en ArcGis® que identifique traslapes para los
dictámenes de ubicación de proyectos de manejo forestal, impacto ambiental,
cambio de uso del suelo y vida silvestre.
8
4. CARACTERIZACIÓN DEL ÁREA DE ESTUDIO
4.1. Antecedentes.
9
En 1987, se facultó al Congreso de la Unión para legislar en términos de la
concurrencia a los tres órdenes de gobierno, en materia de protección al ambiente.
Con base en esa reforma y con base en las leyes anteriores, en 1988 fue publicada
la Ley General del Equilibrio Ecológico y la Protección al Ambiente (LEEGEPA),
misma que hasta la fecha, ha sido la base de la política ambiental del país.
En 1989, se creó la Comisión Nacional del Agua (CNA) como autoridad federal en
materia de administración del agua, protección de cuencas hidrológicas y vigilancia
en el cumplimiento de las normas sobre descargas y tratamientos del agua.
10
El 30 de noviembre del año 2000, se cambió la Ley de la Administración Pública
Federal dando origen a la Secretaria de Medio Ambiente y Recursos Naturales
(SEMARNAT). El cambio de nombre, va más allá de pasar el subsector pesca a la
Secretaría de Agricultura, Ganadería, Desarrollo Rural, Pesca y Alimentación
(SAGARPA) pues, de lo que se trata, es de hacer una gestión funcional que permita
impulsar una política nacional de protección ambiental que dé respuesta a la
creciente expectativa nacional para proteger los recursos naturales y que logre
incidir en las causas de la contaminación y de la pérdida de ecosistemas y de
biodiversidad, la SEMARNAT ha adoptado un nuevo diseño institucional y una
nueva estructura ya que actualmente la política ambiental es una política de estado,
por lo que el medio ambiente adquiere gran importancia al establecerse como un
tema transversal inserto en las agendas de trabajo de las tres comisiones de
gobierno: Desarrollo Social y Humano, Orden y Respeto y Crecimiento con Calidad.
11
aprovechamiento forestal, cambio de uso de suelo, impacto ambiental y fauna
silvestre.
12
5. PROBLEMAS A RESOLVER CON EL PROYECTO
13
6. MARCO TEÓRICO
14
6.1.2.3. Lenguaje de programación de sistemas
Se encargar de programación de spripts los cuales son adecuados para los SIG en
los que se encuentran: Ruby es un lenguaje de programación interpretado en una
sola pasada y su implementación oficial es distribuida bajo una licencia de software
libre (Runpaint, 2011). Python es un lenguaje de programación poderoso y fácil de
aprender. Cuenta con estructuras de datos eficientes y de alto nivel y un enfoque
simple pero efectivo a la programación orientada a objetos. La elegante sintaxis de
Python y su tipado dinámico, junto con su naturaleza interpretada, hacen de éste un
lenguaje ideal para scripting y desarrollo rápido de aplicaciones en diversas áreas y
sobre la mayoría de las plataformas (Rossum, 2009). Dentro de la programación de
SIG Python utiliza la Librería de ArcPy que 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 (ESRI, 2015).
15
6.2.2. Componentes de los SIG
En la actualidad existen cinco componentes de los SIG los cuales son: Los datos ya
que son necesarios para hacer que el resto de componentes de un SIG cobre
sentido y puedan ejercer su papel en el sistema. La información geográfica, la
verdadera razón de ser los SIG, reside en los datos, y es por ello que el
conocimiento exhaustivo de los datos y su naturaleza resulta obligado para una
buena comprensión los propios SIG. El análisis es una las funcionalidades básicas
de los SIG, y una de las razones fundamentales que llevaron al desarrollo de estos.
Un ordenador es una herramienta con enorme capacidad de cálculo, y esta puede
aplicarse a los datos espaciales para obtener resultados de muy diversa índole. En
mayor o menor medida, un SIG siempre incorpora una serie de formulaciones que
permiten la obtención de resultados y el análisis de los datos espaciales.
Visualización cualquier tipo de información puede ser representada de forma
gráfica, lo cual habitualmente facilita la interpretación de dicha información o parte
de esta. Gran parte de las características de la información (por ejemplo, la
presencia de patrones sistemáticos), son más fáciles de estudiar cuando se apoyan
sobre algún elemento visual, pues este añade un nuevo punto de vista. La
tecnología Incluimos en este elemento tanto el hardware sobre el que se ejecutan
las aplicaciones SIG, como dichas aplicaciones, es decir el software SIG. Ambos
forman un binomio tecnológico en el que encontramos diversas alternativas, y que
se enriquece diariamente con la rápida evolución del mercado tecnológico. Factor
Organizativo El SIG requiere una organización y una correcta coordinación entre
sus distintos elementos. El factor organizativo ha ido progresivamente ganando
importancia dentro del entorno SIG, a medida que la evolución de estos ha ido
produciendo un sistema más complejo y un mayor número de interrelaciones entre
los distintos componentes que lo forman (Oloya, 2011).
16
de futuro que ayuden en la planificación. De acuerdo con Masot (2010), observa
que la utilización de los Sistemas de Información Geográfica aporta la doble
vertiente de adquisición de destrezas y fomento de valores educativos, culturales,
ambientales.
17
sencilla. El número de extensiones desarrolladas por terceros es también muy
elevado, ya sean estas privativas o libres (ESRI, 2015). Idrisi es un SIG de escritorio
desarrollado por la empresa Clark Labs. El punto fuerte de Idrisi son sus
herramientas de análisis, muy abundantes, que van desde formulaciones sencillas
hasta complejos algoritmos. La última versión, denominada Taiga, incluye un
importante conjunto de algoritmos para modelización dinámica y otro para
segmentación de imágenes. En general, se incorporan además de las
funcionalidades estándar de análisis una serie de otras más avanzadas y en
ocasiones con carácter experimental (Clark University, 2015).
18
software libre, con licencia GNU/GPL, lo que permite su libre uso, distribución,
estudio y mejora. gvSIG Desktop está diseñado para ser fácilmente extensible,
permitiendo una mejora continua de la aplicación y el desarrollo de soluciones a
medida (OSGeo Project, 2009).
19
7. PROCEDIMIENTOS Y DESCRIPCIÓN DE LAS ACTIVIDADES
REALIZADAS.
20
8. METODOLOGÍA
8.1. Materiales
Para la creación del script se utilizó una computadora de la marca acer, modelo
AOD255E con un procesador Intel® con una velocidad de 1.66GHz, memoria RAM
de 2GB y el software que se utilizo fue sistema operativo Microsoft Windows® 7,
ArcGis® 10.2.2, Python 2.7 y NetBeans 8.0.
Las etapas del desarrollo del proyecto van de la mano con las actividades
planteadas en el cronograma del anteproyecto de residencia, dichas actividades se
estarán analizando con el desarrollo de los códigos creados para cada versión del
proyecto.
8.3.1.1. Análisis
21
8.3.1.2. Diseño
En la Figura 2, muestra el primer diseño del script, es la parte inicial del proyecto,
esta evolucionará a las necesidades del usuario, para un manejo más fácil.
22
Figura 2. Diseño del primer script.
23
8.3.1.3. Implementación
Para poder llegar al archivo UnaParte.py se crearon diferentes archivos los cuales
se utilizaban para ir probando fragmentos de código para un correcto
funcionamiento del primer script, que consistían en hacer shapefile de polígonos,
líneas o puntos pero individual antes de adaptarse a uno solo.
8.3.1.4. Pruebas
Durante las pruebas del primer script se analizó a fondo el código del archivo
principal así como los archivos anteriores, las principales pruebas que se hicieron
son con base a:
8.3.2.1. Análisis
Una vez analizado y dividido el código, se buscó la manera para que se por medio
del archivo con extensiones xls o dbf el cual contiene las coordenadas se asignaran
las siguientes características automáticamente como lo es nombre, tipo de
shapefile y sistema de coordenadas.
Cada una de las extensiones de los archivos ya sea xls o dbf tiene una estructura
de nombre diferente, con base a esto es como se asignan algunas características
automáticamente, en la Figura 4, se muestra como se obtuvieron dichas
características, en las cuales destacan ciertos caracteres especiales para poder
identificar cada característica, para el sistema de coordenadas se identifica por U84
24
que corresponde al sistema de UTM y G84 para el sistema de Geográficas, para el
tipo de datos vectoriales se caracterizan por tres caracteres los cuales son POL
representa polígono, LIN corresponde a líneas y PTO identifica a puntos.
8.3.2.2. Diseño.
25
Figura 5. Diseño de la Versión 2 del script.
8.3.2.3. Implementación.
Extensión, esta excepción consiste en la extensión del archivo, para que el usuario
no cometa el error de agregar un archivo con extensión diferente a xls o dbf.
26
8.3.2.4. Pruebas.
8.3.3.1. Análisis
27
Figura 6. Estructura de nombre para los traslapes.
8.3.3.2. Diseño
8.3.3.3. Implementación
28
De las intersecciones creadas contar los registros de las tablas atributivas
Borrar todos shapefile que no tengan registros
Generar informe en extensión txt de los shapefile empalmados
8.3.3.4. Pruebas
Para las pruebas que se realizaron se utilizó la ventana de Python dentro del
software de ArcGis®, con la ayuda de esta venta se ejecutaba el código que se iba
creando para ver el resultado y analizar los posibles errores del código y corregir de
una manera más eficiente y rápida.
29
8.3.4. Versión 4. Script terminado
8.3.4.1. Análisis
En esta versión se realizó una agrupación de archivos en uno solo, el cual contiene
todos los códigos creados durante el periodo de la residencia. Se analizaron las
últimas mejoras a todo el código esas mejoras consisten en asignar una ubicación
específica para guardar los shapefile creados de igual manera para agregarlos a un
grupo dentro del layer de ArcGis®.
8.3.4.2. Diseño
La Figura 8, muestra el diseño final del script, el cual solo pide el archivo que
contiene las coordenadas del proyecto ya sea extensión xls o dbf
30
8.3.4.3. Implementación
31
Figura 9. Estructura de las carpetas.
La Figura 10, ilustra los grupos que se utilizan para el funcionamiento correcto del
script, los cuales son polígonos, líneas, puntos y traslapes, en estos grupos se
añaden automáticamente los shapefile que se van generando con el script creado.
32
8.3.4.4. Pruebas.
33
9. RESULTADOS
Como resultado final se generaron tres script diferentes dentro una ArcToolbox los
cuales son: Script para crear Shapefile con la ayuda de este script se pueden crear
Shapefile de tipo polígono, líneas y puntos, con solo agregar la tabla de las
coordenadas, complementando que este script puede sacar el área de los polígonos
creados y las distancias de las líneas gracias a la ayuda de este script. Script para
generar traslapes este script se pueden generar traslapes de cualquier Shapefile,
teniendo en cuenta que analiza todas las capas que se encuentran dentro del layer,
de igual manera genere el informe correspondiente de todos los Shapefile
traslapados. Script completo este script es la agrupación de los scripts anteriores,
solo basta agregar la tabla que contiene las coordenadas y listo la herramienta lo
hace todo. La Figura 11, muestra la ArcToolbox con el contenido de los script
creados.
34
10. CONCLUSIÓN
Con el desarrollo del código fuente se generó un script capaz de realizar los
traslapes de una manera rápida, eficiente y sencilla, evitando el trabajo repetitivo y
reducir el tiempo de ejecución, con el apoyo de este script se pueden agilizar la
dictaminación de los proyectos que se asignan a SEMARNAT.
35
11. REFERENCIAS BIBLIOGRÁFICAS.
Aguilar, L. J. (2008). Fundamentos de programación, Cuarta edición. Madrid,
España: McGraw-Hilll.
Morales, J. R. (2011). ArcGis Basico 10. Tingo María - Peru: Univercidad Nacional
Agraria de la selva.
36
Oloya, V. (2011). Sistemas de Información Geográfica. Madrid, Espeña: OSGeo,
bubok.
37
Anexos
Generar traslapes
Con este Script se generan intersecciones de cada una de las capas que se
encentran dentro del mapa MXD.
Solo basta con agregar el shapefile que se desea traslapar y el script hará el resto.
El script genera un documento de texto formato .txt en el cual se guardan todas las
intersecciones que se realizaron.
Con este script se pueden crear shapefile de tipo polígono, línea y punto con solo
agregar un archivo xls o dbf.
38
1. al agregar un archivo con extensión xls se debe de considerar una estructura de
nombre de la siguiente manera (XY AQ00250912 U84POL1167.xls) y al agregar un
archivo dbf la siguiente estructura de nombre (AQ02690815_U84POL1700.dbf).
Script completo
Este script pide como entrada un archivo xls o dbf y su resultado final es los
traslapes que existen en cada uno de los shapefile creados.
Analiza todos los layer dentro de ArcGis® y crea la intersección con los Shapefile
empalmados.
Todos los Shapefile creados así sean líneas, puntos o polígonos se almacenaran dentro
de la siguiente ruta en disco C:\Ordenamiento SEMARNAT Dgo.
39