Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH UNIVERSIDAD NACIONAL AUTÓNOMA DE HONDURAS FACULTAD DE CIENCIAS ESPACIALES Maestría en Ordenamiento y Gestión del Territorio CLASIFICACIÓN ESPACIAL CLESP ver 1.05 Presentada por: Marco Antonio Guevara S. Previa opción al grado de: Máster en Ordenamiento y Gestión del Territorio Dr. Gustavo D. Buzai Tutor Tegucigalpa, M.D.C. Honduras, C.A. Febrero, 2012 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Autoridades de la UNIVERSIDAD NACIONAL AUTÓNOMA DE HONDURAS Julieta Castellanos Ruiz Rectora Rutilia Calderón Padilla Vicerrectora Académica Mayra Falck Reyes Vicerrectora de Relaciones Internacionales Ayax Irias Reyes Vicerrector de Orientación y Asuntos Estudiantiles Emma Virginia Rivera Mejía Secretaria General Olga Marina Joya Director del Sistema de Estudios de Postgrados María Cristina Pineda de Carias Decana de la Facultad de Ciencias Espaciales Tribunal Examinador: Maria Cristina Carias Profesora Facultad de Ciencias Espaciales Eduardo Moreno Segura Proifesor Facultad de Ciencias Espaciales Vilma Lorena Ochoa Profesora Facultad de Ciencias Espaciales Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH RESUMEN La siguiente tesis es poder desarrollar un software de Sistema de Ayuda a la Decisión Espacial lo cual denominaremos como “SADE” y lo nombraremos como Clasificación Espacial ver. 1.05, “CLESP 1.05”. Con base en los indicadores de necesidades socio habitacionales, se podrá realizar un análisis espacial respectivamente. El SADE realizara diferentes cálculos estadísticos de las dependencias espaciales. Estos estadísticos conforman la matriz de datos índices MDI, puntajes omegas, puntajes z y cálculos de peso asignados a cada puntaje. El software además permitirá mostrar en un visualizador de mapas, los indicadores y que podran ser utilizados en la ubicación de clusters de pobreza, así como detectar si existió algún proceso de difusión de la pobreza mediante la interface con arc explorer java educational de Esri. Los resultados que se visualizan nos darán muestras de evidencias significativas de dependencia espacial según el nivel que se usara por ejemplo a nivel departamental como municipal, indicando que la ubicación geográfica es importante como determinante de la pobreza en el país. Es decir, que el hecho de que cada municipio tenga los vecinos que tiene es determinante fundamental para explicar la pobreza. Palabras clave: Pobreza, mapas de pobreza, matriz de datos originales MDO, matriz de datos índices MDI, matriz de puntajes Omega, matriz de datos z MDZ Marco A. Guevara 2011 Página I Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH AGRADECIMIENTOS Los agradecimientos están dirigidos a todas las personas y entidades que hicieron posibles la realización exitosa de esta investigación, principalmente se agradece a mi madre e hija por el apoyo y motivación entregada. Al Doctor Buzai por permitirme trabajar en este proyecto. También se agradece a los docentes de la Universidad Nacional Autónoma de Honduras y la Universidad Nacional de Alcalá España por facilitar sus instalaciones, apoyo técnico y logístico respectivamente para llevar a fin este Postgrado. Al Ing. Francisco Mazias por su colaboración en la parte de programación ya que lo que se dijo que no se podía, se pudo. Marco A. Guevara 2011 Página II Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH DEDICATORIA Esta tesis es una parte de mi vida y comienzo de otras etapas por esto y más, la dedico a mi señor Jesucristo ya que sin él no llegamos al Padre. Lo que hoy es utópico mañana es real. Mundos Posibles. La utopía es lo que ha conducido a que seamos posibles. Jerome Bruner. Marco A. Guevara 2011 Página III Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH CONTENIDO INTRODUCCIÓN ............................................................................................. 1 1. LOCALIZACIÓN DEL AREA DE ESTUDIO.................................................. 3 2. ANTECEDENTES ........................................................................................ 4 2.1 Componentes de un sistema de información. ......................................... 6 2.2 Sistemas de Ayuda a la adopción de decisiones espaciales: SADE ...... 7 3. MARCO TEORICO..................................................................................... 12 3.1 Definición y Estructura de un Sistema de Ayuda a la Decisión Espacial ........................................................................................................................ 12 3.2 Componentes de un Sistema de Ayuda a la Decisión Espacial ........... 15 3.3 Los problemas más adecuados para el desarrollo de un Sistema de Auxilio de Decisión Espacial (SADE). ............................................................. 16 3.4 El SADE y la Exploración (Inteligencia) de los Datos........................... 19 3.5 Análisis Exploratorio de Datos. ............................................................ 20 3.6 El SADE y el Diseño de Alternativas de Solución. ............................... 20 3.7 El SADE y la Selección entre las Alternativas de Solución. ................. 24 4. PROBLEMA ............................................................................................... 35 4.1 Planteamiento del Problema ................................................................. 35 4.2 Objetivos ............................................................................................... 36 4.2.1 Objetivo General. ............................................................................ 36 Marco A. Guevara 2011 Página IV Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH 4.2.2 Objetivos Específicos...................................................................... 36 4.3 Limitaciones y Alcance.......................................................................... 37 4.3.1 Limitaciones. .................................................................................. 37 4.3.2 Alcances: ........................................................................................ 37 5. RECURSOS ............................................................................................... 38 5.1 Datos Primarios.................................................................................. 38 5.2 Datos Secundarios. ............................................................................ 38 5.3 Software. ............................................................................................ 38 6. MARCO METODOLOGICO ....................................................................... 39 6.1 Entrega de Etapas. ............................................................................... 39 6.2 Definición del Problema. ...................................................................... 40 6.2.1 Analisis de Requerimientos. ........................................................... 41 6.2.2 Analisis. .......................................................................................... 41 6.2.3 Desarrollo del Software. ..................................................................... 42 7. DESARROLLO DEL SADE ........................................................................ 43 7.1 Tablas DBF. .......................................................................................... 43 7.2 Sistema Operativo................................................................................. 44 7.3 Visualizador Grafico. ............................................................................. 44 7.4 Lenguaje. .............................................................................................. 45 8. CONSTRUCCIÓN DEL SADE (CLESP ver 1.05) ...................................... 46 8.1 Ver como se ejecuta el programa. ........................................................ 46 8.2 Aplicación con la herramienta SPYXX de Visual Studio 6 ................... 58 Marco A. Guevara 2011 Página V Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH 8.3. Emular las Acciones de Usuario con el API de Windows ..................... 61 8.4 Usar Vb6 para la Implementacion del Programa. ................................ 64 9. ANALISIS DE RESULTADOS .................................................................. 116 0.1 Calculo de la MDI. ............................................................................... 118 9.2 Selección de variables ........................................................................ 119 9.2 Calculo de valores de “z”. ................................................................... 119 9.4 Visualización de los cálculos. .............................................................. 120 10. DISCUSIÓN DE RESULTADOS ............................................................ 121 11. CONCLUSIONES Y RECOMENDACIONES ......................................... 122 12. BIBLIOGRAFIA ...................................................................................... 124 10. ANEXOS ................................................................................................ 133 ANEXO I ................................................................................................... 134 Estructura del Archivo XML que salva el proyecto .................................... 134 ANEXO II ...................................................................................................... 134 Estructura del Archivo AXL de AEJEE ...................................................... 134 ANEXO III ..................................................................................................... 136 Código Fuente del CLESP ........................................................................ 136 Marco A. Guevara 2011 Página VI Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH INDICE DE FIGURAS Figura. 1 Ciudad de Lujan, Buenos Aires Argentina......................................... 3 Figura. 2 Componentes de un Sistema de Información ................................... 5 Figura.3 Arquitectura de un SADE. ................................................................ 14 Figura.4 Diagrama de la metodología de la entrega por etapas (McConnell 1997) .................................................................................................................. 39 Figura.5 Etapas de la metodología a implementar. ....................................... 40 Figura.6 Propiedades de Arc Explorer Java Educational ............................... 47 Figura.7 Cambiar Compatibilidad de ArcExplorer AEJEE. ............................. 47 Figura 8 Pantalla principal de AEJEE............................................................. 48 Figura.9: Cargando Shape lujan-msu.shp en AEJEE..................................... 49 Figura.10: Realizando clasificaciones y otros en AEJEE. .............................. 50 Figura.11: La dbf tiene que tener el mismo nombre del shape. ..................... 51 Figura.12: Modificación de la tabla de atributo. .............................................. 51 Figura.13: Comprobación si la Tabla de Atributo es Editable. ........................ 52 Figura 14: Volcado del archivo *.axl .............................................................. 55 Figura.15: Visor del dbf mediante el dbf viewer 2000. .................................... 56 Figura.16: Edicion de la dbf lujan-msu.dbf con viewer 2000. ......................... 56 Figura.17: Información de los campos de lujan-msu.dbf por viewer 2000...... 57 Figura.18: Estadiscas de lujan-msu.dbf obtenidas por viewer 2000 para ser comparadas con el SADE. ................................................................................. 57 Figura.19: Rastreo de las clases que ejecuta AEJEE por SPYXX de visual studio 6. .............................................................................................................. 59 Figura 20: Activación del semáforo para depurar los logs de los mensajes de SPYXX visual studio 6 ........................................................................................ 60 Figura.21: Rastreo de los eventos del mouse para obtener las coordenadas relativas para ser usadas en el api de Windows................................................. 61 Marco A. Guevara 2011 Página VII Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Figura 22: Ventana que muestra el proyecto CLESP.vbp .............................. 65 Figura. 23: datos generales de autor y colaboradores. .................................. 65 Figura. 24: Definición de las variables índice. Aquí se pueden cambiar su formula y su definición, esto es en el SADE ....................................................... 66 Figura. 25: Ventana de inicio del SADE CLESP 1.XX ................................... 67 Figura. 26: Pantalla de CLESP haciendo interface con AEJEE y haciendo cálculos estadísticos........................................................................................... 73 Figura. 27: SADE calculando estadísticos básicos con variables seleccionadas en modo beneficio....................................................................... 77 Figura. 28: Selección de variables y visualización en el SADE ..................... 79 Figura. 29: Pantalla del SADE que muestra las variables seleccionadas, se observa que los pesos están calculados como sus estadísticos. ....................... 86 Figura. 30: Pantalla donde el SADE nos muestra los cálculos hechos. ........ 89 Figura. 31: Diccionario de variables que se manejan en la MDI (matriz de datos índice) ....................................................................................................... 97 Marco A. Guevara 2011 Página VIII Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH INTRODUCCIÓN En los estudios sobre economía regional, durante los últimos años se han venido desarrollando una serie de herramientas y métodos del análisis espacial, “SADE”, los cuales permiten evaluar las existencias de relaciones socioeconómicas entre los agentes y, a la vez, la relación de estos con su ubicación geográfica. Específicamente, el propósito ha sido establecer la existencia o no de dependencia espacial. Mediante la realización de un SADE que se nombra como Clasificación Espacial. En donde se analizaran varias variables socioeconómicas mediante un software que será creado, esto es sus diferentes rutinas, en los niveles de acceso de las tablas de formato dbf, generación de variables omega, variables z y visualización geográfica, como un diccionario de formulas. Para la realización del caso de aplicación se ha considerado el nivel de radio censal como unidad espacial que contiene información homogénea en su interior. La posición de este recorte tiene que ver con las diversas escalas espaciales en las que se divide oficialmente el territorio de la República de Argentina, y en los 43 radios censales que contienen la ciudad de Luján, Buenos Aires, se han considerado variables que permiten realizar el estudio de la situación socio-habitacional urbana. Varias organizaciones a nivel internacional1 han promovido la utilización de los mapas de pobreza, que son generados por los Sistemas de Ayuda en la Decisión Espacial, los cuales constituyen la representación espacial de un gran número de características económicas, sociales y ambientales de un país, a varios niveles de agregación: nacional, regional y municipal. La utilización de este 1 Específicamente 3 organismos: United Nations Enviroment Program (Sánches, 1999),(UNEP). Food and Agriculture Organization of the United Nations (FAO)y Consultative Group on Internationañ Agricultural Research (CGIAR Marco A. Guevara 2011 Página 1 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH tipo de herramienta (SADE), tiene la ventaja de permitir una visión clara y específica de los problemas de cada espacio geográfico, con el fin de permitir a los formuladores de política ejecutar en forma eficiente los proyectos de desarrollo. Además, permite mostrar en forma sencilla información a los no especialistas en el tema, quienes pueden examinar fácilmente información cartografiada para identificar clusters, patrones y tendencias. Perfiles de pobreza, discusiones metodológicas sobre su medición, determinantes, y propuestas para combatirla, entre otros. Actualmente el Banco Mundial es una de las organizaciones que ha procurado la difusión del conocimiento y la aplicación de los mapas de pobreza como una herramienta útil para evaluar los niveles de pobreza y bienestar de la población2. Esta institución ha venido trabajando en conjunto con diferentes países, no sólo a través de sus entidades gubernamentales sino privadas de carácter académico y social, con el fin de establecer lineamientos en pro de evaluar y enfocar las políticas sociales a la población geográficamente ubicada en los sitios más pobres en cada uno de los países. 2 El Banco Mundial a través del P overty Reduction Group que hace parte del Poverty Reduction and Economic Managment Network, cuenta con el sitio Poverty Net, en donde se publican regularmente los estudios realizados sobre el tema. El sitio puede consultarse a través de la siguiente dirección: http://www.worldba nk.org/wbp/inde x.htm Marco A. Guevara 2011 Página 2 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH 1. LOCALIZACIÓN DEL AREA DE ESTUDIO El Área de estudio se encuentra en la República de Argentina, provincia de Luján ( 34°34′02″S 59°06′24″O) en la ciudad de Buenos Aires (figura 1). Su distancia a la ciudad de Buenos Aires es de 7 km. Es la primera ciudad del interior, saliendo del Gran Buenos Aires. Su centro urbano se encuentra a orillas del río Luján. Figura. 1 Ciudad de Lujan, Buenos Aires Argentina Marco A. Guevara 2011 Página 3 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH 2. ANTECEDENTES Cuando se piensa sobre el porqué del uso de computadoras en los sistemas de información geográfica, estas son para registrar los eventos que se van sucediendo. Sin embargo existe un motivo aún más importante y no tan obvio, y es que la información puede usarse para respaldar la toma de decisiones. La conducción exitosa de la misma estará dramáticamente influenciada por la precisión de sus registros y la adopción de decisiones acertadas. Los enlaces de comunicación y las bases de datos permiten el acceso a recursos de información que están más allá de la inmediatez física, sobrepasando las limitaciones geográficas. Las computadoras permiten la utilización de masas de información las cuales, no eran concebibles hasta hace algunos años. Pero no sólo basta la disponibilidad de la cantidad de información, se trata de contar con información de calidad. Los sistemas de información basados en computadoras no sólo son capaces de suministrarnos información de calidad y oportuna, sino que también pueden respaldar la toma de decisiones. ¿Qué es un sistema de información? Los sistemas de información dentro de una organización, no son algo nuevo (Figura 2). Desde mucho antes de utilizar las computadoras para su automatización, las organizaciones reunían, almacenaban y actualizaban información en el transcurso normal de su actuación diaria. Tanto antes como ahora, los sistemas de información consistían en procedimientos y reglas establecidas para entregar información a los miembros de la organización. Cada una de estas personas, requiere información distinta en la realización de su trabajo, las reglas del sistema indican el tipo, momento, formato y cuál es la persona a quien se debería entregar una información específica. Pero Marco A. Guevara 2011 Página 4 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH un sistema manual de información puede llegar a ser ineficiente y frustrante, incluso en organizaciones pequeñas. Un sistema de información automatizado o basado en computadoras, es la integración de hardware, software, personas, procedimientos y datos. Figura. 2 Componentes de un Sistema de Información Todos estos elementos se conjugan, trabajando juntos, para proporcionar información básica. Esta información hace posible que las empresas lleven a cabo sus tareas con mayor calidad y facilidad. Los sistemas de información computarizados, sirven de apoyo al flujo de información interno de la organización. La finalidad de los sistemas de información organizacionales es, procesar entradas, mantener archivos de datos relacionados con la organización y producir información, reportes y otras salidas para los usuarios que las necesitan. Puesto que los sistemas de información dan soporte a los demás sistemas de la organización, los analistas de sistemas tienen que estudiar primero el sistema organizacional como un todo y así entonces, poder precisar cuáles son y cómo funcionan los sistemas de información de la organización. Marco A. Guevara 2011 Página 5 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH 2.1 Componentes de un sistema de información. Los sistemas de información dependen de otros subsistemas, componentes para poder llevar a cabo las actividades de entrada, proceso, salida, almacenamiento y control que convierten recursos de datos en productos de información. Estos subsistemas incluyen personas, hardware, software, procedimientos y datos. En lo que sigue se detalla sobre cada uno de ellos. Personas: Un sistema de cómputo involucra una variada gama de personas relacionadas con el mismo, puesto que su construcción, mantenimiento y uso, representan una labor con cierto grado de complejidad. Se pueden dividir en dos grandes grupos: Los usuarios finales y los especialistas o profesionales. Los usuarios finales son aquellas personas que operan o interaccionan directamente con el sistema a través de una estación de trabajo o incluso, quienes reciben reportes e información generada por el sistema. Entre las personas profesionales se encuentran: Los analistas de los sistemas de información, encargados de idear soluciones cuando se requiere un nuevo sistema, actualizarlo, modificarlo o reconstruirlo. Los programadores, que crean los programas de cómputo que forman parte de los sistemas de información; los administradores del sistema, encargados de mantener el sistema en buenas condiciones; los capacitadores, que instruyen y preparan a los usuarios para la utilización del sistema. Hardware: Consiste en los equipos, dispositivos y medios necesarios que constituyen la plataforma física mediante la cual, el sistema de información puede funcionar. Se incluyen aquí, por supuesto, los que permiten las comunicaciones y los enlaces de red. Estos recursos son, por ejemplo, computadoras, monitores, impresoras o componentes de almacenamiento de información externos, disco óptico, papel de impresión, cableado de red, y otros. Marco A. Guevara 2011 Página 6 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Software o programas: Son el componente lógico, es decir, los programas, las rutinas e instrucciones que conforman el sistema de información. Se les suele denominar aplicación de sistema de información. La aplicación que conforma un sistema de información completo contiene subconjuntos de programas que se encargan de apoyar las distintas actividades propias de la organización. Una vez expuesto lo anterior planteamos las posibilidades y deficiencias de los Sistema de Información Geográfica como instrumentos para la ayuda a la decisión (Sendra, 2001). 2.2 Sistemas de Ayuda a la adopción de decisiones espaciales: SADE Los Sistemas de Información Geográfica (SIG) constituyen una herramienta muy potente para la gestión y el análisis de la información espacial. Junto con otras tecnologías de la información geográfica han permitido avances muy notables en la gestión eficiente de muchos problemas geográficos (mantenimiento de grandes infraestructuras, creación de catastros multipropósito, gestión del transporte, etc.) o en la ordenación del territorio. No obstante, también se han encontrado deficiencias significativas en su uso en la toma de decisiones sobre problemas geográficos, una cuestión que es importante precisamente en las tareas de planificación del territorio. Las causas de estas deficiencias se pueden clasificar en dos tipos: a.- Problemas conceptuales o metodológicos generales, derivados de la organización básica de los Sistema de Información Geográfica. b.- Problemas técnicos relacionados con las funciones habitualmente disponibles en estas herramientas. Veamos cada uno de ellos. Marco A. Guevara 2011 Página 7 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Los problemas más generales y profundos están relacionados con el diseño inicial de los Sistema de Información Geográfica, que han sido construidos con un enfoque generalista y de reducida especialización; es decir, los SIG han sido pensados para tratar las más diversas cuestiones de interés geográfico, por lo que los procedimientos incluidos en ellos son únicamente los que se consideran que pueden tener un uso general. Al mismo tiempo, su preocupación fundamental es la consideración de los aspectos que podemos considerar más "externos", formales y geométricos, de los problemas geográficos. Por lo tanto, los SIG no están adecuadamente preparados para tratar de los procesos internos que generan las estructuras visibles y "geométricas" de las cuestiones geográficas, los SIG parten de una teoría social muy rudimentaria y esquemática (BOSQUE SENDRA, 1995). Sin embargo, cada vez más lo que se necesita son herramientas especializadas en el estudio y resolución de problemas y cuestiones muy definidas, y que sean capaces de simular o conocer las causas y los procesos internos. Para todo ello los SIG son una plataforma interesante pero, insuficiente. Los problemas técnicos tienen que ver con los tipos de informaciones necesarias para tratar de adoptar una decisión racional en un problema de planificación del territorio e, igualmente, con los procedimientos de análisis que es preciso aplicar en las etapas usualmente consideradas necesarias para adoptar racionalmente una decisión informada. La adopción de decisiones en problemas de índole geográfica y de planificación requiere, habitualmente, datos de dos tipos, por un lado aquellos que se suelen denominar "hard", duros (Malczewski, 1999), combinados con otros considerados "soft", blandos. Los primeros son aquellos que se miden en términos precisos, cuantitativos (obtenidos, por ejemplo, mediante censos demográficos, o mediante la teledetección, etc.), mientras que los segundos proceden de las opiMarco A. Guevara 2011 Página 8 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH niones, preferencias y juicios de las personas y están expresados en términos más vagos y cualitativos. Sin embargo, en la mayor parte de los procesos de decisión es preciso combinar ambos tipos para que se pueda simular de manera realista las conclusiones normalmente realizadas por las personas y los expertos que actúan y viven sobre el territorio. En la actualidad los SIG están muy bien preparados para gestionar datos "duros", expresados en términos precisos, pero no tanto, ni mucho menos, para la utilización simultanea de los otros tipos de datos (Bosque Sendra y otros, 1992 y 1995). Las deficiencias para ello son muy numerosas y diferentes: imposibilidad de considerar datos que no son precisos, podríamos decir "deterministas", sino, por el contrario, afectados de incertidumbres, es decir probabilísticos o "borrosos"; no inclusión en un Sistema de Información Geográfica de técnicas capaces de manipular este tipo de datos imprecisos o dependientes de opiniones y que, por lo tanto, exigen capacidades de combinar varios tipos de planteamientos para integrarlos en la decisión final. De la misma manera si se consideran los procesos de adopción de decisiones, habituales en la planificación del territorio, también se observan deficiencias en las actuales posibilidades analíticas de los SIG. El economista Herbert Simón estableció un esquema muy difundido para la adopción racional de una decisión (Simon H. A., 1957). Según este esquema son necesarios tres momentos en este proceso: 1. La "inteligencia", el entendimiento amplio del problema a resolver por la decisión a adoptar. 2. El "diseño" de las alternativas de solución al problema planteado en la fase anterior. Marco A. Guevara 2011 Página 9 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH 3. La "evaluación" de las alternativas definidas en la segunda fase, de modo que queden ordenadas por su mayor o menor validez como solución al problema. En cada una de estas fases se pueden encontrar deficiencias significativas en los SIG actuales para llevar adelante, con eficacia, las tareas normalmente incluidas en cada una de ellas. En la fase de "inteligencia", de entendimiento de la cuestión, es evidente que un Sistema de Información Geográfica presenta capacidades muy importantes para analizar una situación geográfica y facilitar su entendimiento: posibilidades de cartografía y presentación de resultados potentes y variadas, por ejemplo, en la literatura sobre estos temas se han venido planteando las importantes deficiencias de los SIG en cuanto a la posibilidad de exploración sistemática de un problema, al no existir, habitualmente, posibilidades de análisis estadístico o similar que permitan un estudio profundo y detallado del problema, tanto desde un punto de vista temático como espacial (Getis, 1993). De este modo, en muchas ocasiones, es necesario suplementar los SIG actuales con otros tipos de programas, por ejemplo paquetes estadísticos, que no están adaptados a los requerimientos de los datos geográficos. Más adelante estudiaremos las posibles soluciones a esta cuestión. La fase de "diseño" de las alternativas también presenta deficiencias en los SIG. Nuevamente es preciso mencionar que los SIG actuales incluyen bastantes medios de combinar los datos incluidos en su base de datos, de modo que se facilitan algunas posibilidades de generar alternativas. Las capacidades de superposición de mapas, cálculo de distancias y áreas de influencia, etc., evidentemente que son útiles en este sentido. Pero también es cierto que son métodos muy generales, más preparados para una manipulación inicial de los datos que para Marco A. Guevara 2011 Página 10 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH tratar de resolver problemas geográficos concretos y especializados, tales como los que se plantean normalmente en la toma de decisiones y en la planificación del territorio. Por lo tanto es necesaria la inclusión de modelos explicativos de diversos fenómenos en los SIG que faciliten el estudio de los procesos generadores de una estructura espacial y posibiliten avanzar en resolver esta grave carencia estructural. Finalmente, la fase de "evaluación" es la que más deficiencias presenta en un Sistema de Información Geográfica. Hasta hace poco tiempo, los SIG comerciales no incluían ninguna posibilidad realmente potente de evaluar y ordenar las soluciones existentes a una cuestión. En especial, teniendo en cuenta la consideración de datos imprecisos, que requieren métodos especiales de evaluación, los cuales no eran fácilmente considerados por los pocos procedimientos de evaluación incluidos. Por ejemplo, la suma lineal ponderada de variables, utilizable en este sentido, presenta algunas deficiencias en este sentido. En resumen, en las tres fases características del proceso de decisión los SIG son insuficientes para llevar adelante una adecuada y racional toma de decisiones. Por todas estas razones, se ha planteado la necesidad de crear los denominados "Sistemas de ayuda a la decisión espacial", cada uno de ellos especializado en el tratamiento de un problema concreto y específico y más preparado a estudiar y tratar los procesos generadores de la cuestión problemática a resolver. Marco A. Guevara 2011 Página 11 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH 3. MARCO TEORICO 3.1 Definición y Estructura de un Sistema de Ayuda a la Decisión Espacial Los Sistemas de ayuda a la decisión espacial (SADE 3) tienen un fundamento en los Sistemas de ayuda a la decisión desarrollados desde los años 70 para el tratamiento de cuestiones económicas y empresariales (MALCZEWSKI, 1997). La base de muchos de estos primeros desarrollos fue la obra del economista Herbert Simón, (Simon H. A., 1957), que al estudiar las organizaciones puso en cuestión algunas ideas básicas de la Economía y de su capacidad para explicar las decisiones empresariales, insistiendo en la necesidad de modelar de manera más realista el modo de proceder de los decisores, que no se basan en un único criterio, el monetario, y que, por el contrario consideran, simultáneamente, la incidencia de muchos factores, a veces poco precisos y expresados en términos diferentes y, a veces, no comparables. Existe una amplia literatura sobre el tema, un buen ejemplo sería el texto de Sprague y Watson (SPRAGUE, 1996). Igualmente se han desarrollado numerosas herramientas informáticas para ayudar a este tipo de aplicaciones: entre otros, los Sistemas de ayuda a la decisión basados en modelos de elección (programas: Expert Choice 7.2, y Decisión Pad). O los Sistemas de ayuda a la decisión basados en patrones de búsqueda: Programas KnowledgeSeeker e IXL. En el mundo de los SIG y de las aplicaciones geográficas también surgió muy pronto el interés por el desarrollo de este tipo de software, de hecho el NCGIA 4 de Estados Unidos dedicó hasta dos iniciativas de investigación. Un SADE es un 3 4 SADE: Sistema de Ayuda a la Dercisión Espacial. NCGIA :National Centre of Geographic Information and Analysis Marco A. Guevara 2011 Página 12 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH conjunto de elementos, tanto de carácter físico (ordenadores, periféricos, etc.), como lógico (programas, datos y procedimientos) que proporcionan el entorno adecuado para la adopción "racional" de decisiones sobre problemas espaciales mal definidos. Decisiones que tienen que ser adoptadas por personas (o grupos de personas) que no tienen que ser expertos en ordenadores ni en Informática sino buenos conocedores del problema tratado, y que, por lo tanto, usan el SADE como una herramienta de fácil manejo. Un SADE3 debe ser capaz de proporcionar herramientas para desarrollar las tres fases del esquema de adopción de decisiones de Simón (SIMON, H. A. (1960)): 1. La exploración del problema a tratar, con la finalidad de conocer adecuadamente sus complejidades y facilitar la formulación de hipótesis que lo puedan resolver. 2. El diseño de numerosas soluciones y alternativas planteadas desde muy diferentes ángulos y puntos de vista, los de los distintos grupos de intereses que, normalmente, están implicados en una cuestión espacial. 3. La evaluación precisa, cuantitativa o, al menos, que jerarquice las alternativas anteriormente diseñadas, teniendo en cuenta para ello un amplio conjunto de criterios de valoración y las diversas preferencias expresadas por los distintos grupos de intereses. Todas las anteriores actividades se deben de realizar en un entorno de fácil acceso, de manera que los "decisores", que no tienen que ser expertos en el uso de estos programas, puedan utilizarlos con comodidad. La estructura general de un SADE3 se puede esquematizar en el gráfico adjunto (ver Figura.3), que contiene un esquema de los componentes típicos de un sistema de apoyo a las decisiones, basado en Armstrong, Densham y Rushton, (ARMSTRONG, 1986) Marco A. Guevara 2011 Página 13 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Figura.3 Arquitectura de un SADE. En los últimos años la aplicación de modelos de localización y asignación, si bien son operacionalizados en base al entorno SIG, han sido enmarcados en los sistemas específicos que se han denominados Sistemas de Ayuda a la Decisión Espacial (SADE3). Estos han tenido un desarrollo inicial en las Ciencias Económicas y Empresariales en las décadas de 1950 y 1960, para difundirse ampliamente durante las dos décadas siguientes. Asimismo, el concepto de Sistema de Ayuda a la Decisión Espacial ha evolucionado de forma conjunta, siendo uno de los primeros, el Sistema Geodata Analisis and Display Systems (GADS) desarrollado por IBM, Definición5de un SADE3: 5 SIG y SADE. Joaquín Bosque Sendra Universidad de Alcalá Marco A. Guevara 2011 Página 14 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Un conjunto de elementos físicos (Ordenadores, Periféricos, etc.), lógicos (Programas, Datos) y procedimientos que facilitan un entorno adecuado para la adopción “racional” de decisiones sobre problemas espaciales. Sistemas Informáticos que ayudan a los decisores a confrontar problemas difíciles, mal estructurados, atreves de la interacción directa del decisor con los datos y con los modelos de análisis (R.H. Sprague, 1992). 3.2 Componentes de un Sistema de Ayuda a la Decisión Espacial De acuerdo con lo planteado en Bosque y otros (2000) los diversos componentes de un SADE serían los siguientes: Generador de gráficos: Un sistema que sea capaz de elaborar gráficos estadísticos y mapas que permitan la exploración de las características del problema, por lo tanto, capaz de mostrar simultáneamente dos "espacios": el geográfico y el matemático de las soluciones al problema. Generador de informes: Capacitado para, por un lado, explorar el problema (análisis estadístico exploratorio: E.D.A6 y ESDA7) y, por otra parte, elaborar informes y resultados impactantes y claros. SGDB: Sistema de gestión de bases de datos. En un SADE 3, al igual que en un Sistema de Información Geográfica, los datos son de dos tipos: espaciales y temáticos. SGMOD: Sistema de gestión de modelos matemáticos. Pensados para generar alternativas y soluciones diferentes al problema tratado por el Sistema de ayuda a la decisión. 6 7 E.D.A.: Exploratory data analysis E.S.D.A.: Análisis Exploratorio de Datos Espaciales Marco A. Guevara 2011 Página 15 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Evaluación de alternativas: Un conjunto de procedimientos matemáticos que permitan jerarquizar las diferentes soluciones estudiadas: técnicas de evaluación multicriterio (EMC). Interface al usuario: Un mecanismo para la comunicación sencilla e intuitiva entre el usuario (un decisor no experto en manejo de programas) y el sistema. Se puede basar en un sistema experto que guíe al usuario a realizar un análisis inicial y rudimentario y a generar un informe. En la actualidad el campo de los SADE3 ha crecido de manera muy importante, iniciando un proceso de diferenciación y especialización, surgiendo sistemas de diversos tipos: SADE3 "cooperativos", donde se facilita la colaboración de varios decisores en la adopción de una decisión (CLAYTON, 1999). SADE3 en grupo, para introducir las opiniones de grupos con intereses contrapuestos en la adopción de la decisión; SADE3 ambientales, centrados en el estudio de este tipo de cuestiones; y SADE3 basados en el conocimiento y en los sistemas expertos, que utilizan técnicas de Inteligencia artificial para ayudar a resolver las decisiones (MALCZEWSKI J. , 1999). 3.3 Los problemas más adecuados para el desarrollo de un Sistema de Auxilio de Decisión Espacial (SADE). Los problemas espaciales para los cuales están especialmente preparados los SADE8 son aquellos que no tienen soluciones claramente definidas, y que, por lo tanto, no son programables y resolubles directamente por un programa informático actuando autónomamente. Justamente en la planificación territorial existen muchas cuestiones de ese tipo. En realidad en pocos casos reales los problemas geográficos están claramente definidos, muy habitual es encontrar situaciones geográficas en las cuales las soluciones no están claramente organizadas, 8 SADE: Sistema de Auxilio de Decisión Espacial Marco A. Guevara 2011 Página 16 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH ya que no es evidente la estructura del problema y no existe una teoría científica que pueda proporcionar una solución. Más común todavía es el caso en que partes del problema tienen soluciones estructuradas, mientras que otras partes no tienen una organización y estructura definida, en estos casos el uso de un SADE3,5 puede resultar de gran utilidad, mediante la exploración y empezar a comprender mejor el problema y después, con el diseño, generar soluciones diferentes (J., diciembre de 2002), cada una con sus ventajas e inconvenientes. Finalmente, la evaluación proporciona una clasificación de las soluciones que permita adoptar una decisión más informada y efectiva. Generalmente, maximizar la utilidad alcanzada por el decisor. Es decir, maximizar la satisfacción derivada de una decisión espacial. Para la consecución de esta utilidad máxima se pueden adoptar varias estrategias de decisión: Estrategia Optimizadora: Búsqueda del máximo beneficio a costa de grandes riesgos. Característica del Homo economicus9 de la Economía neoclásica. Estrategia Satisfaciente: Buscar una menor utilidad pero minimizar los riesgos. Más propia de las actividades reales de los gestores, tal y como fue definida por H. Simon, el Homo satisfaciens. En la primera estrategia se deben conjuntar las siguientes condiciones: 1. Conocimiento perfecto de las alternativas y de sus beneficios y riesgos. 2. Racionalidad completa, calculo de todas las alternativas. La elección permitiría en hallar la solución óptima. Más habitual es que tales condiciones no se produzcan y sea necesario adoptar una estrategia menos optimizadora, más satisfaciente, que parte de: 1. Un conocimiento imperfecto de todas alternativas viables. 9 Hombre económico en latín; transcrito economicus u oeconomicus, es el concepto utilizado en la escuela neoclásica de economía para modelizar el comportamiento humano. Marco A. Guevara 2011 Página 17 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH 2. Una racionalidad limitada, que no permite calcular en detalle todas las posibilidades. La elección obtiene una solución "satisfactoria" no óptima. Por otra parte existen varios Tipos de ambiente en las decisiones - Ambiente de certidumbre: los estados del ambiente no son aleatorios. Se trata de problemas de optimización, es posible utilizar los métodos de la programación lineal. Un buen ejemplo de ello sería el denominado problema del transporte. - Ambiente de riesgo/incertidumbre: el ambiente tiene estados aleatorios. Estas son las situaciones más normales, para ellas las técnicas de evaluación multicriterio ofrecen una posibilidad de solución de gran interés. - Ambiente de competencia: existe intencionalidad, el contrario busca su máximo beneficio lo que significa que para nosotros es la máxima pérdida. En estas ocasiones es de utilidad la Teoría de juegos10. Los SADE basados en un Sistema de Información Geográfica han empezado a incluir, hasta el momento, técnicas de evaluación para los ambientes de riesgo y la búsqueda de soluciones satisfacientes, que se unen a los procedimientos ya integrados más adecuados para problemas maximizadores, en esta línea se trata de relacionar los SIG con paquetes de programación lineal, para ambientes deterministas y soluciones óptimas. En los apartados que siguen discutimos las modificaciones y ampliaciones que tiene que sufrir un SIG de carácter general para empezar a convertirse en un verdadero SADE. 10 La teoría de juegos es una herramienta que ayuda a analizar problemas de optimización interactiva. Marco A. Guevara 2011 Página 18 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH 3.4 El SADE y la Exploración (Inteligencia) de los Datos. El primer elemento que debe incluir un SADE es la capacidad de explorar, describir y analizar una situación de modo que el decisor pueda llegar a conocer en cierta profundidad todos los aspectos del problema. Ya hemos indicado que los SIG actuales incluyen capacidades importantes en este sentido, pero también que presentan deficiencias e insuficiencias notables. Cada vez más a menudo se exige la inclusión de nuevas posibilidades de exploración y análisis, en concreto de procedimientos de análisis estadístico, en especial de Estadística descriptiva. Existe una amplia tradición geográfica de uso de la Estadística como herramienta para el estudio de problemas geográficos, esta tradición ha aportado varias ideas importantes en cuanto al uso de esta técnica matemática con datos geográficos. La más significativa es la existencia de alguna dificultad fundamental para que las técnicas estadísticas convencionales manejen correctamente datos geográficos, en función, precisamente, de las peculiaridades de este tipo de datos: las observaciones geográficas no son independientes (están autocorrelacionadas espacialmente), lo que invalida o, al menos, dificulta el empleo de la Estadística inferencial. Del mismo modo, y como se produce en otras muchas ciencias sociales, la Estadística descriptiva habitual (media aritmética, desviación típica y similares), basada en la suposición de la existencia de la curva de Gauss en los datos de partida, falla muy a menudo en sus posibilidades de descripción correcta de los datos geográficos. Por ello, lo usual es insistir en la necesidad de incluir en los SIG, y ahora en los SADE, métodos de descripción más propicios a este tipo de datos. Marco A. Guevara 2011 Página 19 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH 3.5 Análisis Exploratorio de Datos. Los principios básicos de este enfoque del análisis de datos son dos: I. El escepticismo ante las medidas estadísticas que resumen las características de los datos. Estas medidas simultáneamente muestran y ocultan aspectos de los datos analizados. II. Una actitud abierta y crítica ante los primeros resultados de cualquier análisis, ya que siempre cabe la posibilidad de encontrar nuevas "estructuras" subyacentes en los datos estudiados. 3.6 El SADE y el Diseño de Alternativas de Solución. La fase de generación de alternativas de solución a la cuestión problemática analizada por el SADE puede utilizar de manera importante las opciones analíticas disponibles en un Sistema de Información Geográfica de los actualmente disponibles. Sin embargo, el tratamiento de cuestiones cada vez más concretas y específicas exige disponer de modelos y procedimientos de análisis más elaborados y específicos que los antes citados: superposición de mapas, determinación de áreas de influencia, cálculo de distancias y mapas de proximidad, etc. La solución usual a esta carencia es relacionar los SIG con modelos matemáticos concretos que estudian las cuestiones a resolver. Un buen ejemplo, en esta línea, es la cada vez más intensa relación de los SIG con el amplio mundo de los modelos matemáticos aplicados al estudio de cuestiones muy diferentes, tanto ambientales y del medio físico, como sociales y económicas o de la planificación urbana. Veamos con algo de detalle esta relación. Estos dos conceptos (Sistema de Información Geográfica y "Modelos matemáticos para analizar problemas ambientales o sociales") han tenido su propia historia, claramente diferenciada hasta los últimos años, pero recientemente se está iniciando una simbiosis interesante, Marco A. Guevara 2011 Página 20 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH que, en nuestra opinión, puede resultar de gran importancia para resolver las deficiencias de la fase de diseño de alternativas de un SADE. Definición de modelo matemático: Una representación simplificada de una cuestión de interés ya sea ambiental o de tipo social, en la que se hace uso de métodos matemáticos y de su representación mediante un programa informático. Los modelos matemáticos pueden ser de muchos tipos (MITASOVA, 1998). a) Modelos empíricos, donde se utiliza la estadística para estudiar datos observados y establecer ecuaciones que son aplicables únicamente a situaciones donde se den las mismas condiciones de la observación. Por ejemplo, la ecuación universal de pérdida de suelo. b) Modelos basados en procesos, ahora se trata de entender los mecanismos, de cualquier tipo (biológico, físico, químico, etc.), que generan una situación y elaborar una descripción matemática de ese proceso. Este segundo tipo resulta de más interés y utilidad en la planificación territorial. Los modelos basados en procesos también se pueden diferenciar en varios subtipos (Mitasova y Lubos, 1998): a) Modelos deterministas, los procesos son explicados en términos de ecuaciones diferenciales, de modo que un valor de entrada en la ecuación solo genera un único valor de salida (modelos lineales) o varios valores de salida en modelos no-lineales. b) Modelos estocásticos, ahora se incluyen componentes aleatorios en las ecuaciones del modelo formulado. Un valor de entrada produce diferentes salidas para cada ejecución del modelo, por el componente aleatorio que se ha incluido. De este modo se puede obtener la distribución de probabilidad de los resultados. Un ejemplo de ello son los modelos de la Geoestadística y su simulación condicional de procesos espaciales, (SAMPER y CARRERA, 1990) Marco A. Guevara 2011 Página 21 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH c) Modelos basados en reglas, como por ejemplo, para los temas espaciales, los modelos llamados de autómatas celulares, que empiezan a ser muy empleados en la simulación de procesos como difusión de innovaciones, o de fuegos forestales, etc. d) Modelos de simulación mediante multiagentes autónomos que interactúan unos con otros, representando a los diversos actores de un proceso geográfico, y que se construyen utilizando desarrollos recientes de la Inteligencia artificial (BATTY & JIANG, 1999). El tratamiento de problemas diferentes está conduciendo a la necesidad de interrelacionar los SIG con modelos de todos los tipos antes mencionados, para crear Sistemas de ayuda a la decisión adecuados para resolver cuestiones muy diferentes y específicas, en Mitasova y Lubos (1998) se pueden encontrar ejemplos de muchos estos tipos de modelos y sus conexiones con un Sistema de Información Geográfica. Otra cuestión compleja es el mecanismo concreta de relacionar SIG con un modelo matemático. En los trabajos de Fedra (1993 y 1996) y de Mitasova y Lubos (1998) se analizan con mucho detalle las diferentes formas de interrelación entre estos dos ámbitos: Sistema de Información Geográfica y modelos ambientales. Varios procedimientos de relación se han empezado a utilizar en la práctica: (Fedra, 1993) La más simple es utilizar los mecanismos disponibles en un Sistema de Información Geográfica (en concreto las funciones de búsqueda selectiva y de modelado cartográfico: superposición de mapas, trazado de corredores, etc.) para construir, en el interior del SIG, modelos matemáticos que traten y manejen cuestiones interesantes. Es evidente que existen grandes diferencias entre las capacidades usuales de un SIG (base de datos espacial muy detallada pero pobre tratamiento del aspecto temporal de la información) y las neMarco A. Guevara 2011 Página 22 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH cesidades de muchos modelos matemáticos, en especial los de tipo ambiental (en los cuales un elemento primordial es la importancia de la variable "tiempo"), aun así un número significativo de temas ambientales están siendo tratados de esta manera (realizando modelos explicativos o predictivos con las funciones propias de un SIG), entre ellos se pueden mencionar: la determinación de la erosión del suelo (ARIZA, 1993) y (PERLES ROSELLÓ, 1997), la ecología del paisaje y de las comunidades (JOHNSTON, 1993) o la calidad visual del paisaje (BOSQUE SENDRA J. G., 1997). Por lo tanto, en ciertos casos particulares sería posible empezar a construir un SADE a partir de un SIG convencional. Modelos matemáticos ligados a un Sistema de Información Geográfica. En este caso se trata de utilizar un modelo matemático preexistente (normalmente formalizado en algún tipo de programa informático) y relacionarlo de modo más o menos profundo con un SIG. De este modo, el SIG puede cumplir diversas funciones para el modelo: proporcionar los datos de entrada, cartografiar los resultados, etc. Varios tipos de integración se pueden señalar: a) De modo simple, la interrelación se realiza a través de ficheros de datos compartidos, pero cada programa mantiene al completo su individualidad. Un buen ejemplo lo constituye la relación entre el SIG GRASS y una serie de modelos hidrológicos (CHAIRAT, 1993) o en la relación del SIG ILWIS con el programa hidrológico MICRO-FEM (BIESHEUVEL, 1993). Una segunda categoría de relación es cuando ambos tipos de software están integrados. En este caso la interrelación es mucho mayor, ambos, el SIG y el modelo, comparten una misma interface al usuario y hacen uso en común de ficheros de datos y de la memoria RAM del ordenador. (ver gráfico 3, basado en Fedra, 1996, p. 414). Marco A. Guevara 2011 Página 23 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH 3.7 El SADE y la Selección entre las Alternativas de Solución. La evaluación de las diferentes alternativas de planeamiento que se han generado en las etapas anteriores de la elaboración de un plan constituye un momento muy decisivo en la elaboración final de un conjunto de acciones y decisiones bien fundamentadas que establecen el plan de ordenación territorial. Por ello, es imprescindible contar con medios adecuados para establecer la calidad de cada una de las alternativas posibles, en este sentido las técnicas de evaluación multicriterio son una herramienta fundamental. Las técnicas de evaluación multicriterio constituyen un variado arsenal de métodos matemáticos que permiten medir de manera lo más precisa posible la validez relativa de cada una de un conjunto de soluciones respecto a un problema concreto. La evaluación se realiza de tal manera que se tiene en cuenta un alto número de criterios, cada uno de los cuales valora de modo independiente las soluciones. Por otra parte, estas técnicas permiten considerar diversos planteamientos u opiniones ante el mismo problema, de modo que las evaluaciones se pueden realizar considerando los enfoques contrapuestos que pueden existir ante una misma cuestión (por ejemplo, el de los empresarios frente al de los conservacionistas, ver Malczewski, 1996). Las técnicas de evaluación multicriterio (EMC) han tenido su origen en la Economía y en la Ciencia política y de la Decisión (ROMERO, Teoría de la Decisión Multicriterio: Conceptos, técnicas y aplicaciones, 1993); (BARBA-ROMERO, 1997), pero en los últimos años se ha empezado a introducir como una herramienta más en los SIG ((BARREDO CANO, 1996); (EASTMAN, 1993a). Muchos consideran que la novedad más importante y más decisiva para la conversión de un SIG en un SADE es la inclusión de la evaluación multicriterio, por ello, parece oportuno, comentar algunos conceptos fundamentales de ella, como son los siguientes: Marco A. Guevara 2011 Página 24 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Decisión: elección de una de las alternativas posibles para solucionar un problema. Alternativas: cada una de las soluciones posibles a un problema, dotadas de ventajas e inconvenientes diferentes Criterios: los distintos aspectos de la realidad que inciden de alguna manera en las ventajas o inconvenientes de las alternativas disponibles como soluciones al problema. Los criterios normalmente se consideran que pueden ser de dos tipos: Factores: los aspectos que aumentan o disminuyen la valoración de una alternativa como solución al problema. Es decir son variables que están medidos en una escala cuantitativa u ordinal. Restricciones: los aspectos de la realidad que determinan que alternativas son válidas/aceptables y cuáles no son una solución al problema. (Las restricciones son siempre variables binarias) Un elemento esencial de la evaluación multicriterio es la matriz de evaluación: una tabla de doble entrada que contiene en las filas cada una de las alternativas disponibles y en las columnas cada uno de los criterios que se consideran relevantes para valorar las alternativas como soluciones al problema. En cada casilla de matriz de decisión se encuentra la valoración de un criterio sobre una alternativa. Sobre la matriz de evaluación actúan las "Reglas de decisión", un mecanismo mediante el que se combinan los criterios para producir una única valoración de cada alternativa, lo que permite ordenar las alternativas y seleccionar una de ellas como la más adecuada. Los mecanismos de combinación de las reglas de decisión deben utilizar los valores de los factores y de las restricciones para alcanzar una única valoración de cada alternativa. Además pueden tener en cuenta que todos los factores no son Marco A. Guevara 2011 Página 25 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH igual de importantes para valorar las alternativas. Unos resultan más significativos que otros, de acuerdo con las opiniones de los diferentes grupos de intereses, por ello se deben ponderar sus valores con los pesos que se les asigna en el problema. Existen numerosos tipos de reglas de decisión, se pueden dividir entre: Reglas de decisión compensatorias: el mecanismo de combinación de los criterios permite que las valoraciones bajas en uno o varios factores se compensen con el valor alto en uno (o más de uno) de los restantes factores. De este modo la solución elegida puede resultar poco adecuada en alguno de los factores. Reglas de decisión no compensatorias: en este caso el mecanismo de combinación de los factores no permite compensar valores bajos en unos factores con los más elevados de otros factores. Otro modo de diferenciar tipos de reglas de decisión es de acuerdo con el carácter de los factores empleados, que pueden ser binarios, ordinales y cuantitativos, de este modo las reglas de decisión pueden ser: Mediante combinación booleana: válida para los problemas de decisión donde todos los criterios son restricciones. Mediante operaciones de comparación y ordenación de valores ordinales: válidas para los problemas donde todos los factores están medidos en la escala ordinal: método de las precedencias, etc. Se basan en la comparación de cada una de las alternativas con todas las demás (BARREDO CANO J. y., 1999). Normalmente los mecanismos de combinación de los criterios usan cálculos cuantitativos que, por lo tanto, son aplicables a los casos en donde los factores están medidos en la escala de intervalos o de razón. Existen muy nume- Marco A. Guevara 2011 Página 26 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH rosas reglas de decisión de este tipo, entre las más importantes se encuentran: La suma lineal ponderada. El análisis del punto o alternativa ideal. Un elemento importante de muchas cuestiones geográficas es la existencia de varios objetivos simultáneos a ser alcanzados por el decisor, en ese caso la decisión es más compleja, pretende maximizar o satisfacer las metas en varios aspectos que compitan entre sí. Para ello se plantea una versión especial de la Evaluación multicriterio la denominada multi objetivo Como es lógico, en este caso las alternativas se valoran, usando nuevamente varios criterios, no solo para alcanzar un único objetivo sino varios. Los objetivos buscados pueden ser complementarios o conflictivos. Para estos casos las reglas de decisión tienen que ser más compleja, ya que pretenden combinar los criterios para alcanzar una alternativa adecuada que dé respuesta a los diferentes objetivos simultáneamente, una solución en este sentido es la programación compromiso. Un problema importante de la EMC11 es la generación de factores cuantitativos para poder emplear las reglas de decisión de este tipo. En muchos casos los factores que permiten valorar las alternativas no están medidos en términos cuantitativos y, sin embargo, nos vemos obligados a emplear reglas de decisión cuantitativas. Por lo tanto es necesario poder llegar a generar datos cuantitativos de hechos medidos en términos cualitativos. Un método usual para ello, y que funciona bastante bien, es el propuesto por Saaty, también denominado de la matriz de comparaciones binarias (Barredo, 1996). La idea básica es, mediante la comparación dos a dos de las variantes de una variable cualitativa, establecer una matriz de comparaciones entre todas las 11 Evaluación Multicriterio Marco A. Guevara 2011 Página 27 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH variantes posibles; a continuación, la obtención de los valores propios y vectores propios de la matriz, proporciona un valor cuantitativo para cada variante y, más aún, una medida de la consistencia de las comparaciones realizadas en la matriz. Este procedimiento fácil de aplicar nos permite, por lo tanto, determinar valores cuantitativos y una mínima valoración de su validez. Otros métodos para resolver la misma cuestión se pueden encontrar en Malczeswski (1999, pp. 116135). Este conjunto de procedimientos y técnicas permite utilizar criterios y variables muy diferentes para evaluar las diversas soluciones y, con ello, ordenarlas y, finalmente, seleccionar las más adecuada como solución final. De este modo, parece posible llevar a cabo más correctamente la tercera fase del proceso de selección, la elección de las alternativas. En relación a la planificación urbana, dos trabajos muy introductorios y teóricos son los de Pueyo (1991), en el que se puede encontrar una discusión inicial sobre las posibilidades que los SIG ofrecen a la planificación urbana y el de Serra del Pozo (1996), que plantea el tema específico de crear un sistema de apoyo a la planificación, insistiendo en la importancia de incluir modelos matemáticos urbanos dentro de un Sistema de Información Geográfica para facilitar la planificación de la ciudad, en este trabajo se analizan los diversos modelos urbanos disponibles y se plantean los problemas concretos de su conexión a un SIG. Entre los ejemplos concretos de uso de SIG y Sistemas de ayuda a la decisión en la planificación urbana se puede mencionar el trabajo de Blat y otros (1995), en relación al caso concreto del denominado Parc BIT12 en las Islas Baleares. Otro ejemplo donde se desarrolla más a fondo problemática de la inclusión de modelos matemáticos urbanos, y otras técnicas, en un SIG con la finalidad de facilitar la planificación es el trabajo Batty y Yichun Xie (1994). 12 Parc BIT (Parque Balear de Innovación Tecnológica) Marco A. Guevara 2011 Página 28 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Por otra parte, en el trabajo de Janssen y Rietveld (1990) se plantea la importancia del uso de técnicas de evaluación multicriterio dentro de un SIG para resolver problemas complejos de planificación urbana. Algo semejante se encuentra en el trabajo de Biermann (1999) donde se combinan tres tipos de elementos: un modelo de evaluación de la adecuación del suelo para su desarrollo residencial, un conjunto de funciones de evaluación multicriterio y un SIG para la representación de los datos espaciales. No parece, por lo tanto, que existan muchos ejemplos totalmente desarrollados de Sistema de ayuda a la decisión en cuestiones de planificación urbana. Una cuestión relacionada con este tema es la planificación del trazado de autopistas y otros tipos de infraestructuras lineales, en Morin (1999) se ilustran las posibilidades de varios tipos de SADE, desarrollados en la provincia canadiense de Ontario, para facilitar la participación pública de la población en este tipo de decisiones. Localización de equipamientos, un tema donde se han planteado numerosos ejemplos de desarrollo de sistemas de ayuda a la decisión es el de la localización óptima equipamientos e instalaciones de diversos tipos. En primer lugar, Armstrong y otros (1990), plantea la combinación de un procedimiento general de resolución de problemas con una base de datos de conocimientos (específicos de un tema), ambos elementos se usan para poder generar diversos escenarios que facilitan al usuario estudiar sistemáticamente los resultados de una serie de análisis. Este trabajo, ya relativamente antiguo, marcaba muy claramente las necesidades actuales y futuras de desarrollo de los Sistemas de ayuda a la decisión espacial. Del mismo modo, en 1991, Armstrong y otros, proponen otro ejemplo de SADE adaptado a la determinación de regiones y a la localización dentro de ellas de instalaciones educativas que minimicen Marco A. Guevara 2011 Página 29 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH tanto el coste de los viajes necesarios para su uso por la demanda como la máxima distancia que la población tiene que recorrer. Los dos ejemplos anteriores muestran una de las posibilidades de creación de un SADE para esta cuestión: partir de algunos modelos de localizaciónasignación y unirlos con otros procedimientos de tratamiento de la información geográfica para generar un sistema de soporte a la planificación de este tipo de problemas. Sin embargo, en esta línea los SIG o no se emplean en absoluto o tienen un valor secundario. La otra posibilidad es, precisamente, la contraria, partir de un SIG y añadirle los elementos que faciliten su conversión en un verdadero SADE, tal y como se ha planteado en este texto. En esta línea se puede mencionar, por un lado, el trabajo de Mendes y Silva (1996). Un segundo ejemplo muy interesante es el sistema OSDM que facilita la localización de un depósito de seguridad para basuras radiactivas en Gran Bretaña, y lo hace a través de INTERNET, de modo que es accesible a cualquier persona, facilitando así la participación pública (Carver, 1999). Otra Figura.de SADE aplicado a la localización de instalaciones se puede encontrar en la propuesta formulada en Bosque y otros (2000). En ese caso particular, la finalidad de la nueva herramienta propuesta sería facilitar a una serie de organizaciones: empresas e instituciones públicas, los medios para poder seleccionar de modo más correcta las localizaciones "óptimas" donde situar diferentes tipos de equipamientos sociales, desde los que son muy atractivos para la población (escuelas, centros de salud) hasta los que resultan repelentes y no deseados por los habitantes de un lugar (vertederos de basuras, depósitos para residuos industriales, etc.), pasando por el caso especial de los centros comerciales. Ejemplos de modelos matemáticos en los SIG: Marco A. Guevara 2011 Página 30 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH En la actualidad este problema de la interrelación SIG-Modelo matemático, en cualquiera de las formas citadas, se ha convertido en un tema de rápido desarrollo dentro de la investigación sobre creación de un SADE. Existen, por lo tanto, interesantes desarrollos en muchos sentidos. Las áreas donde más avanzada se encuentra la cuestión pueden ser las siguientes: cuestiones geomorfológicas (análisis y control de la erosión); Hidrología (determinación de cuencas sobre Modelos digitales del terreno, cálculo del escurrimiento, etc.); Ecología y Morfología del paisaje; evaluación de riesgos naturales; análisis de la difusión de contaminantes; control de incendios forestales, etc. La literatura sobre todo ello es cada vez más abundante, un buen y amplio resumen se puede encontrar en Goodchild, Parks y Steyaert (1993) y Goodchild, Steyaert y Parks (1996), dos extensos volúmenes con buenos ejemplos de la variedad de trabajos existentes sobre el tema. Más en concreto, una lista más detallada de cuestiones donde se pueden encontrar ejemplos de relación SIG y modelos matemáticos podría ser la siguiente: Aguas Modelos hidrológicos. Gestión de cuencas, análisis y predicción de inundaciones y avenidas (Sanchez, 1998). Un caso ejemplar sería el proyecto SAICA en España. Modelos oceanográficos. Base de datos sobre el océano (masa de agua). Modelo en tres dimensiones geométricas, en el que importa mucho la dinámica temporal. Dedicados a la simulación. Un ejemplo en Teubner, 1998. Suelos Inventario de los suelos de una región o país Erosión del suelo Contaminación de las aguas. Marco A. Guevara 2011 Página 31 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Geología y geomorfología (minería) Geología y prospección minera, sismología. Necesita modelos de datos en tres dimensiones para crear una base de datos del subsuelo donde se incluyan los atributos temáticos de la Geología, su principal función es el análisis y la producción de cartografía. Fauna Medición de la diversidad biológica Determinación de hábitats para animales Vegetación y ocupación del suelo Forestales: explotación, gestión y conservación de los bosques. Ocupación del suelo: agricultura y ganadería. Un ejemplo es el proyecto CORINE (Coordinación de información del entorno europeo), un mapa digital de Europa a escala 1:100.000 de las ocupaciones del suelo (80 variantes). Atmósfera Modelos atmosféricos. Base de datos sobre la capa de aire que rodea la tierra. Modelo en tres dimensiones geométricas, de gran importancia el uso del variable tiempo para simulación del comportamiento, la finalidad es la predicción del tiempo y el análisis del cambio climático. Ecología Medida de magnitudes geométricas de elementos del paisaje (Matteucci, 1998). Coincidencia espacial de elementos de la ecología Problemas sociales (Reif, 1978) Transporte: modelos de interacción espacial, gravitatorio, etc. Producción: industria, agricultura. Servicios comerciales y equipamientos sociales: modelos de localizaciónasignación. Marco A. Guevara 2011 Página 32 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Población: crecimiento demográfico. Organización urbana: modelo de Garin-Lowry, etc. Un ejemplo interesante en Morello y otros (1998). Algunas cuestiones todavía se encuentran mal representadas en estos desarrollos debidos, sobre todo, a ciertas características de sus datos básicos. Por ejemplo, los problemas atmosféricos o relacionados con los mares y los océanos, presentan graves dificultades para ser tratadas con los actuales modelos de datos de los SIG comerciales, el vectorial o el raster. En estos casos, es imprescindible, por un lado, un tratamiento de las tres dimensiones geométricas, añadiendo la altura (coordenada z) a las más habituales: longitud (coordenada X) y latitud (coordenada Y), y, por otro, la consideración de otro referente fundamental el "tiempo", que actúa realmente como una cuarta coordenada, necesaria para establecer la composición de cada punto incluido en la base de datos. Estas dos coordenadas adicionales (la altura y el tiempo) se integran mal en los SIG actuales, es necesario un importante desarrollo teórico en el campo de los modelos de datos para que tales cuestiones se puedan considerar con comodidad en los SIG del futuro (EXTENSIONS TO GEOGRAPHIC REPRESENTATION en el sitio WEB del consorcio universitario para la Ciencia de la información geográfico de los Estados Unidos: www.ucgis.org). Con cualquiera de las formas de integración mencionadas, conjuntamente los SIG y los modelos matemáticos son capaces de generar paquetes variados de soluciones y alternativas de planificación para los problemas ambientales y para otras muchas cuestiones. Marco A. Guevara 2011 Página 33 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Marco A. Guevara 2011 Página 34 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH 4. PROBLEMA 4.1 Planteamiento del Problema El problema es poder realizar un SADE3, 5 cuyo nombre será de CLESP 1.05 “Clasificación espacial ver 1.05” donde se ha presentado teóricamente la problemática correspondiente a la determinación de variables y unidades espaciales que debe afrontar todo estudio de análisis urbano cuantitativo. Pudiéndose aplicar en cualquier país de América Latina. En la Selección de variables donde este es un procedimiento muy importante; se considero de lo más fundamental del análisis multivariado. En nuestro caso, las variables utilizadas en el SADE3 fueron proporcionadas por la Dirección Providencial Estadística de la Provincia de Buenos Aires en tabulaciones especiales para el año 1991. Con respecto a las variables, se seleccionaron 29 variables que tienen que ver con aspectos demográficos, de pobreza, educacionales, de habitación, del régimen de tenencia de la vivienda, del tipo de vivienda y de la infraestructura de servicios. Esta información produce una matriz de datos originales (MDO 13) de radios (unidades espaciales) por variables socio habitacionales de 43x29, que es la base para generar la matriz de datos índice (MDI14) siendo esta la primera transformación que relaciona cada dato como porcentaje de la población total del radio que ocupa. En la MDI, es la cual se realiza la cartografía inicial, donde es el inicio de los procedimientos de los análisis multivariado que se calcularan en la investigación: Una vez obtenida la MDI, se realizaran: 13 14 MDO : Matriz de Datos Originales MDI: Matriz de Datos Índice Marco A. Guevara 2011 Página 35 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Cálculos por proporción. Cálculos porcentuales. Tipos de clasificación. Clasificación espacial mediante variables de costo condiciones de máxima beneficio y desfavorabilidad. Estandarización de Puntaje omega, Puntaje z y ponderación de variables. 4.2 Objetivos 4.2.1 Objetivo General. El objetivo general es podes realizar un software que al introducir las diferentes variables socio habitacionales, se genere una matriz de datos originales (MDO) de radios censales para las respectivas variables y poder generar los diferentes cálculos requeridos en el problema. 4.2.2 Objetivos Específicos. Estudiar las tablas DBF de arcgis. Estudiar y analizar los requerimientos del sistema (SADE) Estudiar y analizar las interfaces necesarias para la comunicación entre la base de datos (tabla dbf) y el sistema a desarrollar. Calcular la matriz de Datos origibales (MDO). Calcular la matriz de Datos índices (MDI). Seleccionar las variables a analizar este si son de beneficio o de costo. Asignación de los diferentes pesos de las variables que se darán por el especialista del levantamiento en duro (Hard).Calcular la matriz omega y la matriz z. donde se obtendrá el promedio de estas respectivamente. Marco A. Guevara 2011 Página 36 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Guardar las matrices en tablas con formato ANSI dbf15 y visualizarlas en arcexplorer java edition for education. La cual ouede ser deacargado del sitio de ESRI 4.3 Limitaciones y Alcance. A continuación se presentan las limitaciones y alcance para el SADE que se va a desarrollar. 4.3.1 Limitaciones. El sistema a implantar únicamente abarcara el proceso de leer las diferen- tes variables probistas para realizar los cálculos propuestos en el marco teórico. El (SADE) a implementar puede necesitar licencias de herramientas, que no se pueden costear, por lo que es posible, que se utilicen aplicaciones abiertas (open source) ó libres (free source). 4.3.2 Alcances: Extraer la información de una tabla formato dbf para poder generar una matriz (MDO). Extraer la información de una tabla formato dbf para poder generar una matriz (MDI). Estudiar, diseñar e implementar la MDI para poder realizar los diferentes cálculos de índices propuestos por el especialista. Poder representar en un visualizador de mapas esta MDI. Guardar los resultados de la MDI y los diferentes cálculos estadísticos de las variables calculadas a partir de la MDI, visualizarlos y guardarlos en una tabla DBF ANSI asociada a su respectivo Shape. 15 Aquí se menciona DBf por compatibilidad con arcexplorer java edition for education Marco A. Guevara 2011 Página 37 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH 5. RECURSOS 5.1 Datos Primarios. Tabla DBF de matriz MDO provista por el Doctor Buazai. Shape que relaciona la dbf provista por el Doctor Buzai. Relaciones de los campos de la MDI (BUZAI, 2003) Descargar de http://www.clesp.tk/ 5.2 Datos Secundarios. Cálculos hechos en hoja electrónica de los diferentes cálculos es- tadísticos para comparación de los resultados a obtener. 5.3 Software. DBFviewer 2000 este para analizar la estructura de la DBF. AEJEE ArcExplorer java Edition for Education de ESRI, como vi- sualizador grafico de mapas. SPYXX de Visual Studio 6, para analizar los métodos que utiliza AEJEE como sus movimientos de mouse. Visual Basic 6, para el desarrollo de la aplicación. Open Office como hoja electrónica pare verificar los resultados. Sistema Operativos Windows xp sp2, sp3, vista y seven. Todos 32 bits. Marco A. Guevara 2011 Página 38 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH 6. MARCO METODOLOGICO En este capítulo se explicaran las fases y actividades de la metodología a aplicar en el ciclo de vida del presente proyecto, para ello se tomó en cuenta lo siguiente: 6.1 Entrega de Etapas. Según menciona Daniel Fernández Lavín (2004), este modelo conocido como “implementación incremental” consiste en la realización de las actividades iníciales del modelo clásico (modelo en cascada), hasta el diseño general para el sistema completo, a partir de ahí , se realiza el diseño detallado, la codificación y depuración, pruebas y se entrega la etapa uno del sistema, posteriormente pasa la etapa 2 y así sucesivamente hasta la etapa n. Esto evita que en el modelo en cascada la entrega del sistema se realice hasta que se ha concluido completamente (Figura 4). Conceptos de Software Analisis de Requerimientos Diseño Global Etapa 1: Diseño detallado, codificación, depuración, prueba y Entrega Etapa 1: Diseño detallado, codificación, depuración, prueba y Entrega Etapa 1: Diseño detallado, codificación, depuración, prueba y Entrega Figura.4 Diagrama de la metodología de la entrega por etapas (McConnell 1997) Marco A. Guevara 2011 Página 39 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH La siguiente Figura (Figura 5). Muestra la adaptación realizada para nuestro sistema. Definición del Problema Analisis del requerimiento Analisis Diseño Implementa ción Entrega fase 1 Pruebas Implementación Diseño Diseño Extracción Implementación Transformación Pruebas Carga Entrega fase 2 Entrega fase 3 Integarción Figura.5 Etapas de la metodología a implementar. A continuación se explica cada una de las fases de la metodología a implementar. 6.2 Definición del Problema. En esta etapa se entiende las necesidades del SADE y se define realmente cual es el problema que se presenta. Las actividades a realizar en esta etapa son: Aclarar la importancia del sistema a desarrollar, para el usuario final. Marco A. Guevara 2011 Página 40 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Entender el problema que se nos presenta. Esto es las diferentes varia- bles necesarias, para poder realizar las diferentes operaciones matemáticas a realizar. Estudiar cada una de las necesidades del usuario final. Definir todos los objetivos a seguir para cumplir satisfactoriamente con las necesidades impuestas al sistema. 6.2.1 Analisis de Requerimientos. En esta etapa el objetivo principal es recopilar, información específica del sistema a realizar, obteniendo los datos de la matriz MDO y estudiando los procesos que se llevaran a cabo, tal como cálculo de MDI, cálculos de pesos y estadísticos. Realizar entrevista con el especialista para levantar la mayor información posible acerca del SADE a desarrollar. Obtener todos los requerimientos funcionales de las diferentes rutinas por medio de la técnica de casos de usos. Obtener los requerimientos no funcionales. 6.2.2 Analisis. En esta etapa se trasladan todos los requerimientos obtenidos en la fase anterior hacia la arquitectura del SADE a desarrollar y se definen las siguientes actividades. Estudiar detenidamente todos los requerimientos del especialista, para analizar la forma en la cual se debe satisfacer cada una de sus necesidades y a la vez adecuar a la arquitectura del sistema. Definir el formato de la tabla DBF. Definir la plataforma que se utilizara para el desarrollo del sistema. Marco A. Guevara 2011 Página 41 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH 6.2.3 Desarrollo del Software. Una vez conocidos los requerimientos del especialista y haber realizado el análisis de cada una de las necesidades que se presentan, se divide el proyecto en tres fases. Desarrollo del SADE. Elaboración y construcción del SADE. Desarrollo del SADE al usuario final. Para cada una de estas fases se realizaran las etapas del ciclo de vida, tales como diseño, implementación, pruebas y entregas de las fases. Explicaremos a continuación cada una de ellas. Diseño: Esta etapa es el resultado del análisis a las restricciones y requerimientos no funcionales del SADE. Se trata acerca del diseño de interfaces de usuario así como las interfaces de comunicación. Implementación: En esta etapa se crea el software que se ajusta a la arquitectura, que tenga el comportamiento deseado y cumpla con todos los requisitos del usuario. Pruebas: En esta etapa se asegura que el comportamiento del software sea el correcto y que todo lo solicitado por el usuario este presente. Marco A. Guevara 2011 Página 42 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH 7. DESARROLLO DEL SADE Después de conocer las necesidades y objetivos a seguir para el desarrollo del proyecto se realizaron entrevistas y reuniones necesarias para levantar la información acerca de los datos que se procesaran por el SADE y planteándose las siguientes preguntas: ¿Desde cuándo existen estos sistemas? ¿Hay experiencia? ¿Hay documentación acerca de ellos? ¿En qué consiste el sistema? ¿Qué variables posee? ¿Qué tipo de usuario utiliza el sistema? ¿Poseen diccionario de datos? Con respecto a ellas muchas de las respuestas fueron negativas, por ende se empezó desde cero. 7.1 Tablas DBF. Antes de empezar la implementación del SADE es necesario saber la estructura de las tablas DBF‟s, que están asociadas a los shape‟s debido a las siguientes razones: Las diferentes versiones del sistema operativo de Windows usan diferentes formatos esto es Windows XP usa ANSI16 y la otras dos: vista y seven usan OEM17. Estas deberán contener las diferentes variables de los radios censales, o de otra forma la MDO. La mayoría de los visualizadores gráficos pueden usar formato ANSI y OEM (páginas de código), pero unos solo usan ANSI. 16 ANSI: American National Standards Institute. OEM que proporcionan algunos caracteres acentuados para los idiomas europeos 17 Marco A. Guevara 2011 Página 43 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Las tablas DBF‟s son de la década de 1980 y es de esperar que estas en la actualidad no tengan soporte. 7.2 Sistema Operativo. Este punto siendo de los más cruciales, debido a que deberá poder ejecutarse el SADE en las versiones de Windows de 32 bits, (se recuerda que el programa no es multiplataforma). Se debe de tener presente lo siguiente: El manejo de los registros de los diferentes sistemas operativos de Windows (Microsoft Windows XP, VISTA y SEVEN todos 32 bits) es muy diferente, así que es necesario que el instalador del SADE modifique su instalación según el Sistema Operativo18 a usar. El lenguaje para la creación del SADE a utilizar deberá ser compatible con estos sistemas operativos7. EL visualizador grafico a usar deberá ejecutarse sin problemas en estos sistemas operativos7 7.3 Visualizador Grafico. El visualizador grafico deberá de mostrar los mapas y deberá cumplir con las siguientes especificaciones: No deberá ser de paga, esto es un open source o free source. Deberá de poder representar los diferentes shape´s y manejar las DBF´s en formato ANSI. Deberá de tener opciones de agrupación por variables (campos). Deberá de ejecutarse sin ningún problema en los diferentes sistemas operativos7. 18 Sistemas Operativos Windows XP, Vista y Seven todos 32 bits. Marco A. Guevara 2011 Página 44 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH 7.4 Lenguaje. El lenguaje a utilizar pueden ser varios y deberá de tener las siguientes bondades: Un lenguaje que deberá de poder acceder a las cabeceras de los archivos DBF. Este deberá de hacer modificaciones al sistema de registros del sistema operativo 19 Deberá de crear archivos ejecutables no run time u otros. Deberá de ejecutar con facilidad operaciones matemáticas (operaciones estadísticas). 19 windows (XP, VISTA Y SEVEN todos 32 bits) Marco A. Guevara 2011 Página 45 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH 8. CONSTRUCCIÓN DEL SADE (CLESP ver 1.05) Para empezar nuestro trabajo se tomó la aplicación que se eligió para mostrar en forma gráfica el análisis espacial de nuestros datos, esta herramienta se llama “AEJEE” “ArcExplorer Java Edition for Education” la cual se puede descargar gratuitamente de http://www.esri.com/AEJEE. En Windows Vista o Seven se debe de Instalar como Administrador. Buscando en el sitio de ESRI vemos que esta es una aplicación standalone y no posee API “Application Program Interfase” para interactuar con ella, la única forma que encontramos para interactuar con ella es el mouse y el teclado. Así que para hacer que la aplicación nos mostrara datos modificados de forma automática era estudiar la aplicación desde sus raíces o sea viendo los mensajes que la aplicación envía y recibe de Windows, así que este fue el camino: 8.1 Ver como se ejecuta el Programa. 8.2 Analizar la aplicación con la herramienta SPYXX de Visual Studio 6. 8.3 Emular las acciones de usuario con el API de Windows. 8.4 Usar VB6 para la implementación del Programa. 8.1 Ver como se ejecuta el programa. Una vez instalada lo primero que hay que saber cual es la aplicación y su ruta por lo cual nos vamos a link de la aplicación y analizamos sus propiedades obteniendo lo siguiente: C:\ESRI\AEJEE\Java\jre\bin\javaw.exe-Xms24mXmx256m.com.esri.jvp.JoViewPlus. Observando esta linea de comandos vemos que no es un ejecutable ni una aplicación .class de java sino un comando extraño con varios parametros del cual vemos el que parece ser una clase y es com.esri.jvp.JoViewPlus (Figura 6). Marco A. Guevara 2011 Página 46 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Figura.6 Propiedades de Arc Explorer Java Educational Seguimos viendo las propiedades del AEJEE y leyendo un parrafo del sitio de descarga colocamos la aplicación en compatibilidad Windows Clasica. Para mi ejemplo usando Windows XP sp3 funciona a la perfeccion poniendo compatibilidad Windows 2000 (Figura 7), pero no es necesario mas adelante veremos como hacer esto automaticamente desde nuestra aplicación. Figura.7 Cambiar Compatibilidad de ArcExplorer AEJEE. Marco A. Guevara 2011 Página 47 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Sino se cambia la compatibilidad la aplicación muestra un menu diferente y falla al abrir archivos y una serie de errores fatales cerrando el AEJEE 20 abruptamente. En Compatibilidad correcta se debe utilizar el AEJEE 12 en Windows Classic Figura 8 Pantalla principal de AEJEE automaticamente (Figura 8). Ahora cargando el shape ejemplo que nos asiganaron para hacer la aplicación “lujan-msu.shp” damos click en “+” para agregar el shape (figura 9). 20 ArcExplorer Java Edition for Education Marco A. Guevara 2011 Página 48 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Figura.9: Cargando Shape lujan-msu.shp en AEJEE Nos colocamos en el Layer Lujan-msu el cual esta seleccionado y le damos click en propiedades y jugamos un poco con la aplicación para ver sus bondades y falencias. En este caso los símbolos para filtros de datos (Figura 10). Marco A. Guevara 2011 Página 49 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Figura.10: Realizando clasificaciones y otros en AEJEE. Aquí tenemos algo interesante el nombre del layer, según la documentación provista por ESRI la base de datos debe llamarse igual al shape o sea en este caso lujan-msu.dbf y ademas aparece la ruta donde se encuentra notar en Layer Information ver “shapefile.pdf” (Figura 11). Marco A. Guevara 2011 Página 50 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Figura.11: La dbf tiene que tener el mismo nombre del shape. Seguimos y ahora entramos a la opcion que dice Attribute Table que es la tabla de datos (Figura 12). Figura.12: Modificación de la tabla de atributo. Asi que tenemos la Tabla lujan-msu.dbf mostrandose ante nuestros ojos y vemos cuales son los campos y nos tomamos la libertad de Modificar el valor del Marco A. Guevara 2011 Página 51 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH campo NOMBRE usando algunos nombres conocidos en la ciudad de Tegucigalpa, Honduras C.A.. Esto lo realizamos para ver si es editable y ver si la tabla no es temporal (Figura 13). Figura.13: Comprobación si la Tabla de Atributo es Editable. Si damos en el icono de Salvar y le coloca como nombre abc. Observando que se le coloca como nombre abc.axl. Al salir de la Aplicación, es suficiente para continuar con nuestro siguiente paso. Marco A. Guevara 2011 Página 52 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Pero antes vemos un fragmento importante de la documentación. Se hace ver que no se tradujo al español ya que se necesita permiso de Esri: FRAGMENTO DE LA DOCUMENTACIÓN DE AEJEE21 shapefile.pdf Shapefile Technical Description Computer programs can be created to read or write shapefiles using the technical specification in this section. An ESRI shapefile consists of a main file, an index file, and a dBASE table. The main file is a direct access, variable record length file in which each record describes a shape with a list of its vertices. In the index file, each record contains the offset of the corresponding main file record from the beginning of the main file. The dBASE table contains feature attributes with one record per feature. The one-to-one relationship between geometry and attributes is based on record number. Attribute records in the dBASE file must be in the same order as records in the main file. Naming Conventions All file names adhere to the 8.3 naming convention. The main file, the index file, and the dBASE file have the same prefix. The prefix must start with an alphanumeric character (a–Z, 0–9), followed by zero or up to seven characters (a–Z, 0–9, _, -). The suffix for the main file is .shp. The suffix for the index file is .shx. The suffix for the dBASE table is .dbf. All letters in a file name are in lower case on operating systems with case sensitive file names. Examples Main file: counties.shp Index file: counties.shx 21 ArcExplorer Java Edition for Education Marco A. Guevara 2011 Página 53 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH dBASE table: counties.dbf Numeric Types A shapefile stores integer and double-precision numbers. The remainder of this document will refer to the following types: Integer: Signed 32-bit integer (4 bytes) Double: Signed 64-bit IEEE double-precision floating point number (8 bytes) All the non-Null shapes in a shapefile are required to be of the same shape type. The values for shape type are as follows: Value Shape Type 0 Null Shape 1 Point 3 PolyLine 5 Polygon 8 MultiPoint 11 PointZ 13 PolyLineZ 15 PolygonZ 18 MultiPointZ 21 PointM 23 PolyLineM 25 PolygonM 28 MultiPointM 31 MultiPatch Marco A. Guevara 2011 Página 54 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Con todo lo anterior, hacemos un volcado del archivo abc.axl y tenemos un xml modificado (Figura 14). Figura 14: Volcado del archivo *.axl Ahora Utilizando la herramienta DBFViewer o Visual Fox podemos ver directamente la tabla dbf. Abre usando viewer de dbase III, no abre con dbase V. Asi que es formato dbase III o dbase IV (figura 15). Marco A. Guevara 2011 Página 55 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Figura.15: Visor del dbf mediante el dbf viewer 2000. Seguimos viendo algunas caracteristicas de la tabla como ser campos, formato de campos y las estadisticas de los campos (figura 16) Figura.16: Edicion de la dbf lujan-msu.dbf con viewer 2000. Marco A. Guevara 2011 Página 56 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Figura.17: Información de los campos de lujan-msu.dbf por viewer 2000 Figura.18: Estadiscas de lujan-msu.dbf obtenidas por viewer 2000 para ser comparadas con el SADE. Estas Estadísticas se necesitan para los cálculos de nuestro análisis, por ende es bueno tenerlos de antemano para comparar y ver si nuestras formulas están Marco A. Guevara 2011 Página 57 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH bien, recuerde que estos valores son tomados de todos los registros de la tabla (figura 17 y 18). Por ejemplo el min de POB_TOT es calculado revisando el valor del campo POB_TOT en todos los registros y ver cuál es el mínimo, lo mismo aplica al Máximo, media en forma similar. Estos cálculos en nuestra aplicación se pueden calcular al mover puntero al inicio. Inicialice vars Repita Tome decisiones de formula Asigne sumatorias, vars etc Avance puntero siguiente registro Hasta que puntero este al final de la tabla Pero también lo podemos hacer usando la sintaxis de SQL y es más legible y más elegante. 8.2 Aplicación con la herramienta SPYXX de Visual Studio 6 Ejecutando la aplicación AEJEE encontramos otra clase que se ejecuta cuando adicionamos un shape com.esri.jvp.JVPMainUI" y también aparece el nombre del archivo axl como título de la ventana, así lo podemos identificar de otra ventana (figura 19). Marco A. Guevara 2011 Página 58 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Nos ubicamos sobre la línea sombreada o sea nuestro shape. Figura.19: Rastreo de las clases que ejecuta AEJEE por SPYXX de visual studio 6. Luego se elige la ventana de la clase mostrada y presionamos el botón derecho del mouse, vamos a messages y marcamos solo los grupos de mensajes que nos interesan. Marco A. Guevara 2011 Página 59 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Entonces le damos OK, después click al icono de “X” clear y después Start al Semáforo para que empiece el log de mensajes (figura 20). Figura 20: Activación del semáforo para depurar los logs de los mensajes de SPYXX visual studio 6 Marco A. Guevara 2011 Página 60 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Figura.21: Rastreo de los eventos del mouse para obtener las coordenadas relativas para ser usadas en el api de Windows. Ahora navegamos en la aplicación y damos click, donde nos interesa y obtenemos el log de los eventos mouse_move, mouse_click (figura 21) etc, junto con las coordenadas relativas del mouse, estas son relativas al top, left de la ventana, es decir del rectángulo (left, top)-(right, bottom) el cual puede ser obtenido usando el API de Windows como veremos en la implementación. 8.3. Emular las Acciones de Usuario con el API de Windows. Para este paso es necesario encontrar las funciones del API de windows que nos permite hacer las mismas acciones que haria un usuario con el mouse y el teclado. Para esto se creo el modulo Mod4Click y el Modulo MSendInput Aquí algunas de la funciones para tal efecto. Marco A. Guevara 2011 Página 61 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Se hace ver que en este punto la codificación sique los estandares de la programación Orientada a Objetos OOP '--------------------------------------------------------------------------------------------' Convertir el punto de la pantalla a coordenadas absolutas '--------------------------------------------------------------------------------------------Sub ScreenToAbsolute(lpPoint As POINTAPI) lpPoint.x = lpPoint.x * (&HFFFF& / GetSystemMetrics(SM_CXSCREEN)) lpPoint.y = lpPoint.y * (&HFFFF& / GetSystemMetrics(SM_CYSCREEN)) End Sub '--------------------------------------------------------------------------------------------' Simule el Click o Cliquee en (x,y) '--------------------------------------------------------------------------------------------Public Sub Click(p As POINTAPI) 'p.X and p.Y in absolute coordinates 'Put the mouse on the point mouse_event MOUSEEVENTF_ABSOLUTE Or MOUSEEVENTF_MOVE, p.x, p.y, 0, GetMessageExtraInfo() 'Mouse Down mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, GetMessageExtraInfo() 'Mouse Up mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, GetMessageExtraInfo() End Sub '--------------------------------------------------------------------------------------------' Mueva el cursor del mouse a la coordena p(x,y) '--------------------------------------------------------------------------------------------Public Sub Move(p As POINTAPI) 'p.X and p.Y in absolute coordinates Marco A. Guevara 2011 Página 62 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH 'Put the mouse on the point mouse_event MOUSEEVENTF_ABSOLUTE Or MOUSEEVENTF_MOVE, p.x, p.y, 0, GetMessageExtraInfo() End Sub '--------------------------------------------------------------------------------------------' Funcion para realizar un delay porque algunas veces es neceario ganar tiempo o perderlo '--------------------------------------------------------------------------------------------Sub Wait(Optional sec As Single = 1) Dim t1 t1 = Timer Do DoEvents Loop Until Timer - t1 > sec End Sub '--------------------------------------------------------------------------------------------' mover el mouse y darle click en (x,y) '--------------------------------------------------------------------------------------------Sub MoveAndClick(ByVal x As Long, ByVal y As Long) Dim mCOMMAND As MOUSECOMMAND ' ' Move SetCursorPos x, y ' ' Click ' mCOMMAND.iFlags = MOUSEEVENTF_LEFTDOWN Marco A. Guevara 2011 Página 63 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH SendInput 1&, mCOMMAND, Len(mCOMMAND) mCOMMAND.iFlags = MOUSEEVENTF_LEFTUP SendInput 1&, mCOMMAND, Len(mCOMMAND) End Sub 8.4 Usar Vb6 para la Implementacion del Programa. Aquí explicamos en detalle las partes que se refieren a los cálculos y algunas funciones importantes para que el lector entienda el funcionamiento de nuestra aplicación “CLESP”. El sistema desarrollado fue implementado en vb6 y consta de los siguientes módulos (figura 22). FrmAbout: Muestra ventana de Acerca de . FrmMDI: Muestra Grid de Matris de Indices Calculados . FrmOne: Interface de Usuario, Core de la Aplicacion SIG “CLESP”. FrmSplash: Muestra introduccion a la aplicación. Dbase: Funciones para accesar base de datos dbf. Mod4Click: Funciones para manipular el mouse y algunas funciones de ventaneo . MsendInput: Funciones para simular el Sendkeys de vb6 por errores de esta ultima en Vista y Seven. UtilClesp: Funciones Utilitarias para manejo de la aplicación especifica a la tesis. CSubClassListView: Manejo de los listview . frmMDI=Forma de Matriz de Índices Marco A. Guevara 2011 Página 64 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Figura 22: Ventana que muestra el proyecto CLESP.vbp Figura. 23: datos generales de autor y colaboradores. Marco A. Guevara 2011 Página 65 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH En esta forma simplemente se muestra los datos generales de la aplicación así como el autor y colaboradores (figura 23). Figura. 24: Definición de las variables índice. Aquí se pueden cambiar su formula y su definición, esto es en el SADE Marco A. Guevara 2011 Página 66 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH En esta forma se definen las variables que serán utilizadas como índices, según la literatura estas 29 variables que se definen por omisión son las necesarias para la evaluación de la situación geosocial de un lugar (figura 24). Figura. 25: Ventana de inicio del SADE CLESP 1.XX Forma de vb6 donde se hace la aplicación totalmente, los cálculos y la interface con el usuario . Marco A. Guevara 2011 Página 67 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH frmOne.frm Aquí en esta imagen se muestran las principales funciones de la aplicación (figura 25). '--------------------------------------------------------------------------------------------'creación de la nueva tabla solo con los campos elegidos mas 'sus correspondientes omega, zeta y omedio, omegapon, zetaponderado ' funciona si y solo si la estructura de la tablas 'es DBase III, porque si es fox no lo abre el AEJEE.... '--------------------------------------------------------------------------------------------Sub CreateNuevaTabla() Dim campox As String Dim campoy As String Dim v As Single Dim sf As String Dim sName As String Dim i As Integer Dim ss As String Dim s As String Dim so As String Dim sz As String Dim sp As String Dim sSQL As String Dim sRes As String Dim sFullFile As String Dim sc As String Dim s0 As String Dim vv Marco A. Guevara 2011 Página 68 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Dim itm As ListItem Set rs3 = Nothing Set rs4 = Nothing 'colocar mensaje de convirtiendo tabla StatusBar1.SimpleText = "Convirtiendo Tabla..." & G_TMPFILE 'antes de todo borrar alguna tabla temporal sf = G_ROOT & "\" & Name8(G_TMPFILE) & ".dbf" BorraFile (sf) 'ver como creo la tabla en el folder de la base datos del shape 'usar los [] para evitar errores con el driver de MS ... sSQL = "CREATE TABLE [" & G_TMPFILE & "] (" s = "" 'originales so = "" 'omegas sz = "" 'zetas sp = "" 'ponderados sc = "" 'originales pero solo los nombre de campo sin su definicion 'campos originales For i = 1 To LvNCampos.ListItems.Count 'nombre del campo selecionado campox = LvNCampos.ListItems(i).SubItems(1) sc = sc & campox & "," 'ver la definicion del campo numero de decimales N (19,5), ejemplo en driver 'de fox esto funciona como numeric en 'otro driver se complica porque me los trae como double y no trae nada de '„numero decimales 'asi que la longitud numerica es s0="(n,d)" Marco A. Guevara 2011 Página 69 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH s0 = "(" & LvNCampos.ListItems(i).SubItems(4) & "," & LvNCampos.ListItems(i).SubItems(5) & ")," s = s & "[" & campox & "] NUMERIC " & s0 '[campo] NUMERIC (n,d)," 'definicion del campos If campox <> "ID" Then ss = cc(campox) 'campo sin guiones so = so & "[o" & ss & "] NUMERIC (19,5)," 'campos omega=[ocampo] numeric (n,d) sz = sz & "[z" & ss & "] NUMERIC (19,5)," 'campos zeta=[zcampo] numeric (n,d) End If Next 'Agregar a la definition los campos omegamed, omegapond, zetamed, zponde'ra sRes = sSQL & s & so & "[omegamed] NUMERIC (19,5),[omegapond] NUMERIC (19,5)," & sz & "[zetamed] NUMERIC (19,5),[zpondera] NUMERIC (19,5)," 'aquí deberíamos tener "CREATE TABLE [ tabla ] (campos...," 'eliminar la ultima coma del string y agregar una paréntesis sRes = bcoma(sRes) & " )" 'aquí finalizar el string como "CREATE TABLE [ tabla ] (campos...)" On Error GoTo badNews 'ejecutar el comando sql para la creación de la tabla Set cmd1 = New ADODB.Command With cmd1 .ActiveConnection = cn2 .CommandType = adCmdText Marco A. Guevara 2011 Página 70 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH .CommandText = sRes .Execute End With On Error GoTo 0 StatusBar1.SimpleText = "Creando Tabla Temporal.." 'de la variable sc tenemos campo1,campo2..,campon, 'entonces hay que borrar la ultima coma para que este correcto 'el listado de campos sc = bcoma(sc) 'esta parte no funciona con driver fox... y entonces el from que pasa? 'sSql = "INSERT INTO tmptmp (" & sc & ") FROM [" & LvLayers.ListItems(G_IndexLayer).SubItems(1) & "];" ' sFullFile = LvLayers.ListItems(G_IndexLayer).SubItems(4) & "\" & LvLayers.ListItems(G_IndexLayer).SubItems(1) & "" ' sSql = "INSERT INTO C:\Geotesis\Data\" & G_TMPFILE & ".dbf (" & sc & ") SELECT " & sc & " FROM [" & CheckName(LvLayers.ListItems(G_IndexLayer).SubItems(1)) & "]" ' 'sSql = "INSERT INTO " & G_TMPFILE & " (" & sc & ") SELECT " & sc & " FROM " & sFullFile & "" ' With cmd1 ' .ActiveConnection = cn ' .CommandText = sSql ' .Execute ' End With Dim sx As String Marco A. Guevara 2011 Página 71 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH 'en esta parte se complico gracias al driver de foxpro que no realiza el insert anterior 'pero me lee archivos dbf con guiones sSQL = "INSERT INTO [" & G_TMPFILE & "] ($$$) VALUES ($$)" 'reemplazar los $$$ por el listado de campos sSQL = Replace(sSQL, "$$$", sc) 'entonces a leer los datos de la tabla original y colocar estos valores 'en la tabla temporal con los nuevos valores registro por registro With rsSource 'If Not .EOF And Not .BOF Then .MoveFirst Do 'leer todos los campos del registro actual y obtener su contenido 'insertar en la variable sp sp = "" For i = 1 To LvNCampos.ListItems.Count 'encontrar los valores a actualizar sx = LvNCampos.ListItems(i).SubItems(1) sp = sp & .fields(sx) & "," Next sp = bcoma(sp) ' 'listado de valores leidos Debug.Print sp sRes = Replace(sSQL, "$$", sp) 'reemplace los $$ por los valores ' Debug.Print sRes cmd1.CommandText = sRes 'ejecutar la línea sql cmd1.Execute .MoveNext 'seguir con el siguiente registro de la tabla Loop Until .EOF Marco A. Guevara 2011 Página 72 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH 'End If End With StatusBar1.SimpleText = "Ok" Exit Sub badNews: StatusBar1.SimpleText = "Error no se pudo crear la tabla " & G_TMPFILE Figura. 26: Pantalla de CLESP haciendo interface con AEJEE y haciendo cálculos estadísticos MsgBox Err.Description Marco A. Guevara 2011 Página 73 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH End Sub ' abrir la base de datos correspondiente al layer o shape elegido por "i" '--------------------------------------------------------------------------------------------Sub OpenTable(ByVal i As Integer) Dim stable As String Dim myConn As String Dim k As Integer 'path a la base de datos original G_DbfPath = LvLayers.ListItems(i).SubItems(4) 'path G_IndexLayer = i With LvLayers.ListItems(i) stable = .SubItems(1) 'tabla myConn = Replace(G_STRINGCONN, "$$$", .SubItems(4)) 'llenar la var de con End With 'crear el nombre de la tabla temporal G_TMPFILE = "CLESPTMP" 'inicializar algunas variables G_MODEL = "" 'sTable txtShape.Text = "" txtShape.Tag = "" CambieCaption "" 'controlar el error si existe On Error GoTo nodbf 'abrir la conexión With cn If .State = adStateOpen Then .Close Marco A. Guevara 2011 Página 74 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH End If .CursorLocation = adUseServer 'adUseCliente falla bastante en la instalación .Open myConn End With 'abrir el recordset With rsSource If .State = adStateOpen Then .Close End If ' s = "SELECT * FROM [" & sTable & "];" '.Open sTable, cn, adOpenStatic, adLockOptimistic, adCmdTable .Open stable, cn, adOpenStatic, adLockReadOnly, adCmdTable '''' 'llenar listview de campos ''' Dim itm As ListItem ''' For k = 0 To .fields.Count - 1 ''' '''' With .fields(k) Debug.Print .Name, .ActualSize, .DefinedSize, .NumericScale, .OriginalValue, .Precision ''' If (.Type = adNumeric Or .Type = adDouble) Then ''' Set itm = LvBase.ListItems.Add(, , UCase(.Name)) ''' itm.SubItems(1) = .DefinedSize '20 ''' itm.SubItems(2) = .NumericScale '5 ''' End If ''' End With ''' Next End With ' visualize los datos Marco A. Guevara 2011 Página 75 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Set gridDATA.DataSource = rsSource FormatGrid gridDATA 'Ya que los drivers de MS de dbase fallan mucho se tuvo que 'hacer a bajo nivel la lectura de los encabezados dbf 'del archivo binario de la tabla elegida Dim fields() As mFieldDescriptor Dim theDbf As String 'el dbf a trabajar theDbf = G_DbfPath & "\" & stable & ".dbf" '..\tabla.dbf If readDBFStruct(theDbf, fields) Then 'aquí se procesan los campos Dim itm As ListItem For k = 1 To UBound(fields) With fields(k) ' Debug.Print .Name, .ActualSize, .DefinedSize, .NumericScale, .OriginalValue, .Precision If (.FType = "N") Then 'solo numerico Set itm = LvBase.ListItems.Add(, , UCase(.FName)) 'campo itm.SubItems(1) = .Length itm.SubItems(2) = .DecimalCount 'longitud 'decimal End If End With Next Else Err.Raise adErrOpeningFile End If StatusBar1.SimpleText = "Ok" Marco A. Guevara 2011 Página 76 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH ' G_MODEL = ParseFileName(GetNewFName(G_WORKS, sTable)) ' Label1.Caption = "Modelo: " & G_MODEL Exit Sub nodbf: MsgBox "Formato de Archivo Desconocido " & vbCrLf & Err.Description End Sub Figura. 27: SADE calculando estadísticos básicos con variables seleccionadas en modo beneficio Marco A. Guevara 2011 Página 77 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH El cálculo de las variables es como sigue: Calculo del Ωmedio: Ω1 Ω2 Ω3 Ω a4 Ω megaprome 0.3 0.1 0.4 0.8 0.4 Ωmedio = ( 𝑛 𝑖=1 Ω𝑖 )/N= (0.3+0.1+0.4+0.8)/4. Ω1 Ω2 Ω3 Ωponderado 0.3 0.1 0.4 0.29666666 Ωponderado = 𝑛 𝑥𝑖 (Vi ∗ Ω1) donde Vi es peso que se da a cada variable (co- lumna) Ωponderado = (0.3*0.3333+0.1*0.233333+0.4*0.433333)=0.29666666 La suma de los ponderados es 1. Esto debe hacerse para variables beneficio, costo y puntajes z. Hay que recordar que si se eligen beneficios no se pueden mezclar con las de coste. Pero sean cual se elijan siempre hay que calcular Z, Z promedio y la opción de Z ponderado Marco A. Guevara 2011 Página 78 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Figura. 28: Selección de variables y visualización en el SADE ' cálculo de las variables, el verdadero fin de esta tesis ' y es la función que merece mucho más atención ' cálculo de omega, 1-w, omegamed, zeta ,omegaponderado ,ponderado Sub CalcNewVariables() Dim X1 As String, X2 As String, X3 As String Dim sSQL As String Dim stable As String Dim su As Double, mn As Double, mx As Double, pr As Double, sd As Double, dm As Double Marco A. Guevara 2011 Página 79 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Dim peso As Double Dim x As Integer, n As Integer Dim sMed As String Dim zMed As String Dim soPond As String Dim szPond As String On Error GoTo bad ProgressBar1.Min = 0 ProgressBar1.Max = LvNCampos.ListItems.Count ProgressBar1.Visible = True 'tabla a modificar=G_tmpfile stable = G_TMPFILE 'ajustar el comando Set cmd1 = New ADODB.Command With cmd1 .ActiveConnection = cn2 .CommandType = adCmdText End With sMed = "" 'omegas zMed = "" 'zetas soPond = "" 'omegas ponderados szPond = "" 'z ponderados n=0 'realizar los cálculos para todas las variables menos ID For x = 1 To LvNCampos.ListItems.Count 'LvNCampos.ListItems (i) ' List1.ListIndex = i 'LvNCampos.SelectedItem. Marco A. Guevara 2011 Página 80 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH X1 = LvNCampos.ListItems(x).SubItems(1) 'nombre de la variable If X1 <> "ID" Then X2 = "o" & cc(X1) 'omegas X3 = "z" & cc(X1) 'zeta sMed = sMed & X2 & "+" 'ovar1+ovar2+..ovarn , sumatoria de omegas zMed = zMed & X3 & "+" 'zvar1+zvar2+..zvarn , sumatoria de zetas 'obtener los valores calculados anteriormente en estadísticas With LvNCampos.ListItems(x) su = .SubItems(6) 'sumatoria mn = .SubItems(7) 'minimo mx = .SubItems(8) 'máximo pr = .SubItems(9) 'promedio sd = .SubItems(10) dm = mx - mn peso = .SubItems(3) 'desv standard 'max-min 'peso o w End With 'llenar la sumatoria de ovar1+peso soPond = soPond & "[" & X2 & "]*" & peso & "+" '[ovar1]*peso+[ovar2]*peso2+..[ovarn]*peson" szPond = szPond & "[" & X3 & "]*" & peso & "+" '[zvar1]*peso+[zvar2]*peso2+..[zvarn]*peson n = n + 1 'numero de variables 'colocar update tabla set w=(campo-mn)/(mx-mn), z=(campo-med)/(sd) If Not LvNCampos.ListItems(x).Checked Then 'peso w es favorable sSQL = "UPDATE [" & stable & "] SET " & X2 & "=(" & X1 & "-(" & mn & "))/(" & dm & ") ," & X3 & "=(" & X1 & "-(" & pr & "))/(" & sd & ") " Else 'calcular 1-w peso es desfavorable Marco A. Guevara 2011 Página 81 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH sSQL = "UPDATE [" & stable & "] SET " & X2 & "= 1-(" & X1 & "-(" & mn & "))/(" & dm & ") ," & X3 & "= (" & X1 & "-(" & pr & "))/(" & sd & ") " End If 'ejecutar el comando de actualización de la base de datos cmd1.CommandText = sSQL cmd1.Execute End If ProgressBar1.Value = x Next 'calcular el omega medio y el zeta medio 'colocar update tabla set omedio=(ovar1+ovar2+...ovarn)/n sMed = bcoma(sMed) zMed = bcoma(zMed) sSQL = "UPDATE [" & stable & "] SET omegamed=(" & sMed & ")/" & n & ",zetamed=(" & zMed & ")/" & n 'ejecutar el comando cmd1.CommandText = sSQL cmd1.Execute 'calcular ponderados soPond = "(" & bcoma(soPond) & ")" szPond = "(" & bcoma(szPond) & ")" 'se supone que aquí tengo algo parecido a 'SELECT ([pob_tot]*0.3205+[pob_var]*0.42735+[pob_muj]*0.2564) AS s3, ([opob_tot]*0.3205+[opob_var]*0.42735+[opob_muj]*0.2564) AS s4 FROM [lujan-ms]; sSQL = "UPDATE [" & stable & "] SET omegapond=" & soPond & ", zpondera=" & szPond & ";" Marco A. Guevara 2011 Página 82 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH 'ejecutar el comando cmd1.CommandText = sSQL cmd1.Execute ' MsgBox ("Cálculos Finalizados") 'probar envió al dbgrid de resultados Set rs3 = Nothing 'por memory overhead Set rs3 = New ADODB.Recordset rs3.Open "SELECT * FROM " & stable, cn2, adOpenStatic, adLockReadOnly, adCmdText Set grid.DataSource = rs3 FormatGrid grid StatusBar1.SimpleText = "OK" GoTo bye bad: StatusBar1.SimpleText = "error sucedido en cálculos de Nuevas Variables" bye: ProgressBar1.Visible = False End Sub '--------------------------------------------------------------------------------------------' Calcular las estadificas de los campos seleccionados ' solo es necesario tener las columnas originales para esto '--------------------------------------------------------------------------------------------Sub Stadistic() Dim i As Integer, k As Integer Dim X1 As String Dim s As String Dim itm As ListItem Marco A. Guevara 2011 Página 83 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Dim cmd As ADODB.Command Dim stable As String Dim sSQL As String Set cmd = New ADODB.Command With cmd .ActiveConnection = cn2 .CommandType = adCmdText End With 'tabla original de donde voy a calcular las estadísticas stable = G_TMPFILE On Error GoTo noQUERYS 'la parte de calcular las sumatorias,min,max,avg,std se uso las funciones de sql 'utilizo el driver de dbase III de ms 'la idea era no tener código complicado sino lo más simple posible For i = 1 To LvNCampos.ListItems.Count X1 = LvNCampos.ListItems(i).SubItems(1) 'nombre del campo If (X1 <> "ID") Then s = "SELECT " s = s & "SUM(" & X1 & ") as sm," s = s & "MIN(" & X1 & ") as mn," s = s & "MAX(" & X1 & ") as mx," s = s & "AVG(" & X1 & ") as prom," s = s & "StDevP(" & X1 & ") as sd" 'aquí a ver si se toma del temporal???? Ya que el driver de viusal fox da n problemas 'aquí ni siquiera existe la funcion stDevP sSQL = s & " FROM [" & stable & "]" Marco A. Guevara 2011 Página 84 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH 'ejecutar el query cmd.CommandText = sSQL Set rs2 = cmd.Execute „se supone que aquí tengo los valores calculados 'llenar la vista With rs2 Set itm = LvNCampos.ListItems(i) itm.SubItems(6) = !sm itm.SubItems(7) = !mn itm.SubItems(8) = !mx itm.SubItems(9) = Format(Round(!prom, 5), "####0.0000") itm.SubItems(10) = Format(Round(!sd, 5), "####0.0000") End With End If Next StatusBar1.SimpleText = "Ok" Exit Sub Marco A. Guevara 2011 Página 85 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Figura. 29: Pantalla del SADE que muestra las variables seleccionadas, se observa que los pesos están calculados como sus estadísticos. noQUERYS: StatusBar1.SimpleText = "Error al Calcular las Estadísticas" MsgBox Err.Description End Sub '--------------------------------------------------------------------------------------------'Estimación de los pesos usando los pasos del algoritmo de MALCZEWSKI 1999 ' "método de ranking reciproco" p = (1/r) / (sumatoria 1/r) Marco A. Guevara 2011 Página 86 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH 𝑛 𝒫𝑖=1 = 1 𝑟𝑖 𝑛 1 𝑖=1 𝑟 𝑖 '--------------------------------------------------------------------------------------------Sub EstimaPesos() Dim i As Integer Dim t As Double Dim a As Double Dim num As Double t=0 On Error Resume Next 'calcular la suma de vips o valores de importancia For i = 1 To LvNCampos.ListItems.Count If LvNCampos.ListItems(i).SubItems(1) <> "ID" Then num = LvNCampos.ListItems(i).SubItems(2) t = t + (1 / num) 'sum (1/vip) End If Next 'calcular el peso de cada variable For i = 1 To LvNCampos.ListItems.Count If LvNCampos.ListItems(i).SubItems(1) <> "ID" Then a = (1 / LvNCampos.ListItems(i).SubItems(2)) LvNCampos.ListItems(i).SubItems(3) = Format(a / t, "##0.0000") 'vip/t End If Next E'--------------------------------------------------------------------------------------------'funcion para verificar si la suma de pesos es 1 o normalizada Marco A. Guevara 2011 Página 87 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH '--------------------------------------------------------------------------------------------Function Check100() As Boolean Dim i As Integer Dim t As Double t=0 On Error Resume Next 'calcular la suma de vips For i = 1 To LvNCampos.ListItems.Count If LvNCampos.ListItems(i).SubItems(1) <> "ID" Then t = t + LvNCampos.ListItems(i).SubItems(3) 'peso End If Next Check100 = (Abs(t - 1) < 0.00001) End Function Marco A. Guevara 2011 Página 88 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Figura. 30: Pantalla donde el SADE nos muestra los cálculos hechos. -----------------------------------------------------------------------------------'********************parte agregada para la matriz de indices ******* ' llenar el listview de indices con las formulas '--------------------------------------------------------------------------------------------Sub FillTabIndices() Dim itm As ListItem Set rs5 = Nothing Set rs5 = New ADODB.Recordset Marco A. Guevara 2011 Página 89 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH rs5.Open "SELECT * FROM indices ;", cn2, adOpenStatic, adLockOptimistic, adCmdText 'Set gridMDI.DataSource = rs2 On Error GoTo bye LVIndices.ListItems.Clear With rs5 Do While Not .EOF Set itm = LVIndices.ListItems.Add(, , !num) itm.SubItems(1) = IIf(IsNull(!mdi), "", !mdi) 'variable itm.SubItems(2) = IIf(IsNull(!descrip), "", !descrip) 'descripcion itm.SubItems(3) = IIf(IsNull(!formula), "", !formula) 'formula .MoveNext Loop End With bye: End Sub '--------------------------------------------------------------------------------------------„Generar una nueva tabla con la matriz de indices calculada '--------------------------------------------------------------------------------------------Private Sub ExportMDI(ByVal sName As String) Dim sLayer As String Dim i As Integer, Hwnd As Long Dim sShape As String Dim gmodel As String i = cmbProy.ListIndex 'apuntar a la ventana correcta Hwnd = G_Proys_hwnd(i) 'handle If Hwnd = 0 Then 'Not ArcXIsRunning Then Marco A. Guevara 2011 Página 90 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH MsgBox ARCX & vbCrLf & "No se encuentra en ejecución, o está Atachado" & vbCrLf & " No se puede Exportar" Exit Sub End If 'MsgBox "Creando Shape/Proyecto" 'Crear Export sLayer = LvLayers.ListItems(G_IndexLayer).SubItems(1) 'layer elejido gmodel = sName 'copiar los archivos del shape a su ubicación correcta CopyLayerFiles2 sLayer, gmodel, G_DbfPath Wait 0.25 'enviar el shape al proyecto elegido a la carpeta WORKS sShape = G_WORKS & "\" & gmodel & ".shp" StatusBar1.SimpleText = "Creando layer.." 'aquí como ya esta creado simplemente abrirlo el AEJEE AbrieNuevoShapeEnAEJEE sShape, Hwnd StatusBar1.SimpleText = "Ok" Wait 0.1 'cmdExport.SetFocus End Sub '--------------------------------------------------------------------------------------------' Crear la matriz de datos indices a partir de la matriz MDO o matriz datos originales y las ' columnas o campos seleccionados '--------------------------------------------------------------------------------------------Sub CrearMDI(ByVal sSource As String) Dim i As Integer Marco A. Guevara 2011 Página 91 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Dim sSQL As String Dim stmp As String Dim sForm As String Dim sVar As String Dim sMDI As String Dim sc As String Dim sSq As String Dim sName As String Dim suma As Double StatusBar1.SimpleText = "Creando Tabla MDI.." sMDI = Trim(sSource) & "_mdi" 'recorrer la tabla de indices y ver cuales campos 'pertenecen a la actual MDO=sSource 'puede suceder que mdo solo tenga 20 o menos variables 'asi que mejor verificar una por una On Error Resume Next 'sc = "" sSQL = "CREATE TABLE [RASHEL] ([ID] NUMERIC (19,5)," stmp = "ID," For i = 1 To LVIndices.ListItems.Count sVar = LVIndices.ListItems(i).SubItems(1) 'variable sForm = LVIndices.ListItems(i).SubItems(3) 'formula 'probar con un select si la formula es calculable 'Gracias a sql esto se puede fácilmente ya que es él quien evalúa 'la expresión si es formula y si esta correcta, no necesito 'un evaluador de expresiones aparte Marco A. Guevara 2011 Página 92 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH sc = "SELECT " & sForm & " AS test FROM [" & sSource & "]" Set rs5 = Nothing Set rs5 = New ADODB.Recordset rs5.Open sc, cn, adOpenDynamic, adLockReadOnly, adCmdText If Err.Number = 0 Then ' la formula es valida 'campos para el create table sSQL = sSQL & "[" & sVar & "] NUMERIC (19,5)," suma = 0 If Not IsOperador(sForm) Then 'no hay operadores en la formula 'calcular la sumatoria de este campo/variable en MDO sSq = "SELECT sum(" & sForm & ") as sm FROM [" & sSource & "]" Set rs5 = Nothing Set rs5 = New ADODB.Recordset rs5.Open sSq, cn, adOpenDynamic, adLockReadOnly, adCmdText suma = rs5!sm 'colocar la formula/sum stmp = stmp & "(" & sForm & ")/" & suma & " AS " & sVar & "," Else '(POB_VAR/POB_MUJ) AS IND_MASC_I,(POB_VAR/POB_TOT) AS POB_VAR_I,.... stmp = stmp & "(" & sForm & ") AS " & sVar & "," End If End If rs5.Close Err.Clear Next sSQL = bcoma(sSQL) & ")" Marco A. Guevara 2011 Página 93 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH 'sc = bcoma(sc) 'ahora si crear la tabla MDI 'aquí tengo hay con el driver 'tiene que ser dbase iv porque sino aejee no lo reconoce.. 'y este driver no permite nombres con más de 8 letras... Dim sCn As String Dim cnx As ADODB.Connection Dim fso 'As FileSystemObject Set fso = CreateObject("Scripting.FileSystemObject") Dim sf As String, st As String sf = G_DbfPath & "\RASHEL.dbf" st = G_DbfPath & "\" & sMDI & ".dbf" BorraFile sf BorraFile st sCn = Replace(G_ASTRINGCONN, "$$$", G_DbfPath) On Error GoTo badNews 'abrir la conecion alterna Set cnx = Nothing Set cnx = New ADODB.Connection With cnx .CursorLocation = adUseClient .Open sCn .Execute sSQL .Close End With Set cnx = Nothing Marco A. Guevara 2011 Página 94 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH 'renombrar la tabla a lo deseado BorraFile st Wait 0.5 fso.MoveFile sf, st 'como la mdi es totalmente dependiente de mdo entonces 'realizar un view con las formulas 'borrar la coma del comando stmp = bcoma(stmp) 'en este punto ya tengo todas las columnas en el comando solo falta ejecutarla sSQL = "SELECT " & stmp & " FROM [" & sSource & "]" Set rs5 = Nothing Set rs5 = New ADODB.Recordset rs5.Open sSQL, cn, adOpenStatic, adLockOptimistic, adCmdText 'ahora actualizar la tabla MDi pues estaba solo en el view Dim sCam As String Dim sVal As String sCam = "" sVal = "" 'recorrer cada registro y calcular porcentajes With rs5 Do While Not .EOF sSq = "" sCam = "" sVal = "" For i = 0 To .fields.Count - 1 sName = UCase(.fields(i).Name) sCam = sCam & sName & "," Marco A. Guevara 2011 Página 95 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH If sName <> "ID" Then sVal = sVal & CDbl(.fields(i)) * 100 & "," Else sVal = sVal & CDbl(.fields(i)) & "," End If 'sSq = sSq & stmp & "=" & .fields(i) & "," Next 'sSq = bcoma(sSq) & ";" sCam = bcoma(sCam) sVal = bcoma(sVal) 'sSQL = "UPDATE [" & sMDI & "] SET " & sSq sSQL = "INSERT INTO [" & sMDI & "] (" & sCam & ") VALUES (" & sVal & ");" cn.Execute sSQL .MoveNext Loop End With If rs5.State = adStateOpen Then rs5.Close DoEvents '***************************************************** 'ahora que ya todo está en donde debe estar solo falta 'realizar el export del nuevo shape '***************************************************** ExportMDI sMDI 're-leer el axl file cmbProy_Click StatusBar1.SimpleText = "OK." Marco A. Guevara 2011 Página 96 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH MsgBox "Layer " & Chr(34) & UCase(sMDI) & Chr(34) & " conteniendo la Matriz de Indices (MDI)" & vbCrLf & " ha sido agregado al Proyecto", vbInformation Exit Sub badNews: StatusBar1.SimpleText = "No se Creo Tabla MDI.." MsgBox "error " & Err.Description End Sub Modulo Creado especialmente para leer la estructura de los archivos dbf, debido a múltiples problemas usando los drivers de Microsoft (figura 31). dbase.bas Figura. 31: Diccionario de variables que se manejan en la MDI (matriz de datos índice) Marco A. Guevara 2011 Página 97 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Option Explicit '-----------------------------------------------------------------------------------------------' Estructura de los encabezados dbf, leída del internet '-----------------------------------------------------------------------------------------------Private Type dBHeader Version As String * 1 'dBaseIII file header Lastupdate As String * 3 ' 32 bytes NumRecs As Long NumBytesHeader As Integer NumBytesRec As Integer Trash As String * 20 End Type Private Type FieldDescriptor FName As String * 11 'Field Descriptions ' 32 bytes * Number of Fields FType As String * 1 ' Up to 128 DataAddress As String * 4 Length As String * 1 DecimalCount As String * 1 Trash As String * 14 End Type Public Type mFieldDescriptor 'Field Descriptions FName As String ' 32 bytes * Number of Fields FType As String ' Up to 128 Length As Byte DecimalCount As Byte End Type Marco A. Guevara 2011 Página 98 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Private Header As dBHeader, FieldDes As FieldDescriptor 'Creating variables for user-defined types '--------------------------------------------------------------------------------------------------------'funcion para leer la estructura de los archivos dbf, porque el driver de Microsoft de visual foxpro Da problemas pues no trae correctamente la longitud de los campos numéricos 'ni mucho menos los decimales..... '--------------------------------------------------------------------------------------------------------Public Function readDBFStruct(dBaseName As String, ByRef myFieldNames() As mFieldDescriptor) As Boolean Dim fID As Integer Dim NumFields As Integer Dim i As Long, J As Integer Dim FieldDes As FieldDescriptor Dim s As String On Error GoTo nodbf fID = FreeFile If dBaseName$ = "" Then Exit Function Open dBaseName For Binary Shared As #fID 'Open dBaseName For Input Shared As #fID Get #1, , Header Select Case Header.Version Case Chr$(&H3) Case Chr$(&H83) Case Else MsgBox "This is not a dBASE III file & " & Header.Version Err.Raise 1000 Marco A. Guevara 2011 Página 99 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Close #1 Exit Function End Select 'Calculate the number of fields NumFields = Header.NumBytesHeader \ 32 - 1 ReDim myFieldNames(1 To NumFields) 'Looping through NumFields by reading in 32 byte records For i = 1 To (NumFields) Get #1, (32 * i) + 1, FieldDes s = FieldDes.FName J = InStr(1, s, vbNullChar) - 1 s = Left(s, J) myFieldNames(i).FName = s 'Left(FieldDes.FName, j) myFieldNames(i).FType = FieldDes.FType myFieldNames(i).Length = Asc(FieldDes.Length) myFieldNames(i).DecimalCount = Asc(FieldDes.DecimalCount) Next i ' now close the File readDBFStruct = True GoTo isok nodbf: readDBFStruct = False isok: Close #fID End Function Utilclesp.bas Marco A. Guevara 2011 Página 100 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH 'constante que indica la clase que se utiliza para llamar el java de AEJEE Global Const AEJEEClass = "com.esri.jvp.JVPMainUI" 'usando el SPYXX de Visual Estudio Public G_ArcXPath As String 'ruta a la aplicación AEJEE Public G_ProjPath As String 'Ruta del proyecto en curso Public G_DbfPath As String 'ruta de la bases de datos Public G_Proys() As String 'Arraya de Proyectos, pueden abrirse múltiples proyectos Public G_Proys_hwnd() As Long 'cada Windows/proyecto tiene un handler único Public G_ProysName() As String 'nombre del proyecto Public G_LayersName() As String 'cada proyecto puede tener múltiples la- yers/pseudo proyectos Public G_IndexLayer As Integer 'index del arreglo de layers Public G_TMPFILE As String 'nombre temporal Private G_K As Integer 'numero de layers del proyecto Public G_ROOT As String 'ruta a app\DATA ,donde se guardan los temporales Public G_WORKS As String 'ruta a app\WORKS ,donde se guardan los proyectos Public G_MODEL As String Public G_Modificado As Boolean 'nombre del proyecto a modelar 'bandera si un proyecto se modifico o no? 'variables de conexión ADO Public cn As ADODB.Connection 'conexion principal Public cn2 As ADODB.Connection 'conexion secundaria Public cn3 As ADODB.Connection 'conexion terciaria Marco A. Guevara 2011 Página 101 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH 'variables de comandos ADO Public cmd1 As ADODB.Command Public cmd2 As ADODB.Command 'variables de RecordSets ADO Public rsSource As ADODB.Recordset Public rsFields As ADODB.Recordset 'campos 'estos son recordsets para mostrar otros datos en los viewers Public rs1 As ADODB.Recordset Public rs2 As ADODB.Recordset Public rs3 As ADODB.Recordset Public rs4 As ADODB.Recordset Public rs5 As ADODB.Recordset 'utilizada para algunas operaciones de archivos como borrar, renombrar etc Private fso 'titulo de la ventana principal del AEJEE Public Const ARCX = "ArcExplorer-Java Edition for Education" Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal Hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long Const SW_SHOWNORMAL = 1 Const WM_CLOSE = &H10 'Public Const G_STRINGCONN = "Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=$$$;Exclusive=No; Collate=Machine;NULL=NO;DELETED=NO;BACKGROUNDFETCH=NO;" Marco A. Guevara 2011 Página 102 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH ''''Public Const G_STRINGCONN = "Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=$$$;Exclusive=No; Collate=Machine;NULL=NO;DELETED=NO;BACKGROUNDFETCH=NO;" 'Public Const G_STRINGCONN = "Provider=MSDASQL.1;Persist Security Info=False;User ID=;Data Source=Visual FoxPro Tables;SourceDB=$$$;SourceType=DBF;" Public Const G_STRINGCONN = "DSN=Visual FoxPro Tables;" 'estas no se han utilizado 'Public Const G_STRINGCONN = "Provider=vfpoledb;Data Source=$$$;Collating Sequence=general;" '************************************************************************************ '***** conexion que hace lo del guion pero no algunas funciones AGGREGATES de sql ** '***** como ser promedios, y otras, tampoco permite insertar con un INSERT INTO SELECT ... Public Const G_STRINGCONN = "Provider=VFPOLEDB;Data Source=$$$;Collate =Machine;" '************************************************************************************ '***** conexion alterna funciona bien todo menos el guion en nombre de tabla ******* Public Const G_ASTRINGCONN = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=$$$;" & _ "Extended Properties=dBASE IV;" '************************************************************************************ 'conexion funciona más o menos bien lee guio en nombre pero lo querys updatables son un desastre Marco A. Guevara 2011 Página 103 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH 'Public Const G_STRINGCONN = "Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=$$$;Exclusive=No; Collate=Machine;NULL=NO;DELETED=NO;BACKGROUNDFETCH=NO;" 'Public Const G_STRINGCONN = "Provider=MSDASQL.1;Persist Security Info=False;User ID=;Data Source=Visual FoxPro Tables;SourceDB=$$$;SourceType=DBF;COLLATE=Machine" 'Public Const G_STRINGCONN = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ ' "Data Source=$$$;" & _ ' "Extended Properties=dBASE IV;" ''Public Const G_STRINGCONN = "Provider=vfpoledb;Data Source=$$$;Collate =Machine;" 'Public Const G_STRINGCONN = "DSN=Visual FoxPro Tables" ---------------------------------------------------------------------------' Buscar en las ventanas abiertas la del AEJEE '---------------------------------------------------------------------------Public Function FindWindowArcXplorer() As Long G_K = 0 ReDim G_Proys(0) ReDim G_ProysName(0) ReDim G_Proys_hwnd(0) ' Enumerate windows. EnumChildWindows GetDesktopWindow, AddressOf EnumCallbackC, 0 ' Return the hWnd found (if any). FindWindowArcXplorer = G_K End Function '---------------------------------------------------------------------------'Callback para la funcion anterior Marco A. Guevara 2011 Página 104 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Public Function EnumCallbackC(ByVal app_hWnd As Long, ByVal param As Long) As Long Dim buf As String Dim Title As String Dim Length As Long Dim Ret As String, sRet As String Dim h As Long, retval As Long Dim lpClassName As String lpClassName = Space(256) 'retrieve the class name retval = GetClassName(app_hWnd, lpClassName, 256) sRet = Left$(lpClassName, retval) „ver si la clase es la del AEJEE If sRet = AEJEEClass Then „Esta es una ventana del AEJEE ' obtener el título de la ventana. Length = GetWindowTextLength(app_hWnd) + 1 buf = Space$(Length) Length = GetWindowText(app_hWnd, buf, Length) Title = Left$(buf, Length) 'redimensionar el array de proyectos, nombres de proyectos y handler de Windows ReDim Preserve G_Proys(G_K) ReDim Preserve G_ProysName(G_K) ReDim Preserve G_Proys_hwnd(G_K) 'encontrar el nombre del proyecto retval = InStrRev(Title, ":\") Marco A. Guevara 2011 Página 105 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH If retval > 0 Then If InStrRev(Title, ".ax") = 0 Then G_ProysName(G_K) = Mid$(Title, retval - 1) & ".axl" Else G_ProysName(G_K) = Mid$(Title, retval - 1) End If Else G_ProysName(G_K) = "" End If G_Proys_hwnd(G_K) = app_hWnd G_Proys(G_K) = Title G_K = G_K + 1 „detener la búsqueda EnumCallbackC = 1 Else ' Continua buscando. EnumCallbackC = 1 End If End Function '---------------------------------------------------------------------------'Revisar si la llave del registro de instalación del AeJee existe '---------------------------------------------------------------------------Function ArcXplorerIsInstalled() As String Dim skey As String Dim sRes As String Marco A. Guevara 2011 Página 106 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Const gREGKEYSYSINFO = "Software\Microsoft\Windows\CurrentVersion\Uninstall\ArcExplorer--Java Edition for Education" Const gREGVALSYSINFO = "InstallLocation" 'sKey = "HKEYSoftware\Microsoft\Windows\CurrentVersion\Uninstall\ArcExplorer--Java Edition for Education\InstallLocation" On Error Resume Next ' MsgBox "ArcxInside" Call GetKeyValue(HKEY_LOCAL_MACHINE, gREGKEYSYSINFO, gREGVALSYSINFO, skey) If Len(skey) < 5 Then MsgBox "Este Programa Funciona usando El " & Chr(34) & ARCX & Chr(34) & vbCrLf _ & "El cual parece no estar Instalado" & vbCrLf _ & "No Podemos Continuar" & vbCrLf _ & "Ingrese a http://www.esri.com/AEJEE", vbCritical, "Error" 'End End If ArcXplorerIsInstalled = skey End Function '---------------------------------------------------------------------------'AeJee esta ejecutándose? '---------------------------------------------------------------------------Function ArcXIsRunning() As Boolean Dim i As Integer Dim Hwnd As Long Marco A. Guevara 2011 Página 107 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH On Error Resume Next i = frmOne.cmbProy.ListIndex Hwnd = G_Proys_hwnd(i) ArcXIsRunning = IsWindow(Hwnd) 'FindWindow(AEJEEClass, vbNullString) <> 0 End Function ' Entrada del Programa '-----------------------------------------------------------------------------------------------------------Sub Main() Dim spath As String Dim sConnA As String If App.PrevInstance Then Exit Sub ' spath = cc("1234567890") ' Dim campos() As mFieldDescriptor ' ' Debug.Print readDBFStruct("C:\ESRI\AEJEE\Data\world\na_cntry.dbf", campos) ' Dim i As Integer ' For i = 1 To UBound(campos) ' Debug.Print campos(i).FName, campos(i).FType, campos(i).Length, cam- pos(i).DecimalCount ' Next 'ver si el AEJEE está instalado spath = ArcXplorerIsInstalled() If spath <> "" Then 'si esta instalado entonces Marco A. Guevara 2011 Página 108 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH spath = spath & "\Java\jre\bin\javaw.exe" 'conFigura.r el AEJEE según el Sistema Operativo 'modo Windows clasic 'patch para eliminar problema del layer sin tableproperties 'ocurrido en Vista y Seven 'activar compatibilidad ConfigAEJEE (spath) 'ruta del programa en caso de correr después alguna instancia del AEJEE G_ArcXPath = spath & " -Xms24m -Xmx256m com.esri.jvp.JoViewPlus" 'initialize variables Set cn = New ADODB.Connection Set cn2 = New ADODB.Connection Set rsSource = New ADODB.Recordset Set rs1 = New ADODB.Recordset Set rs2 = New ADODB.Recordset Set fso = CreateObject("Scripting.FileSystemObject") 'folder para guardar dbfs calculados y otros archivos G_ROOT = App.Path & "\Data" G_WORKS = App.Path & "\Works" 'por seguridad mejor crear los folders de trabajo 'Dim fso As FileSystemObject If Not fso.FolderExists(G_ROOT) Then fso.CreateFolder G_ROOT 'también copiar el dbf de indices fso.CopyFile App.Path & "\indices.dbf", G_ROOT & "\indices.dbf", True End If Marco A. Guevara 2011 Página 109 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH If Not fso.FolderExists(G_WORKS) Then fso.CreateFolder G_WORKS End If DoEvents 'setear la cadena de conexion con la ruta correcta sConnA = Replace(G_ASTRINGCONN, "$$$", G_ROOT) On Error GoTo nodbf 'abrir la conecion alterna With cn2 If .State = adStateOpen Then .Close End If .CursorLocation = adUseClient .Open sConnA End With 'mostrar una pequeña introducción del sistema frmSplash.Show End If Exit Sub nodbf: MsgBox "No se Puede Abrir la Conexión Alterna " & vbCrLf & sConnA End Sub Marco A. Guevara 2011 Página 110 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH '-----------------------------------------------------------------------------------------------'copiar los archivos necesarios del shape que según la documentación son *.shp,.shx,.sbx,.sbn '-----------------------------------------------------------------------------------------------Sub CopyLayerFiles2(ByVal sShapeS As String, ByVal sShapeT As String, ByVal sSourcePath As String) ' Dim fso As FileSystemObject Dim sFileS As String, sFileT As String On Error GoTo badCopy sFileS = sSourcePath & "\" & sShapeS 'c:\diralgo\lujan-msu sFileT = G_WORKS & "\" & sShapeT 'c:\prog\works\analisis „mejor borrarlos si existen BorraFile sFileT & ".shp" BorraFile sFileT & ".shx" 'copiar todos los archivos del shape fso.CopyFile sFileS & ".shp", sFileT & ".shp", True fso.CopyFile sFileS & ".shx", sFileT & ".shx", True 'según el pdf shapefile.pdf estos 2 siguientes son innecesarios, será? On Error Resume Next BorraFile sFileT & ".sbn" BorraFile sFileT & ".sbx" fso.CopyFile sFileS & ".sbn", sFileT & ".sbn", True fso.CopyFile sFileS & ".sbx", sFileT & ".sbx", True 'este es obligatorio Marco A. Guevara 2011 Página 111 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH On Error GoTo badCopy BorraFile sFileT sFileS = sSourcePath & "\" & sShapeT & ".dbf" 'G_ROOT & "\" & G_TMPFILE & ".dbf" 'c:\prog\data\rashel.dbf sFileT = G_WORKS & "\" & sShapeT & ".dbf" 'c:\prog\works\analisis.dbf fso.CopyFile sFileS, sFileT, True Exit Sub badCopy: MsgBox "No se Pudo Crear el Modelo de Analisis ", vbCritical End Sub '-----------------------------------------------------------------------------------------------'**** Detectar la versión del Sistema Operativo 'una forma sencilla pero segura para detectar que versión de Windows esta instalada en el equipo 'HKLM\Software\Microsoft\Windows NT\CurrenVersion\ProductName '-----------------------------------------------------------------------------------------------Function WinVersion() As String Dim sreg As String, skey As String, sValue As String Dim sreg2 As String, wv As Single skey = "Software\Microsoft\Windows NT\CurrentVersion" sValue = "ProductName" Call GetKeyValue(HKEY_LOCAL_MACHINE, skey, sValue, sreg) sreg = UCase(sreg) Marco A. Guevara 2011 Página 112 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH sValue = "CurrentVersion" Call GetKeyValue(HKEY_LOCAL_MACHINE, skey, sValue, sreg2) wv = CSng(sreg2) If InStr(1, sreg, "2000") > 0 Then WinVersion = "2000" ElseIf InStr(1, sreg, "2003") > 0 Then WinVersion = "2003" ElseIf InStr(1, sreg, " XP") > 0 Then 'Microsoft Windows XP WinVersion = "XP" ElseIf InStr(1, sreg, "VISTA") > 0 Then 'Microsoft Windows VISTA |RC|OEM|HOME|... WinVersion = "VISTA" ElseIf InStr(1, sreg, " 7 ") > 0 Then 'Microsoft Windows 7 |OEM|PREMIUN|ULTIMATE|STARTER.. WinVersion = "SEVEN" ElseIf wv > 6.1 Then '> windows 7 WinVersion = "NUEVA" ''Microsoft Windows 8 | NOVOVER- SION...jajaj no se Else WinVersion = "9X" 'tenemos un dinosaurio de maquina con win- dows 95/98/Me End If End Function '-----------------------------------------------------------------------------------------------'conFigura.ción del AEJEE especial para que se ejecute bien el AEJEE Marco A. Guevara 2011 Página 113 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH 'algunos SO necesitan que se ejecuten en modo clásico y como administrador '-----------------------------------------------------------------------------------------------Function ConfigAEJEE(spath As String) As Boolean Dim sreg As String, skey As String, sValue As String Dim wver As String 'según documentación encontrada en la web en esta llave del registro 'se setean la compatibilidad de las aplicación skey = "Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" Call GetKeyValue(HKEY_CURRENT_USER, skey, spath, sreg) If sreg = "" Then 'ver cual versión de Windows se esta ejecutando wver = WinVersion() Select Case wver Case "9X": sValue = "" Case "2000": sValue = "RUNASADMIN" 'funciona bien en w2kserver Case "2003": sValue = "RUNASADMIN" 'funciona bien en w2kserver Case "XP": sValue = "" '"WIN2000" 'funciona bien xpsp3 Case "VISTA": sValue = "WINXPSP2 RUNASADMIN" Case "SEVEN": sValue = "WINXPSP2 RUNASADMIN" Case "NUEVA": sValue = "WINXPSP2 RUNASADMIN" End Select 'setear compatibilidad del AEJEE SaveString HKEY_CURRENT_USER, skey, spath, sValue End If End Function Marco A. Guevara 2011 Página 114 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Marco A. Guevara 2011 Página 115 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH 9. ANALISIS DE RESULTADOS En esta etapa se observaran los resultados, pero antes debemos decir que en la etapa anterior se colocaron imágenes de la construcción de rutinas para mostrar que estas funcionan correctamente. Ahora continuaremos con los resultados: La metodología a seguir es presentar las imágenes, en pasos de la ejecución del programa, desde que este se ejecuta hasta que se realizan los cálculos y se visualizan en 22AEJEE. Con respecto al 8AEJEE no se dará detalle de su uso. Pantalla de inicio del software CLESP en este momento no hay datos. 22 ArcExplorer java Edition for Education Marco A. Guevara 2011 Página 116 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Lo que prosigue es cargar el shape en el 8AEJEE como lo vemos en la imagen anterior. Marco A. Guevara 2011 Página 117 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Aquí Observamos los campos del shape cuando son cargado en nuestro programa. Lo que continúa es que el software haga lo que se pide que debe a hacer esto es haga los diferentes cálculos que son: a. Calcular la MDI b. Seleccionar las variables a analizar a partir de la MDI. He introducción de los valores de los pesos que se otorgaran por el especialista a esta variables respectivamente, c. Calcular los puntajes omega, zeta y sus ponderancias. d. Poder visualizarlos en 8AEJEE. 0.1 Calculo de la MDI. Marco A. Guevara 2011 Página 118 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH 9.2 Selección de variables 9.2 Calculo de valores de “z”. Marco A. Guevara 2011 Página 119 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH 9.4 Visualización de los cálculos. Como podemos observar, se realizan todos los cálculos y además se visualizan estos en 8AEJEE. Se hace ver que el nombre de las variables de la MDO es el que propuso el Doctor Buzai (BUZAI, 2003). Además se ha logrado incorporar el 8AEJEE dentro de la ventana del CLESP ver1.05. No hay límites en los campos de la dbf y los resultados se graban en el dbf del shape así que se pueden usar por cualquier otro visualizador de mapas que soporte este tipo de formato de shape´s. Con respecto a la manipulación de la visualización, se deja que se haga en 8AEJEE. Marco A. Guevara 2011 Página 120 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH 10. DISCUSIÓN DE RESULTADOS Con respecto a los resultados podemos observar que se han obtenido los resultados esperados esto es: Se abre una dbf en formato ANSI. Se lee su estructura y además se modifica estas para agregar los campos a calcular. Es independiente de la cantidad de registros usado por los campo, además los cálculos se hacen de forma rápida y sin mucha intervención del usuario. Pero lo más importante es que si se pueden desarrollar SADES y poder manejar con visualizadores gráficos libres. Marco A. Guevara 2011 Página 121 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH 11. CONCLUSIONES Y RECOMENDACIONES La conversión de un Sistema de Información Geográfica en un verdadero Sistema de ayuda a la decisión supone varios cambios y ampliaciones de las capacidades normales de un SIG: En el presente proyecto se desarrolló una metodología que pudiera servir como punto de partida para la obtención de productos (SADES) que faciliten la elaboración de estos. Con este proyecto se ha podido mostrar que es posible la realización de un SADE usando herramientas open source o free source. Se es posible poder desarrollar un SADE en las diferentes versiones de Windows de 32 bits y no tener las limitantes de la versión del sistema operativo a usar. Las variables utilizadas (campos) se obtuvieron de estudio que hizo el doctor Buzai (BUZAI, 2003), en la región latinoamericana, para poder usarla en otros regiones (anglosajona u otras), se da capacidad de reprogramar estas en el software por medio de un diccionario de formulas integrado en el software. Con respecto a los cálculos de los diferentes pesos se utilizó el método del algoritmo de MALCZEWSKI 1999 "método de ranking reciproco”. Lo cual es muy fácil de codificar. Para terminar decir que el futuro de este tipo de programas parece muy prometedor y que poco a poco irán apareciendo ejemplos en los campos geMarco A. Guevara 2011 Página 122 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH ográficos mas diversos. Con ello, seguramente, se conseguirá dar un nuevo paso en el acercamiento de las modernas herramientas de análisis a usuarios que hasta ahora han permanecido alejados de ellas. Los geógrafos y otros muchos profesionales tienen un campo importante de trabajo en esta tarea. Se recomienda actualizaciones en el software CLESP ver 1.05, estas co- mo ser reportes. Agregarles otros menús, como ser matriz de correlaciones y otros. Con respecto al instalador del software este detecta que tipo de Windows en 32 bits se esta ejecutando y configua el AJEE sin intervención del usuario. Marco A. Guevara 2011 Página 123 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH 12. BIBLIOGRAFIA ÁLVAREZ, M. E. (2001). El desafío de la pobreza. Bogotá, D. C. Fundación Social, Confederación Colombiana de ONG -CCONG- y Siglo del Hombre. ANSELIN. (1988). Heterogeneidad Geográfica de la Estructura Socioeconomica. ARIZA, F. M. (1993). Erosión en una cuenca. Modelización en un SIG, en 2º Congreso de AESIG. Madrid: AESIG/Estudio gráfico, pp. 545-556. ARMSTRONG, M. D. (1986). Architecture for a micro computer based decision support systems. New York. ARMSTRONG, M. P.; y otros (1991): "Decision support for regionalization: a spatial decision support system for regionalizing service delivery systems". Computers, Environment and Urban Systems, 15(1-2), pp 37-53. ARMSTRONG, M. P.; y otros (1991): "Decision support for regionalization: a spatial decision support system for regionalizing service delivery systems". Computers, Environment and Urban Systems, 15(1-2), pp 37-53. BARBA-ROMERO, S. y.-C. (1997). Decisiones Multicriterio. Fundamentos teóricos y utilización práctica. Madrid: Universidad de Alcalá de Henares. BARREDO CANO, J. (1996). Evaluación Multicriterio y Sistemas de Información Geográfica en la Ordenación del Territorio. Madrid: RA-MA, pp. 264. BARREDO CANO, J. y. (1999). Multicriteria evaluation methods for ordinal data in a GIS environment. Geographical Systems, nº 5, pp. 313-327. Marco A. Guevara 2011 Página 124 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH BATTY, M., & JIANG, B. (1999). Multi-agent simulation: new approaches to exploring space time dynamics wihin GIS. UCL. Londres, (http://www.casa.ucl.ac.uk/multi_agent.pdf): Centre for Advanced spatial analysis (CASA), Working paper series. BATTY, M.; YICHUN XIE (1994): "Modelling inside GIS: part 1. Model structures, exploratory spatial data analysis and aggregation" International Journal of eoaphical Information Systems . 8(3), pp 291-307. BIERMANN, S.M. (1999): "The Strategic Indentification of suitable Land for Low income Housing: A case study from South Africa" en J-C. Thill (editor): Spatial Multicriteria Decisión Making and Analysis. A geographic information sciences approach . Aldershot, Ashgate, pp. 199-221. BIESHEUVEL, A. y. (1993). Groundwater modelling and GIS: integrating MICRO-FEM and ILWIS. K. Kovar & H.P. Nachtnebel (editores): Application of Geographic Information Sustems in Hidrology and Water Resources Management Wallingford, IAHS Press, pp. 289-296. BLAT,-J.; DELGADO,-A.; RUIZ,-M.; SEGUI,-J.-M. (1995): "Designing multimedia GIS for territorial planning: the ParcBIT case". Environment and Planning B: Planning and Design 22(6), pp 665-678. BOSQUE SENDRA, J., Galve, A., Díaz, Mº A., Chicharro, E. y Escobar, F.J. (1992): "Datos perceptuales e individuales y el empleo de un SIG en el estudio de problemas sociales, su aplicación en la localización de equipamientos urbanos" Marco A. Guevara 2011 Página 125 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH .Comunicación al primer Congreso de la Asociación Española de Sistemas de Información Geográfica y Territorial, Madrid, abril de 1992. Publicada en Comunicaciones 1º Congreso AESIGYT, Los Sistemas de Información Geográfica en la gestión territorial Madrid, AESIGYT, 392-409. BOSQUE SENDRA, J. D. (1995). La información en Geografía humana. Algunos problemas de su tratamiento con un sistema de información geográfica (SIG). Anales de Geografía de la Universidad Complutense, nº 15, pp. 141-155 BOSQUE SENDRA, J. G. (1997). Valoración de los aspectos visuales del paisaje mediante la utilización de un sistema de información geográfica. Documents d'Anàlisi Geogràfica, nº 30, p. 19-38. BOSQUE SENDRA, J., GÓMEZ DELGADO, M., MORENO JIMÉNEZ, A. y DAL POZZO, F. (2000): "Hacia un Sistema de ayuda a la decisión espacial para la localización de equipamientos". Estudios geográficos BUZAI, G. D. (2003). Mapas Sociales Urbanos (1º ed.). Buenos Aires, Argentina. BUZAI, G. G. (2003). MAPAS SOCIALES URBANOS. CASTRO BARROS BUENOS AIRES: Lugar Editorial S.A . CARVER, S. (1999): "Developing Web-based GIS/MCE: Improving Access to Data and Spatial Decisión Support Tools" en J-C. Thill (editor): Spatial Multicriteria Decisión Making and Analysis. A geographic information sciences approach . Aldershot, Ashgate, pp. 49-76. Marco A. Guevara 2011 Página 126 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH CHAIRAT, S. y. (1993). Integrating a physically based hydrological model. K. Kovar & H.P. Nachtnebel (editores): Application of Geographic Information Sustems in Hidrology and Water Resources Management Wallingford, IAHS Press, pp. 143-150. CLAYTON, D. y. (1999). Spatial Multicriteria Decision Making and Analysis. J-c Thill. DANIEL FERNÁNDEZ LAVÍN “Universidad De Oviedo Trabajo de Investigación Junio 2004. Director Aquilino A. JUAN FUENTE Departamento de Informática EASTMAN, J. y. (1993a). GIS and Decisión Making. Explorations in Geographic Information Systems Technology. Vol. 4 . Ginebra: UNITAR European Office, 112 p. (3 discos).FEDRA, K. (1993). GIS and Enviromentent Modelling. FEDRA, K. (1996): "Distributed Models and Embedded GIS: Integration Strategies and case studies" en GOODCHILD, M.F., STEYAERT, L.T. y PARKS, B.O. (Editores): GIS and Environmental Modeling. Fort Collins, GIS World Books, pp. 413-418. GETIS, A. Y. (1993). Spatial Statistical analisys and Geographic information Systems. Fishers y P. Nijkamp. GOODCHILD, M.F., PARKS, B.O. y STEYAERT, L.T. (Editores) (1993): Environmental Modeling with GIS Nueva York, Oxford University Press, 488 p. Marco A. Guevara 2011 Página 127 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH GOODCHILD, M.F., STEYAERT, L.T. y PARKS, B.O. (Editores) (1996): GIS and Environmental Modeling: Progress and Research Issues Fort Collins, CO., GIS World Books, 486 p HENINGER, S. Y. (2002 Y 2003). interactiva, L. t. (1998). Process Modeling and Simulation JANSSEN, R.; RIETVELD, P. (1990): "Multicriteria analysis and geographical information systems: an application to agricultural land use in the Netherlands". en Scholten,-H.J. y Stillwell,-J.C.H. (editores): Geographical information systems for urban and regional planning . Kluwer; GeoJournal Library, 17, pp 129-139. J., J. N. (DICIEMBRE DE 2002). Determinantes de la pobreza en Colombia. Proyecto “Apoyo a la implementación de un sistema de indicadores de desarrollo sostenible” . JOHNSTON, C. (1993). Introduction to Quantitative Methods and Modeling in Community, Population, and Landscape Ecology. GOODCHILD, M.F., PARKS, B.O. y STEYAERT: L.T. (Editores): Environmental Modeling with GIS Nueva York, Oxford University Press, pp. 276-283. LAVIN, D. F. (JUNIO DE 2004). Desarrollo de una metodología para un nuevo paradigma del desarrollo de software. Lenguajes y Sistemas Informaticos. www.di.uniovi.es/~dflanvin/home/?download=pi-lanvin.pd , 87. MALCZEWSKI. (1999). GIS and Multiciteria decision analisis. New York: J. Wiley, 392p. Marco A. Guevara 2011 Página 128 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH MALCZEWSKI, J. :. ((1996)). "A GIS-based approach to multiple criteria group decision-making" . MALCZEWSKI, J. (1999). GIS and multicreteria decision Support Systems. MALCZEWSKI, J. (1997). GIS and multicriteria decision analysis. New York: J. Wiley. MALCZEWSKI, J. (1997). Spatial Decision Support Systems. MATTEUCCI, S.D. (1998): "La cuantificación de la estructura del paisaje" en Silvia D. Mateucci y Gustavo D. Buzai (compiladores): Sistemas ambientales complejos: herramientas de análisis espacial . Buenos Aires, EUDEBA, pp. 271-292. MENDES, J.F.G.; SILVA, J.M.F. (1996): "Landfill facilities siting using GIS". Pennsylvania-Geographer . 34/1, 24-40. MITASOVA, H. y. (1998). Process Modeling and Simulation. NCGIA,Core Curriculum en GIScience, http://www.ncgia.ucsb.edu/giscc/units/u130/u130.html. MORELLO, J. Y OTROS (1998): "Aplicación de la tecnología SIG para el análisis del soporte biofísico en áreas metropolitanas como herramienta de planificación. El caso de Buenos Aires" en Silvia D. Mateucci y Gustavo D. Buzai (compiladores): Sistemas ambientales complejos: herramientas de análisis espacial . Buenos Aires, EUDEBA, pp. 409-424. Marco A. Guevara 2011 Página 129 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH MORIN, D. M. (1999): "GDSS in Highway Planning: their Use and adoption" en J-C. Thill (editor): Spatial Multicriteria Decisión Making and Analysis. A geographic information sciences approach . Aldershot, Ashgate, pp. 149-174. NEDOVIC-BUDIC, H. B. (2003). Desigualdades intra-urbanas en São Paulo, Brasil. DIMENSION ESPACIAL DE LA POBRESA EN COLOMBIA . NEDOVIC-BUDIC, H. Y. (2003). DIMENSION ESPACIAL DE LA POBRESA EN COLOMBIA. OTROS, B. S. (2000). Hacia un Sistema de ayuda a la decisión espacial para la localización deequipamientos. Estudios geográficos . PERLES ROSELLÓ, M. (1997). Medir la erosión: fragilidad erosiva en el Valle del Río. Malaga, Diputación provincial: Servicio de publicaciones. 226 p. REIF, Benjamin (1978): Modelos en la planificación de ciudades y regiones . Madrid, I.E.A.L., 422 p. R.H. SPRAGUE, J. A. (1992). Building Effective Decision Support Systems. Englewood: Prentice-Hall. ROMERO, C. ( (1993):). Teoría de la decisión multicriterio: conceptos, técnicas y aplicaciones. Madrid: Alianza editorial. ROMERO, C. (1993). Teoría de la Decisión Multicriterio: Conceptos, técnicas y aplicaciones. Madrid: Alianza Universidad Textos. Marco A. Guevara 2011 Página 130 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH SAMPER, J. y. (1990). Geoestadística. Aplicaciones a la hidrología subterránea. Barcelona: Centro Internacional de Métodos Numéricos en Ingeniería, 484 p. SÁNCHES, N. Y. (1999). Determinantes de la pobreza urbana. SENDRA, J. B. (2001). Planificación y Gestión del Territorio. Madrid, España: Universidad de Alcala. SENDRA, J. B. (2001). PLANIFICACIÓN Y GESTIÓN DEL TERRITORIO De los SIG a los Sistemas de ayuda a la decisión espacial (SADE). Publicado en El Campo de las Ciencias y las Artes, Madrid, España , pp. 137-174. SIMON, H. A. (1957). Administrative Behavior, 2ª edición. New York: macmillan. SIMON, H. A. (1960). The New Science of Management Decision . SERRA DEL POZO, PAU (1996): Analisis espacial y modelos urbanos en el entorno SIG", Ciudad y territorio. Estudios territoriales , vol. 110, pp. 785-799 SPRAGUE, J. R. (1996). Decision support for management Upper. N.J.: Prentice Hall. TEUBNER, F.J. (1998): "Definición de zonificaciones ambientales costeras mediante la aplicación de tecnologías de SIG" en Silvia D. Mateucci y Gustavo D. Buzai (compiladores): Sistemas ambientales complejos: herramientas de análisis espacial . Buenos Aires, EUDEBA, pp. 377-390. Marco A. Guevara 2011 Página 131 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH PUEYO CAMPOS, ANGEL (1991): "El Sistema de informacion geografica: un instrumento para la planificacion y gestion urbana", GEOGRAPHICALIA , vol. 28, pp. 175-192 Marco A. Guevara 2011 Página 132 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH 10. Marco A. Guevara 2011 ANEXOS Página 133 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH ANEXO I Estructura del Archivo XML que salva el proyecto A continuación mostramos como definimos la estructura del archivo en donde se salva el proyecto que se está analizando. <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?> <CLESP_XML> <ARCHIVO name="C:\DataGeo\Est-Lujan1.axl"/> <LAYER name="lujan-msu"/> <SELECCION> <VAR name="POB_TOT" ck="0" vip="2" peso="0.1154"/> <VAR name="POB_VAR" ck="0" vip="1" peso="0.2308"/> <VAR name="POB_MUJ" ck="0" vip="1" peso="0.2308"/> <VAR name="NBI_VIV" ck="0" vip="3" peso="0.0769"/> <VAR name="HAB_CASA" ck="0" vip="1" peso="0.2308"/> <VAR name="HAB_DEP" ck="1" vip="2" peso="0.1154"/> </SELECCION> <DESCRIP name="Estudio Primario para demostración del software, al exportar el proyecto obtendremos los resultados en un nuevo layer, para poder hacer presentaciones especificas a este análisis."/> <PROJECT name="lujan412" ubic="F:\CLESP\FUENTES\Works" exportTo="1"/> </CLESP_XML> ANEXO II Estructura del Archivo AXL de AEJEE Esta estructura es creada por el AEJEE cuando salva un proyecto. <!--Extended version of ArcXML generated by MapObjects - Java Edition v2.3.2 Build 1413.2212 --> <?xml version="1.0" encoding="UTF-8" ?> <ARCXML version="1.1"> <CONFIG> <ENVIRONMENT> <LOCALE language="es" country="HN"/> <UIFONT name="Dialog"/> <SCREEN dpi="96"/> <SEPARATORS/> </ENVIRONMENT> <LAYOUT> <DATAFRAME> <MAPELEMENT active="true" dataview="true" name="Layers" id="2"> <PROPERTIES position="0" dominant="false" shownames="false" preserveaspectratio="false"/> <ENVELOPE x="60.0" y="60.0" width="100.0" height="100.0"/> <MAP> <PROPERTIES> <ENVELOPE minx="5577231.872481799" miny="6170855.769931552" maxx="5584172.348017291" maxy="6179633.858651122" reaspect="false"/> Marco A. Guevara 2011 Página 134 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH <MAPUNITS units="Decimal Degrees"/> </PROPERTIES> <FOLDERS> <FOLDER name="ws-0" type="shapefile"> <ATTRIBUTE name="directory" value="C:\DataGeo"/> </FOLDER> <FOLDER name="ws-1" type="shapefile"> <ATTRIBUTE name="directory" value="F:\geotesis_f\FUENTES\Works"/> </FOLDER> </FOLDERS> <LAYER name="lujan-msu" id="0" type="featureclass"> <DATASET workspace="ws-0" name="lujan-msu" type="polygon"/> <VALUEMAPRENDERER lookupfield="POB_TOT"> <RANGE label="Less than 657.0" lower="108.0" upper="657.0"> <SIMPLEPOLYGONSYMBOL fillcolor="255,255,0" boundarycaptype="round"/> </RANGE> <RANGE label="657.0 - 1206.0" lower="657.0" upper="1206.0"> <SIMPLEPOLYGONSYMBOL fillcolor="255,192,0" boundarycaptype="round"/> </RANGE> <RANGE label="1206.0 - 1755.0" lower="1206.0" upper="1755.0"> <SIMPLEPOLYGONSYMBOL fillcolor="255,128,0" boundarycaptype="round"/> </RANGE> <RANGE label="1755.0 - 2304.0" lower="1755.0" upper="2304.0"> <SIMPLEPOLYGONSYMBOL fillcolor="255,64,0" boundarycaptype="round"/> </RANGE> <RANGE label="2304.0 and Greater" lower="2304.0" upper="2853.0" equality="all"> <SIMPLEPOLYGONSYMBOL fillcolor="255,0,0" boundarycaptype="round"/> </RANGE> </VALUEMAPRENDERER> </LAYER> <LAYER name="lujan-msu_mdi" id="1" type="featureclass"> <DATASET workspace="ws-1" name="lujanmsu_mdi" type="polygon"/> <SIMPLERENDERER> <SIMPLEPOLYGONSYMBOL fillcolor="218,230,219" boundarycaptype="round"/> </SIMPLERENDERER> </LAYER> </MAP> Marco A. Guevara 2011 Página 135 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH </MAPELEMENT> </DATAFRAME> </LAYOUT> </CONFIG> </ARCXML> ANEXO III Código Fuente del CLESP frmAbout.frm VERSION 5.00 Begin VB.Form frmAbout BorderStyle = 0 'None Caption = "Acerca de" ClientHeight = 7455 ClientLeft = 2295 ClientTop = 1500 Marco A. Guevara 2011 Página 136 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH ClientWidth = 6315 ClipControls = 0 'False Icon = "frmAbout.frx":0000 LinkTopic = "Form2" LockControls = -1 'True MaxButton = 0 'False MinButton = 0 'False ScaleHeight = 5145.574 ScaleMode = 0 'User ScaleWidth = 5930.111 ShowInTaskbar = 0 'False StartUpPosition = 2 'CenterScreen Begin VB.CommandButton cmdOK Cancel = -1 'True Caption = "Aceptar" Default = -1 'True Height = 465 Left = 4440 TabIndex = 0 Top = 6225 Width = 1500 End Begin VB.Label Label14 BackStyle = 0 'Transparent Caption = "Universidad Nacional Autónoma de Honduras" Height = 255 Left = 480 TabIndex = 18 Top = 4320 Width = 3255 End Begin VB.Label Label13 BackStyle = 0 'Transparent Caption = "Universidad Nacional Autónoma de Honduras" Height = 255 Left = 480 TabIndex = 17 Top = 5160 Width = 3255 End Begin VB.Label Label12 BackStyle = 0 'Transparent Caption = "Repúbliica de Argentina" Height = 255 Left = 480 TabIndex = 16 Top = 3120 Width = 2295 End Begin VB.Image Image2 BorderStyle = 1 'Fixed Single Height = 1575 Left = 3840 Marco A. Guevara 2011 Página 137 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Picture = "frmAbout.frx":0442 Stretch = -1 'True Top = 3720 Width = 1635 End Begin VB.Image Image1 Appearance = 0 'Flat Height = 495 Left = 600 Picture = "frmAbout.frx":1FA9 Stretch = -1 'True Top = 261 Width = 555 End Begin VB.Label Label11 BackStyle = 0 'Transparent Caption = "Email: [email protected]" Height = 255 Left = 480 TabIndex = 15 Top = 5640 Width = 5055 End Begin VB.Label Label10 BackStyle = 0 'Transparent Caption = "Microsoft (MCSD)" Height = 255 Left = 480 TabIndex = 14 Top = 5400 Width = 5055 End Begin VB.Label Label9 BackStyle = 0 'Transparent Caption = "Ing. Francisco Edgardo Macias (IM)" ForeColor = &H00C00000& Height = 255 Left = 360 TabIndex = 13 Top = 4920 Width = 5055 End Begin VB.Label Label8 BackStyle = 0 'Transparent Caption = "Email: [email protected]" Height = 255 Left = 480 TabIndex = 12 Top = 4560 Width = 5535 End Begin VB.Label Label7 BackStyle = 0 'Transparent Marco A. Guevara 2011 Página 138 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Caption = "Ing. Marco Antonio Guevara (IE)" ForeColor = &H00C00000& Height = 255 Left = 360 TabIndex = 11 Top = 4080 Width = 5055 End Begin VB.Label Label6 BackStyle = 0 'Transparent Caption = "Email: [email protected]" Height = 255 Left = 480 TabIndex = 10 Top = 3600 Width = 5055 End Begin VB.Label Label5 BackStyle = 0 'Transparent Caption = "Web: www.gesig-proeg.com.ar" Height = 255 Left = 480 TabIndex = 9 Top = 3360 Width = 5055 End Begin VB.Label Label4 BackStyle = 0 'Transparent Caption = "Profesor Universidad Nacional de Luján Programa de Estudios Geográficos" Height = 255 Left = 360 TabIndex = 8 Top = 2880 Width = 5535 End Begin VB.Label Label3 BackStyle = 0 'Transparent Caption = "Dr. Gustavo D. Buzai" ForeColor = &H00C00000& Height = 255 Left = 360 TabIndex = 7 Top = 2640 Width = 5055 End Begin VB.Label Label2 BackStyle = 0 'Transparent Caption = "Agradecimientos a:" ForeColor = &H000000C0& Height = 225 Left = 360 TabIndex = 6 Top = 2400 Marco A. Guevara 2011 Página 139 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Width = 1575 End Begin VB.Label Label1 BackStyle = 0 'Transparent Caption = "(c) 2010,2011 Honduware, Tegucigalpa, Honduras C.A." ForeColor = &H00000000& Height = 225 Left = 360 TabIndex = 5 Top = 6720 Width = 5535 End Begin VB.Line Line1 BorderColor = &H00808080& BorderStyle = 6 'Inside Solid Index = 1 X1 = 309.887 X2 = 5534.77 Y1 = 4172.367 Y2 = 4172.367 End Begin VB.Label lblDescription BackStyle = 0 'Transparent Caption = $"frmAbout.frx":427D ForeColor = &H00000000& Height = 1170 Left = 690 TabIndex = 1 Top = 1365 Width = 4725 End Begin VB.Label lblTitle BackStyle = 0 'Transparent Caption = "Título de la aplicación" BeginProperty Font Name = "MS Sans Serif" Size = 13.5 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty ForeColor = &H00000000& Height = 480 Left = 2760 TabIndex = 3 Top = 240 Width = 3165 End Begin VB.Line Line1 BorderColor = &H00FFFFFF& BorderWidth = 2 Marco A. Guevara 2011 Página 140 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Index = 0 X1 = 323.973 X2 = 5534.77 Y1 = 4182.72 Y2 = 4182.72 End Begin VB.Label lblVersion BackStyle = 0 'Transparent Caption = "Versión" Height = 225 Left = 2880 TabIndex = 4 Top = 600 Width = 1965 End Begin VB.Label lblDisclaimer BackStyle = 0 'Transparent Caption = "Advertencia: ...Este programa es estrictamente para uso educativo" ForeColor = &H00000000& Height = 465 Left = 360 TabIndex = 2 Top = 6225 Width = 3870 End Begin VB.Image Image3 Height = 7455 Left = 0 Picture = "frmAbout.frx":4366 Stretch = -1 'True Top = 0 Width = 6330 End End Attribute VB_Name = "frmAbout" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = False Attribute VB_PredeclaredId = True Attribute VB_Exposed = False Option Explicit Private Sub cmdOK_Click() Unload Me End Sub Private Sub Form_Load() Me.Caption = "Acerca de " & App.Title lblVersion.Caption = "Versión " & App.Major & "." & App.Minor & "." & App.Revision lblTitle.Caption = App.Title End Sub Marco A. Guevara 2011 Página 141 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH frmSplash.frm VERSION 5.00 Begin VB.Form frmSplash BorderStyle = 3 'Fixed Dialog ClientHeight = 4335 ClientLeft = 255 ClientTop = 1410 ClientWidth = 7380 ClipControls = 0 'False ControlBox = 0 'False Icon = "frmSplash.frx":0000 KeyPreview = -1 'True LinkTopic = "Form2" LockControls = -1 'True MaxButton = 0 'False MinButton = 0 'False ScaleHeight = 4335 ScaleWidth = 7380 ShowInTaskbar = 0 'False StartUpPosition = 2 'CenterScreen Begin VB.Timer Timer1 Interval = 5000 Left = 0 Top = 0 End Begin VB.Label lblCompanyProduct AutoSize = -1 'True BackStyle = 0 'Transparent Marco A. Guevara 2011 Página 142 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Caption = "Clasificacion Espacial" BeginProperty Font Name = "Arial" Size = 18 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 435 Left = 2835 TabIndex = 7 Top = 705 Width = 3780 End Begin VB.Label lblLicenseTo Alignment = 1 'Right Justify BackStyle = 0 'Transparent Caption = "Autorizado a: Dominio Publico." BeginProperty Font Name = "Arial" Size = 8.25 Charset = 0 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty ForeColor = &H0080FFFF& Height = 255 Left = 240 TabIndex = 6 Top = 240 Width = 6855 End Begin VB.Label lblProductName AutoSize = -1 'True BackStyle = 0 'Transparent Caption = "CLESP" BeginProperty Font Name = "Arial" Size = 32.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 765 Left = 3000 TabIndex = 5 Top = 1140 Marco A. Guevara 2011 Página 143 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Width = 2160 End Begin VB.Label lblPlatform Alignment = 1 'Right Justify AutoSize = -1 'True BackStyle = 0 'Transparent Caption = "Windows" BeginProperty Font Name = "Arial" Size = 15.75 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 360 Left = 5595 TabIndex = 4 Top = 2340 Width = 1380 End Begin VB.Label lblVersion Alignment = 1 'Right Justify AutoSize = -1 'True BackStyle = 0 'Transparent Caption = "Versión" BeginProperty Font Name = "Arial" Size = 12 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 285 Left = 6090 TabIndex = 3 Top = 2700 Width = 885 End Begin VB.Label lblWarning BackStyle = 0 'Transparent Caption = "El uso de esta aplicación es estrictamente educativo." BeginProperty Font Name = "Arial" Size = 8.25 Charset = 0 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False Marco A. Guevara 2011 Página 144 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH EndProperty Height = 195 Left = 720 TabIndex = 2 Top = 3660 Width = 6255 End Begin VB.Label lblCompany BackStyle = 0 'Transparent Caption = "MAGSoft" BeginProperty Font Name = "Arial" Size = 8.25 Charset = 0 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 255 Left = 4680 TabIndex = 1 Top = 3270 Width = 2415 End Begin VB.Label lblCopyright BackStyle = 0 'Transparent Caption = "Copyright (c) 2011" BeginProperty Font Name = "Arial" Size = 8.25 Charset = 0 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 255 Left = 4680 TabIndex = 0 Top = 3060 Width = 2415 End Begin VB.Image imgLogo BorderStyle = 1 'Fixed Single Height = 2385 Left = 480 Picture = "frmSplash.frx":000C Stretch = -1 'True Top = 840 Width = 2175 End Begin VB.Image Image1 Marco A. Guevara 2011 Página 145 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Height = 4335 Left = 0 Picture = "frmSplash.frx":5F72 Stretch = -1 'True Top = 0 Width = 7455 End End Attribute VB_Name = "frmSplash" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = False Attribute VB_PredeclaredId = True Attribute VB_Exposed = False Option Explicit Private Sub Form_KeyPress(KeyAscii As Integer) Unload Me frmOne.Show End Sub Private Sub Form_Load() lblVersion.Caption = "Versión " & App.Major & "." & App.Minor & "." & App.Revision lblProductName.Caption = App.Title End Sub Private Sub Frame1_Click() Unload Me frmOne.Show End Sub Private Sub Timer1_Timer() Frame1_Click End Sub Marco A. Guevara 2011 Página 146 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH frmMDI.frm VERSION 5.00 Object = "{CDE57A40-8B86-11D0-B3C6-00A0C90AEA82}#1.0#0"; "MSDATGRD.OCX" Begin VB.Form frmMDI BackColor = &H00008080& BorderStyle = 1 'Fixed Single Caption = "Definición de Variables de Matriz de Índices" ClientHeight = 7935 ClientLeft = 45 ClientTop = 435 ClientWidth = 10590 Icon = "frmMDI.frx":0000 LinkTopic = "Form1" MaxButton = 0 'False MinButton = 0 'False ScaleHeight = 529 ScaleMode = 3 'Pixel ScaleWidth = 706 StartUpPosition = 1 'CenterOwner Begin VB.CommandButton cmdOk Caption = "&Aceptar" Marco A. Guevara 2011 Página 147 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Height = 375 Left = 5400 TabIndex = 2 Top = 7320 Width = 1215 End Begin VB.CommandButton cmdSalir Caption = "&Salir" Height = 375 Left = 3960 TabIndex = 1 Top = 7320 Width = 1215 End Begin MSDataGridLib.DataGrid gridMDI Height = 6975 Left = 120 TabIndex = 0 Top = 120 Width = 10335 _ExtentX = 18230 _ExtentY = 12303 _Version = 393216 AllowUpdate = -1 'True BackColor = 12632064 HeadLines = 2 RowHeight = 15 TabAction = 2 FormatLocked = -1 'True AllowAddNew = -1 'True AllowDelete = -1 'True BeginProperty HeadFont {0BE35203-8F91-11CE-9DE3-00AA004BB851} Name = "MS Sans Serif" Size = 9.75 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty ColumnCount = 4 BeginProperty Column00 DataField = "num" Caption = "##" Marco A. Guevara 2011 Página 148 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH BeginProperty DataFormat {6D835690-900B-11D0-9484-00A0C91110ED} Type = 0 Format = "0.00000" HaveTrueFalseNull= 0 FirstDayOfWeek = 0 FirstWeekOfYear = 0 LCID = 18442 SubFormatType = 0 EndProperty EndProperty BeginProperty Column01 DataField = "mdi" Caption = "Variable" BeginProperty DataFormat {6D835690-900B-11D0-9484-00A0C91110ED} Type = 0 Format = "" HaveTrueFalseNull= 0 FirstDayOfWeek = 0 FirstWeekOfYear = 0 LCID = 18442 SubFormatType = 0 EndProperty EndProperty BeginProperty Column02 DataField = "descrip" Caption = "Descripcion" BeginProperty DataFormat {6D835690-900B-11D0-9484-00A0C91110ED} Type = 0 Format = "" HaveTrueFalseNull= 0 FirstDayOfWeek = 0 FirstWeekOfYear = 0 LCID = 18442 SubFormatType = 0 EndProperty EndProperty BeginProperty Column03 DataField = "formula" Caption = "Formula" BeginProperty DataFormat {6D835690-900B-11D0-9484-00A0C91110ED} Type = 0 Format = "" HaveTrueFalseNull= 0 FirstDayOfWeek = 0 FirstWeekOfYear = 0 LCID = 18442 SubFormatType = 0 EndProperty EndProperty SplitCount = 1 BeginProperty Split0 BeginProperty Column00 ColumnAllowSizing= 0 'False Marco A. Guevara 2011 Página 149 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH ColumnWidth = 65.008 EndProperty BeginProperty Column01 ColumnWidth = 111.005 EndProperty BeginProperty Column02 ColumnWidth = 244.989 EndProperty BeginProperty Column03 ColumnWidth = 248.013 EndProperty EndProperty End End Attribute VB_Name = "frmMDI" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = False Attribute VB_PredeclaredId = True Attribute VB_Exposed = False Option Explicit Dim rs As ADODB.Recordset Private Sub cmdOK_Click() On Error Resume Next Unload Me End Sub Private Sub cmdSalir_Click() On Error Resume Next rs.CancelUpdate Unload Me End Sub Private Sub Form_Load() Set rs = Nothing Set rs = New ADODB.Recordset rs.Open "SELECT * FROM indices ;", cn2, adOpenStatic, adLockOptimistic, adCmdText Set gridMDI.DataSource = rs End Sub Private Sub gridMDI_AfterDelete() gridMDI.ReBind End Sub Marco A. Guevara 2011 Página 150 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH frmOne.frm VERSION 5.00 Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX" Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0"; "COMDLG32.OCX" Object = "{BDC217C8-ED16-11CD-956C-0000C04E4C0A}#1.1#0"; "TABCTL32.OCX" Object = "{CDE57A40-8B86-11D0-B3C6-00A0C90AEA82}#1.0#0"; "MSDATGRD.OCX" Object = "{38911DA0-E448-11D0-84A3-00DD01104159}#1.1#0"; "COMCT332.OCX" Object = "{6B7E6392-850A-101B-AFC0-4210102A8DA7}#1.3#0"; "comctl32.ocx" Begin VB.Form frmOne BackColor = &H00C0C000& Caption = "CLESP-Clasificacion Espacial" ClientHeight = 9810 ClientLeft = 165 ClientTop = 555 ClientWidth = 14775 Icon = "frmOne.frx":0000 LinkTopic = "Form1" LockControls = -1 'True MaxButton = 0 'False ScaleHeight = 654 ScaleMode = 3 'Pixel ScaleWidth = 985 StartUpPosition = 2 'CenterScreen Begin VB.CommandButton cmdMakeMDI Caption = ">MDI" BeginProperty Font Name = "MS Serif" Marco A. Guevara 2011 Página 151 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Size = 6.75 Charset = 0 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 390 Left = 3165 TabIndex = 39 ToolTipText = "Crea la Matriz de Datos Indice a partir de la Matriz de Datos del Layer Seleccionado" Top = 2100 Width = 525 End Begin VB.CommandButton cmdClear Caption = "<" BeginProperty Font Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 375 Left = 3165 TabIndex = 31 ToolTipText = "Deselecionar la variable elegida" Top = 8880 Width = 495 End Begin VB.CommandButton cmdRef Caption = ".." Height = 315 Left = 3840 TabIndex = 9 ToolTipText = "Lee Memoria para encontrar el AEJEE si se encuentra en ejecucion" Top = 720 Width = 375 End Begin MSComctlLib.ProgressBar ProgressBar1 Height = 255 Left = 9720 TabIndex = 8 Top = 9480 Visible = 0 'False Width = 4815 _ExtentX = 8493 _ExtentY = 450 _Version = 393216 Appearance = 0 End Marco A. Guevara 2011 Página 152 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Begin VB.CommandButton cmdSend Caption = ">>" BeginProperty Font Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 375 Left = 3165 TabIndex = 7 ToolTipText = "Enviar a campos seleccionados a la nueva tabla, para nuevas variables" Top = 5640 Width = 495 End Begin VB.Timer Timer1 Interval = 1000 Left = 3360 Top = 840 End Begin VB.ComboBox cmbProy BackColor = &H00FFC0C0& Height = 315 Left = 120 Style = 2 'Dropdown List TabIndex = 5 ToolTipText = "Elija el Proyecto de AEJEE a utilizar" Top = 720 Width = 3615 End Begin MSComctlLib.StatusBar StatusBar1 Align = 2 'Align Bottom Height = 495 Left = 0 TabIndex = 1 ToolTipText = "Estatus de la operación realizada" Top = 9315 Width = 14775 _ExtentX = 26061 _ExtentY = 873 Style = 1 _Version = 393216 BeginProperty Panels {8E3867A5-8586-11D1-B16A-00C0F0283628} NumPanels = 1 BeginProperty Panel1 {8E3867AB-8586-11D1-B16A-00C0F0283628} EndProperty EndProperty BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} Name = "MS Sans Serif" Size = 9.75 Marco A. Guevara 2011 Página 153 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty End Begin MSComctlLib.ListView LvBase Height = 5655 Left = 120 TabIndex = 0 ToolTipText = "Campos a Seleccionar" Top = 3600 Width = 3015 _ExtentX = 5318 _ExtentY = 9975 View = 3 LabelEdit = 1 MultiSelect = -1 'True LabelWrap = -1 'True HideSelection = 0 'False FullRowSelect = -1 'True GridLines = -1 'True PictureAlignment= 5 _Version = 393217 ForeColor = 192 BackColor = 16761024 BorderStyle = 1 Appearance = 1 BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} Name = "Tahoma" Size = 9 Charset = 0 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty NumItems = 3 BeginProperty ColumnHeader(1) {BDD1F052-858B-11D1-B16A-00C0F0283628} Key = "campo" Text = "VARIABLES" Object.Width = 4586 EndProperty BeginProperty ColumnHeader(2) {BDD1F052-858B-11D1-B16A-00C0F0283628} SubItemIndex = 1 Key = "l" Text = "L" Object.Width = 2 EndProperty BeginProperty ColumnHeader(3) {BDD1F052-858B-11D1-B16A-00C0F0283628} SubItemIndex = 2 Key = "a" Marco A. Guevara 2011 Página 154 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Text = "A" Object.Width = 2 EndProperty End Begin MSComctlLib.ListView LvLayers Height = 2175 Left = 120 TabIndex = 3 ToolTipText = "Layers del Proyecto" Top = 1320 Width = 3015 _ExtentX = 5318 _ExtentY = 3836 View = 3 LabelEdit = 1 LabelWrap = -1 'True HideSelection = 0 'False FullRowSelect = -1 'True GridLines = -1 'True PictureAlignment= 5 _Version = 393217 ForeColor = 192 BackColor = 16761024 BorderStyle = 1 Appearance = 1 BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} Name = "Tahoma" Size = 9 Charset = 0 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty NumItems = 6 BeginProperty ColumnHeader(1) {BDD1F052-858B-11D1-B16A-00C0F0283628} Key = "desc" Text = "Nombre" Object.Width = 2540 EndProperty BeginProperty ColumnHeader(2) {BDD1F052-858B-11D1-B16A-00C0F0283628} SubItemIndex = 1 Key = "data" Text = "DataBase" Object.Width = 2540 EndProperty BeginProperty ColumnHeader(3) {BDD1F052-858B-11D1-B16A-00C0F0283628} SubItemIndex = 2 Key = "id" Text = "id" Object.Width = 0 EndProperty Marco A. Guevara 2011 Página 155 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH BeginProperty ColumnHeader(4) {BDD1F052-858B-11D1-B16A-00C0F0283628} SubItemIndex = 3 Key = "ws" Text = "ws" Object.Width = 0 EndProperty BeginProperty ColumnHeader(5) {BDD1F052-858B-11D1-B16A-00C0F0283628} SubItemIndex = 4 Key = "path" Text = "Path" Object.Width = 0 EndProperty BeginProperty ColumnHeader(6) {BDD1F052-858B-11D1-B16A-00C0F0283628} SubItemIndex = 5 Key = "txt" Text = "texto" Object.Width = 0 EndProperty End Begin TabDlg.SSTab SSTab1 Height = 8175 Left = 3720 TabIndex = 10 ToolTipText = "Fases del Programa" Top = 1080 Width = 10935 _ExtentX = 19288 _ExtentY = 14420 _Version = 393216 Tabs = 6 TabsPerRow = 6 TabHeight = 520 BackColor = 12632064 ForeColor = 12582912 TabCaption(0) = "&General" TabPicture(0) = "frmOne.frx":628A Tab(0).ControlEnabled= -1 'True Tab(0).Control(0)= "pic1" Tab(0).Control(0).Enabled= 0 'False Tab(0).ControlCount= 1 TabCaption(1) = "&Resultados" TabPicture(1) = "frmOne.frx":62A6 Tab(1).ControlEnabled= 0 'False Tab(1).Control(0)= "grid" Tab(1).ControlCount= 1 TabCaption(2) = "&Otras Tablas" TabPicture(2) = "frmOne.frx":62C2 Tab(2).ControlEnabled= 0 'False Tab(2).Control(0)= "cmdCloseExtras" Tab(2).Control(0).Enabled= 0 'False Tab(2).Control(1)= "Cd" Tab(2).Control(1).Enabled= 0 'False Tab(2).Control(2)= "txtFile" Marco A. Guevara 2011 Página 156 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Tab(2).Control(2).Enabled= 0 'False Tab(2).Control(3)= "cmdFile" Tab(2).Control(3).Enabled= 0 'False Tab(2).Control(4)= "Grid2" Tab(2).Control(4).Enabled= 0 'False Tab(2).Control(5)= "Label5" Tab(2).Control(5).Enabled= 0 'False Tab(2).ControlCount= 6 TabCaption(3) = "&Attach-AEJEE" TabPicture(3) = "frmOne.frx":62DE Tab(3).ControlEnabled= 0 'False Tab(3).Control(0)= "picAejee" Tab(3).ControlCount= 1 TabCaption(4) = "Vars. &Indices (MDI)" TabPicture(4) = "frmOne.frx":62FA Tab(4).ControlEnabled= 0 'False Tab(4).Control(0)= "LVIndices" Tab(4).ControlCount= 1 TabCaption(5) = "&Datos" TabPicture(5) = "frmOne.frx":6316 Tab(5).ControlEnabled= 0 'False Tab(5).Control(0)= "Picture2" Tab(5).ControlCount= 1 Begin VB.PictureBox Picture2 BackColor = &H00FFC0C0& Height = 7695 Left = -74880 ScaleHeight = 509 ScaleMode = 3 'Pixel ScaleWidth = 709 TabIndex = 40 ToolTipText = "Aqui debería estar el AEJEE si se atacho" Top = 380 Width = 10695 Begin MSDataGridLib.DataGrid gridDATA Height = 7575 Left = 0 TabIndex = 41 ToolTipText = "Tabla de Resultados, Nuevas variables y sus valores" Top = 0 Width = 10575 _ExtentX = 18653 _ExtentY = 13361 _Version = 393216 AllowUpdate = 0 'False AllowArrows = 0 'False Appearance = 0 BackColor = 16761024 ForeColor = 12582912 HeadLines = 1 RowHeight = 15 BeginProperty HeadFont {0BE35203-8F91-11CE-9DE3-00AA004BB851} Name = "MS Sans Serif" Marco A. Guevara 2011 Página 157 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Size = 8.25 Charset = 0 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Caption = "Datos del Layer Activo" ColumnCount = 2 BeginProperty Column00 DataField = "" Caption = "" BeginProperty DataFormat {6D835690-900B-11D0-9484-00A0C91110ED} Type = 0 Format = "" HaveTrueFalseNull= 0 FirstDayOfWeek = 0 FirstWeekOfYear = 0 LCID = 18442 SubFormatType = 0 EndProperty EndProperty BeginProperty Column01 DataField = "" Caption = "" BeginProperty DataFormat {6D835690-900B-11D0-9484-00A0C91110ED} Type = 0 Format = "" HaveTrueFalseNull= 0 FirstDayOfWeek = 0 FirstWeekOfYear = 0 LCID = 18442 SubFormatType = 0 EndProperty EndProperty SplitCount = 1 BeginProperty Split0 BeginProperty Column00 ColumnWidth = 1514.986 EndProperty BeginProperty Column01 ColumnWidth = 1514.986 EndProperty EndProperty Marco A. Guevara 2011 Página 158 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH End End Begin VB.PictureBox picAejee BackColor = &H00FFC0C0& Height = 7695 Left = -74880 ScaleHeight = 509 ScaleMode = 3 'Pixel ScaleWidth = 709 TabIndex = 37 ToolTipText = "Aqui debería estar el AEJEE si se atacho" Top = 360 Width = 10695 End Begin VB.CommandButton cmdCloseExtras Caption = "&Cerrar Tabla" Enabled = 0 'False Height = 375 Left = -66960 TabIndex = 25 ToolTipText = "Cerrar la tabla" Top = 375 Width = 1815 End Begin MSComDlg.CommonDialog Cd Left = -66720 Top = 660 _ExtentX = 847 _ExtentY = 847 _Version = 393216 End Begin VB.TextBox txtFile Height = 285 Left = -73920 Locked = -1 'True TabIndex = 23 ToolTipText = "Nombre de la tabla a ver " Top = 420 Width = 6375 End Begin VB.CommandButton cmdFile Caption = "..." Height = 375 Left = -67440 Picture = "frmOne.frx":6332 TabIndex = 22 ToolTipText = "Buscar la tabla a abrir" Top = 375 Width = 375 End Begin VB.PictureBox pic1 BackColor = &H00E0E0E0& Height = 7575 Marco A. Guevara 2011 Página 159 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Left = 120 ScaleHeight = 7515 ScaleWidth = 10635 TabIndex = 11 Top = 420 Width = 10695 Begin VB.TextBox txtShape Height = 285 Left = 5160 TabIndex = 35 Top = 6120 Visible = 0 'False Width = 2175 End Begin VB.PictureBox Picture1 Height = 1215 Left = 7560 ScaleHeight = 1155 ScaleWidth = 2355 TabIndex = 26 Top = 6120 Width = 2415 Begin VB.OptionButton optLayer Caption = "Layer en Proyecto Base:" Height = 195 Left = 120 TabIndex = 29 Top = 120 Value = -1 'True Width = 2175 End Begin VB.OptionButton optProject Caption = "Nuevo Proyecto" Height = 315 Left = 120 TabIndex = 28 Top = 360 Width = 2055 End Begin VB.CommandButton cmdExport Caption = "&Proceder" Height = 315 Left = 240 TabIndex = 27 ToolTipText = "Enviar Layer/Proyecto al AEJEE" Top = 720 Width = 1935 End End Begin VB.TextBox txtDescrip Height = 1215 Left = 120 MultiLine = -1 'True Marco A. Guevara 2011 Página 160 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH TabIndex = 16 ToolTipText = "Descripcion del Analisis, para posterior referencia" Top = 6120 Width = 4815 End Begin VB.CommandButton cmdDoit Caption = "&Nueva Tabla" Height = 375 Left = 3480 TabIndex = 15 Top = 120 Visible = 0 'False Width = 1335 End Begin VB.CommandButton cmdStat Caption = "&Estadisticas" Height = 375 Left = 4965 TabIndex = 14 Top = 120 Visible = 0 'False Width = 1395 End Begin VB.CommandButton cmdOmegaAll Caption = "&Calculos " Height = 375 Left = 8640 TabIndex = 13 ToolTipText = "Obtener las nuevas variables omega y zeta , según pesos " Top = 120 Width = 1815 End Begin VB.CommandButton cmdPesos Caption = "Calculo-&Pesos" Height = 375 Left = 6600 TabIndex = 12 ToolTipText = "Usando los Valores de Importancia ""VIP"" se calculan los pesos de cada variable" Top = 120 Width = 1815 End Begin MSComctlLib.ListView LvNCampos CausesValidation= 0 'False Height = 5055 Left = 120 TabIndex = 17 ToolTipText = "Campos Seleccionados" Top = 720 Width = 10455 _ExtentX = 18441 _ExtentY = 8916 View = 3 LabelEdit = 1 Marco A. Guevara 2011 Página 161 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH LabelWrap = 0 'False HideSelection = 0 'False Checkboxes = -1 'True FullRowSelect = -1 'True PictureAlignment= 5 _Version = 393217 ForeColor = 192 BackColor = 16761024 BorderStyle = 1 Appearance = 0 BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} Name = "Tahoma" Size = 8.25 Charset = 0 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty NumItems = 11 BeginProperty ColumnHeader(1) {BDD1F052-858B-11D1-B16A-00C0F0283628} Key = "wp" Text = "1-omega" Object.Width = 2117 EndProperty BeginProperty ColumnHeader(2) {BDD1F052-858B-11D1-B16A-00C0F0283628} SubItemIndex = 1 Key = "var" Text = "NOMBRE" Object.Width = 3175 EndProperty BeginProperty ColumnHeader(3) {BDD1F052-858B-11D1-B16A-00C0F0283628} Alignment = 1 SubItemIndex = 2 Key = "vip" Text = "vip" Object.Width = 1235 EndProperty BeginProperty ColumnHeader(4) {BDD1F052-858B-11D1-B16A-00C0F0283628} Alignment = 1 SubItemIndex = 3 Key = "peso" Text = "Peso" Object.Width = 1764 EndProperty BeginProperty ColumnHeader(5) {BDD1F052-858B-11D1-B16A-00C0F0283628} SubItemIndex = 4 Key = "l" Text = "l" Object.Width = 18 EndProperty BeginProperty ColumnHeader(6) {BDD1F052-858B-11D1-B16A-00C0F0283628} SubItemIndex = 5 Marco A. Guevara 2011 Página 162 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Key = "a" Text = "a" Object.Width = 18 EndProperty BeginProperty ColumnHeader(7) {BDD1F052-858B-11D1-B16A-00C0F0283628} Alignment = 1 SubItemIndex = 6 Key = "sm" Text = "Suma" Object.Width = 1764 EndProperty BeginProperty ColumnHeader(8) {BDD1F052-858B-11D1-B16A-00C0F0283628} Alignment = 1 SubItemIndex = 7 Key = "mn" Text = "Min" Object.Width = 1764 EndProperty BeginProperty ColumnHeader(9) {BDD1F052-858B-11D1-B16A-00C0F0283628} Alignment = 1 SubItemIndex = 8 Key = "mx" Text = "Max" Object.Width = 1764 EndProperty BeginProperty ColumnHeader(10) {BDD1F052-858B-11D1-B16A-00C0F0283628} Alignment = 1 SubItemIndex = 9 Key = "pr" Text = "Media" Object.Width = 2117 EndProperty BeginProperty ColumnHeader(11) {BDD1F052-858B-11D1-B16A-00C0F0283628} Alignment = 1 SubItemIndex = 10 Key = "sd" Text = "Desv Std" Object.Width = 2117 EndProperty End Begin VB.Label Label7 BackStyle = 0 'Transparent Caption = "Exporter a ArcEXplorer (AEJEE)" Height = 255 Left = 7560 TabIndex = 30 Top = 5880 Width = 2415 End Begin VB.Label Label1 BackStyle = 0 'Transparent Caption = "Modelo:" Height = 255 Marco A. Guevara 2011 Página 163 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Left = 120 TabIndex = 20 Top = 120 Width = 3255 End Begin VB.Label Label4 BackStyle = 0 'Transparent Caption = "Descripción del Análisis" Height = 255 Left = 120 TabIndex = 19 Top = 5880 Width = 2175 End Begin VB.Label Label2 BackStyle = 0 'Transparent Caption = "VARIABLES SELECCIONADAS" BeginProperty Font Name = "MS Sans Serif" Size = 9.75 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 255 Left = 120 TabIndex = 18 Top = 480 Width = 3735 End End Begin MSDataGridLib.DataGrid Grid2 Bindings = "frmOne.frx":6BFC Height = 7095 Left = -74880 TabIndex = 21 ToolTipText = "Datos de la tabla visualizandose" Top = 900 Width = 10575 _ExtentX = 18653 _ExtentY = 12515 _Version = 393216 AllowUpdate = 0 'False AllowArrows = 0 'False Appearance = 0 BackColor = 12632319 ForeColor = 8388608 HeadLines = 2 RowHeight = 15 BeginProperty HeadFont {0BE35203-8F91-11CE-9DE3-00AA004BB851} Name = "MS Sans Serif" Marco A. Guevara 2011 Página 164 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Size = 8.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty ColumnCount = 2 BeginProperty Column00 DataField = "" Caption = "" BeginProperty DataFormat {6D835690-900B-11D0-9484-00A0C91110ED} Type = 0 Format = "" HaveTrueFalseNull= 0 FirstDayOfWeek = 0 FirstWeekOfYear = 0 LCID = 18442 SubFormatType = 0 EndProperty EndProperty BeginProperty Column01 DataField = "" Caption = "" BeginProperty DataFormat {6D835690-900B-11D0-9484-00A0C91110ED} Type = 0 Format = "" HaveTrueFalseNull= 0 FirstDayOfWeek = 0 FirstWeekOfYear = 0 LCID = 18442 SubFormatType = 0 EndProperty EndProperty SplitCount = 1 BeginProperty Split0 BeginProperty Column00 EndProperty BeginProperty Column01 EndProperty EndProperty End Begin MSDataGridLib.DataGrid grid Height = 7575 Marco A. Guevara 2011 Página 165 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Left = -74880 TabIndex = 34 ToolTipText = "Tabla de Resultados, Nuevas variables y sus valores" Top = 420 Width = 10575 _ExtentX = 18653 _ExtentY = 13361 _Version = 393216 AllowUpdate = 0 'False BackColor = 16761024 ForeColor = 12582912 HeadLines = 1 RowHeight = 15 TabAction = 2 BeginProperty HeadFont {0BE35203-8F91-11CE-9DE3-00AA004BB851} Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty ColumnCount = 2 BeginProperty Column00 DataField = "" Caption = "" BeginProperty DataFormat {6D835690-900B-11D0-9484-00A0C91110ED} Type = 0 Format = "" HaveTrueFalseNull= 0 FirstDayOfWeek = 0 FirstWeekOfYear = 0 LCID = 18442 SubFormatType = 0 EndProperty EndProperty BeginProperty Column01 DataField = "" Caption = "" BeginProperty DataFormat {6D835690-900B-11D0-9484-00A0C91110ED} Type = 0 Format = "" HaveTrueFalseNull= 0 Marco A. Guevara 2011 Página 166 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH FirstDayOfWeek = 0 FirstWeekOfYear = 0 LCID = 18442 SubFormatType = 0 EndProperty EndProperty SplitCount = 1 BeginProperty Split0 BeginProperty Column00 EndProperty BeginProperty Column01 EndProperty EndProperty End Begin MSComctlLib.ListView LVIndices CausesValidation= 0 'False Height = 7530 Left = -74880 TabIndex = 38 ToolTipText = "Variables Indices Definidas" Top = 410 Width = 10695 _ExtentX = 18865 _ExtentY = 13282 View = 3 LabelEdit = 1 LabelWrap = 0 'False HideSelection = 0 'False FullRowSelect = -1 'True GridLines = -1 'True PictureAlignment= 5 _Version = 393217 ForeColor = 192 BackColor = 16761024 BorderStyle = 1 Appearance = 0 BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} Name = "Tahoma" Size = 8.25 Charset = 0 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty NumItems = 4 BeginProperty ColumnHeader(1) {BDD1F052-858B-11D1-B16A-00C0F0283628} Key = "num" Text = "Num" Object.Width = 1588 EndProperty BeginProperty ColumnHeader(2) {BDD1F052-858B-11D1-B16A-00C0F0283628} SubItemIndex = 1 Marco A. Guevara 2011 Página 167 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Key = "var_i" Text = "Var_i" Object.Width = 2540 EndProperty BeginProperty ColumnHeader(3) {BDD1F052-858B-11D1-B16A-00C0F0283628} SubItemIndex = 2 Key = "desc" Text = "Descripcion" Object.Width = 6880 EndProperty BeginProperty ColumnHeader(4) {BDD1F052-858B-11D1-B16A-00C0F0283628} SubItemIndex = 3 Key = "form" Text = "Formula" Object.Width = 7056 EndProperty End Begin VB.Label Label5 BackStyle = 0 'Transparent Caption = "Tabla:" BeginProperty Font Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty ForeColor = &H00FF0000& Height = 255 Left = -74640 TabIndex = 24 Top = 420 Width = 735 End End Begin ComCtl3.CoolBar CoolBar1 Align = 1 'Align Top Height = 390 Left = 0 TabIndex = 32 Top = 0 Width = 14775 _ExtentX = 26061 _ExtentY = 688 BandCount = 2 _CBWidth = 14775 _CBHeight = 390 _Version = "6.7.9782" MinHeight1 = 26 Width1 = 84 NewRow1 = 0 'False Marco A. Guevara 2011 Página 168 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Child2 = "Toolbar2" MinHeight2 = 26 NewRow2 = 0 'False BandStyle2 = 1 Begin ComctlLib.Toolbar Toolbar1 Height = 390 Left = 150 TabIndex = 33 Top = 30 Width = 1095 _ExtentX = 1931 _ExtentY = 688 ButtonWidth = 635 ButtonHeight = 582 ImageList = "ImageList1" _Version = 327682 BeginProperty Buttons {0713E452-850A-101B-AFC0-4210102A8DA7} NumButtons = 3 BeginProperty Button1 {0713F354-850A-101B-AFC0-4210102A8DA7} Key = "new" Object.ToolTipText = "Nuevo Análisis" Object.Tag = "" ImageIndex = 1 EndProperty BeginProperty Button2 {0713F354-850A-101B-AFC0-4210102A8DA7} Key = "open" Object.ToolTipText = "Abrir un Análisis Salvado" Object.Tag = "" ImageIndex = 2 EndProperty BeginProperty Button3 {0713F354-850A-101B-AFC0-4210102A8DA7} Key = "save" Object.ToolTipText = "Grabar Análisis Actual" Object.Tag = "" ImageIndex = 3 EndProperty EndProperty End Begin VB.CommandButton cmdAnidar Caption = "Attach AEJEE" Height = 400 Left = 13080 TabIndex = 36 ToolTipText = "Por Diversion, Experimental la ventana del AEJEE la coloca dentro de la aplicacion, para que se vea guauuu" Top = 5 Width = 1575 End End Begin ComctlLib.ImageList ImageList1 Left = 0 Top = 0 _ExtentX = 1005 Marco A. Guevara 2011 Página 169 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH _ExtentY = 1005 BackColor = -2147483643 ImageWidth = 16 ImageHeight = 16 MaskColor = 16711935 _Version = 327682 BeginProperty Images {0713E8C2-850A-101B-AFC0-4210102A8DA7} NumListImages = 3 BeginProperty ListImage1 {0713E8C3-850A-101B-AFC0-4210102A8DA7} Picture = "frmOne.frx":6C0F Key = "" EndProperty BeginProperty ListImage2 {0713E8C3-850A-101B-AFC0-4210102A8DA7} Picture = "frmOne.frx":7161 Key = "" EndProperty BeginProperty ListImage3 {0713E8C3-850A-101B-AFC0-4210102A8DA7} Picture = "frmOne.frx":76B3 Key = "" EndProperty EndProperty End Begin VB.Label lblAlarm BackStyle = 0 'Transparent Caption = "<< ES NECESARIO SALVAR EL PROYECTO DE AEJEE" BeginProperty Font Name = "MS Sans Serif" Size = 9.75 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty ForeColor = &H000000FF& Height = 375 Left = 4440 TabIndex = 6 ToolTipText = "Este mensaje indica que en el AEJEE existe un proyecto sin salvar y asi no se puede leer la informacion del proyecto" Top = 720 Visible = 0 'False Width = 5775 End Begin VB.Label Label6 BackStyle = 0 'Transparent Caption = "Layers" BeginProperty Font Name = "MS Sans Serif" Size = 9.75 Charset = 0 Weight = 700 Underline = 0 'False Marco A. Guevara 2011 Página 170 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 495 Left = 240 TabIndex = 4 Top = 1080 Width = 1455 End Begin VB.Label Label3 BackStyle = 0 'Transparent Caption = "Proyecto Base AEJEE:" BeginProperty Font Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 255 Left = 120 TabIndex = 2 Top = 480 Width = 1935 End Begin VB.Menu mnuArchivo Caption = "&Archivo" Begin VB.Menu mnuNew Caption = "&Nuevo Análisis" Shortcut = ^N End Begin VB.Menu mnuOpen Caption = "Abrir Pr&oyecto Análisis" Shortcut = ^O End Begin VB.Menu guion Caption = "-" End Begin VB.Menu mnuSave Caption = "Salvar& Proyecto Análisis" Shortcut = ^S End Begin VB.Menu mnuSaveAs Caption = "Salvar Proyecto Análisis &Como" Shortcut = ^A End Begin VB.Menu mnusep Caption = "-" End Begin VB.Menu cmdRunAEJEE Caption = "&Run AEJEE" Marco A. Guevara 2011 Página 171 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH End Begin VB.Menu mnub Caption = "-" End Begin VB.Menu mnuf Caption = "" Index = 0 Visible = 0 'False End Begin VB.Menu mnuf Caption = "" Index = 1 Visible = 0 'False End Begin VB.Menu mnuf Caption = "" Index = 2 Visible = 0 'False End Begin VB.Menu mnuf Caption = "" Index = 3 Visible = 0 'False End Begin VB.Menu mnuf Caption = "" Index = 4 Visible = 0 'False End Begin VB.Menu mnuf Caption = "" Index = 5 Visible = 0 'False End Begin VB.Menu mnuf Caption = "" Index = 6 Visible = 0 'False End Begin VB.Menu mnuf Caption = "" Index = 7 Visible = 0 'False End Begin VB.Menu mnuf Caption = "" Index = 8 Visible = 0 'False End Begin VB.Menu mnuf Caption = "" Index = 9 Visible = 0 'False Marco A. Guevara 2011 Página 172 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH End Begin VB.Menu mnusep2 Caption = "-" End Begin VB.Menu mnuExit Caption = "&Salir" Shortcut = ^X End End Begin VB.Menu mnuIndice Caption = "Variables &Indice" End Begin VB.Menu mnuView Caption = "&Ver" Begin VB.Menu mnuRefresh Caption = "&Refresh Proyectos" Shortcut = ^R End Begin VB.Menu mnuOtras Caption = "Otras &Tablas" End End Begin VB.Menu mnuHelp Caption = "Ay&uda" Begin VB.Menu mnuAbout Caption = "Acerca &de" End End End Attribute VB_Name = "frmOne" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = False Attribute VB_PredeclaredId = True Attribute VB_Exposed = False Option Explicit Private WithEvents cSubLV1 As cSubclassListView Attribute cSubLV1.VB_VarHelpID = -1 Private WithEvents cSubLV2 As cSubclassListView Attribute cSubLV2.VB_VarHelpID = -1 Private WithEvents cSubLV3 As cSubclassListView Attribute cSubLV3.VB_VarHelpID = -1 Dim XMLDoc As New DOMDocument30 'XML 3 Dim NodesList As IXMLDOMNodeList Dim gsFiles As String Dim Rec As RECT '*********************************************************************************** '********** validacion de las entradas en los ListView ************* '*********************************************************************************** Sub setColumnHeader(cSubLV As cSubclassListView, _ SpathSkin As String, _ lColorNormal As Long, _ lColorUp As Long, _ Marco A. Guevara 2011 Página 173 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Optional bIconAlingmentRight As Boolean = False, _ Optional bTextBold As Boolean = False, _ Optional BackColortextBox As Long = vbWhite, _ Optional ForeColorTxtEdit As Long = vbBlack) On Error Resume Next With cSubLV .SkinPicture = LoadPicture(SpathSkin & ".bmp") .TextNormalColor = lColorNormal .TextResalteColor = lColorUp .IconAlingmentRight = bIconAlingmentRight .HedersFontBlod = bTextBold .SetPropertyTextBoxEdit BackColortextBox, ForeColorTxtEdit End With End Sub Private Sub cSubLV1_beforeEdit(ByVal Columna As Integer, Cancel As Boolean) Cancel = True cSubLV1.SowToolTipText "Info", "Esta columna es de solo lectura y no se puede editar", TTIconInfo, TTBalloon, False, , , 5000, 0 End Sub Private Sub cSubLV2_beforeEdit(ByVal Columna As Integer, Cancel As Boolean) Cancel = True cSubLV2.SowToolTipText "Info", "Esta columna es de solo lectura y no se puede editar", TTIconInfo, TTBalloon, False, , , 5000, 0 End Sub '--------------------------------------------------------------------------------------------'evento del listview3 para realizar un pre edit, o sea ver en que campo me encuentro '--------------------------------------------------------------------------------------------Private Sub cSubLV3_beforeEdit(ByVal Columna As Integer, Cancel As Boolean) On Error Resume Next If LvNCampos.SelectedItem.SubItems(1) = "ID" Then Cancel = True End If If Columna <> 2 Then 'Columna = 1 Or Columna = 0 Or Columna > 2 Then 'solo numeros Cancel = True cSubLV3.SowToolTipText "Info", "Esta columna es de solo lectura y no se puede editar", TTIconInfo, TTBalloon, False, , , 5000, 0 End If End Sub '--------------------------------------------------------------------------------------------'evento del listview para realizar un posedit o validar caracter '--------------------------------------------------------------------------------------------Private Sub cSubLV3_AfterEdit(ByVal Columna As Integer, Cancel As Boolean, ByRef Value As Variant) Select Case Columna Case 1 'solo letras 'If IsNumeric(Chr(KeyAscii)) Then Cancel = True Case 2 'solo numeros ' If CSng(Value) < 0 Or CSng(Value) > 1 Then ' Cancel = True ' cSubLV3.SowToolTipText "Info", "Este valor " & Value & " No está en [0,1]", TTIconInfo, TTBalloon, False, , , 5000, 0 ' Else Cancel = (CInt(Value) = 0) Value = Format(Value, "####") ' End If Marco A. Guevara 2011 Página 174 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Case 3 'solo mayusculas Cancel = (True) Value = Format(Value, "##0.0000") Case 4 ' cualquier valor End Select ' DoEvents ' EstimaPesos End Sub '--------------------------------------------------------------------------------------------'aceptar solo las teclas apropiadas en el listview '--------------------------------------------------------------------------------------------Private Sub cSubLV3_KeyPress( _ ByVal Columna As Integer, _ Cancel As Boolean, _ KeyAscii As Integer) Select Case Columna Case 1 'solo letras If IsNumeric(Chr(KeyAscii)) Then Cancel = True Case 2 'solo numeros If Not IsNumeric(Chr(KeyAscii)) Then Cancel = True Case 3 'solo numeros If Not IsNumeric(Chr(KeyAscii)) And Chr(KeyAscii) <> "." Then Cancel = True Case 4 ' cualquier valor End Select End Sub '--------------------------------------------------------------------------------------------'limpiar variables de los seleccionados '--------------------------------------------------------------------------------------------Private Sub cmdClear_Click() ' LvNCampos.ListItems.Clear Dim i As Integer i=1 Do If LvNCampos.ListItems(i).Selected Then LvNCampos.ListItems.Remove (i) i=i+1 Loop Until i > LvNCampos.ListItems.Count End Sub Left = 120 TabIndex = 20 Top = 120 Width = 3255 End Begin VB.Label Label4 BackStyle = 0 'Transparent Caption = "Descripción del Análisis" Height = 255 Left = 120 TabIndex = 19 Top = 5880 Width = 2175 Marco A. Guevara 2011 Página 175 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH End Begin VB.Label Label2 BackStyle = 0 'Transparent Caption = "VARIABLES SELECCIONADAS" BeginProperty Font Name = "MS Sans Serif" Size = 9.75 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 255 Left = 120 TabIndex = 18 Top = 480 Width = 3735 End End Begin MSDataGridLib.DataGrid Grid2 Bindings = "frmOne.frx":6BFC Height = 7095 Left = -74880 TabIndex = 21 ToolTipText = "Datos de la tabla visualizandose" Top = 900 Width = 10575 _ExtentX = 18653 _ExtentY = 12515 _Version = 393216 AllowUpdate = 0 'False AllowArrows = 0 'False Appearance = 0 BackColor = 12632319 ForeColor = 8388608 HeadLines = 2 RowHeight = 15 BeginProperty HeadFont {0BE35203-8F91-11CE-9DE3-00AA004BB851} Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty ColumnCount = 2 Marco A. Guevara 2011 Página 176 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH BeginProperty Column00 DataField = "" Caption = "" BeginProperty DataFormat {6D835690-900B-11D0-9484-00A0C91110ED} Type = 0 Format = "" HaveTrueFalseNull= 0 FirstDayOfWeek = 0 FirstWeekOfYear = 0 LCID = 18442 SubFormatType = 0 EndProperty EndProperty BeginProperty Column01 DataField = "" Caption = "" BeginProperty DataFormat {6D835690-900B-11D0-9484-00A0C91110ED} Type = 0 Format = "" HaveTrueFalseNull= 0 FirstDayOfWeek = 0 FirstWeekOfYear = 0 LCID = 18442 SubFormatType = 0 EndProperty EndProperty SplitCount = 1 BeginProperty Split0 BeginProperty Column00 EndProperty BeginProperty Column01 EndProperty EndProperty End Begin MSDataGridLib.DataGrid grid Height = 7575 Left = -74880 TabIndex = 34 ToolTipText = "Tabla de Resultados, Nuevas variables y sus valores" Top = 420 Width = 10575 _ExtentX = 18653 _ExtentY = 13361 _Version = 393216 AllowUpdate = 0 'False BackColor = 16761024 ForeColor = 12582912 HeadLines = 1 RowHeight = 15 TabAction = 2 BeginProperty HeadFont {0BE35203-8F91-11CE-9DE3-00AA004BB851} Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 400 Underline = 0 'False Italic = 0 'False Marco A. Guevara 2011 Página 177 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Strikethrough = 0 'False EndProperty BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty ColumnCount = 2 BeginProperty Column00 DataField = "" Caption = "" BeginProperty DataFormat {6D835690-900B-11D0-9484-00A0C91110ED} Type = 0 Format = "" HaveTrueFalseNull= 0 FirstDayOfWeek = 0 FirstWeekOfYear = 0 LCID = 18442 SubFormatType = 0 EndProperty EndProperty BeginProperty Column01 DataField = "" Caption = "" BeginProperty DataFormat {6D835690-900B-11D0-9484-00A0C91110ED} Type = 0 Format = "" HaveTrueFalseNull= 0 FirstDayOfWeek = 0 FirstWeekOfYear = 0 LCID = 18442 SubFormatType = 0 EndProperty EndProperty SplitCount = 1 BeginProperty Split0 BeginProperty Column00 EndProperty BeginProperty Column01 EndProperty EndProperty End Begin MSComctlLib.ListView LVIndices CausesValidation= 0 'False Height = 7530 Left = -74880 TabIndex = 38 ToolTipText = "Variables Indice Definidas" Top = 410 Width = 10695 _ExtentX = 18865 _ExtentY = 13282 View = 3 Marco A. Guevara 2011 Página 178 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH LabelEdit = 1 LabelWrap = 0 'False HideSelection = 0 'False FullRowSelect = -1 'True GridLines = -1 'True PictureAlignment= 5 _Version = 393217 ForeColor = 192 BackColor = 16761024 BorderStyle = 1 Appearance = 0 BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} Name = "Tahoma" Size = 8.25 Charset = 0 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty NumItems = 4 BeginProperty ColumnHeader(1) {BDD1F052-858B-11D1-B16A-00C0F0283628} Key = "num" Text = "Num" Object.Width = 1588 EndProperty BeginProperty ColumnHeader(2) {BDD1F052-858B-11D1-B16A-00C0F0283628} SubItemIndex = 1 Key = "var_i" Text = "Var_i" Object.Width = 2540 EndProperty BeginProperty ColumnHeader(3) {BDD1F052-858B-11D1-B16A-00C0F0283628} SubItemIndex = 2 Key = "desc" Text = "Descripcion" Object.Width = 6880 EndProperty BeginProperty ColumnHeader(4) {BDD1F052-858B-11D1-B16A-00C0F0283628} SubItemIndex = 3 Key = "form" Text = "Formula" Object.Width = 7056 EndProperty End Begin VB.Label Label5 BackStyle = 0 'Transparent Caption = "Tabla:" BeginProperty Font Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Marco A. Guevara 2011 Página 179 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH ForeColor = &H00FF0000& Height = 255 Left = -74640 TabIndex = 24 Top = 420 Width = 735 End End Begin ComCtl3.CoolBar CoolBar1 Align = 1 'Align Top Height = 390 Left = 0 TabIndex = 32 Top = 0 Width = 14775 _ExtentX = 26061 _ExtentY = 688 BandCount = 2 _CBWidth = 14775 _CBHeight = 390 _Version = "6.7.9782" MinHeight1 = 26 Width1 = 84 NewRow1 = 0 'False Child2 = "Toolbar2" MinHeight2 = 26 NewRow2 = 0 'False BandStyle2 = 1 Begin ComctlLib.Toolbar Toolbar1 Height = 390 Left = 150 TabIndex = 33 Top = 30 Width = 1095 _ExtentX = 1931 _ExtentY = 688 ButtonWidth = 635 ButtonHeight = 582 ImageList = "ImageList1" _Version = 327682 BeginProperty Buttons {0713E452-850A-101B-AFC0-4210102A8DA7} NumButtons = 3 BeginProperty Button1 {0713F354-850A-101B-AFC0-4210102A8DA7} Key = "new" Object.ToolTipText = "Nuevo Análisis" Object.Tag = "" ImageIndex = 1 EndProperty BeginProperty Button2 {0713F354-850A-101B-AFC0-4210102A8DA7} Key = "open" Object.ToolTipText = "Abrir un Análisis Salvado" Object.Tag = "" ImageIndex = 2 EndProperty BeginProperty Button3 {0713F354-850A-101B-AFC0-4210102A8DA7} Key = "save" Object.ToolTipText = "Grabar Análisis Actual" Marco A. Guevara 2011 Página 180 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Object.Tag = "" ImageIndex = 3 EndProperty EndProperty End Begin VB.CommandButton cmdAnidar Caption = "Attach AEJEE" Height = 400 Left = 13080 TabIndex = 36 ToolTipText = "Por Diversion, Experimental la ventana del AEJEE la coloca dentro de la aplicacion, para que se vea guauuu" Top = 5 Width = 1575 End End Begin ComctlLib.ImageList ImageList1 Left = 0 Top = 0 _ExtentX = 1005 _ExtentY = 1005 BackColor = -2147483643 ImageWidth = 16 ImageHeight = 16 MaskColor = 16711935 _Version = 327682 BeginProperty Images {0713E8C2-850A-101B-AFC0-4210102A8DA7} NumListImages = 3 BeginProperty ListImage1 {0713E8C3-850A-101B-AFC0-4210102A8DA7} Picture = "frmOne.frx":6C0F Key = "" EndProperty BeginProperty ListImage2 {0713E8C3-850A-101B-AFC0-4210102A8DA7} Picture = "frmOne.frx":7161 Key = "" EndProperty BeginProperty ListImage3 {0713E8C3-850A-101B-AFC0-4210102A8DA7} Picture = "frmOne.frx":76B3 Key = "" EndProperty EndProperty End Begin VB.Label lblAlarm BackStyle = 0 'Transparent Caption = "<< ES NECESARIO SALVAR EL PROYECTO DE AEJEE" BeginProperty Font Name = "MS Sans Serif" Size = 9.75 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty ForeColor = &H000000FF& Height = 375 Left = 4440 Marco A. Guevara 2011 Página 181 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH TabIndex = 6 ToolTipText = "Este mensaje indica que en el AEJEE existe un proyecto sin salvar y asi no se puede leer la informacion del proyecto" Top = 720 Visible = 0 'False Width = 5775 End Begin VB.Label Label6 BackStyle = 0 'Transparent Caption = "Layers" BeginProperty Font Name = "MS Sans Serif" Size = 9.75 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 495 Left = 240 TabIndex = 4 Top = 1080 Width = 1455 End Begin VB.Label Label3 BackStyle = 0 'Transparent Caption = "Proyecto Base AEJEE:" BeginProperty Font Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 255 Left = 120 TabIndex = 2 Top = 480 Width = 1935 End Begin VB.Menu mnuArchivo Caption = "&Archivo" Begin VB.Menu mnuNew Caption = "&Nuevo Análisis" Shortcut = ^N End Begin VB.Menu mnuOpen Caption = "Abrir Pr&oyecto Análisis" Shortcut = ^O End Begin VB.Menu guion Caption = "-" End Begin VB.Menu mnuSave Marco A. Guevara 2011 Página 182 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Caption = "Salvar& Proyecto Análisis" Shortcut = ^S End Begin VB.Menu mnuSaveAs Caption = "Salvar Proyecto Análisis &Como" Shortcut = ^A End Begin VB.Menu mnusep Caption = "-" End Begin VB.Menu cmdRunAEJEE Caption = "&Run AEJEE" End Begin VB.Menu mnub Caption = "-" End Begin VB.Menu mnuf Caption = "" Index = 0 Visible = 0 'False End Begin VB.Menu mnuf Caption = "" Index = 1 Visible = 0 'False End Begin VB.Menu mnuf Caption = "" Index = 2 Visible = 0 'False End Begin VB.Menu mnuf Caption = "" Index = 3 Visible = 0 'False End Begin VB.Menu mnuf Caption = "" Index = 4 Visible = 0 'False End Begin VB.Menu mnuf Caption = "" Index = 5 Visible = 0 'False End Begin VB.Menu mnuf Caption = "" Index = 6 Visible = 0 'False End Begin VB.Menu mnuf Caption = "" Index = 7 Visible = 0 'False End Begin VB.Menu mnuf Marco A. Guevara 2011 Página 183 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Caption = "" Index = 8 Visible = 0 'False End Begin VB.Menu mnuf Caption = "" Index = 9 Visible = 0 'False End Begin VB.Menu mnusep2 Caption = "-" End Begin VB.Menu mnuExit Caption = "&Salir" Shortcut = ^X End End Begin VB.Menu mnuIndice Caption = "Variables &Indice" End Begin VB.Menu mnuView Caption = "&Ver" Begin VB.Menu mnuRefresh Caption = "&Refresh Proyectos" Shortcut = ^R End Begin VB.Menu mnuOtras Caption = "Otras &Tablas" End End Begin VB.Menu mnuHelp Caption = "Ay&uda" Begin VB.Menu mnuAbout Caption = "Acerca &de" End End End Attribute VB_Name = "frmOne" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = False Attribute VB_PredeclaredId = True Attribute VB_Exposed = False Option Explicit Private WithEvents cSubLV1 As cSubclassListView Attribute cSubLV1.VB_VarHelpID = -1 Private WithEvents cSubLV2 As cSubclassListView Attribute cSubLV2.VB_VarHelpID = -1 Private WithEvents cSubLV3 As cSubclassListView Attribute cSubLV3.VB_VarHelpID = -1 Dim XMLDoc As New DOMDocument30 'XML 3 Dim NodesList As IXMLDOMNodeList Dim gsFiles As String Dim Rec As RECT '*********************************************************************************** Marco A. Guevara 2011 Página 184 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH '********** validacion de las entradas en los ListView ************* '*********************************************************************************** Sub setColumnHeader(cSubLV As cSubclassListView, _ SpathSkin As String, _ lColorNormal As Long, _ lColorUp As Long, _ Optional bIconAlingmentRight As Boolean = False, _ Optional bTextBold As Boolean = False, _ Optional BackColortextBox As Long = vbWhite, _ Optional ForeColorTxtEdit As Long = vbBlack) On Error Resume Next With cSubLV .SkinPicture = LoadPicture(SpathSkin & ".bmp") .TextNormalColor = lColorNormal .TextResalteColor = lColorUp .IconAlingmentRight = bIconAlingmentRight .HedersFontBlod = bTextBold .SetPropertyTextBoxEdit BackColortextBox, ForeColorTxtEdit End With End Sub Private Sub cSubLV1_beforeEdit(ByVal Columna As Integer, Cancel As Boolean) Cancel = True cSubLV1.SowToolTipText "Info", "Esta columna es de solo lectura y no se puede editar", TTIconInfo, TTBalloon, False, , , 5000, 0 End Sub Private Sub cSubLV2_beforeEdit(ByVal Columna As Integer, Cancel As Boolean) Cancel = True cSubLV2.SowToolTipText "Info", "Esta columna es de solo lectura y no se puede editar", TTIconInfo, TTBalloon, False, , , 5000, 0 End Sub '--------------------------------------------------------------------------------------------'evento del listview3 para realizar un pre edit, o sea ver en qué campo me encuentro '--------------------------------------------------------------------------------------------Private Sub cSubLV3_beforeEdit(ByVal Columna As Integer, Cancel As Boolean) On Error Resume Next If LvNCampos.SelectedItem.SubItems(1) = "ID" Then Cancel = True End If If Columna <> 2 Then 'Columna = 1 Or Columna = 0 Or Columna > 2 Then 'solo numeros Cancel = True cSubLV3.SowToolTipText "Info", "Esta columna es de solo lectura y no se puede editar", TTIconInfo, TTBalloon, False, , , 5000, 0 End If End Sub '--------------------------------------------------------------------------------------------'evento del listview para realizar un posedit o validar caracter '--------------------------------------------------------------------------------------------Private Sub cSubLV3_AfterEdit(ByVal Columna As Integer, Cancel As Boolean, ByRef Value As Variant) Select Case Columna Case 1 'solo letras 'If IsNumeric(Chr(KeyAscii)) Then Cancel = True Case 2 'solo numeros ' If CSng(Value) < 0 Or CSng(Value) > 1 Then Marco A. Guevara 2011 Página 185 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH ' ' , , 5000, 0 ' Cancel = True cSubLV3.SowToolTipText "Info", "Este valor " & Value & " No está en [0,1]", TTIconInfo, TTBalloon, False, Else Cancel = (CInt(Value) = 0) Value = Format(Value, "####") ' End If Case 3 'solo mayusculas Cancel = (True) Value = Format(Value, "##0.0000") Case 4 ' cualquier valor End Select ' DoEvents ' EstimaPesos End Sub '--------------------------------------------------------------------------------------------'aceptar solo las teclas apropiadas en el listview '--------------------------------------------------------------------------------------------Private Sub cSubLV3_KeyPress( _ ByVal Columna As Integer, _ Cancel As Boolean, _ KeyAscii As Integer) Select Case Columna Case 1 'solo letras If IsNumeric(Chr(KeyAscii)) Then Cancel = True Case 2 'solo numeros If Not IsNumeric(Chr(KeyAscii)) Then Cancel = True Case 3 'solo numeros If Not IsNumeric(Chr(KeyAscii)) And Chr(KeyAscii) <> "." Then Cancel = True Case 4 ' cualquier valor End Select End Sub '--------------------------------------------------------------------------------------------'limpiar variables de los seleccionados '--------------------------------------------------------------------------------------------Private Sub cmdClear_Click() ' LvNCampos.ListItems.Clear Dim i As Integer i=1 Do If LvNCampos.ListItems(i).Selected Then LvNCampos.ListItems.Remove (i) i=i+1 Loop Until i > LvNCampos.ListItems.Count End Sub '-----------------------------------------------------------------------------------------------' Funcion para colocar la ventana del AEJEE como dependiente de nuestra aplicacion ' es decir como una sub-ventana de nuestra aplicacion ' código extraído del APi-Guide '------------------------------------------------------------------------------------------------ Marco A. Guevara 2011 Página 186 Tesis de Postgrado: Maestría en Ordenamiento y Gestión del Territorio. –MOGT/UNAH Private Sub cmdAnidar_Click() Dim i As Integer Dim Hwnd As Long, h As Long, w As Long ' Static rec As RECT 'proyecto analizandose i = cmbProy.ListIndex On Error GoTo bye 'handle Hwnd = G_Proys_hwnd(i) If Hwnd = 0 Then Exit Sub 'si no hay ventana del AEJJE no hacer nada Marco A. Guevara 2011 Página 187