UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACUL TAO DE CONTADURÍA Y ADMINISTRACIÓN GENERACIÓN Y MANIPULACIÓN DE MAPAS GEOREFERENCIADOS A TRAVÉS DE INTERNET TOMANDO COMO BASE LAS CARACTERÍSTICAS DE UN SISTEMA DE INFORMACIÓN GEOGRÁFICA CASO DE ESTUDIO: ÁREA DE RIESGOS HIDROMETEOROLÓGICOS, CENAPRED TESIS PROFESIONAL QUE PARA OBTENER EL TITULO DE LICENCIADO EN INFORMÁTICA PRESENTAN: JAQUELINE DIAZ VÁZQUEZ ARIADNA CECILIA RUIZ GURROLA ASESOR: MTRA. GRACIELA BRIBIESCA CORREA MÉXICO, D.F., 2002 ------~=~-~~~-- -- ------- TESIS CON FALLA DE ORIGEN UNAM – Dirección General de Bibliotecas Tesis Digitales Restricciones de uso DERECHOS RESERVADOS © PROHIBIDA SU REPRODUCCIÓN TOTAL O PARCIAL Todo el material contenido en esta tesis esta protegido por la Ley Federal del Derecho de Autor (LFDA) de los Estados Unidos Mexicanos (México). El uso de imágenes, fragmentos de videos, y demás material que sea objeto de protección de los derechos de autor, será exclusivamente para fines educativos e informativos y deberá citar la fuente donde la obtuvo mencionando el autor o autores. Cualquier uso distinto como el lucro, reproducción, edición o modificación, será perseguido y sancionado por el respectivo titular de los Derechos de Autor. Autorizo • la i:J,. -cc·o~ '::enera1 de Bibll0f1~1 de 111 UNAM e difundir en torrnato electrónico e impr110 el con tenido de m 1 1 r •bajo rec1pcion11. NOMBRE_=...J)ÍQT tjzg)/ '-& rTQr;zc,eJ11-7e,, 1-.'l11? fr '(yc:-Jq, rtxrqctao ú:.:Y/ff·o- =~:.::·. ~~~ 'ª' : AGRADECIMIENTOS A DIOS, por ser lo que hasta ahora he sido y porque sin .Él nada hubiera sido posible. - ,. ' A MI MADRE, Sra. Alicia Vázquez. Martinez por su gran amor," paci~ncia y excelente ejemplo, pero sobre todo por su :amistado gracias madre por ser. una granam~a. · · · · · ·· A MI PADRE, Sr. Rubén Diaz Garcia por su amor, paciencia, su gran profesionalismo, por su enseñanza pero sobre todo pór su amistad, por que más que un padre es un gran AMIGO. A MIS HERMANOS Y AMIGOS, por su cariño y comprensión. A MI COMPAÑERA DE TESIS, por su gran profesionalismo pero sobre todo por su amistad. A MI ASESORA, MTRA. GRACIELA BRIBIESCA CORREA, por su guia a lo largo del desarrollo de esta tesis y por su gran calidez humana . A MIS COMPAÑEROS DE CENAPRED, por la calidez humana y el apoyo brindado. A LA UNAM, por permitirme formar parte de ella. .Jaqueline Diaz Vázquez AGRADECIMIENTOS Primero que nada agradezco a Dios por haberme permitido llegar hasta éste momento y cumplir uno de mis más grandes sueños al lado de mis seres queridos .... gracias, todo te lo debo a Ti. A mi familia por sus consejos, por su apoyo aún en los momentos más difíciles y por su constante ejemplo de tenacidad, responsabilidad y superación: A mi madre, la Sra. Ma. del Socorro Gurrola Mendoza, le estaré agradecida eternamente por brindarme su confianza, su amor, por ser un buen ejemplo en todos los sentidos, y en general, por ser mi amiga y la mujer que más admiro. A mi padre, el Sr. José Homero Ruíz Borja, por su ejemplo de profesionalismo y lucha constante, por su cariño y por haber procurado siempre una buena educación para mi. A mi hermano, José Homero Ruíz Gurrola, que me ha guiado en muchos sentidos y admiro por su inteligencia y por la gran capacidad de cumplir sus sueños. A mis abuelitas, Sra. Susana Mendoza Alemán y Sra. Cecilia Borja Reyes, por brindarme su ternura y su alegría . ... sin ustedes, esto no hubiera sido posible. A mi compañera de tesis, Jaqueline Díaz Vázquez, por su fe e inteligencia, por todo lo que aprendí de ella y por ser una amiga muy especial. A mis amigos, gracias por compartir conmigo tantos recuerdos y planes, ustedes logran que la vida sea aún mejor de lo que ya es. Al CENAPRED, por haber creído en nosotras y habemos abierto sus puertas para permitir la realización de ésta tesis. A la UNAM, por recibirme y permitirme formar parte de ella, y en especial a la FCA que nos brindó las enseñanzas necesarias para llegar hasta aquí. A la Mtra. Graciela Bribiesca Correa, por su amabilidad, confianza y guía a lo largo del desarrollo de nuestra tesis. Ariadna Cecilia Ruíz Gurrola INDICE Introducción ........................................................ , ............................................... 1 Antecedentes . . . . . . . . . . .. . . . . . . . . . . . .. . . . .. . ...... .. . . ..... .. . . . . ... .. . ... . . . ...... .. . ... .. . ....... ... . . .. . .. .. .. .. 2 Descripción de la problemática . . .. . .. . . . . .. ....... .. . ..... ..... .. .. . .. . . . .... .. . . . .. ..... .. . . . . ....... 5 Hipótesis . . ... . . . . . . . . . . . . . . . ... . . . . . .......... .. .. . .. . . .. . . ..... .. . ...... .. . . . .. . . . .. . ...... .. . ..... .......... ... . .. . 6 Objetivo general . . . . . . . . .. . . . . . . . ........ .. ..... .. . . . ... ... .. .. .. .. .. . ......... .. .... .. ... . . .. ........... ........ 6 Estructura de la tesis . . . . . . . . . . . . . . . . . .. .. . .. . . . . .... .. . . .. .. .... ... ...... .. . ............. ........... .... .... . 7 Capitulo 1. Investigación preliminar y recopilación de requerimientos....... 10 1.1. Investigación preliminar ...... ............. .................................................... 1 O 1.2. Descripción de actividades ........................................... ....................... 19 1 .2.1. Gráfica de Gantt ......... ............................................................... 22 1.3. Requerimientos .................................................................................... 23 1.3.1. Resultados obtenidos durante las reuniones y entrevistas con los usuarios ..................................................... ;........................ 25 1.3.1.1. Grupos afectados ............................... : .. : .... :: ......... :....... 33 1.3.1.2. Dependencias .............................. _.................................. 33 1.4. Diagrama entidad-relación ........................................ :: .. :: .. ·::................. 36 1.4.1. Descripción de entidades ...................... , ....... ::,:,.::; .. ,................. 39 1.4.2. Descripción de atributos .................................... :~·:.::................. 40 1 .4.3. Descripción de relaciones .............................. '... ·.~·...................... 45 1.5. Diagrama de flujo de datos ......................................... ~........................ 46 1.5.1. Especificación de procesos ...................................................... 51 1.6. Diagrama de transición de estados . .. . . . ... .. ........ .......... .. ........... .... .. ..... 55 1 .6.1. Descripción de estados ....... ..................................................... 56 1.6.2. Descripción de sucesos ............................................................ 57 Capitulo 2. Los sistemas de información geográfica e lntemet ......... .... ...... 58 2.1. Sistemas de información geográfica (SIG) ............................................... 58 2.1.1. Que es un sistema de información geográfica ........ ............ ............ 58 2.1.2. Antecedentes .................................................................................. 61 2.1.3. Componentes de un sistema de información geográfica ................ 62 2.1.4. Datos que maneja un sistema de información geográfica . . .. . . . .. . . . . . 62 2. 1.5. Funciones que realiza un sistema de información geográfica ........ 64 2. 1.6. Aplicaciones de los sistemas de información geográfica . . . . . . . . . . . . . .. . 68 2.2. Análisis sobre sistemas de información geográfica y herramientas similares que interactúan con Internet . ..... .. .. ...... ..... .......... .......... ............. 76 2.2.1. GRASS . . .. . . .. .. .. . . . . . . . . ....... .. ... ...... .. . ... .... ... .. .. . .. . ...... ..... ..... ... . ..... ....... 77 2.2.2. Otras alternativas .. .......................................................................... 87 2.2.2.1. Software gratuito .................................................... .............. 87 2.2.2.2. Software de código abierto ... . . .. .. .. . .. . . .. ....... .. .. ......... .. . ......... 91 2.2.3 .. Tabla comparativa de software .............................................. ......... 94 2.2.4. Software elegido............................................................................. 103 Capitulo 3. MapServer como un ambiente de desarrollo WEB para la construcción de aplicaciones que manejen información espacial . . . . .. . . .... ... 106 3. 1 . Aspectos generales . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . 106 3.2. Jnstalación y configuración sobre Linux ........................................... ; ........ 107 3.3. Partes de una aplicación desarrollada a través MapServer ..................... 112 3.3.1. El formato Shapefile . ....... .. . ........................... ........ .......................... 114 3.3.2. Importancia y estructura de los archivos MAP ................................ 115 3.3.3. Características del CG/ empleado por MapServer ........................• 133 3.3.4. Los templates en MapServer ........................................................ :: '..137 3.4. PHP/MapScript ..........................................................................•..•....... /;.' ,141 3.4.1. Instalación y configuración de PHP/MapScript sobre Linux_ ......... :;:' _1 :42 3.4.2. Componentes de PHP/MapScript ................................... ; .. ;.~.;;.;;:.:''.'.',' 143 _ 3.5. Aplicaciones y herramientas vinculadas con MapServer .......... , .... ~:;·: ... :':'.'• '151 .__. 3.5.1. Rosa Applet ....................................................................... ,.,:.,;;;.;·>-.--151-_ 3.5.1.1. Parámetros del Applet ............................................. ,... - .152 3.5.1.2. Clases que integran Ja herramienta .................................... .' - 160 3.5.2. Deme GMAP ................................................................................... 162 3.5.2.1. Componentes del deme GMAP ........................................... 165 3.6. Relación entre MapServer y la generación de SIGMAFH: adaptación de GMAP ....................................................................................................... 167 3.6.1. Diagrama de flujo de datos de GMAP adaptado: SIGMAFH .......... 17 4 3.6.2. Diccionario de datos de GMAP adaptado: SIGMAFH .................... 193 Capitulo 4. Generación de SIGMAFH: adaptación de GMAP a las necesidades del área usuaria .. . . . .. . .. . . . . . . . . .. .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 98 4.1. Consideraciones previas a Ja reutilización y adaptación del deme GMAP 198 4.1. 1. MapServer, deme GMAP y Rosa Applet licencia y derechos de 199 autor .................................................................................................. . 4 1.2. Generación del archivo map ... ..... .. .. ... ..... .. ..... ... .................. ........... 202 4. 1.3. Verificación y ajuste de extensiones ... ...... .. ... .... .... .... .......... ........... 207 4. 1 .4. Verificación y ajuste de esca/as .. . . .. ... . . . . . . .. . . .. . ......... .. . . . . ..... .. . .. . . . . ... 209 4.2 Características del deme GMAP que se incorporaron de manera intacta a SIGMAFH .. ... ... . .. .......... ..... .... ................................................ 211 4.3 Determinación de las adecuaciones: personalización......................... 214 4.3.1 Visualización por regiones ... .......................................................... 214 4.3.2 Otras alternativas en cuanto a visualiza~ión en, la .superposicfón, 4.3.3 ~ee~fc'f~~ d;,;·d¡~-t~~·~¡~~·:::::::::::::::::::::::::::::::::;::'.:~::;:::~/:;:)'./fo:;::::i.·~~~ 4.3.4 Consultas -simples y múltiples - por atributos,.,.'.,,.;:;;.;.;;.:;;;;.;·;;;.;';> :239_ 4.3.5 Vinculación con el SIAT ...................•.. , .. ,:,;;'.··~-•~ .... ;,:;,:~.; •. :::::::: .. ::>; .. :244 ; 4.3.5. 1 Aspectos técnicos del Sistema de Alerta Temprana; (SIAT) .:244 4 · 4 4.4.~-1~k;~º~ E~~:~ 0 ~::zz~:~~'.:~:~~:~;~\~1.~ 1 '.i~S;]{{~~'.if.:·:):'."{:.:fü·:;:~'.::.:;:'. ,~!i · 4.4.2 Esquema de funcionamiento ...•.. ,,:::;Jf:;,.:~ .. ;!.:'::;;-,.':_,;;,.:;.:'.;~::>:.-.;.:,;.; :268_ 4.5 Revisión de funcionamiento SIAT-SIGM~-~!:"!Z~::_{~·''··:-·:·".·:;~:: .. ::.;.;.:,'.::: .•. :. 270 ' ~/ ' ' ¡ . < •• •• ' >~.'_~;• f"i ; .. :,.'. .¡.n": Conclusión final ................................... ;.:.;t;;.·,·.'::;'.;;·:'.L.'>;;'i.;;;'.;.;;: •. :.:: .. ;•:.:............. 272 Aportaciones ........................................ :: .. :: ..• ;'::.'.:.'.:': .. ~;.:-. ... ::: .. :,; ........... ;: ............ 274 Trabajos futuros ....................................... : ...... : ......................... ~ .......... : ... : ......... 275 Glosario de términos técnicos ... .. . ... ... . . . . ..... .. ... ......... ... ... ... ........ ..... .. .. .. ... . .. . . .. 276 Fuentes de información . . . .. .. . . ...... ... . .. ...... ..... ... ...... .. . ...... ... .. ... ......... .. . . . ... ...... ... 289 Apéndice A. Carta aclaratoria por parte de CENAPRED ..................................... 297 Apéndice B. Recursos empleados para la generación de SIGMAFH .................. 298 Apéndice C. Estructura de las entrevistas realizadas durante la recopilación de requerimientos . . ... . ... . . ...... .. .. . . . . . .. . . . . . . . .. . . . . .. . .. . . ... .. ......... .... .. . .. .. . . . .. . . ... . . . .. ..... .. . .. .. . 302 Apéndice D. Estructura de la entrevista realizada al desarrollador del SIAT ...... 304 INTRODUCCIÓN El auge de los Sistemas de Información Geográfica (SIG) como una herramienta para el manejo y análisis de información georeferenciada ha dado lugar a que día con día aumente, por parte del usuario, la necesidad de disponer en el momento preciso de un sistema de este tipo, es por ello que, tomando en cuenta la gran expansión que Internet ha tenido en los últimos años se considera que la unión de ambas tecnologlas traerá grandes beneficios para instituciones como el Centro Nacional de Prevención de Desastres (CENAPRED) al proporcionar la información idónea a las personas involucradas en la prevención de desastres siendo esta la actividad primordial de la institución. De acuerdo a esta tendencia tecnológica, en CENAPRED surge la necesidad de contar con una aplicación que ofrezca algunas funcionalidades de SIG a través de Internet, en base a esta, se ha desarrollado el presente trabajo de tesis que pretende, por medio de una investigación acerca del software que une las tecnologías antes mencionadas y que a su vez cumplan con los requerimientos de la institución, proporcionar la aplicación solicitada por el área de Riesgos Hidrometeorológicos misma que les permitirá generar información confiable y gráfica con el fin de informar oportunamente a las autoridades correspondientes acerca del riesgo que corren sus comunidades y de acuerdo a ello se tomen las medidas pertinentes. Antes de continuar, es importante destacar que la aplicación, motivo de la presente tesis, llevará el nombre de: SIGMAFH (Sistema para la Generación de Mapas que Muestren Municipios Afectados por Fenómenos Hidrometeorológicos), denominación con la que a menudo nos referiremos a dicha aplicación; así mismo, consideramos de gran relevancia mencionar que el nombre de la aplicación a generar difiere del nombre de esta tesis debido a que con este último se buscó englobar tanto la generación de la aplicación requerida como la investigación realizada entorno a ella ya que dicha investigación podría ser de gran utilidad no sólo para CENAPRED, sino para cualquier organización que requiera el manejo de mapas georeferenciados a través de Internet teniendo estos una amplia gama de aplicaciones como son el inventariado de recursos naturales y humanos, control y gestión de datos catastrales y de propiedad urbana y rústica (catastro multipropósito), la planificación y gestión urbana y de los equipamientos, la industria de los video juegos, la prevención y simulación de fenómenos naturales, la cartografía y el control de grandes instalaciones (ejemplo: red telefónica, redes de abastecimiento y evacuación de aguas, redes de transportes) y el marketing geográfico (geo-marketing), entre otras. ANTECEDENTES Debido a las consecuencias catastróficas del sismo de 1985, en México surgieron diversas iniciativas para crear una institución que estudiara los aspectos técnicos de la prevención de desastres. Por un lado, el Gobierno Federal emprendió la tarea de establecer el Sistema Nacional de Protección Civil (SINAPROC), por otra parte, el Gobierno de Japón ofreció su apoyo para mejorar los conocimientos existentes en relación con la prevención de desastres sísmicos, finalmente, la Universidad Nacional Autónoma de México (UNAM) decidió impulsar a su personal académico de alto nivel para que se dedicara a actividades de investigación y desarrollo en prevención de desastres. Las tres iniciativas concurrieron el 19 de Septiembre de 1988 a la creación del Centro Nacional de Prevención de Desastres (CENAPRED), como un órgano de carácter administrativo desconcentrado, jerárquicamente subordinado a la Secretaría de Gobernación. La responsabilidad principal del Centro Nacional de Prevención de Desastres (CENAPRED) consiste en apoyar al Sistema Nacional de Protección Civil (SINAPROC) en los requerimientos técnicos que su operación demanda. Asi mismo, realiza actividades de investigación, capacitación y difusión acerca de fenómenos naturales y antropogénicos que pueden originar situaciones de desastre, así como acciones para reducir los efectos negativos de tales fenómenos, siendo su principal objetivo promover la aplicación de las tecnologías para la prevención y mitigación de desastres; impartir capacitación profesional y técnica sobre la materia, y difundir medidas de preparación y autoprotección entre la sociedad mexicana expuesta a la contingencia de un desastre. El CENAPRED está organizado en Secretarías que realizan actividades de apoyo técnico, administrativo e institucional y cuatro coordinaciones que atienden las actividades sustantivas, siendo una de ellas la coordinación de investigación donde el principal objetivo es evitar que los fenómenos naturales deriven en catástrofe considerando que ningún programa de desarrollo sustentable puede realizarse sin tomar en cuenta los riesgos asociados a diversos fenómenos naturales, así como los derivados de la actividad humana. Dentro de la coordi11ación de investigación se encuentra un área llamada Riesgos Hidrometeorológicos, su objeto de estudio es la prevención y reducción de efectos que fenómenos naturales como huracanes, tormentas tropicales e inundaciones pudieran tener sobre nuestro pais, relacionado a ello, existen programas de investigación que están siendo aplicados a los 2 Antecedentes ............................................................................................................................................................ mecanismos nacionales de alertamiento y que generan metodologlas efectivas para pronosticar y enfrentar los efectos de los fenómenos antes citados. Es esencial considerar que las decisiones que se tomen en el área de Riesgos Hidrometeorológicos deben tener un sustento firme dada la importancia que el área posee al ser la encargada de informar a las autoridades de Protección Civil estatal sobre los riesgos que corren sus comunidades con el fin de que se tomen las medidas pertinentes y protejan tanto la vida de sus pobladores como su patrimonio, para ello se ha puesto a disposición de los expertos en el área, un sistema ubicado en la intranet de CENAPRED cuyo nombre es "Sistema de Alerta Temprana", dentro de este sistema se encuentra una sección dedicada a dar de alta los boletines hidrometeorológicos 1 , siendo los expertos quienes al ingresar una serie de datos dan la pauta para que este módulo de programa genere documentos HTML que representen un boletln. Cabe mencionar que además de poner a disposición de las autoridades correspondientes el boletln hidrometeorológico, se les notifica vla e-mail y/o fax acerca del riesgo al cual se encuentran expuestos sus habitantes. Ahora bien, antes de definir la problemática que justifica la realización de este trabajo de tesis, comenzaremos por describir de manera general la evolución que en cuanto al proceso de dar de alta un boletín hidrometeorológico se ha presentado, empezando por la forma en como se daba de alta un boletln anteriormente: El experto en hidrometeorologia ingresaba a la sección dedicada a dar de alta los boletines, esta sección se encontraba en la intranet de la institución dentro del "Sistema de Alerta Temprana". Una vez que el experto ingresaba a la parte dedicada a la emisión de boletines, se le presentaba un formulario en el cual se le solicitaba la ruta de almacenamiento del documento HTML que deseaba publicar. Es importante destacar que el experto elaboraba cada documento HTML redactando en el procesador de texto Word una serie de datos acerca del fenómeno que deseaba destacar y anexando una o varias imágenes· referentes a la ubicación del fenómeno en el territorio nacional, finalmente se almacenaba el archivo como documento HTML. El documento HTML que el experto especificaba no era más que el cuerpo de la página que se generaba al dar de alta el boletln ya que a dicho documento se le agregaban algunos elementos, por ejemplo: el logotipo y el nombre de la institución. 1 El boletln hidrometeorológico es un documento HTML que contiene infonnadón referente a los fenómenos con mayor probabilidad de ocurrencia teniendo como sustento una serie de análisis que los expertos llevan a cabo apoyados por infomiadón que les proporciona ef Sistema MeteoroJ6gico Nacional y por los antecedentes que cada reglón posea en cuanto a fenómenos hidrometeorológlcos. 3 Antecedentes ............................................................................................................................................................... Recientemente se liberó una nueva versión del "Sistema de Alerta Temprana" donde el proceso que se sigue al dar de alta un boletln es el siguiente: Al igual que en la versión anterior, el experto ingresa a una sección del Sistema de Alerta Temprana enfocada a dar de alta los boletines (dentro de la intranet de la institución). Para dar de alta un boletín hidrometeorológico, el experto debe llenar un formulario con datos referentes al fenómeno que desea describir, estos datos varlan dependiendo del tipo de fenómeno, siendo en ocasiones un boletln especial el que se genere o en su defecto, un boletín normal que no presentará demasiados detalles con respecto al fenómeno hidrometeorológico. Como siguiente paso, el sistema realiza por medio de los datos ingresados una serie de consultas que arrojarán como resultado los estados ylo municipios que podrían ser afectados por el fenómeno en cuestión, dicho resultado se complementa con información referente a la situación actual, el pronóstico en las próximas 24 horas, las recomendaciones, la etapa en la que se encuentra el fenómeno, etc., toda esta información reunida dentro de una página HTML conforma un boletín hidrometeorológico que los expertos pueden complementar agregando imágenes de satélite u otro tipo de imágenes• referentes al fenómeno en cuestión, todas ellas son estáticas, es decir, sin posibilidad de ser manipuladas y se obtienen de páginas pertenecientes a otras instituciones. Otro aspecto de relevancia es el hecho de que el boletín que se genere es consultado a través de la página principal de CENAPRED ya sea por las autoridades de Protección Civil estatal y por expertos en hidrometeorologia para fines de análisis o por personas que visiten la página únicamente con fines informativos, relacionado a ello, debemos tomar en cuenta que "la posibilidad de que múltiples usuarios, incluyendo aquellos que no son expertos, puedan accesar a los datos espaciales, hace que estos sean aún más valiosos" 2 . • Las imágenes que los expertos en hidrometeorologfa Integran al boletfn son obtenidas de páginas pertenecientes al Servicio Meteorológico Nacional. Universidad de Wisconsin, Defensa Naval de los Estados Unidos, Centro Nacional de Huracanes de Miami. entre otros. 2 Louis Hechl Jr., "Open GIS Connection"; GeoWor1d. Geotec Media. Abril 2002. 4 DESCRIPCIÓN DE LA PROBLEMÁTICA Una vez explicada la situación que prevalece· dentro del área de Riesgos Hidrometeorológicos en cuanto a la generación de boletines, procederemos a enunciar la problemática que el Sistema de Alerta Temprana presenta en cuanto a la generación de los mismos tomando en cuenta, sobretodo, la descripción realizada acerca de la última versión del boletin hidrometeorológico: Podemos afirmar que, a pesar de que los boletines generados presentan un contenido bastante útil -considerando los fines informativos para los cuales son creados-, aún presentan algunos inconvenientes dado que la información resultante se despliega únicamente a manera de texto y esta forma de presentar la información -considerando que se trata de ubicaciones dentro del territorio nacional- no es lo suficientemente clara para quien la consulta debido a que se requiere de un boletin que de alguna manera sea tanto gráfico como dinámico en cuanto a manipulación de mapas3 , visualización por regiones y consultas, lo que resultaría bastante útil para los expertos en hidrometeorologia de CENAPRED, para las instituciones relacionadas con la prevención y la toma de decisiones en cuanto a resguardo de habitantes y patrimonios así como para quienes visiten la página principal de CENAPRED ya que les permite obtener información de manera interactiva al realizar consultas sobre los medios de transporte, ríos y ciudades que formen parte de la zona en peligro así como la posibilidad de visualizar desde distintos aspectos o panoramas el territorio nacional y la zona de riesgo en específico. Es por esto último que el área de Riesgos Hidrometeorológicos, después de determinar las caracteristicas idóneas de un boletin, ha decidido solicitar al área de Cómputo una aplicación, que de manera conjunta con el Sistema de Alerta Temprana, genere información tanto de tipo gráfico como texto para coadyuvar a una mejor toma de decisiones enfocadas a la prevención. Cada uno de los requerimientos que implica la solicitud de la aplicación, han sido recopilados a través de una serie de entrevistas y reuniones entre el área usuaria -Riesgos Hidrometeorológicos- y el área de Cómputo, este proceso de recopilación se explicará de manera detallada en el siguiente capitulo. 3 Bajo la denominación de •manipulación de mapas· se han englobado las siguientes activ;dades: acercamientos, alejamientos y desplazamientos de mapas de manera interadiva. 5 HIPÓTESIS Para una toma de decisiones oportuna en caso de desastres se requiere proporcionar a los usuarios una aplicación que ofrezca la funcionalidad de un sistema de información geográfica a través de Internet, por medio de la cual se puedan visualizar de una forma clara y exacta las zonas afectadas por fenómenos hldrometeorológicos que se encuentren situados dentro del territorio nacional, así como facilitar la manipulación de toda la información referente a medios de transporte, ríos y ciudades cercanas a las zonas afectadas que coadyuven a tomar las medidas óptimas para proteger tanto la vida como el patrimonio de los ciudadanos afectados. OBJETIVO GENERAL Generar una aplicación donde sea posible obtener de forma gráfica y exacta a través de Internet, tas zonas afectadas por algún fenómeno hidrometeorológlco que se sitúe dentro del territorio nacional, así como permitir una adecuada manipulación de la información, todo ello a través de una investigación acerca del software que cumpla con la caracterlstica de proporcionar las bondades de un sistema de información geográfica a través de Internet. 6 ESTRUCTURA DE LA TESIS Este apartado describe el contenido de cada uno de los capítulos que conforman la presente tesis, es importante mencionar que la información contenida en ella fue recopilada de distintas fuentes de información: páginas de Internet, artículos de revistas y bibliografia perteneciente a la Facultad de Contaduría y Administración, Instituto de Investigaciones en Matemáticas Aplicadas Y en Sistemas e Instituto de Geografía -pertenecientes a la máxima casa de estudios: Universidad Nacional Autónoma de México-. La presente descripción de capítulos se realiza con el único fin de proporcionar al lector un panorama rápido del contenido de la tesis. Capitulo 1 Tomando en cuenta que el objetivo de esta tesis -y de la investigación inmersa en ella- es generar una aplicación con determinadas caracteristicas que coadyuven a una mejor toma de decisiones en cuanto a prevención, se hace necesaria la elaboración de una investigación preliminar y un proceso de recopilación de requerimientos, para lo cual, dentro de este capitulo se tratan temas referentes a la solicitud y viabilidad del proyecto, respecto a éste punto cabe mencionar que se listarán una serie de consideraciones referentes a cuatro tipos de viabilidad: técnica, operativa, económica y legal, a partir de estas consideraciones y de la naturaleza de la aplicación solicitada se indican las razones por las cuales no se realizó un estudio detallado que incluyera un análisis costo/beneficio. Por otro lado, se muestra la calendarización de actividades por medio de gráficas de Gantt que por su sencillez son un excelente instrumento de comunicación cuando de planeación y control se trata, así mismo se describen los métodos empleados para recopilar los requerimientos, así como los resultados obtenidos de los mismos, por último se presenta una serie de diagramas (entidad - relación -DER-, contexto - DFC-, flujo de datos -DFD- y transición de estados -DTE-) que nos permiten adquirir una visión aún más amplia, detallada y completa acerca de los requerimientos que demanda el área usuaria. Capitulo 2 Para generar la aplicación solicitada es de vital importancia realizar una serie de investigaciones y comparaciones acerca de las alternativas que nos ayudarán a determinar la mejor solución, de aqui que este capítulo haya sido dedicado a describir los conceptos básicos de los sistemas de información geográfica para tener un panorama más amplio acerca del tema, y una investigación acerca del software que ofrezca la funcionalidad de un sistema 7 Estructura de la tesis de información geográfica a través de Internet, posteriormente -y tomando como base dicho estudio- se muestra una tabla comparativa que nos ayudará a seleccionar la alternativa que cumpla con los criterios establecidos para generar la aplicación requerida por el área usuaria. La importancia de este capitulo radica en que la investigación realizada en torno a los sistemas de información geográfica y herramientas similares que interactúen con Internet puede ser aplicada y utilizada por un amplio rango de disciplinas que requieran de aplicaciones de mapeo vía Internet y que a su vez se puedan generar u obtener de manera gratuita. Capítulo 3 A lo largo de este capitulo se analiza más a fondo el software seleccionado (MapServer), para ello es necesario conocer todo el contexto de dicho ambiente de desarrollo iniciando desde los aspectos generales, instalación y configuración, las partes que integran una aplicación desarrollada a través de MapServer, los módulos con los que cuenta actualmente ~n especifico PHP/MapScript- así como las aplicaciones y herramientas vinculadas con el ambiente de desarrollo antes citado, dicha información nos da la pauta para determinar la manera en cómo será proporcionada la aplicación que el área usuaria ha solicitado, al final de este capítulo se indican diversos aspectos que justifican dicha determinación: la generación de la aplicación se realiza a partir de la reutilización y adaptación del demo GMAP. Capítulo 4 Dentro de éste capitulo se muestran las consideraciones previas a la reutilización y adaptación del demo GMAP, asi mismo se describe a detalle este proceso que sufre GMAP para finalmente generar la aplicación requerida: SIGMAFH, posteriormente se muestra la forma en como se vinculó SIGMAFH con SIAT. Otro apartado que presenta este capitulo es aquel que muestra diversos aspectos a considerar en cuanto a la aplicación generada y un esquema en el que se explica el funcionamiento de las aplicaciones SIAT y SIGMAFH después de su vinculación, finalmente se senalan los resultados de las revisiones que en torno a la vinculación SIGMAFH-SIAT se realizaron, dichas revisiones se enfocaron en la correctez del funcionamiento de SIGMAFH en cuanto a la visualización de zonas afectadas una vez vinculado con SIAT, las salidas fueron comparadas con aquellas que producía SIAT- en formato texto- antes de ser vinculado a SIGMAFH, poniendo especial énfasis en la consistencia de la información. Por último se muestra la conclusión final a la que se llegó después del proceso llevado a cabo para la realización de esta tesis, se presentan las aportaciones producto de la investigación realizada y de la aplicación generada, los trabajos posteriores que podrian derivarse a partir de los resultados obtenidos, el glosario de términos técnicos con la finalidad de hacer más comprensible el 8 Estrudura de la tesis tema al lector y, finalmente, todas las fuentes de información que fueron consultadas para la realización de la tesis citada. Por otro lado, se presentan como apéndices: la carta aclaratoria por parte de CENAPRED, los recursos que en cuanto a hardware y software fueron utilizados para generar la aplicación SIGMAFH asl como la estructura de las entrevistas realizadas a los usuarios y al desarrollador del SIAT. La notación empleada a lo largo de la tesis es la siguiente: • SIAT: Sistema de Alerta Temprana. • SIGMAFH (aplicación requerida, aplicación solicitada): Nombre de la aplicación solicitada por el área de Riesgos Hidrometeorólogicos (Sistema para la Generación de Mapas que Muestren Municipios Afectados por Fenómenos Hidrometeorológicos). • Expertos. Miembros del área de Riesgos Hidrometeorológicos, expertos en hidrometeorologla. • Área usuaria. Área de Riesgos Hidrometeorológicos. • Autoridades. Autoridades de Protección Civil estatal. Boletln (boletin hidrometeorológico). Reporte o documento HTML generado por el Sistema de Alerta Temprana. 9 CAPITULO 1 INVESTIGACIÓN PRELIMINAR Y RECOPILACIÓN DE REQUERIMIENTOS El presente capítulo muestra la forma en que la aplicación (objetivo de la presente tesis) fue solicitada, enseguida se señalan las consideraciones que encuanto a viabilidad se determinaron asi como la planificación establecida para la generación de SIGMAFH, posteriormente, se describen los resultados que los métodos de recopilación de requerimientos arrojaron asi como el proceso que se siguió para confirmar dichos requerimientos. 1.1 INVESTIGACIÓN PRELIMINAR Como se puede observar a través del objetivo de la presente tesis, lo que se busca como resultado de la misma es generar una aplicación que en base a determinadas caracteristicas -que se detallarán más adelante- apoye al área de Riesgos Hidrometeorológicos de CENAPRED en la toma de decisiones de naturaleza preventiva, la solicitud correspondiente a esta aplicación fue realizada por parte del área antes citada de manera verbal y a través de una reunión que se sostuvo entre el jefe del área de Cómputo y el encargado del área de Riesgos Hidrometeorológicos, durante esta reunión se indicó de manera general y escueta el tipo de aplicación que se requeria al manifestar lo siguiente: " ... El Sistema de Alerta Temprana genera boletines bastante útiles, ya que cumple con el objetivo de comunicar a las autoridades y a la población en general sobre las zonas afectadas por fenómenos hidrometeorológicos, sin embargo, sería conveniente que existiera una aplicación que complementara los boletines generados al proporcionar a quienes los consulten una manera de obtener mayor cantidad de información acerca de los municipios afectados generando además mapas que muestren su ubicación geográfica ... " En base a esta solicitud, el encargado del área de Cómputo, comunico a quienes se encuentran a su cargo la necesidad que se le había manifestado en aquella reunión dónde sólo acudieron jefes de área (de Cómputo y de Riesgos Hidrometeorólogicos), sin embargo, debido a la falta de claridad con la que se realizó la solicitud se hizo necesaria otra reunión en la que asistiríamos como las responsables de generar la aplicación -en caso de aprobarse-, además estuvo presente el encargado de la coordinación de 10 Capitulo 1. Investigación preliminar y recopilación de requerimienlos Instrumentación 1 , el jefe del área de Cómputo y el jefe del área de Riesgos Hidrometeorológicos acompai'lado por algunos miembros. Esta reunión se realizarla con el único fin de aclarar la solicitud del proyecto y de realizar una serie de preguntas que determinarían diversos aspectos relacionados con la viabilidad del mismo ya que en base a esto se tomaría la decisión de seguir o no con la generación de la aplicación solicitada, razón por la que, esta vez, la reunión no sólo fue integrada por los jefes de las áreas involucradas2 , sino también por aquellas personas que aportarlan aspectos tanto técnicos3 como de lndole presupuesta!. Durante la reunión se trataron lo siguientes puntos: • Objetivo y caracterlsticas generales de la aplicación. • Las condiciones que deblan cumplirse para que se generara la aplicación. • El equipo con el que se contaba. A continuación se describirán más a detalle cada uno estos aspectos. Como primer punto de la reunión se mencionó el objetivo de la aplicación, con el fin de aclarar la solicitud, se indicó lo siguiente: " ... La aplicación debe mostrar de forma gráfica -por medio de mapas-, a través de Internet, las zonas afectadas por determinado fenómeno hidrometeorológico situado dentro del territorio nacional, mostrando específicamente los municipios afectados e información como: la cantidad de población, el tipo de vivienda, los rios más cercanos, los medios de transporte, las ciudades y el área abarcada por los municipios que el Sistema de Alerta Temprana (SIAT) indique como afectados, creando asi un vinculo entre el SIAT y la aplicación que se solicita ... " Un factor que se sei'laló como indispensable es el hecho de que la aplicación solicitada fuera capaz de manipular mapas en formato shp ya este es precisamente el formato que el área de Riesgos Hidrometeorológicos maneja para llevar a cabo sus labores cotidianas al utilizar el software ArcView -S/G que opera de manera local sobre Windows-. Como información adicional, los miembros del área citada, comentaron que el boletln generado actualmente por el SIAT solo muestra el nombre de los municipios en formato texto, limitando la información a: número de boletín, tipo ' A la coordinación de Instrumentación pertenece et área de Cómputo. 2 Cómputo y Riesgos Hidrometeorológicos. 3 Los aspectos técnicos a los que nos referimos son los correspondientes a cómputo y geografla, disciplinas involucradas en la aplicación solicitada. 11 Capitulo 1. Investigación preliminar y recopilación de requerimientos de fenómeno, asi como su intensidad, nombre del estado afectado, las zonas de afectación, por ejemplo: sur del estado, todo el estado, norte del estado, etc. y el nombre de los municipios afectados, contenidos en una cuadricula dentro de una tabla. Se enfatizó que: tanto la visualización gráfica como la información proporcionada por la aplicación serla importante no sólo para los visitantes regulares de la página de CENAPREO sino también para las autoridades de Protección Civil y para la misma área usuaria debido a que ayudarla a realizar una toma de decisiones oportuna, que repercutirla en la rapidez con la que se proporcione la ayuda necesaria, teniendo un impacto importante en la conservación tanto de la vida de los pobladores como de su patrimonio. Después de comentar el objetivo de la aplicación, los usuarios afirmaron la existencia en Internet de algunas aplicaciones similares a la que ellos requerian, pertenecientes a distintos paises, pero con algunas caracteristicas ó funcionalidades similares, para ello procedieron a mostrarnos en una computadora a través del navegador las siguientes aplicaciones: http: //map2. fgdl. org/mapserver/startlt hememaps.html http:/1144.92.235.164/orthofinder/ 12 Capitulo 1. Investigación preliminar y recopilación de requerimientos CJ ____ .. __ ·- ~•:.a=- ...lle.:l~~~~~f'i;:M:" •:a.•·-- ..... mlll!!'llll __ .., .... =====------""'~''"111 :,,.,.;i o- - ,_a:-~·-·· 1 .,_. :::t~- .. .. .---...;--.: -~--~----------~ -----1 --.'.M~ 1 ! 1 j __ _ji - 1 _'. "'~---~··-·--·--_--_--_.¿'Fl-:J ¡u--------~~--~~· .• ._~-.:1 .ie:J •:.o~ •""'---'~~!c.. ... -.. -·~---..... - http://\NWW2.dmsolutions.ca/mapsherp ª1. http://alov.org/index.html http://elib.cs.berkeley.edu/gis/ex amples/world. html 13 Capitulo 1. Investigación preliminar y recopilación de requerimientos http://www.siglava.info.ve/ Es importante considerar, con respecto a las aplicaciones mostradas, que se tomó nota acerca de las direcciones web donde estas se encuentran con el fin de estudiar de manera general los recursos empleados para su elaboración - en caso de que la información se encuentre disponible-, todo esto, con el fin de determinar la posibilidad de realizar aplicaciones similares a esta -en términos técnicos-. Ahora bien, después de que los usuarios mostraron las aplicaciones, el coordinador del área de Instrumentación comentó que para la realización de la aplicación se requería que no existiera gasto alguno, lo cual significaba que tendría que ser generada empleando software libre y el equipo disponible, dejando en claro que el cumplimiento de esta condición era primordial para llevar a cabo el proyecto debido a las limitaciones presupuestales que prevalecen en la institución. Después de indicar lo anterior, el encargado del área de Cómputo mencionó que existían dos equipos disponibles para la realización de la aplicación, estos equipos tienen las siguientes características: 1. HP e-Pe ../ Procesador Pentium 111 866 MHZ ../ 256 MB en RAM ../ 20 GB en Disco Duro 2. DELL OptiPlex GX200 ../ Procesador i686 ../ 512 MB en RAM ../ 60 GB en Disco Duro 14 Gapltulo 1. Investigación preliminar y recopilación de requerimientos Además del software necesario para configurar un equipo como servidor web empleado Linux. Ahora bien, considerando que el área de Riesgos Hidrometeorológicos solicitó una aplicación con las características ya mencionadas, se hace necesario determinar si en realidad la generación de dicha aplicación es viable en términos económicos, técnicos, legales y operativos para lo cual partiremos de las siguientes premisas: "No es necesario un estudio de viabilidad para sistemas en que la justificación económica es obvia. el riesgo técnico es bajo, se esperan pocos problemas legales y no existe ninguna alternativa razonable."• "No es siempre necesario hacer un estudio de factibilidad, la decisión de poner en pie un sistema puede ser tomada directamente por Ja dirección como una decisión estratégica." 5 En cuanto a esta última premisa, podemos mencionar que el área de Riesgos Hidrometeorológicos (con apoyo de la institución) tomó una "decisión estratégica" al solicitar una aplicación con las características ya mencionadas, las ventajas de dicha estrategia se verán reflejadas en el ámbito de la prevención de desastres, en especifico aquellos derivados de fenómenos hidrometeorológicos -de ahi su importancia-, sin embargo, para sustentar la ausencia o presencia de un estudio detallado de viabilidad, se hace indispensable realizar un enjuiciamiento general para determinar si la aplicación solicitada requiere o no de dicho estudio, todo esto, a partir de los cuatro aspectos de viabilidad que ya se mencionaron y siempre considerando las premisas que aquí se presentan. Viabilidad técnica. Los aspectos que se tomaron en cuenta fueron los siguientes: • Al visitar las páginas donde se encontraban las aplicaciones presentadas por los usuarios se pudo determinar que una de ellas fue desarrollada a través de software comercial (ArclMS de ESRI) y tres se encuentran desarrolladas con software gratuito -algunas de código abierto- por ejemplo: GisViewer y MapServer, así mismo se pudieron conocer los sistemas operativos bajo los que son soportados: Linux en la mayoría de • Pressman, Roger S.; lngenierla del Sonware - Un enfoque practico; McGraw- Hill; 4° edición; 1997. 5 W. Hartman, H. Matthes, A. Proeme; Manual de los Sistemas de Información; 1• parte; 4° edición; Biblioteca técnica Philips; Parainfo, S.A.; Madrid 1981. 15 Capitulo 1. Investigación preliminar y recopilación de requerimientos las aplicaciones. En base a lo anterior se determinó que existe la tecnologia disponible para satisfacer las necesidades del área usuaria, en este caso, existen sistemas de información geográfica que interactúan con Internet, herramientas similares o bien ambientes de desarrollo que permiten generar este tipo de aplicaciones bajo una amplia gama de plataformas. • El hardware y software con que la institución cuenta, será el que se utilice para la generación de la aplicación. Este es uno de los criterios, que se utilizaron en la búsqueda de S/G y herramientas similares que interactúan con Internet teniendo como prioridad la utilización de un software de este tipo que sólo implique su adquisición de manera gratuita y que pueda ser utilizado bajo las condiciones que en cuanto a hardware y software presenta CENAPRED. Es posible la mejora que en cuanto a señalización de municipios afectados se ha solicitado. Como ya hemos explicado, el área usuaria ha solicitado una aplicación que genere mapas referentes a zonas afectadas por determinado fenómeno hidrometeorológico, esta caracteristica ya existe en una gama de aplicaciones que se dedican a mostrar, por medio de mapas georeferenciados, ubicaciones y distintos datos relativos a las mismas de una manera exacta, confiable y de fácil acceso. En realidad el riesgo técnico es bajo ya que como hemos mencionado, todas las condiciones tecnológicas necesarias para la generación de la aplicación existen de manera adecuada. En cuanto a aspectos de viabilidad legal, se ha considerado que, la única implicación que podría darse serla al reutilizar y/o adaptar alguna aplicación ya existente, caso en el que, tendríamos la labor de cerciorarnos que en realidad se trate de una aplicación de código abierto que contenga una licencia donde se especifique que su reutilización, modificación y distribución están autorizadas, de ser asi, no existe inconveniente alguno que impida o dificulte la generación de SIGMAFH. Por otro lado, consideramos que la justificación económica de la aplicación solicitada es evidente debido a que se ha planeado de manera que no genere gasto alguno para CENAPRED, es decir, la investigación que se realizará para encontrar el software que cumpla con las características deseadas, posee una serie de criterios entre los que se encuentra la condición de que el software elegido no implique la adquisición de hardware adicional o de software que no sea gratuito, así mismo, la generación de la aplicación no repercute en las actividades diarias de los usuarios, ya que SIGMAFH únicamente modificará la salida que SIAT presenta originalmente (a manera de texto), sin embargo, los usuarios podrán continuar generando boletines de la manera acostumbrada mientras son realizadas las investigaciones pertinentes y la aplicación generada es puesta a su disposición. 16 Capitulo 1. Investigación preliminar y recopilación de requerimientos Los beneficios que SIGMAFH conlleva varian dependiendo del tipo de usuario que consulte la aplicación, ya que van desde los usuarios expertos en hidrometeorologia y las autoridades de Protección Civil estatal hasta aquellos usuarios que comúnmente consultan la página de CENAPRED con el fin de mantenerse informados acerca de la situación climatológica que prevalece en la República Mexicana. En términos generales, podemos hablar de beneficios en cuanto a un mejor análisis de la información que genere el SIAT en conjunción con SIGMAFH, es decir, de los municipios afectados, ya que al presentarse de manera gráfica y manipulable, el usuario tendrá libertad para visualizar de manera dinámica información que anteriormente no era posible obtener asi como realizar una serie de consultas en torno a la zona afectada y al territorio nacional en general. SIGMAFH ofrece una amplia gama de posibilidades en cuanto a manipulación de mapas georeferenciados, y más importante aún, dichos mapas serán generados por la propia aplicación representando información que anteriormente se mostraba a manera de texto y limitaba al usuario a la cantidad de información que se le proporcionara en cada boletin. Todos y cada uno de los beneficios que SIGMAFH proporciona nos llevan a pensar en uno aún mayor y más importante: Una toma de decisiones oportuna, confiable y exacta por parte de los usuarios expertos en hidrometeorología y autoridades de Protección Civil estatal, al poseer una mayor cantidad de información acerca de las zonas afectadas que los llevará a determinar las acciones preventivas y de protección que consideren pertinentes, y al resto de los usuarios, se les provee de una información suficientemente clara acerca de las zonas en peligro que les permitirán mantenerse alerta y tomar las medidas necesarias. Ahora bien, pasando a las alternativas existentes con respecto a la generación del sistema, podemos señalar que, debido a la naturaleza de la aplicación solicitada, no existente alguna opción alternativa que evite dicha generación y que al mismo tiempo cumpla con los requerimientos de los usuarios, por ello, se hace necesaria la generación de SIGMAFH como una aplicación que produce de manera automática mapas manipulables que representan zonas afectadas. Finalmente, señalaremos a SIGMAFH como una aplicación operativamente viable debido a que se prevé su aceptación y utilización por parte de los usuarios debido a las siguientes razones: • SIGMAFH es una aplicación que surge del interés del área de Riesgos Hidrometeorológicos de contar con una manera gráfica de analizar las zonas afectadas por determinado fenómeno, así como de compartir dicha 17 Capitulo 1. Investigación preliminar y recopilación de requerimtentos manipulación de mapas con las autoridades de Protección Civil estatal que consultan el boletln y los usuarios que tienen un interés por mantenerse informados. De acuerdo a esto se considera que no existirá resistencia alguna en el manejo de la aplicación una vez que se libere, ya que, como aqui explicamos, la solicitud fue realizada por parte de los usuarios expertos en hidrometeorologia. • SIGMAFH es una aplicación realmente atractiva, dado que •existen pocos sistemas -dentro del 1>ais- que manejan información espacialmente referenciada via lnternetne. poniendo a disposición del usuario una extensa gama de posibilidades de obtener información de tipo gráfico y por consiguiente más entendible y atractiva que cuando es mostrada únicamente a manera de texto. Otro aspecto que hace de SIGMAFH una aplicación interesante para los usuarios es el hecho de que no es una aplicación que de manera aislada permita la manipulación de mapas, sino que se pretende vincularla con el SIAT de manera que los boletines hidrometeorológicos que este último genere, sean la pauta para accesar a SIGMAFH y de esta forma visualizar las zonas afectadas a través de mapas totalmente manipulables. Una vez que hemos explicado cada una de las consideraciones que en cuanto a viabilidad presenta SIGMAFH, podemos concluir que, como se"'alan las citas mostradas, no se requiere de un estudio detallado de viabilidad debido a que la aplicación que se solicita satisface los criterios establecidos en cuanto a aspectos técnicos, legales, económicos y operativos. Relacionado a ello, podemos afirmar que la generación de SIGMAFH se encuentra avalada en su totalidad por la institución al cumplir con cada uno de los criterios se"'alados, en especial aquel referente a los recursos a emplear ya que como se ha mencionado, el área de Cómputo cuenta con equipo disponible y software para su realización; en cuanto al software adicional, se planeó realizar una investigación para determinar cuál de ellos es el más adecuado basándose siempre en el criterio de que dicho software debe ser gratuito, además de otros criterios de naturaleza técnica que se se"'alan en el apartado dedicado a "Análisis sobre sistemas de información geográfica y herramientas que interactúan con Internet" del capítulo 2. Aclarado lo anterior, procederemos a describir de manera general las tareas desarrolladas a lo largo de la generación de SIGMAFH, cuyos periodos estimados y de realización fueron plasmados a través de gráficos de tiempos o gráficas de Gantt. • Plalica impartida por personal de Sistemas de lnfonnación Geográfica, 5.A de C.V. 18 Capitulo 1. Investigación preliminar y recopilación de requerimientos 1.2 DESCRIPCIÓN DE ACTIVIDADES A fin de cumplir con el objetivo que persigue este trabajo de tesis se llevaron a cabo las actividades que se describen a continuación: A Métodos de recopilación de los requerimientos. Esta actividad integra cada una de las entrevistas y reuniones necesarias para recopilar los requerimientos de una manera clara, la estimación de tiempo que en un principio se determinó fue de tres semanas. Es importante destacar que al momento de realizar esta actividad, las entrevistas y reuniones fueron apoyadas por un proceso de observación acerca de los pasos que se llevan a cabo en la institución para, a través del SIAT, dar de alta un boletin hidrometeorológico, asi como las ventajas y desventajas del mismo en cuanto a presentación y funcionalidad al momento de indicar los municipios afectados. La duración de esta actividad fue de tres semanas (como se habla estimado) debido a que, tanto las entrevistas como las reuniones, tuvieron que ser programadas considerando el hecho de no interrumpir de manera significativa las labores cotidianas del personal de Riesgos Hidrometeorológicos, es por ello que en ocasiones hubo necesidad de posponer, por alguna eventualidad, estos procesos de recopilación de requerimientos y reprogramarlos para una nueva cita abarcando asi tres semanas en total. B. Elaboración de diagramas. Se estimó que esta actividad tendría una duración de cuatro semanas debido a que comprende la elaboración del diagrama entidad-relación, del diagrama de flujo de datos y del correspondiente a la transición de estados, dichos diagramas son parte importante de la recopilación de requerimientos ya que conforman una manera útil de expresar estos últimos. El tiempo que se dedicó a esta actividad coincide con el que se había estimado para la misma. C. Investigación acerca de las características de un sistema de información geográfica. Breve investigación que se realizó con el único fin de ampliar nuestros conocimientos en cuanto a S/G para, de esta forma, tener las bases necesarias al momento de buscar la solución idónea, se estimó una duración de tres semanas para la realización de esta actividad. Es importante mencionar que en esta investigación participaron miembros del área de Riesgos Hidrometeorológicos que nos instruyeron e informaron en cuanto a sistemas de información geográfica. La duración de esta actividad fue de tres semanas, como se había estimado. 19 Capitulo 1. Investigación preliminar y recopilación de requerimientos .......................................................................................................................................................... D. Análisis sobre sistemas de infonnación geográfica y herramientlla similares que interactúan con Internet. Una vez estudiadas las características generales de todo sistema de información geográfica, proseguimos con una investigación acerca de SIG y herramientas similares a estos, que nos ofrecieran su funcionalidad vla Internet. A esta actividad se le asignó un tiempo relativamente largo (9 semanas) debido a la importancia de realizar un análisis lo más profundo posible acerca de las alternativas existentes con respecto a la interacción SIG-lnternet, que cumplan con los requerimientos del área usuaria asl como algunos otros criterios que se mencionan más adelante, siendo una prioridad el hecho de que la aplicación utilice únicamente los recursos con los que ya cuenta la institución. En la gráfica de Gantt de tiempos reales podemos observar que la actividad, efectivamente, fue cubierta en las 9 semanas que se hablan previsto, aquí, cabe mencionar que el análisis fue tan detallado como la información disponible acerca de este tipo de software nos lo permitió ya que en ocasiones era demasiado incompleta. Cabe mencionar que dentro de la investigación también se abarcó software de código abierto, lo que brinda la posibilidad de que SIGMAFH se genere a partir de la reutilización y/o adaptación de código ya existente. E. Aprendizaje del software elegido. Esta actividad engloba el hecho de estudiar y aprender cada una de las caracteristicas del software elegido a lo largo de la actividad anterior, este aprendizaje nos permite analizar de una manera adecuada la forma en la que generaremos la aplicación requerida. La estimación que se realizó con respecto a la duración de esta actividad fue de tres semanas, sin embargo la duración real fue de nueve semanas debido a la complejidad del ambiente de desarrollo MapServer, dentro de estas semanas se realizaron simultáneamente algunas otras actividades para las que se requería un aprendizaje continuo acerca del software elegido. El aumento en la duración de la actividad no afectó al resto de las actividades, ya que, como se menciona. fue realizada de manera paralela a algunas de ellas. F. Fonnulación de la solución. Una vez que se ha estudiado a fondo el software elegido como apoyo en la generación de la aplicación solicitada, nos encontramos en condiciones de formular una solución, misma que puede implicar: el desarrollo de la aplicación "desde cero·, la reutilización y/o adaptación de código, o bien, algún software que cumpla con la totalidad de los requerimientos, considerando que independientemente de la modalidad que se tome, la aplicación resultante deberá ser vinculada al Sistema de Alerta Temprana. A esta actividad se le asignaron tres semanas. La gráfica de Gantt de tiempos reales muestra que la duración de esta actividad coincide con aquella que se habla estimado en un principio debido a que, como se había contemplado, se realizó un análisis 20 Capitulo 1. Investigación preliminar y recopilación de requerimientos acerca de la estructura y funcionamiento de un código con fines de adaptación, en este caso, se trata del código del deme GMAP. G. Implementación de la solución. Dentro de esta actividad nos enfocamos a generar la aplicación solicitada. La duración de la actividad se estimó en seis semanas ya que, al igual que la actividad anterior, se contemplaron varias posibilidades: desarrollar la aplicación en su totalidad, reutilizar y/o adaptar código o poner a disposición de los usuarios un software que cumpla con los requerimientos. La duración real de esta actividad fue de cuatro semanas debido a que el código reutilizado y adaptado ya contenía varias de las características que el área usuaria solicitó por lo que sólo restaba ajustar algunos aspectos en cuanto a escala y extensiones, entre otros, así como realizar algunas agregaciones en código para adaptar la totalidad de la aplicación de manera que estuviera lista para vincularse con elSIAT. H. Vinculación con el Sistema de Alerta Temprana. Esta actividad comprende la unión de la aplicación generada (SIGMAFH) con el Sistema de Alerta Temprana (SIAT) para de esta forma generar boletines que mostraran vía Internet y de manera gráfica las zonas afectadas por un determinado fenómeno hidrometeorológico, asi como proporcionar al usuario algunas características de sistema de información geográfica por medio de las cuales pudiera manipular las zonas que el boletín señale como afectadas. La actividad abarcó, como se había previsto, tres semanas a lo largo de las cuales se realizaron modificaciones al Sistema de Alerta Temprana con el fin de integrarlo a la nueva aplicación de la manera más adecuada, procurando que sufriera el menor número de cambios posibles en su esencia y verificando que enviara de manera adecuada los datos hacia la nueva aplicación, en este caso, las claves de los municipios afectados. l. Revisión de funcionamiento SIAT-SIGMAFH. Esta actividad se refiere a la acción conjunta que con el grupo de usuarios que integran el área de Riesgos Hidrometeorológicos se lleva a cabo para comprobar la funcionalidad y correctez de la aplicación generada una vez que se ha unido al Sistema de Alerta Temprana. La duración de esta actividad fue de dos semanas, como se habla determinado. J. Documentación. Paralelamente a la realización de las actividades antes mencionadas se ha llevado a cabo un proceso de documentación con el fin de proporcionar a CENAPRED la mayor cantidad de información posible con respecto a SIGMAFH, todo ello para fines de reutilización o bien de mantenimiento del sistema. 21 Capitulo 1. Investigación preliminar y recopilación de requerimientos 1.2.1 GRÁFICA DE GANTT Las siguientes gráficas de Gantt reflejan de una manera mucho más clara el tiempo estimado y el tiempo real que se destinó a cada una de las actividades descritas con anterioridad; para efectos de claridad, se han realizado dos gráficas, una de tiempos estimados y otra más de tiempos reales, en ellas se indican periodos de tiempo tanto en meses como en semanas iniciando en el mes de Diciembre y finalizando en Agosto, relacionado a ello, la gráfica de tiempos estimados muestra una totalidad de 36 semanas. Gráfica de Gantt de tiempos estimados A---B c • o • • E • • • F --- ---G ·- -· -- H 1 1 1 - 1 -, ·• • 1 1 1 J 1 2 3 .. 5 6 7 8 • 10 11 12 13 ,. 15 ,. 17 18 19 20 21 22 23 2• 2s1 2•1 2712• 2• 30 1 2 Diciembre Enero Febrero Marzo Abril Mayo Junio Julio Tiempo Gráfica de Gantt de tiempos reales A--- 1 1 1 1 1 1 1 1 1 B 1 1 1 1 1 1 1 1 1 1 1 1 c • • - 1 1 l. 1 1 1 1 1 1 1 1 1 D ·-~ E - - -F G H ... --- 33 ~-Agosto 1 ·--.--, -·1 -1 28 29130131l32m; -J 1 2 3 .. 5 6 7 8 9 10 11 12 13 14 15 18 17 18 1 20 21 22 23 24 25 28 27 3i Diciembre Enero Febrero Marzo Abril M•yo Junio Julio 1 Agosto Tiempo 22 Capitulo 1. Investigación preliminar y recopilación de requerimientos Las dos gráficas que aqui se muestran, reflejan una diferencia de tiempos entre lo que se consideró como estimado y aquello considerado como real: la aplicación solicitada (SIGMAFH), fue puesta a disposición del área usuaria dos semanas antes de lo previsto (con 34 semanas de duración en total), esta disminución de tiempo se debió a la actividad correspondiente a "implementación de la solución" en la que se ocuparon sólo cuatro semanas de las seis que se habían planeado, de esta forma, las actividades posteriores pudieron adelantarse. La única actividad que aumentó su duración con respecto a lo previsto, fue la que se refiere a •aprendizaje de software elegido", sin embargo, este aumento no repercutió de ninguna manera en el resto de las actividades, ya que como se ha mencionado, la actividad fue realizada de manera simultánea con otras que requerían de un aprendizaje constante con respecto a dicho software. El apartado que sigue está dedicado a la recopilación detallada de requerimientos, en él se describirán los resultados obtenidos de la aplicación de algunos métodos como entrevistas, reuniones y observación. 1.3 REQUERIMIENTOS La recopilación de requerimientos es una de las actividades primordiales dentro del desarrollo de cualquier proyecto, para ello es importante seleccionar los métodos idóneos que permitan al desarrollador conocer todo el ámbito de la aplicación, los objetivos, datos específicos de los procesos y actividades llevadas a cabo por los usuarios, así como los grupos afectados y los posibles vínculos con otras aplicaciones. Para la recopilación de requerimientos se aplicaron los siguientes métodos: reuniones, entrevistas y observación. Los motivos por los cuales se decidió emplear éstos métodos son los siguientes: "' Las entrevistas ayudaron a conocer datos que no se encuentran en ninguna otra forma, como pueden ser documentos, archivos, etc., permitieron aclarar malos entendidos y falsas expectativas, se consideraron ya que son generalmente la mejor forma para conocer las actividades de la entidad. El tipo de entrevista aplicada fue de tipo estructurada y de respuesta abierta, ya que permite a los entrevistados contestar de forma libre, las entrevistas aplicadas permitieron también conocer conceptos referentes al área. 23 Capitulo 1. lnvestigaciOn preliminar y recopiladOn de requerimientos ./ Las reuniones permitieron obtener información sobre una amplia variedad de temas referentes al entorno de la aplicación, ayudando a comprobar las respuestas dadas por cada uno de los integrantes . ./ La observación permitió obtener información importante con respecto a la forma como se llevan a cabo las actividades, fue aplicada básicamente a la alta de boletines hidrometeorológicos realizada por los usuarios expertos a través del SIAT y en específico a la salida que dicho sistema produce. Como ya se mencionó, la solicitud de la aplicación fue realizada de manera verbal por parte del encargado del área de Riesgos Hidrometeorológicos, a partir de ello se realizó una primera reunión que ayudó a determinar la viabilidad encuanto a la generación de la aplicación solicitada, a lo largo de dicha reunión se detectó que además del área antes citada, existirlan otros usuarios (grupos afectados), estos serian las autoridades de Protección Civil estatal y aquellos visitantes de la página de CENAPRED que regularmente acudían a ella para mantenerse informados, posteriormente se explicará de manera detallada lo relativo a los grupos que resultarían afectados a partir de la generación de la aplicación solicitada así como las dependencias o vínculos de la misma. Después de identificar y conocer a los integrantes del área usuaria, se acordó llevar a cabo 2 reuniones en las que se tocarian aspectos relacionados con la aplicación, a fin de establecer claramente los requerimientos y en base a ello detectar cuáles serían las entradas que la aplicación debla tener asl como las salidas que generaría. Durante la primera reunión se tocaron aspectos referentes al entorno de trabajo, la razón y el objetivo de la aplicación a generar, las caracteristicas que debía contener tomando como base algunas aplicaciones similares existentes en la red, durante la segunda reunión se especificó claramente la funcionalidad de la aplicación, asi como los procedimientos referentes a la alta de boletines considerando la señalización de los municipios afectados que muestra a manera de texto. Con la finalidad de recabar información precisa que permitiera conocer tanto las actividades como los procesos llevados a cabo por los usuarios, se decidió realizar una serie de entrevistas a algunos integrantes clave del área usuaria. A continuación se dará una descripción detallada acerca de los resultados obtenidos a través de los métodos de recopilación de requerimientos. 24 Capitulo 1. Investigación preliminar y recopilación de requerimientos 1.3.1 RESULTADOS OBTENIDOS DURANTE LAS REUNIONES Y ENTREVISTAS CON LOS USUARIOS Antes de comenzar a describir los aspectos referentes a la recopilación de requerimientos es importante destacar que, como se mencionó en el apartado "Investigación preliminar", la primera reunión sirvió como base para determinar la viabilidad de la aplicación solicitada, en el presente apartado se darán a detalle cada uno de los puntos tratados durante la segunda y tercera reunión con el único propósito de mostrar los resultados obtenidos de la aplicación de los métodos empleados para recopilar los requerimientos7 • Después de aclarado lo anterior procederemos a describir cada uno de los puntos tratados en la segunda reunión sostenida con los usuarios: Como primer punto los usuarios señalaron que el área de Riesgos Hidrometeorológicos tiene como prioridad informar a las autoridades de Protección Civil sobre los riesgos que corren sus comunidades ante la cercanía de algún fenómeno hidrometeorológico, tales como: tornados, huracanes, lluvias intensas, etc., como parte de esa labor de prevención y alertamiento, ellos emiten boletines hidrometeorológicos diarios a través del Sistema de Alerta Temprana (SIAT): un boletin hidrometeorológico contiene información sobre los principales fenómenos que generan lluvias y causan inundaciones, a través de dichos boletines se proporciona información relevante acerca de la situación climatológica actual del pais, son elaborados por personal del área de Riesgos Hidrometeorológicos y publicados en la página web del CENAPRED, para que puedan ser consultados por las autoridades de Protección Civil y la población en general, sin embargo, el boletin presenta un inconveniente: la información de los municipios de cada estado que resultan afectados aparece en un formato texto, sólo proporcionando como información el número del boletin, el tipo de fenómeno (huracán, tornado, etc.), nombre de estado afectado, la zona de afectación, por ejemplo, sur del estado, todo el estado, norte del estado, etc., y el nombre de los municipios afectados contenidos en una tabla, aspecto que influye de manera significativa en la presentación de los boletines y en la toma de decisiones de las autoridades, de aqui surge la propuesta o solicitud (por parte del área de Riesgos Hidrometeorológicos) de generar una aplicación con las características ya descritas durante la primera reunión. Comentaron que existen 2 tipos de boletines: 7 Los aspectos relacionados con la estructura de las entrevistas se muestran en el apéndice C "Estructura de las entrevistas realizadas durante la recopilación de requerimientos·. 25 Capitulo 1. Investigación preliminar y recopilación de requerimientos 1. Boletín normal. Se da de alta diariamente y da referencias acerca del estado climatológico actual. 2. Boletín especial. Se da de alta cuando un fenómeno hidrometeorológico como huracán, tornado, etc. afecta parte del territorio nacional, se publican generalmente en temporada de ciclones, mostrando información referente al fenómeno y el pronostico de su comportamiento. De acuerdo a la volatilidad del comportamiento del fenómeno, los boletines pueden variar en la periodicidad de su publicación, en el caso de los boletines especiales pueden ser elaborados cada 4 hrs, 6hrs, 12 hrs o 24 hrs, si la situación lo requiere. En la tercera reunión programada, se tocaron puntos importantes, tales como: la forma en que a través del Sistema de Alerta Temprana (SIAT) se genera cada boletín hidrometeorológico, procediendo los usuarios a mostrarnos de manera detallada cómo es que se lleva a cabo este proceso para lo cual indicaron lo siguiente: ./ Al ingresar a la sección del SIAT correspondiente a dar de alta boletines, primeramente se les solicita a través de un formulario el número del boletln, nombre, tipo y categoría del fenómeno, la etapa en la que se encuentra, el nombre de los responsables, entre otros, todo ello en una primera página, posteriormente pasan a una segunda en donde indican los estados y la intensidad del fenómeno, después de introducir estos datos, se muestra una tercera página donde son mostrados solo los estados seleccionados por el usuario para indicar la parte del estado donde será afectado, es decir, se indica si será afectado todo el estado o tan solo la parte sur, o en su defecto la parte norte, etc., en esta tercera página es mostrada una serie de 3 botones donde se le da al usuario la oportunidad de hacer una vista preliminar del boletín, darlo de alta o regresar para volver a introducir los datos nuevamente. Después de que el boletín es dado de alta se publica dentro de la página web del CENAPRED y contiene los siguientes datos, cuando se trata de un boletln normal: Fecha y hora en que se da de alta el boletín Tipo de fenómeno hidrometeorológico • Nombre y categoria del fenómeno hidrometeorológico • Número de boletín La etapa en la que se encuentra el fenómeno Situación actual Pronóstico para las 24 horas 26 Capitulo 1. lnvestigaciOn preliminar y recopllaciOn de requerimientos • Recomendaciones y las medidas implementadas. Si el boletín es de carácter especial aparecerán los siguientes datos: • Fecha y hora en que se da de alta el boletin. • Tipo de fenómeno hidrometeorológico. • Nombre y categorla del fenómeno hidrometeoro/ógico. • Número de boletín. Rangos de alertamiento dentro de los cuales se encuentran: • El nombre y categoría del fenómeno • La intensidad de los vientos • El tiempo que tardará en llegar a tierra o manifestarse el fenómeno, esto se determina en base a la distancia existente entre la costa y la posición del fenómeno así como la velocidad de los vientos, indicando así la etapa en la que se encuentra el fenómeno en cuestión. • Una serie de imágenes que indican el pronóstico de la trayectoria, las trayectorias históricas, la imagen del satélite y la temperatura de la superficie del mar. • Una recuadro con los datos relativos a la ubicación en hora local, hora y fecha en horario GMT, nombre y categoría del fenómeno, posición del fenómeno con respecto al territorio nacional, distancia y lugar más cercano, banda nubosa exterior: distancia a las costas, desplazamiento actual, vientos máximos sostenidos, rachas de vientos, extensión de vientos y olas desde el centro del fenómeno, entre otros, todos ellos haciendo referencia a la situación actual y a la situación pronosticada. • Comentarios sobre la situación actual. • Comentarios sobre la situación pronóstico. Dentro de esta secc1on se presentan los nombres de los estados que se determinaron serían afectados por el fenómeno detectado, el nombre de dicho estado es presentado de 2 formas: en formato texto que indica la no existencia de municipios afectados o en forma de liga8 que indica la existencia de municipios afectados pertenecientes al estado, dicho vinculo conduce hacia la página donde son mostrados los nombres de los municipios del estado afectado, así mismo, se menciona la intensidad del fenómeno y se da el pronóstico para las próximas 24 hrs, se enfatizó en la importancia de esta 1J También llamado vinculo, pennlte accesar a ara(s) p8gina(5) 'NEB, utiliza el concepto de hipertexto, palabra especial de una pagina web, que al hacer ciick sobre ella, conduce hacia un documento 6 página diferente contenido en Internet. 27 Capitulo 1. Investigación preliminar y recopilación de requerimientos ......................................................................................................................................................... sección, ya que serla aquí donde entraria la participación de la aplicación solicitada, SIGMAFH. La siguiente pantalla muestra la sección del boletin . hidrometeorológico que contiene el pronóstico y dentro de él los estados afectados: Dllllmll-----=-=im=m::=m ________ ltll!ll=l:é:'!:.~""''=· ··· ''11ij 3 ~ ... -~ ~KMl't1 ; 1 : . -: MOlll!.Sl"f. ·~sre .SIMOESTE frOOAOl!.STE ...oAESTe 5UMESTe ~STE! 'NO•OEST! 1 1 ' 1 fiit-o~o ~--a..:w---ow;¡¡--¡¡-¡;¡,¡-Di----1~ HIDROMElEOROlÓGICO .,__ _ __...._.ALTASDELBOLETINH+---< ENSIAT USUARIOS DE LA PAGINA Nota. Como se puede observar, la mayorla de las relaciones entre las entidades presentan una cardinalidad de 'muchos a muchos (m:m)' , esto se debe a la naturaleza de las entidades que aqul se tratan (sistemas, personas e informes), con respecto a ello, es importante recordar que al mostrar estas entidades no se pretende senalar con ellas las tablas que conlormarlan una base de datos. por el contrarto, estas entidades constituyen el entorno de SIGMAFH, razón por la cual no se presenta una solución a las relaciones m:m. 38 Capitulo 1. Investigación preliminar y recopilación de requerimientos 1.4.1 DESCRIPCIÓN DE ENTIDADES Entidad Descripción Módulo de altas del boletín en SIAT permite a los expertos en hidrometeorologia -a SIAT través de su módulo de altas- generar los boletines, que (Sistema de Alerta Temprana) posteriormente son publicados en la página web de CENAPRED. Boletín hidrometeorológico Medio electrónico por medio del cual se publica información acerca del estado climatológico del pais y que dará la pauta para ingresar a SIGMAFH. Usuarios expertos Miembros del área de Riesgos Hidrometeorológicos, encargados de elaborar y consultar los boletines hidrometeorológicos. Autoridades de Protección Autoridades de Protección Civil pertenecientes a cada Civil estado de la República Mexicana, son los principales usuarios del bolelfn hidrometeorológico. Usuarios de la página Visitantes de la página web de CENAPRED, que ingresan a la sección de boletines únicamente con fines informativos. 39 .J: o Capitulo 1. Investigación preliminar y recopilación de requerimientos 1.4.2 DESCRIPCIÓN DE ATRIBUTOS Entidad Atributo Descripción , .. . : :: ?:-;, ;:!.::,~.:;.H'/ Formulario de datos del Esta sección del módulo de altas del SIAT, solicita al usuario Módulo de fenómeno experto en hidrometeorologia datos acerca del fenómeno altas del como su nombre y categoría, entre otros. boletín en Formulario de estados Dentro de esta sección se le solicita al usuario experto que SIAT afectados introduzca los estados afectados por el fenómeno que se (Sistema de esté tratando. Alerta Formulario de Por cada estado, se le solicita al usuario experto que señale Temprana) intensidades la intensidad con la que el fenómeno se manifiesta. Formulario de otros En esta sección se solicita al usuario ingresar otros datos, datos referentes al por ejemplo, comentarios. fenómeno Clave usuario Identificación única que posee cada miembro del área de Riesgos Hidrometeorológicos, por ejemplo: su número de empleado. Nombre Dato que incluye el{los) nombre{s) del usuario experto asi Usuarios como su apellido paterno v materno. Dirección Domicilio del usuario experto, incluye calle, número, colonia, expertos deleqación v códiQo postal. Teléfono Número telefónico del usuario experto. Puesto Lugar que el usuario experto ocupa en CENAPRED (jerárquicamente hablando) Area perteneciente Nombre del área a la oue pertenece el usuario experto. Continua en la siguiente hoja Nota. Se omite el tipo de dato correspondiente a cada atributo debido a que con esta descripción no se pretende mostrar un diccionario de datos, sino sólo und refer•ncia acerca de los atributos perteneciente~ a las entidades que conforman el entorno de SIGMAFH (personas, sistemas e informes). 40 Capitulo 1. Investigación preliminar y recopilación de requerimientos 1.4.2 DESCRIPCIÓN DE ATRIBUTOS -continuación· Entidad Atributo Descripción Clave responsable Clave que identifica de manera única a la autoridad de Protección Civil que consulte el boletín o bien se comunique con Jos usuario exoertos de CENAPRED. Nombre del Dato que incluye el(los) nombre(s) de la autoridad de resoonsable Protección Civil así como su apellido oaterno v materno. Autoridades Dirección Domicilio de la autoridad de Protección Civil, incluye calle, número, colonia, deleoación v códioo costal. de Teléfono Número telefónico de la autoridad de Protección Civil. Protección Puesto Lugar que ocupa la autoridad de Protección Civil en Ja Civil institución aue le corresponda lierárauicamente hablando) Area perteneciente Nombre del área a la que la autoridad de Protección Civil pertenece. Estado al que Estado de la República Mexicana al que pertenece Ja autoridad pertenece de Protección Civil que consulta el boletín o bien se comunica con los usuarios expertos de CENAPRED. Clave del usuario Clave que identlica de manera única al usuario que consulta la oáaina de CENAPRED por eiemplo: número de visitante. Usuarios de Nombre Dato que incluye el(los) nombre(s) del visitante de la página así como su apellido oatemo v materno. la página Comentarios Cada persona que visita Ja página de CENAPRED tiene la posibilidad de enviar algún comentario al encargado de Ja administración v mantenimiento de la misma. Continua en la siguiente hoja 41 Capitulo 1. Investigación preliminar y recopilación de requerimientos .................................................................................................................................................................................................. 1.4.2 DESCRIPCIÓN DE ATRIBUTOS -continuación- Entidad Atributo Descripción Indica el número de boletín, se encuentra integrado por la fecha No. de boletín (dd/mm/aa) en la que se dio de alta dicho boletín. Indica el tipo de boletín, existen dos tipos: normales y Tipo especiales, los normales se dan de alta diariamente y solo contiene información climatológica del país, los especiales se dan de alta cuando un fenómeno hidrometeorológico se encuentra afectando parte del terrrtorio nacional, su alta puede darse cada 2, 4, 6 y 8 hrs. si la intensidad del fenómeno así lo requiere. Boletín Indica el nombre que se le ha dado al fenómeno hidrometeo- Nombre hidrometeorotógico, por ejemplo: Huracán Alma. ro lógico Indica la categoría del fenómeno, con ella se define la Categoría intensidad del fenómeno, existen 5 categorías establecidas para la defilición de fenómenos hidrometeorológioos. Indican el nombre del fenómeno, la intensidad de los vientos y Datos de la distancia existente entre la costa y las bandas nubosas del Alertamiento fenómeno, en base a ello, se establece la etapa. Indica la etapa en la que se encuentra el semáforo, por Etapa ejemplo: Etapa de emergencia (AMARILLO), de acuerdo al color se indica el impacto que el fenómeno hidrometeorológico está teniendo o tendrá. Continua en la siguiente hoja 42 Capitulo 1. Investigación preliminar y recopilación de requerimientos 1.4.2 DESCRIPCIÓN DE ATRIBUTOS -continuación· Entidad Atributo Descripción ; Pronóstico Indica la dirección hacia donde se mueve el fenómeno hidrometeoro/ógico, indicando tanto los nombres de los estados afectados por dicho fenómeno como la intensidad de las lluvias con las que se verán afectados. Clave usuario Clave del usuario experto encargado de dar de alta el boletln experto hidrometeorológico. Clave autoridades de Clave de las autoridades de Protección Civil estatal a quienes Protección Civil se enviará el mensaje para notificar acerca del fenómeno Boletln hidrometeorológico. hidrometeo- Localización en Indica ia localización en hora local, es decir, en tiempo del ro lógico horas centro de México. Fecha y hora GMT Indica la hora y fecha en horario GMT. Latitud del centro del Indica la posición del centro del ciclón en base a los valores de ciclón latitud especificados par el usuario experto. Ubicación/distancia/ Indica la ubicación, distancia y lugar más cercano del centro Jugar más cercano del fenómeno hidrometeorológico. Desplazamiento Indica la dirección y velocidad hacia donde se desplaza el fenómeno hidrometeorolóoico. Vientos máximos Indica el valor de los vientos máximos, dados en kilómetros por sostenidos hora. Continua en la siguiente hoja 43 Capitulo 1. Investigación preliminar y recopilación de requerimientos 1.4.2 DESCRIPCIÓN DE ATRIBUTOS -continuación· Entidad Atributo Descripción Rachas de viento Indica el valor de las rachas de vientos que tendrá el fenómeno, especificados en kilómetros por hora. Presión diámetro del Medida del ojo del cidón tropical. ojo Boletín hidrometeo- Liga SIGMAFH Representa el medio a través del rual el usuario podrá accesar rológico a SIGMAFH, se trata de una liga ubicada dentro de cada boletín hidrometeorológico, esta liga está formada por los nombres de los estados afectados, de manera que al hacer dick sobre este medio, se ingresará a SIGMAFH y se observará un mapa que muestra las zonas afectadas {municipios). Capilulo 1. Investigación preliminar y recoprlación de requerimientos 1.4.3 DESCRIPCIÓN DE RELACIONES • El módulo de alta de boletín debe generar uno o muchos boletines hidrometeorológicos. • Uno o muchos boletines deben ser generados por el módulo de altas del SIAT (Sistema de Alerta Temprana). • Uno o muchos usuarios expertos deben ejecutar el módulo de altas del SIAT para generar el boletín. • El módulo de altas del SIAT debe ser ejecutado por uno o varios usuarios expertos. • Uno o muchos usuarios expertos deben consultar uno o muchos boletines hidrometeorológicos. • Uno o muchos boletines hidrometeorológicos deben ser consultados por uno o muchos usuarios expertos. • Una o muchas autoridades de Protección Civil deben comunicarse con uno o muchos usuarios expertos. • Uno o vanos usuarios expertos deben comunicarse con una o muchas autoridades de Protección Civil. • Una o muchas autoridades de Protección Civil deben consultar uno o muchos boletines hidrometeorológicos. • Uno o muchos boletines hidrometeorológicos deben ser consultados por una o muchas autoridades de Protección Civil. • Uno o muchos usuarios de la página del CENAPRED pueden consultar uno o muchos boletines hidrometeorológicos. • Uno o muchos boletines hidrometeorológicos pueden ser consultados por uno o muchos usuarios de la página. Nota: En cuanto al SJAT sólo se consideró el módulo de altas, ya que éste permite la generación del boletin hidrometeorológico, aspecto importante para el esclarecimiento de Jos requerimientos. 45 ...................................................................................................... ~~P.i!~!~ .. !:.!~~:~!!R~9.~~.P.'.~!!~!~~!.X .. ~~.<:?.P!!~~~~-~~-~9~~-~!!!!~.~!~~ ... 1.5 DIAGRAMA DE FLUJO DE DATOS Con el diagrama de flujo de datos0 que mostraremos a continuación se pretende comprender de una manera más clara el ámbito interno de SIGMAFH, es decir, cada una de las características que el área usuaria ha solicitado como parte de la funcionalidad del mismo, relacionado a ello, cabe mencionar que en los procesos que ameritaban un desglose se llegó hasta un segundo nivel, por considerar que este es el necesario para los fines de esclarecimiento que se persiguen. SIAT Usuario experto en hidrometeorologla, autoridades de Protección Civil estatal y usuarios en general* DFD de nivel contextual para SIGMAFH Claves de SIGMAFH Usuario experto en hidrometeorologla, autoridades de Protección Civil estatal y usuarios en general* Usuario experto en hidrometeorologla, autoridades de Protección Civil estatal y usuarios en general* li!I La simbologla empleada para los diagramas que aqul se muestran, se extrajo de la siguiente fuente de información; Pressman. Roger S. (Adaptado por Darrel lnce); lngenierla de Software - Un enfoque práctico; McGraw·Hill; 5' edición; Espana 2002. 46 ...................................................................................................... ~~P.i!.~!? .. ~;.!~~~~!!R~Ei.~D.P!.~!!~!~~!.Y. .. ~~.<:?.P!!~~~~.~~.~9~~~!~D~~ ... SIAT Usuario experto en hidrometeorologla, autoridades de Protección Civil estatal y usuarios en general* Claves de Construir consulta DFD de nivel 1 para SIGMAFH de zonas afectadas Usuario experto en hidrometeorologla, autoridades de Protección Civil estatal y usuarios en general* Mapas 47 Capitulo l. Investigación preliminar y recopilación de requerimientos ........................................................................................................................................................................................................ DFD de nivel 2 para refinar el proceso Detectar zonas en el mapa Sentencia consulta Capitulo 1. Investigación preíiminar y recopilación de requerimientos ........................................................................................................................................................................................................ DFD de nivel 2 que refina el proceso Desplegar tabla con información delas zonas Sentencia consulta Tabla con información de zonas afectadas <49 Capítulo l. Investigación preliminar y recopilación de requerimientos ........................................................................................................................................................................................................ DFD de nivel 2 para refinar el proceso Permitir manipulación del mapa Imagen co zonas Imagen genérica genérica \ Imagen Imagen genérica ¿ Imagen genérica Imagen genérica 50 Capitulo 1. Investigación preliminar y recopilación de requerimientos 1.5.1 ESPECIFICACIÓN DE PROCESOS Nombre Descripción Construir consulta Este proceso recibe (de parte del SIA T) una serie de claves de municipios, por medio de estas construye una sentencia de consulta que contiene dichas claves como filtros, esta sentencia será enviada a los procesos "desplegar tabla con información de las zonas" y 'detectar de zonas en el mapa" para que por medio de dicha sentencia, estos procesos realicen sus operaciones (mostrar una tabla que contenga infonnación referente a los municipios afectados y determinar que zonas serán coloreadas en color distinto con respecto al resto del mapa, respectivamente). Determinar áreas El proceso recibe la sentencia de consulta que le permitirá determinar las áreas afectadas (dentro del mapa de que coincidan con las claves Ubicar las áreas dentro del mapa Busca-r ---- coincidencias en el archivo dbf la República Mexicana), las áreas (o poligonos) de cada municipio afectado serán la entrada para el proceso "ubicar las áreas dentro del mapa". El proceso, ubica las áreas que recibe dentro del mapa entero para producir una imagen referente a dicho mapa conteniendo las zonas afectadas que se encontrarán iluminadas con distinto color al resto del mapa. Esta imagen es la entrada hacia los procesos 'desplegar mapa resultante" y 'permitir manipulación del mapa" debido a que la imagen no sólo es mostrada en pantalla con cierto formato, sino que también es posible manipularla al aplicarle distintas operaciones propias de un SIG, por ejemplo: un acercamiento. Este proceso recibe una sentencia de consulta con determinados filtros, en este caso los filtros son las claves de los municipios afectados que previamente proporcionó el SIAT. El proceso se encarga de buscar dentro de los registros que contenga el dbf referente a municipios aquellos que coincidan con los filtros establecidos por la sentencia. Una vez que han determinado los registros correspondientes, los envía al proceso que se encarga de conjuntarlos en una sola tabla ('mostrar tabla con información"). Continua en la siguiente hoja 51 Nombre Mostrar tabla con información Desplegar mapa resultante Relacionar par acción-imagen con zonas Ubicar por medio del mapa de referencia Capitulo 1. Investigación preliminar y recopilación de requerimienlos 1.5.1 ESPECIFICACIÓN DE PROCESOS -continuación- Descripción Este proceso construye una tabla que contiene los registros correspondientes a los municipios afectados y su principal tarea es dar formato y presentación a la misma, por ejemplo, agregándole el tltulo correcto de manera que esta se encuentre lista para ser mostrada al usuario. El proceso recibe inicialmente una imagen con zonas -afectadas- ya que es la primer imagen que la aplicación deberá mostrar, sin embargo, debido a que el usuario deberá tener la posibilidad de manipular el mapa, el proceso encargado de ello, produce una imagen genérica y la envla al proceso 'desplegar mapa resultante', de esta forma puede existir como entrada una imagen con zonas o bien una imagen genérica y en ambos casos el proceso dará formato a la imagen para presentarla en pantalla dentro de un recuadro principal y con un titulo. El proceso, al recibir el evento click que realiza el usuario y la imagen con zonas -afectadas- , se encargará de relacionar ambas entradas para de esta forma iden@car que tipo de acción se realizará sobre la imagen recibida, una vez realizado esto, enviará, al proceso correspondiente ('ubicar por medio del mapa de referencia", 'realizar acercamientos", "dibujar mapa con zona afectada', "dibujar mapa sin zona afectada', 'realizar alejamientos', 'visualizar por región', 'realizar desplazamientos', 'sobreponer capa' o 'realizar consultas') la acción a realizar sobre una determinada imagen con zonas y el proceso que reciba este dato, se encargará de manipular la imagen dependiendo del tipo de acción que el usuario pretenda realizar sobre la misma. Este proceso, utiliza el tipo de acción sobre la imagen para realizar la acción indicada sobre Ja misma, es decir, por medio de las coordenadas del mapa de referencia manipula las coordenadas del mapa principal para realizar movimientos sobre este último o bien, sólo indicar al usuario por medio de un rectángulo el lugar donde se ubica en determinado momento (dentro del territorio nacional) produciendo una imagen genérica. Continua en la siguiente hoja 52 Nombre Realizar acercamientos Dibujar mapa con zona afectada Dibujar mapa sin zona afectada Realizar alejamientos Visualizar por región Capitulo 1. Investigación preliminar y recopilación de requerimientos 1.5.1 ESPECIFICACIÓN DE PROCESOS -continuación· Dtacripción Recibe un determinado tipo de acción asociado con una imagen en especifico, por medio de este dato, se encargará de realizar la acción sobre la imagen senalada determinando las coordenadas (en caso de que el usuario haya trazado un rectángulo para realizar el acercamiento) o bien la posición del click del usuario (si realizó este evento para llevar a cabo la acción), a través de estos datos, el proceso determinará la nueva imagen (genérica). Este proceso, al recibir el tipo de acción que le corresponde, se encarga de redibujar el mapa conteniendo la zona afectada, esto cuando previamente se haya realizado una acción de dibujar el mapa sin zona afectada, caso en el que, como su nombre lo indica, desaparecerá el mapa con zona, es por ello que el proceso 'dibujar mapa con zona afectada' tiene la tarea de restablecer la imagen en el mismo estado en el que se encontraba al ingresar a la aplicación SIGMAFH (imagen genérica). A través del tipo de acción sobre la imagen, se encarga de eliminar de esta (mapa principal) las zonas afectadas, es decir, determina una imagen de la República Mexicana iluminada de un mismo color. El proceso recibe un determinado tipo de acción sobre la imagen y tiene la tarea principal de determinar las nuevas extensiones del mapa de manera que este posea un tamano más pequeno y sea posible visualizar una mayor parte del mapa o el mapa entero produciendo asl una nueva imagen (imagen genérica). Este proceso, al recibir el tipo de acción que le corresponde, identifica la zona que el usuario eligió visualizar (dentro de un caja de selección en la interfaz de SIGMAFH), y dependiendo de esta zona, el proceso extrae unas nuevas extensiones y de esta forma determina una nueva imagen (imagen genérica). Continua en la siguiente hoja 53 Capitulo 1. Investigación preliminar y recopilación de requerimientos 1.5.1 ESPECIFICACIÓN DE PROCESOS -continuación· Nombre Oe1cripción Realizar El proceso 'realizar desplazamientos' recibe un tipo de acción sobre la imagen y se encarga de centrar el mapa desplazamientos al determinar unas nuevas extensiones para el mismo y producir una imagen genérica. Sobreponer capa El proceso 'sobreponer capa' recibe un tipo de acción sobre determinada imagen y detecta cada una de las capas que el usuario haya marcado como activas dentro de las cajas de chequeo de la interfaz, posteriormente produce una imagen que muestra cada capa activa (una encima de la otra -sobrepuestas-), cabe mencionar que la imagen sobre la cual se dibujarán las capas activas dependerá de la opción que el usuario haya elegido para visualizar esta sobreposición (sobre el mapa con zona afectada, sobre el mapa sin zona afectada o sobre la vista actual). Realizar consultas Este proceso, al recibir un determinado tipo de acción, se encarga de identificar si el usuario trazó un rectángulo sobre el mapa para realizar alguna consulta o bien, si disparó algún evento click sobre el mismo mapa, en base a esto, determina el área dentro del mapa sobre la cual el usuario realizó el evento (click o trazado de rectángulo), una vez que ha Identificado las áreas a consultar -dentro de las capas activas-, las ilumina de un color distinto al resto del mapa y realiza una búsqueda dentro de la tabla correspondiente a cada capa activa(del archivo dbO para finalmente generar una imagen del territorio nacional resaltando las zonas consultadas y mostrando información sobre las mismas. 54 Capllulo 1. Investigación preliminar y recopilación de requerimientos 1.6 DIAGRAMA DE TRANSICIÓN DE ESTADOS El diagrama de transición de estados• nos permite observar el comportamiento esperado en SIGMAFH en cuanto a los distintos estados que mostrará y los sucesos que provocarán el cambio entre un estado y otro. Recepción de daves de municipios . r Suoesová lido de usuario manip ularmapa 1 Desplega res ndo 14 ultado 1 •• Mapa establec1do desplegar mapa Construyendo sentencia Consulta construida de consulta con claves de +------ municipios como filtro Invocar determinación de coincidencias Adaptando mapa ata manipulación Mapa manipulado 1• ' desplegar mapa manipulado Construyendo Deterrrinando 1 zonas dentro tabla a del mapa desplegar Estableciendo - Áreas detectadas mapa/dando formato a la Establecer mapa tabla I~ ,_ .. Registros con coincidencias Invocar presentación de tabla e~ •La simbologla empleada en este diagrama fue eK~alda de la siguiente fuente de información: Pressman, Roger S. (Adaptado por Darrel lnce); lngenierla de Software Vi -Un enfoque práctico; McGraw-Hill; 5' edición; Espana 2002. 55 Capitulo 1. Investigación preliminar y recopilación de requerimientos 1.6.1 DESCRIPCIÓN DE ESTADOS Nombre Descripeión Construyendo sentencia de consulta Este estado engloba el proceso "construir consulta" que recibe (de parte del SIAT) una serie con claves de municipios como filtro de claves de municipios, por medio de las cuales se construye una sentencia de consulta que permite determinar los municipios afectados. Construyendo tabla a desplegar Este estado engloba el proceso "buscar coincidencias en el archivo dbf que se encarga de detectar aquellos registros correspondientes a los municipios afectados. Determinando zonas dentro del mapa Este estado engloba el proceso "determinar áreas que coincidan con las claves" que recibe una sentencia de consulta por medio de la cual determina que áreas coinciden con las claves de municipios contenidas en la sentencia. Estableciendo mapa / dando formato Este estado engloba el proceso 'ubicar las áreas dentro del mapa" que recibe inicialmente a la tabla las áreas de los municipios que deberá localizar dentro de un mapa de la República Mexicana, otro proceso que engloba el estado en cuestión es 'mostrar tabla con información', este proceso se encarga de construir una tabla conteniendo los registros pertenecientes a los municipios afectados, esta tabla ya contendrá un determinado formato. Desplegando resultado Este estado engloba el proceso 'desplegar mapa resultante' que se encarga de presentar al usuario en pantalla los resultados, es decir, un mapa de la República Mexicana que muestre las zonas afectadas acompai\ado por una tabla con información acerca de las mismas, o bien un mapa resultado de una manioulación realizada por parte del usuario. Adaptando mapa a la manipulación Este e~tado engloba el proceso ' permitir manipulación del mapa ' que recibe una imagen que contiene las zonas afectadas y un evento click que el usuario dispara en el momento que selecciona algún elemento de la interfaz (botón o clicks sobre la imagen del mapa), a través de dicho evento, el proceso identifica el tipo de manipulación que pretende realizar el usuario, una vez determinado esto, se le aplica a la imagen el tipo de manipulación espec~icada por el usuario estableciendo finalmente una imagen genérica, resultado de la manipulación. Nota. Los procesos a los que se hace referencia en la desaipción de estados corresponden a los que se trataron en et apartado 'Diagr.-na de ftujo de datos'. 56 Capitulo 1. Investigación preliminar y recopilación de requerimientos 1.6.2 DESCRIPCIÓN DE SUCESOS Nombre Deacripeión Recepción de claves de municipios Cuando se ident~ica la recepción de las claves de los municipios afectados, el sistema pas1 al estado ·construyendo sentencia de consulta con claves de municipios como fittro• Consulta construida Cuando la consulta se encuentra construida, se invoca la determinación de coincidencia& y da la pauta para pasar a los estados 'Construyendo tabla a desplegar' y "Determinando zonas dentro del mapa '. Registros con coincidencias Cuando se han determinado los registros pertenecientes a los municipios afectados, se invoca la presentación de la tabla y da la pauta para que se pase al estado "Estableciendo mapa I dando formato a la tabla'. Areas establecidas Cuando las áreas afectadas ya se encuentran establecidas, se invoca la acción establecer mapa y se da la pauta para pasar al estado "Estableciendo mapa I dando formato a la tabla'. Mapa establecido En el momento en que se ha establecido un mapa que muestre las zonas afectadas, se invoca a la acción desplegar mapa para posteriormente pasar al estado "Desplegando resultado' Suceso válido de usuario Cuando el usuario ha realizado una acción válida con respecto a la manipulación del mapa, se invoca la acción manipular mapa y se pasa al estado 'Adaptando mapa a la manipulación'. Mapa manipulado Cuando el mapa ya ha siclo manipulado, se invoca la acción desplegar mapa manipuladQ y se da la pauta para pasar nuevamente al estado 'Desplegando resultado'. 57 CAPITULO 2 LOS SISTEMAS DE INFORMACIÓN GEOGRÁFICA E INTERNET Considerando -de acuerdo al apartado "Requerimientos"- que lo que se busca es proveer a la institución de una aplicación que ofrezca algunas funciones de S/G a través de Internet y a su vez se encuentre vinculada con el SIAT, dedicaremos la primera parte de este capitulo a describir los aspectos fundamentales de un sistema de información geográfica, posteriormente se mostrará el estudio realizado acerca de los S/G y herramientas similares que interactúan con Internet, mismo que en base a ciertos criterios, nos permitió elegir el software idóneo para proporcionar al área de Riesgos Hidrometeorológicos la aplicación que ha solicitado. 2.1 SISTEMAS DE INFORMACIÓN GEOGRÁFICA (S#G) Este apartado, dedicado a los sistemas de información geográfica en general, nos permitirá profundizar en cuanto a las características que el área usuaria requiere dentro de SIGMAFH y por consiguiente familiarizarnos con algunos conceptos propios de los S/G. 2.1.1 QUE ES UN SISTEMA DE INFORMACIÓN GEOGRÁFICA Antes de comenzar con las definiciones formales de un sistema de información geográfica, es importante recordar que un sistema de información como tal, es "una disposición de personas, actividades, datos y tecnología integrados entre sí con el propósito de mejorar y apoyar las operaciones cotidianas de una organización, asi como satisfacer las necesidades de información para la resolución de problemas y la toma de decisiones"16 , la información que menciona esta definición es precisamente la que nos conduce hacia una mejor gestión y optimización de recursos, es por ello que se han empleado los S/G como sistemas de información para la entrada, manipulación y despliegue de 11 ' Apuntes de la materia ·Analisls y diseno de Sistemas de Información.• 58 Capitulo 2. Los Sistemas de lnfonnaclón Geogréftca e Internet datos espaciales que apoyan a la toma de decisiones, de aqui que surjan definiciones como las siguientes: Un SIG es un sistema de hardware, software y procedimientos elaborados para facilitar la obtención, gestión, manipulación, análisis, modelado, representación y salida de datos espacialmente referenciados, para resolver problemas complejos de planificación y gestión.17 Una definición más amplia seria: Un SIG, es una herramienta de software que permite capturar, almacenar, organizar, presentar y realizar análisis sobre información geográficamente referenciada, ~s decir que posee coordenadas terrestres. La tecnología S/G integra operaciones de bases de datos comunes tales como búsquedas o análisis estadisticos apoyados por el desplegado gráfico de dicha información (mapas). Estas -habilidades distinguen a los S/G de otros sistemas geográficos, haciéndolos muy valiosos en una innumerable serie de actividades tales como explicación y simulación de eventos, predicción de resultados o estrategias de planeación. 18 De las definiciones anteriores podemos deducir que un sistema de información geográfica es un conjunto de herramientas que permiten el almacenamiento, la visualización, la manipulación y el análisis de información espacialmente referenciada para tomar decisiones que requieran de un conocimiento amplio con respecto a una o varias zonas determinadas, siendo una de sus principales ventajas el hecho de contribuir en la generación de información confiable y oportuna proporcionando asi al usuario: 1. Ubicación espacial del problema de estudio 2. Un sistema normal de recopilación de datos " Bosque Sendra. Joaquln: Sistemas de Información Geográfica: Ediciones Rialp. S.A.; Madrid 1992. 18 http:/twww.borderecoweb.sdsu.edu/spanish/SMedia/gisdef.html 59 Capitulo 2. Los Sistemas de lnfonnación Geográfica e Internet 3. Información organizada 4. Información actualizada 5. Información instantánea 6. Representación gráfica del problema En general, "los sistemas de información geográfica prop1c1an el intercambio de información así como el desarrollo de servicios más eficientes y efectivos para los ciudadanos" 1g. Como se muestra en la figura 1, un S/G típico muestra la información geográfica (ventana más grande), explica los resultados de análisis realizados sobre dicha información (ventana intermedia), asi como los datos estadisticos asociados a ésta (ventana de menor tamaño). Figura 1. Interfaz estándar de un sistema de información geográfica. •• lntergraph Mapping and GIS Solutions, "Catalan Ministry Selects lnlergraph GIS"; GIM lnternational, GITC, volúmen 16. Enero 2002. 60 Capitulo 2. Los Sistemas de lnformaciOn Geogréftca e Internet ............................................................................................................................................................... 2.1.2 ANTECEDENTES Desde inicios de los tiempos siempre nos hemos interesado por conocer nuestro entorno en toda su amplitud. Una de las primeras tareas era dibujar el mundo en el que nos movemos, tanto para pasadizos, cuevas, casas, como para regiones, paises y el mundo entero, incluidos hoy en día otros planetas y el universo conocido. De estas primeras tareas cartográficas nacieron los mapas, la mayoria de rutas comerciales o bélicas y paises con algún interés militar o político. El término mapas, se ha utilizado desde hace tiempo en la mayoría de las disciplinas relacionadas con el análisis espacial. En los últimos 4000 ai'los, diversas culturas han usado simbolos gráficos para representar fenómenos distribuidos espacialmente. Las gráficas en forma de mapas constituyen un medio conveniente para mantener registros, concebir ideas, analizar conceptos, prevenir, tomar decisiones con respecto a la geografía, y finalmente, comunicar los conceptos espaciales a otros, es asi como en 1964 se lleva a cabo el primer sistema de información geográfica en Canadá destinado a la planeación e inventariado con respecto a la ocupación del suelo en grandes zonas de este pais norteamericano. Como es de suponerse, los sistemas de información geográfica, al igual que el resto de los sistemas de procesamiento de datos, han tenido que adaptarse a las nuevas circunstancias tecnológicas, descubriéndose nuevas posibilidades de manipulación y análisis de la información en cada etapa, a diferencia de los primeros análisis relativos a algún sistema de información geográfica en los cuales se emplearon técnicas manuales para entrada de datos, almacenamiento y el posterior análisis de los mismos. Hoy en día contamos con mapas de todo el mundo en distintos niveles de escala y detalle, y gracias a las herramientas informáticas contamos con nuevos formatos aparte del clásico papel y con una precisión inimaginable hace años. En la actualidad se tienen dos tendencias en cuanto a los S/G: 1. Procesamiento de tipo descriptivo. Consiste en inventariar la información. 2. Procesamiento de tipo prescriptivo, análisis y modelamiento de la información. Es el más importante, por sus caracteristicas de apoyo en cuanto a la toma de decisiones. 61 Capitulo 2. Los Sistemas de Información Geográfica e Internet 2.1.3 COMPONENTES DE UN SISTEMA DE INFORMACIÓN GEOGRÁFICA Básicamente, un sistema de información geográfica se compone de tres elementos: 1. Motor de visualización. El visualizador de capas es especialmente útil cuando se han ingresado al SIG un conjunto de mapas distintos en cuanto a la temática pero de la misma porción de territorio, por ejemplo mapas sobre: topografía o hidrografía, donde un lugar concreto tiene la misma localización (las mismas coordenadas) en todos los mapas que hayan sido ingresados. 2. Sistema de geocodificación y almacenamiento de la información. Todo SIG debe tener la posibilidad de trabajar en cualquier escala y en cualquier sistema de proyección así como localizar la información de una manera exacta a lo largo de las superficies. 3. Motor de consultas geográficas. El SIG, para llevar a cabo las consultas, interrelaciona distintos tipos de elementos, ya sean puntuales, lineales, áreas, etc. Por ejemplo, ciudades con mayor nº de poblaciones cercanas en menos de 20 Km. 2.1.4 DATOS QUE MANEJA UN SISTEMA DE INFORMACIÓN GEOGRÁFICA El término dato espacial, como su nombre lo indica, se refiere a cualquier dato que se puede ubicar en el espacio, por lo general se considera que la información ambiental geográfica tiene dos características: El fenómeno o la característica en sí, por ejemplo: La variable, su clasificación, valor, nombre, etc. • Su ubicación espacial, esto es, la posición que ocupa el fenómeno en el espacio geográfico. Sin embargo, hay una tercera característica particular relacionada con los S/G, el tiempo. El manejo de los datos espaciales puede resultar bastante complejo puesto que los datos de localización y los atributos muchas veces cambian independientemente con respecto al tiempo. 62 Capitulo 2. Los Sist91T1aa de lnfonnación G11Dg1'811ca e lntemel Por otro lado, es importante resaltar que en todo sistema de información geográfica, se utiliza un modelo encargado de representar de manera simplificada determinados aspectos de la realidad. El modelo más apropiado varia según los requerimientos que dependen no solo del tipo de problema a resolver, sino también de las capacidades computacionales con las que se cuenta. Por ejemplo, existen modelos que pueden representar mucho mejor la realidad que otros, pero a cambio requieren una mayor cantidad de recursos (mayor tiempo de computo, mayor cantidad de memoria, etc.). Los dos principales modelos con los que se representan las entidades espaciales son los modelos vectoriales y raster: Modelo• v.ctorl•I••· La principal característica del modelo vectorial es el almacenamiento de coordenadas en dos o tres dimensiones, estas coordenadas son la base para tipos de datos más complejos como son puntos, lineas, arcos circulares, circunferencias, polfgonos, curvas cuadrátie11s, cúbicas, etc. Su información gráfica está representada internamente por vectores y cuentan con importantes ventajas: no pierden calidad al hacer zoom sobre ellos, pueden contener una gran cantidad de información en muy poco espacio, y son muy fáciles de adaptar a la representación más adecuada en función de una aplicación en especifico además son imprescindibles cuando la información asociada a los elementos del mapa es lo primordial o cuando se requiere generar distintos mapas temáticos en función de la información que se posea (por ejemplo: mapas de densidad de población, de ac:uiferos, etc.). Los modelos vectoriales muestran la información dividida en capas que unidas hacen un mapa, de esta forma, existen capas que representan las carreteras, las poblaciones, los rios, etc. Modelos de celdaa o rwster. Son formatos gráficos (tiff, jpg, gif, png) con algunos puntos georeferenciados, esto es, de los cuales se conocen sus coordenadas. Estos formatos gráficos contienen menos información asociada, pierden calidad al hacer zooms y ocupan más espacio. Como ventajas se tiene que son más fáciles de producir, suelen ser más baratos que los vectoriales y al ser una imagen escaneada, es posible contar con los mismos mapas en este formato que aquellos que se encuentran en papel. Son muy útiles donde la información asociada al mapa no es lo que apremia o como fondo para mapas vectoriales. El modelo raster representa los datos de tipo gráficos por medio de una matriz de celdas de igual tamaño, de forma que cada celda contiene un atributo (por ejemplo una altura representada por un color). El número de celdas que conforman la malla en ambas direcciones define la resolución, siendo mejor entre más celdas se tengan. 83 ............................................................... <::~~~~ ... ~.~~.:~~ .. ~::'.~~~.~~.!~!~~~¡~~.~~~~~.~.~.!~~~~ ........ . 2.1.5 FUNCIONES QUE REALIZA UN SISTEMA DE INFORMACIÓN GEOGRÁFICA Un sistema de información geográfica desarrolla algunas funciones esenciales como: captura de información geográrica; adaptación de la misma; administración y organización; búsqueda y análisis, visualización asi como reclasificación y generalización. A continuación se describen con mayor detalle dichas funciones: Captura de información geográfica - Antes de que la información geográfica pueda ser usada por un SIG, dicha información debe ser convertida al formato digital apropiado. El proceso de convertir datos de mapas, fotografías vía satélite, o cartografia obtenida mediante GPS a archivos de computadora es denominado digitalización; la tecnología SIG de la actualidad permite este proceso utilizando ya sea tecnologia que implique la "fotocopia" de un mapa a un archivo mediante un dispositivo llamado scanner. o el uso de una tabla digitalizadora para convertir los mapas manualmente. Por otro lado, la información geográfica puede ser almacenada en una gran variedad de formatos de archivo, que dependen del sistema de información geográfica que se esté empleando. Adaptación de la información geográfica - Es muy probable que los datos requeridos para la tarea que se desea desarrollar necesiten de una transformación previa para hacerlos compatibles. Por ejemplo, la información puede estar disponible en diferentes escalas. Antes de que esta información pueda ser integrada, debe ser transformada a una escala común. Esto implica una manipulación temporal para propósitos de desplegado o permanente en el caso del análisis espacial. • Administración y organización - Cuando grandes volúmenes de datos y una gran cantidad de usuarios hace uso del mismo SIG, es necesaria la presencia de un administrador de base de datos (DBMS) que ayude a almacenar, organizar y administrar los datos. • Búsquedas y análisis espaciales - Un sistema de información geográfica proporciona herramientas de análisis y capacidades de búsqueda sobre los atributos de la información geográfica. 64 Capltulo 2. Los Sistemas de Información Geográfica e Internet Las funciones de consulta incluyen la búsqueda selectiva y la manipulación de la información sin efectuar cambio alguno sobre la base de datos. Estas comprenden: 1. Extracción de datos usando clasificaciones geométricas: Se especifica un punto, lfnea o área que determinen un dominio espacial para obtener todos los elementos geométricos y atributos localizados o relacionados con la zona. Se tiene por ejemplo la obtención de zonas de riesgo sísmico asociadas a una falla. 2. Extracción de datos usando especificaciones simbólicas: Se usa el nombre o código de un atributo obteniendo las entidades que lo incluyen. Por ejemplo, se puede extraer la distribución y características físicas de un tipo de suelo en especial. 3. Extracción de datos usando declaraciones simbólicas y lógicas: Se obtienen las entidades cuyos atributos cumplen con una expresión establecida o condición lógica. Como ejemplo, se pueden obtener las zonas que posean un pH entre 6.0 y 7.0. Los SIG más modernos poseen una gran variedad de herramientas de análisis, las más importantes son: :.- Análisis de Proximidad - El análisis de proximidad es el más simple de este tipo de análisis. Se lleva a cabo con un proceso denominado buffering, mediante el cual se asigna un área o buffer alrededor de una característica geográfica (ver figura 2), determinando la distancia entre dos características geográficas. Con este tipo de análisis pueden contestarse preguntas tales como: ¿Qué construcciones se encuentran a 60 metros del camino principal de X localidad? Figura 2. Demostración de un análisis de buffering sobre un camino. 65 Capitulo 2 Los Sistemas de Información Geográfica e Internet ,_ Análisis de Superposición - El proceso de integración de los diferentes tipos de capas geográficas es llamado superposición. En su forma más elemental, conllevaría una operación gráfica (poder visualizar todas las capas geográficas relacionadas a una zona en particular). Sin embargo, las operaciones de análisis requieren que una o más capas geográficas sean fusionadas físicamente. Esta superposición, también llamada unión espacial puede integrar datos de diferentes fuentes, como carreteras, hidrograffa, curvas de nivel, etcétera. De esta manera, pueden tenerse toda una serie de datos referentes a un mismo punto (ver figura 3). •••• r.• --;· ... ·~ . . . . ... ... . . . .. .. _::,-;:....:-~ -~ --- Ti;-c ~ ¡:'-~.:Q: .C=r-t.Ntot:.'S: 11:=•l.:!.Jl :t=2. l~S :¡_::~·f'°":JI :;.ü.l.PAI!' Figura 3. Integración de varias capas geográficas mediante el proceso de superposición para lograr los resultados de análisis buscados. • Visualización de la información - Para la mayoría de los tipos de operación geográfica (manipulación, búsquedas y análisis espaciales), el resultado final es mejor comprendido mediante la visualización de un mapa o una gráfica. Los mapas son extraordinariamente eficientes en cuanto al almacenamiento y comunicación de información geográfica sobretodo cuando se ofrece la posibilidad de visualizar los mapas desde distintas perspectivas por medio de desplazamientos, acercamientos y alejamientos. (ver figura 4). 66 Capitulo 2. Los Sistemas de Información Geográfica e Internet distintas perspectivas por medio de desplazamientos, acercamientos y alejamientos. (ver figura 4). Figura 4. Herramientas de visualización como apoyo a la interpretación de análisis y desplegados dela información geográfica. • Reclasificación y generalización. Las operaciones de reclasificación y generalización reasignan los valores temáticos de un mapa existente en cada una de sus categorías. Un caso simple de reclasificación se da cuando un mapa que cataloga los tipos de suelo, pasa a clasificar la permeabilidad del 67 Capitulo 2. Los Sistemas de Información Geogréfica e Internet terreno, se ha reemplazado el atributo que contenía el nombre de suelo por el valor de la permeabilidad asociada. La reclasificación también puede afectar simultáneamente varias capas, como parte de una operación de superposición. Es de gran relevancia considerar que "para propósitos de visualización y procesamiento en un S/G, todos los mapas deben ser utilizados bajo un solo sistema de coordenadas" 20 por ejemplo UTM, Lambert, etc. . 2.1.6 APLICACIONES DE LOS SISTEMAS DE INFORMACIÓN GEOGRÁFICA A pesar de que la presente tesis se enfoca en proporcionar a CENAPRED una aplicación con la funcionalidad de un S/G vía Internet - que será aplicado en un contexto de prevención de desastres -, nos pareció importante mencionar de manera breve21 otras aplicaciones que un S/G puede tener, considerando que en el apartado siguiente se presenta una investigación acerca de S/G y herramientas similares que interactúan con lnternet22, mismo que muestra un enfoque general, sin concentrarse en ningún momento en un campo de aplicación en especifico, por lo que dicha investigación, como ya se ha mencionado, puede ser utilizada por una amplia gama de profesionales que deseen proveer a sus organizaciones de sistemas que manejen información georeferenciada vía Internet sin implicar gastos significativos. Iniciaremos señalando que debido a las caracterlsticas y ventajas proporcionadas por los sistemas de información geográfica éstos pueden ser empleados en una gran variedad de campos que van desde la medicina, geografía, ingeniería, geomática - especificamente la geografía de negocios -, etc. y como muestra basta mencionar que en la actualidad se hace uso de herramientas de S/G para aplicarlas a diferentes necesidades del sector salud, entre ellas: la descripción de la situación de salud y el análisis epidemiológico. 20 lntergraph Mapping and GIS Solutions : '"DV, GPS and GIS systems offer great potential in urban management, low.cost rapid ground data capture'", GIM lnternational, GITC, volúmen 16. Enero 2002. 21 No es objetivo de esta tesis realizar una amplia descripción de cada una de las aplicaciones posibles ~ara un SIG, por ello sólo se mencionarán las de mayor interés. 2 Ver apartado "Análisis sobre sistemas de información geográfica y herramientas similares que interadúan con Internet". 68 Capitulo 2. Los Sistemas de lnfonnación Geogr;lfica e Internet Otra de las aplicaciones de los sistemas de información geográfica se puede ver claramente en el análisis de la problemática sobre 'tierras-alimentos- personas' donde se pretende relacionar productos del uso de tierras con otros objetivos de desarrollo tales como: producción de alimentos, auto- abastecimiento de productos, necesidades de capital o capacidad de alojar población; tomando en consideración limitaciones de fertilidad, salinidad y erosión de suelos asl como riesgos de degradación de tierras. Por otro lado, el rápido desarrollo de las tecnologías de la información durante la última década ha creado una oportunidad para la elaboración de herramientas en la forma de sistemas de información de recursos de tierras para propósitos múltiples (LIS), que pueden ser utilizados para generar rápida y eficientemente diferentes tipos de información de acuerdo con las necesidades de los usuarios más diversos. Los LIS contienen bases de datos, modelos, sistemas de apoyo a la decisión e interfaces con el usuario. Actualmente los sistemas de información geográfica también han sido empleados en el sector pesquero como herramienta de ayuda a la toma de - decisiones en la gestión de pesca, permitiendo realizar: Una clasificación de los puertos • Mapas de las vías de acceso a dichos puertos • Mapa de la distribución de los nutrientes Mapa de anidación de ave& • Localización de la flota pesquera Mapa de la red hidrográfica para el estudio de los recursos hidrobiológicos Mapa de las áreas que presentan mejor aptitud para la pesca. Los sistemas de información geográfica no solo tienen aplicación en las ciencias, sino también en el ámbito del entretenimiento, ya que hoy en dia existen video juegos que emplean mapeo con multimedia. Por otra parte, tenemos que otro de los campos que hace uso de los S/G's es la geomática; una ciencia que apoya, orienta y afina procesos_ de toma de decisiones y planeación estratégica para los sectores productivo, social, 69 Capitulo 2. Los Sistemas de Información Geogr'1fica e Internet gubernamental e internacional. Su campo de acción es el estudio del espacio geográfico con una visión científica e integral. Como ciencia integradora, incorpora el conocimiento generado en otros ámbitos dentro de un marco de referencia espacial, lo que permite una visión más completa y, por lo tanto, el desarrollo de soluciones inteligentes a problemas complejos. El enfoque de la geomática aporta información significativa para responder preguntas sobre: gestión ambiental, geografía de negocios, cultura y diversión, planeación urbana y regional. Cabe mencionar que debido a la amplitud de campos que pueden utilizar un S/G como apoyo en sus actividades principales, nos centraremos únicamente en aquellos relacionados con nuestra facultad (FCA), en especifico en la geografía de negocios: Iniciaremos mencionando que la geografía de negocios a través de los S/G permite organizar, analizar, y presentar los datos del negocio. Mediante el estudio de información de objetos especlficos, como calles, áreas postales, áreas censales, etc., es posible crear mapas de negocios que les permitan identificar patrones y comprender relaciones entre los datos que no son fáciles de determinar a partir de la información almacenada en tablas o visualizada en gráficas. Para entender mejor la importancia de la geografía de negocios comentaremos que asociar una ubicación geográfica con información es un proceso que se aplica a muchos aspectos de los negocios. Escoger un sitio, identificar un mercado potencial, planificar una red de distribución, dibujar territorios de venta, ubicar recursos, etc. Todos estos problemas involucran cuestiones de geografía: ¿dónde se localizan mis clientes?, actuales o potenciales. ¿en que vecindario o área censal viven consumidores con un mismo perfil? ¿dónde se ubican mis competidores? ¿qué zonas no son importantes? a veces las interrogantes abarcan demasiados factores y en otras ocasiones son más específicas: ¿qué construcciones se encuentran en una determinada zona, sus ocupantes tienen determinados ingresos mínimos, y están a menos de cinco minutos a partir del punto de interés?, los sistemas información geográfica proporcionan la herramienta necesaria para responder a estas y otras muchas interrogantes en forma rápida, precisa, y demostrable. Debido a lo mencionado anteriormente hoy en día se incrementan las evidencias que señalan que ejecutivos de varios sectores -ventas, finanzas, 70 Capitulo 2. Los Sistemas de lnfomiación Geogréftca e Internet etc.- están conscientes del valor de incorporar la geografía de negocios dentro de las funciones y aplicaciones de su empresa. Para alcanzar el éxito más rápidamente, algunas compai'lias contratan geógrafos de negocios quienes tienen conocimiento sobre demografla, Indicadores económicos y elaboran mapas para estimar la viabilidad del negocio asi como los accesos al mercado basados en la ubicación de las instalaciones. Para realizar los estudios, los geógrafos pueden aplicar una variedad de modelos, dependiendo del caso de estudio, por ejemplo existe un modelo de geografia de negocios que propone dos posibilidades para conocer cómo diferentes centros comerciales afectan las áreas de acceso tanto de uno como de otro. La teoría argumenta que si la distancia entre dos centros es demasiado grande, al cliente se le dificulta cubrir "a pié" la distancia existente entre los centros, así que comprarán solamente en un centro, lo cual resulta en una reducción de clientes para los centros que tienen áreas de acceso traslapadas. La teoría también predice que si la distancia entre los centros es corta, y puede ser cubierta "a pié", los clientes probablemente compran concurrentemente en los centros, ésta conducta por consiguiente resultará en un incremento en la distribución de los clientes en cada centro. Por supuesto que también pueden existir otras determinantes que afecten el comercio de las áreas, tales como la oferta de productos de cada centro. 71 Capitulo 2. Los Sistemas de Información Geográfica e Internet El siguiente diagrama 23 ilustra el modelo de geografía de negocios y propone 2 posibilidades de cómo la competencia puede afectar las áreas comerciales de diferentes centros. Conducta alternativa de los clientes Reducción de clientes Intentan tener más clientes Rivalidad entre los centros Proceso descentra- lizado Distribución dispersa Conducta concurrente de los clientes Incremento de clientes Intentan tener más clientes Socios entre los centros Procesos centraliza- dos Distribución convergente Los modelos de geografía de negocios, también se encuentran relacionados con técnicas como CRM (Customer Relationship Management) donde el éxito 20 Yongling. Yac. -seijing DownTown. Mapping Customer Reach in an Urban Core", GeoSpatial Solutions, Abril 2002. 72 Capitulo 2. Los Sistemas de Información Geográfica e Internet generalmente se debe a la integración de localizaciones o funciones geográficas. CRM depende de datos claros y completos que pueden ser propiciados por un factor como la localización ya que una sorprendente proporción de datos erróneos implican a la geografía; con frecuencia, podemos observar que las direcciones son erróneas, que no se han actualizado o que son inconsistentes, pero también es común, en la actualidad, el software que se encarga de corregir estas direcciones, por ejemplo: las calles o códigos postales. Actualmente existen bases de datos y software para conectar o relacionar las direcciones antiguas con las actuales, pennitiendo a las organizaciones observar los cambios ocurridos a través del tiempo. Otros componentes de CRM son el análisis, la investigación y el modelado. E:xisten varias técnicas de análisis como la minerla de datos y modelados como el predictivo que se encuentran dentro o muy relacionados a la geografla de negocios y que han sido utilizados por ai'los. Durante los últimos cinco años, una gran cantidad de empresas han reconocido el valor que estas técnicas y herramientas poseen, por ejemplo, la comunicación inalámbrica, donde los clientes que poseen teléfonos para uso personal y de negocio• requieren de servicios eficientes en múltiples localizaciones. El área alrededor del trabajo, casa y rutas correspondientes al cliente debe mantener una sei'lal constante para tener a este último satisfecho con los servicios. Como podemos ver, tanto los distintos modelos como técnicas de la geografl• de negocios ayudan a generar información gráfica, que permite sustentar decisiones en cuanto a: • Localización óptima de servicio&, • Redes eficientes de distribución de productoa, • Programas de mercadotecnia y • Servicios de bienes raíces, entre otros. 73 Capitulo 2. Los Sistemas de Información Geográfica e Internet Actualmente la geografla de negocios ha cobrado gran auge, quienes la practican siempre han pensado que la localización juega un papel central dentro de las empresas, considerando que poseer la información referente a clientes, proveedores, distribuidores, recursos, propiedades, áreas de servicio, etc. permitirla tomar las mejores decisiones, sobretodo cuando este tipo de tecnologías interactúan con Internet, ya que el uso de aplicaciones interactivas permite a los distribuidores o clientes la creación de sus propios mapas las 24 hrs. del día y desde cualquier parte del mundo ya sea, ayudándoles a encontrar el local de venta más cercano, o la ruta a él desde su domicilio, o cualquier otra clase de consulta geográfica a la que se le permita acceder. Finalizaremos indicando que: Los sistemas de información geográfica tienen la cualidad de permitir a una empresa descubrir comportamientos y tendencias no vistos anteriormente y que son prácticamente imperceptibles sin la ayuda de una herramienta como estas 24 • Como pudimos observar, un sistema de información geográfica constituye la herramienta ideal con la que se puede integrar y analizar la información espacial con claridad, de forma gráfica y para una amplia gama de campos, sin embargo, para poder aprovechar todo el potencial de los S/G en la interpretación de la información georeferenciada, los usuarios deberán tener la facilidad de manipular la información y tener acceso a ella en el momento preciso de manera que las decisiones que se tomen sean además de confiables, oportunas, lo cual se ha logrado gracias a la fusión de Internet, como un medio que ha adquirido una gran popularidad en los últimos ai'los, y los sistemas de información geográfica teniendo como resultado una herramienta sumamente útil cuando se trata de obtener, analizar e interpretar en línea la información espacial y de mantener informados al resto de los usuarios en el momento en que lo requieran. Sin duda, la unión de las tecnologías S/G e Internet, ha cambiado de manera absoluta la forma en la que el usuario maneja y accesa a la información de tipo espacial debido a que se pone a disposición del mismo una amplia gama de 24 http //www emaps com m,.-Jconceptos htm 74 Capitulo 2. Los Sistemas de Información Geogréftca e Internet posibilidades al contar con aplicaciones en línea que le permiten crear sus propios mapas y manipularlos de la manera que mejor le convenga, todo ello gracias a la interactividad que los S/G vla Internet ofrecen tanto a usuarios expertos como a quienes consulten alguna aplicación de este tipo únicamente con fines informativos y desde cualquier lugar. De acuerdo a lo anterior y tomando en cuenta cada una de las caracterlsticas que un sistema de información geográfica encierra, podemos afirmar que en realidad, lo que se requiere para cubrir las necesidades de la institución y proporcionarte la aplicación solicitada, es un SIG que interactúe con Internet o en su defecto una herramienta que sin ser un S/G como tal, ofrezca varias de las bondades de un sistema de este tipo vía Internet, es por esto, que dedicamos el siguiente apartado a mostrar la investigación realizada para determinar que software sería el más idóneo de acuerdo a las necesidades de la institución. · 75 Capitulo 2. Los Sistemas de lnformaciOn Geografica e Internet 2.2. ANALISIS SOBRE SISTEMAS DE INFORMACION GEOGRAFICA Y HERRAMIENTAS SIMILARES QUE INTERACTÚAN CON INTERNET En la actualidad existe una amplia gama de software que nos permite aprovechar de la mejor manera la fusión de los sistemas de información geográfica e Internet, esto nos lleva a realizar un estudio acerca de las alternativas disponibles para, a partir de ello, tomar una decisión en cuanto a la manera de proporcionar la aplicación deseada, esta podria tomar alguna de las siguientes formas: •Adquirir un S/G o herramienta gratuita que cubra en su totalidad los requerimientos del área usuaria. Al poseer un software de este tipo, bastará con realizar los ajustes necesarios que permitan una vinculación con el Sistema de Alerta Temprana. •Adquirir un SIG o herramienta gratuita que nos permita el desarrollo de la aplicación en su totalidad. • Adquirir un SIG o herramienta de código abierto que nos permita la reutilización y/o adaptación de código para generar la aplicación solicitada. Esta alternativa se ha considerado tomando en cuenta que "cualquier estudio sobre recursos de software estarla incompleto sin estudiar la reutilización de bloques de construcción de software"•. Antes de comenzar, es importante destacar que el jefe del área de Cómputo sugirió el uso del sistema de información geográfica GRASS para la elaboración de la aplicación, debido a que posee conocimientos básicos con respecto a dicho S/G, además el software ya se encuentra instalado en uno de los servidores con los que cuenta la institución. Debido a lo anterior se decidió realizar un análisis con respecto a GRASS y de manera alternativa proponer algunos otros S/G o herramientas que interactúan con Internet y que al igual que GRASS cumplen con las siguientes características: •Posibilidad de ejecutarse sobre un ambiente Linux •Manejar el formato shp de AcrView •No representar ningún costo de adquisición. El presente análisis comenzará con el sistema de información geográfica GRASS, mismo que como ya se mencionó, fue propuesto por el encargado del área de Cómputo como una opción adecuada, siendo el siguiente estudio, el medio a través del cual, constataremos si en realidad GRASS es el software idóneo para cubrir las necesidades del área de Riesgos Hidrometeorológicos. • Hooper, J. W. E. y R. O. Chester, Software Reuse: Guidelines and Methods, Plenum Press, 1991. 76 Capitulo 2. Los Sistemas de lnformaciOn Geografica e fntemet 2.2.1 GRASS (Geographic R-ources Analysis Support Systmm) GRASS es un sistema de información geográfica gratuito y de código abierto (liberado bajo GNU GENERAL PUBL/C L/CENSE -GPL-) que nos permite la administración de datos, procesamiento de imágenes, producción de gráficos, modelado espacial y visualización de varios tipos de datos, fue desarrollado por personal de los laboratorios de investigación de la armada de los Estados Unidos (USA-CERL, 1982-1995) y actualmente es utilizado con fines académicos y comerciales en todo el mundo incluyendo agencias gubernamentales como la NASA y varias compañias que se dedican a la consultoría ambiental y a la administración territorial. GRASS fue desarrollado en lenguaje C y puede ser reutilizado dentro de scripts lo cual brinda la posibilidad de crear nuevas aplicaciones y ligar a GRASS con otros paquetes de software, soporta los siguientes formatos: •Raster 20 •Raster 30 •Vectores topológicos •Puntos (sitios) En cuanto a administración de datos GRASS nos permite realizar las siguientes actividades: •Análisis espacial •Generación de mapas •Visualización de datos •Utilización de DBMS •Almacenamiento de datos Una vez comprobado que GRASS no implica gasto alguno para CENAPRED - encuanto a adquisición - y funciona sobre ambientes Linux -tomando en cuenta que el servidor donde se encuentra instalado posee este sistema operativo- además de que es un SIG de código abierto, procederemos a enunciar cada una de las pruebas que se realizaron para comprobar si GRASS realiza eficientemente las funciones que como SIG debe llevar a cabo, pero principalmente para verificar que maneja de manera adecuada el formato shp de ArcView. El primer estudio que en cuanto a GRASS se realizó, fue sobre la versión 4.3, esta no presenta interfaz gráfica como tal por lo que la mayoria de las operaciones a realizar se manejan a través de linea de comando. 77 Capitulo 2. Los Sistemas de Información Geogr.llfica e lntemet Es importante mencionar que entre una operación y otra se hizo uso del comando "d.erase" que tiene la función de limpiar la pantalla y de esta forma visualizar de manera clara cada uno de los resultados que obtengamos. Visualización de datos raster, vector y puntos Es importante saber que GRASS ordena en distintos directorios la información relativa a cada capa -ya s.,a raster. vector o puntos- incluyendo su cabecera, es por ello que si deseamos visualizar una capa es necesario que esta se encuentre en el directorio adecuado. Primeramente, por medio del comando d.rast seguido del nombre del archivo podemos invocar un raster para visualizarlo (figura 5), de esta misma forma podemos utilizar los comandos d.vect y d.sites para visualizar vectores (figura 6) y archivos de puntos (figura 7) respectivamente. Figura 5. Raster Figura 7. Puntos Figura 6. Vector 78 Capitulo 2. Los Sistemas de Información Geogr.tftca e Internet Creación de puntos, #In-, circulas y pol/gonoa Existen comandos de GRASS que nos permiten trazar polígonos y líneas asl como situar una serie de puntos o iconos, uno de estos comandos es d.mapgraph que como se indica en la siguiente imagen nos brinda la posibilidad de elegir el color y la posición, en este caso, del poligono para lo cual se requiere de una serie de coordenadas (figura 8). NOTA. En caso de que se desconozcan las coordenadas exactas de lo que se desea trazar, GRASS nos brinda una gula útil por medio del comando d.where. Si se requiere colocar la figura trazada por medio de d.mapgraph sobre otra capa, basta con invocar la capa que se desea colocar de fondo y posteriormente trazar el polígono, linea y/o punto (figura 9). Esto es especialmente útil cuando se pretende visualizar, por ejemplo, la representación de un fenómeno natural sobre un determinado territorio para conocer las zonas que afecta. Figura 8. Trazado de un polígono Figura 9. Trazado de polígono sobre un raster ---- - _z. ~ ...... __ 79 Capitulo 2. Los Sistemas de Información Geograftca e Internet Al igual que el comando anterior, d.points también nos permite generar puntos y elegir características como el color de los mismos, el sfmbolo y el tamal'lo. Asi mismo, además del comando d.mapgraph, es posible emplear r.digit para dibujar circules, lineas y/o áreas (figura 10), este comando presenta la ventaja de permitir al usuario interactuar con GRASS por medio del mouse por lo que, desde nuestro punto de vista, resulta mucho más sencillo de utilizar que el comando d.mapgraph. .. ·-··-·---· L~~Jll:::~:f~?:·~-,.;.-- ... _ §.~~~~"§!"~.;!~~:::::.. ••l-••.·--·'" :::;:¡¡.:-.::· .. --.·--·" 11~~~ ~~;: ~~~: .. ... ---- ·---·- -·-.. -~ .,.,,,.,,,...,_,_,.,_'=..!•º~ - ~- ·-·· .. ···-........ 1 S.•• -- Figura 10. Trazado de un círculo y de un po/fgono Superposición de capas Por medio del comando r.patch es posible conjuntar dos o más capas y almacenarlas en una sola, basta con ingresar los nombres de las capas que se desean visualizar. En la figura 11 se muestra la capa generada por medio de r.digit encima de una capa que representa un mapa. Figura 11. Superposición de capas 80 Capitulo 2. Los Sistemas de lnformaclOn Geog111fica e Internet Delenninación de área, perimetro 'I centro/des Con el comando v.area podemos obtener información acerca del área, perímetro y centroides de una región determinada (figura 12). -·- -·--- - --~ -~~~-~··----léeo-'•'•-·"'·-··'•- ,.,_~ ......... _ Figura 12. Área, perímetro y centroides de una región especifica, dentro de un raster. Establecimiento de buffer (bufferlng) El comando r.buffer nos permite establecer una distancia determinada que representa el radio ubicado alrededor de cierta región (figura 13). Figura 13. Buffer 81 Capitulo 2. Los Sistemas de Información Geog111tlca e intemet Otros comandos A pesar de que GRASS en su versión 4.3 no es un SIG que ofrezca una interfaz gráfica para todos sus comandos, existen algunos de ellos·que nos presentan un menú gráfico a través del cual podemos ejecutar comandos propios del S/G sin la necesidad de recurrir a linea de comando, este es el caso del comando d.rast.edit que nos permite, entre otras cosas, editar y hacer zooms sobre la capa que en determinado momento se encuentre en pantalla (figura 14). Figura 14. Menú que ofrece el comando d.rast.edit Otro comando de GRASS que nos ofrece aún más opciones dentro de una interfaz gráfica es d.display y permite que el usuario mida distancias en distintas unidades, realice zooms, visualice todos los tipos de capas (puntos. raster y vectores) asi como las etiquetas asociadas a cada región, entre otras opciones (figura 15). ~ ·=-~...:!- __ ..._,. __ , Figura 15. Interfaz del comando d.display 82 Capitulo 2. Loa Sistemas de Información Geog,.fica e Internet Conversión del fonnato shp de An:Vlew en la versión •.3 de GRASS Cada una de las pruebas anteriores fueron realizadas sobre archivos en formato de GRASS, lo que ahora se requiere es convertir los archivos shp a formato de GRASS para su manipulación, sin embargo, se observa que en esta versión (4.3) solo se encuentra disponible el comando v.in.shape que convierte archivos de tipo vector más no de tipo raster. Tomando en cuenta que se requiere tanto la conversión de vectores como de raster, se necesita hacer uso del comando r.in.shape, el inconveniente es que este comando no se encuentra disponible en esta versión (figura 16), por lo que se hace necesaria la instalación y aprendizaje de GRASS 5. XIO: F•t•1 10 •rrer 1911 (Cennection r•s•t bg p••r> an X .... •Ft•r • r•qu•sts <• kno_. proc•ss•d) with • •v•nts r•• Pra•l•• sel•cting x1. Wi.11 trv oRc• ..,r• QRRSs:- > d • .,n st•rt•x• Gr•,hics driu•r C••J is •lr••dv running Errar - ... nitor <••> is in use bV •erg. Problr• s•lecting ••· Vill trv onc• ..,re Error - Mllnitor <••> is in us• bg •erg. GR•ss:- > d.mon st•rt•x1 got • TrueColor (Read-Onl~!) Uisu•l 32768 col.,.s on Displ•V •1l•c•t•nw .... ry •.• Qr•phies driver [x1] st•rted ~ QRRSs:- > r.in.shap• b•sh: r.in.sh•,•= co ... nd nat found ~~~>I ; ~~íiá.i:~.n;.;.:;;.r·:-._:·~:·::-(SSHZ·-·--·--' ;fliiiii7:C4 Figura 16. r.in.shape, comando no disponible en GRASS4.3 83 Capitulo 2. Los Sistemas de lnfomiacl6n Geognllfica e Internet Ahora que ya se comprobó la imposibilidad de importar datos raster con formato shp al formato GRASS dentro de la versión 4.3, procederemos a aplicar una serie de pruebas sobre GRASS 5, pero antes de ello es importante destacar algunas características específicas que presenta esta versión: GRASS 5 provee una sofisticada librería SIG que puede ser empleada para desarrollos personales, y cuenta con un módulo llamado HTMLMAP, enfocado a la creación de imágenes de mapas HTML, y la definición de zonas o regiones para manipular imágenes. Cabe mencionar que a diferencia de GRASS 4.3, este SIG en su versión 5 si presenta una interfaz gráfica, sin embargo, aún ofrece la posibilidad de realizar las distintas operaciones por medio de línea de comando y por consiguiente, utilizar dichos comandos dentro de un código propio para realizar aplicaciones que hagan uso de GRASS, además de lo anterior, es importante mencionar que debido a que esta versión de GRASS realiza las operaciones de la misma forma que su versión anterior, sólo se mencionará la operación de conversión shp- GRASS ya que fue la única en la que se encontraron dificultades al utilizar la versión 4.3 razón por la cual se estudia GRASS 5. 84 Capitulo 2. Los Sistemas de Información Geognllfica e Internet Conversión del fonnato •hp de An:Vl•w en la ven1ión 5 de GRASS GRASS 5 posee un sin fin de opciones cuando de operaciones sobre raster y vectores se trata, sin embargo para los fines que persigue el presente trabajo de tesis se han explicado las operaciones más relevantes de acuerdo a las necesidades de la institución y del área de Riesgos Hidrometeorológicos en particular, todas ellas en la versión 4.3, omitiendo de esta forma, en la presente versión, operaciones como: acercamientos, alejamientos, buffer, superposición de capas, medida de distancias, visualización y creación de vectores, mismas que GRASS 5 también realiza de manera bastante eficiente. Después de haber aclarado lo anterior y de comprobar la eficiencia de GRASS 5 al llevar a cabo algunas operaciones, pasaremos a la más importante de ellas considerando que el hecho de manejar e importar los datos en formato de ArcView a formato de GRASS, es una de nuestras prioridades tomando en cuenta que es el formato mayormente utilizado en la institución. Para esto, se analizaron varias opciones desde linea de comando; ya que dentro de la interfaz gráfica no se encuentra disponible esta opción, se hizo uso del comando r.in.shape que permite importar archivos con formato .shp y dbf, este comando recibe como parámetros el nombre del archivo que se pretende importar asl como el nombre del archivo donde se almacenará el shp importado a formato GRASS para ser manipulado. 1liil e!lia•illl•f!:AiElll ,l•lllP· !!!loOll,. __ ,;,¡:i-c..a-·! ;aass:-/11 ... 1/q9ilf'fidiM-M1/c.ll > r.i•.~ i••tr11_li•.Slltl •t ....... _tra11 •tti .. U..s l• esc11 fw'Ut t1 /.._/SHrs1J•ltl.,lllfl'•fl5WJf•/.tlf/titM/2U29.I 13'5 11 .. 1 witt .. t• IUll FUt ._., .. r.i•.,.lf l•t•/1-/H1n/jdM/tl•••U••fis•IJ•/.t9'1tif9(1U!t.I •t .. t ....... _tr'ft11 riti .. rntff' ..... 11a =tt•t ~ FUt'll for rntrr .., ow .. _tn11> ;uss:-111 .. l/~ufts•m-.lf11u11 > 1 c...-.--.... ... 18Q ........... .. Figura 17. Comando r.in.shape Como se puede observar en la prueba anterior (figura 17), GRASS indica que la conversión se ha realizado exitosamente y ha creado el nuevo archivo, ahora lo que sigue es visualizar la imagen con el nuevo formato (GRASS). 85 Capitulo 2. Los Sistemas de lnformaci6n Geográfica e Internet La capa resultante es la que se muestra en la figura 18, como podemos observar la capa se visualiza en un solo color, esto se debe a la cantidad de información que GRASS maneja para la creación de sus archivos, esta información no es la misma que la que se maneja en ArcView, de hecho la cantidad de datos que se maneja en este último SIG es menor, lo cual afecta al proceso de conversión de formatos modificando de manera significativa la apariencia de las capas importadas. Figura 18. Resultado de la conversión de shp a GRASS Como muestra de la distorsión que sufrió la capa importada a formato GRASS, es importante considerar la siguiente figura (19) donde se observa la apariencia que originalmente presenta la capa, es decir, la apariencia que posee al visualizarse por medio de ArcView en su formato inicial (shp), lo cual difiere en gran medida de la capa que muestra la figura anterior. ñ*ílf líl ~~~ : . . Figura 19. Apariencia original del archivo en formato shp 86 Capitulo 2. Los Sistemas de lnfonnación Geográfica e Internet 2.2.2 OTRAS ALTERNATIVAS De acuerdo al apartado anterior, podemos afirmar que GRASS, a pesar de ser un S/G poderoso, no cumple con la característica de manejar el formato shp de manera íntegra, es decir, sin distorcionarlo en ningún aspecto, esta incapacidad de utilizar el formato shp a través de GRASS nos lleva a analizar otras alternativas que, como se menciona al inicio, funcionen sobre ambientes Linux, manejen el formato shp y representen un gasto nulo para el CENAPRED, es a partir de esto que a continuación se presenta un estudio realizado acerca de otros sistemas de información geográfica y herramientas que permiten la interacción con Internet que la institución y en específico, el área de Riesgos Hidrometeorológicos exige para una correcta toma de decisiones preventivas. A continuación se describen a detalle cada una de las alternativas, tanto gratuitas como de código abierto. 2.2.2.1 Software Gratuito Gis Viewer Es una herramienta basada en web que permite desplegar y manipular capas de tipo vector y raster en forma de mapas e imágenes, esta herramienta posee un conjunto de datos que cubren al globo terráqueo con imágenes detalladas y de alta resolución, además cuenta con una serie de aplicaciones que ofrecen: Manejo de múltiples capas de datos geoposicionadas que pueden ser activadas o desactivadas. Consultas a bases de datos. • Proporciona soporte de datos tipo vector y raster. • Soporta una amplia variedad de formatos. Permite la realización de zooms (maximizaciones y minimizaciones) así como desplazamientos, para proporcionarle al usuario vistas panorámicas. Es posible la manipulación de proyecciones. Permite ligar puntos a ciertas regiones. Puede interactuar en línea con otros sistemas a través de scripts. Al finalizar le permite.al usuario guardar los cambios. Es soportado por los siguientes sistemas operativos: • UNIX y distintas distribuciones de Linux como Red Hat, Debían, Mandrake, etc. Windows 95/98/NT. 87 Capitulo 2. Los Sistemas de lnfom1ación GeogrlMica e Internet OGDI (Open Geographic Datastore Interface) Es un AP/ que trabaja conjuntamente con diferentes sistemas de información geográfica y productos que hacen uso de datos geoespacia/es. OGDI permite accesar a datos S/G de tipo raster que se encuentran almacenados de una manera neutral, es decir que no posean un formato especifico. Es soportado sobre los siguientes sistemas operativos: Linux Windows SPRING SPRING es un S/G y también un sistema de procesamiento de imágenes, el formato que maneja es eOO, Spring permite: • Leer las imágenes generadas por los satélites LANDSAT, SPOT IMAGE y EOSAT e importar o exportar datos en varios formatos; • Utilizar métodos de procesamiento de imágenes de percepción remota • Clasificar las imágenes de percepción remota • Realizar análisis geográfico utilizando el lenguaje orientado a objetos de SPRING; Procesar Modelos Digitales de Terreno (DTM) y visualización 30; • Generar mapas con una interfaz amigable Funciona sobre las siguientes plataformas: • Windows Linux Solaris 88 Capitulo 2. Los Sistemas de lnfonnación Geografica e Internet REGIS (Research Program in Environmental Planning and Geographic lnformatlon Systems) GRASSLinks 3.1 en REGIS, UC BERKELEY GRASSLinks es una inteñaz World Wide Web para un sistema de información geográfica, fue desarrollado por REGIS (Research Program in Environmental Planning and Geographic lnformation Systems), este software ofrece acceso público a información que ha sido mapeada, es decir, que ha sido representada mediante mapas gráficos, esta inteñaz despliega información proveniente de un S/G y contiene herramientas que permiten realizar el análisis de dicha información. Es independiente de la arquitectura de hardware, soporta S/G de dominio público y permite el manejo de información digital. Como su nombre lo indica, GRASSLinks hace uso de GRASS razón por la cual REGIS es considerado como pionero en el uso de este SIG. Aspectos a considerar: • GRASSLinks es un script desarrollado en Peri y requiere acceso local al mismo. Debe correr sobre cualquier sistema UNIX, diversas distribuciones de Linux u otro sistema que tenga Peri 4.x o 5.x instalado (se recomienda un ambiente UNIX). El software de GRASS debe encontrarse en el mismo servidor que esté corriendo GRASSLinks y se debe contar con archivos raster, vector y de puntos en formato de GRASS. • Es necesario contar con un directorio htdocs para web con la finalidad de colocar dentro de él los archivos HTML de GRASSLinks así como los archivos de ayuda y de esta forma lograr que sean accesibles a través de Internet. Se debe tener la posibilidad de correr CG/'s en el servidor web a utilizar, se requiere accesar como super-usuario en el sistema. • Es recomendable que quien instale GRASSLinks posea cierta experiencia en el empleo de GRASS. 89 Capitulo 2. Los Sistemas de Información Geografica e Internet PMS (Practica! Map Server) PMS permite visualizar aspectos geográficos de los archivos estándar de ESRI (shp), permitiendo el intercambio de datos con ArcView y otros productos ESRI. PMS es el primer software que implementa un Protocolo de Transporte de Mapas Dinámico (OMTP) el cual fue creado por las limitaciones referentes al tiempo de respuesta que presentaban la mayoría de las aplicaciones que prestaban servicios de mapeo en web, sin olvidar que el usuario no pod!a interactuar con la aplicación. PMS está escrito en Java. Los sistemas operativos bajo los cuales ha sido probado son los siguientes: Distintas distribuciones de Linux, • Windows, • Macos X. g3DGMV (30 Graphical Map Vie-r) Es un visualizador para mapas de modelos de elevación digital (DEM )y gráficos de linea digital (DLG), puede leer mapas que han sido almacenadoa como mapas de bits (gif ,png, jpeg) y debido a que estos formatos no contienen información relativa a la elevación, pueden ser visualizados únicamente en 2-D, este visualizador contiene varias utilidades que permiten al usuario agregar su propia información a los mapas. Estas herramientas pueden ser empleadas para marcar una región o para iluminar la mejor ruta hacia cierta localización. Esta aplicación fue escrita en C. Los sistemas operativos bajo los cuales ha sido probado son los siguientes: • Distintas distribuciones de Linux como Red Hat, Mandrake, etc. Windows. 90 Capitulo 2. Los Sistamas de lnfonnaciOn Geográfica e Internet 2.2.2.2 Softwmrw de Código Abierto MapServer Es un ambiente de desarrollo de código abierto para construir aplicaciones que permitan la interacción entre Internet y la información espacial. El software crea aplicaciones haciendo uso de otros sistemas de código abierto como Shapelib, FreeType, Proj.4, libTIFF, Peri y otros. MapServer corre sobre plataformas Linux/Apache y Windows NT/98/95. MapServer soporta MapScript permitiendo la interacción con lenguajes de script populares como Peri, Python, Tk/Tcl y Java, además del módulo PHP/MapScript que como su nombre lo indica permite la interacción con el lenguaje PHP. Otro aspecto a considerar es que MapServer proporciona un ambiente muy completo para desarrollar aplicaciones que integran datos dispersos. Por ejemplo, utilizando el módulo DBI de Peri es posible integrar datos desde casi cualquier manejador de base de datos (por ejemplo: ORACLE, Sybase, MySQL) con datos tradicionales de un SIG en un solo mapa gráfico o una página WEB. El módulo PHP/MapScript cuenta con las siguientes características: • Soporte en cuanto a formatos de vectores: .shp de ESRI, ESRI ArcSDE. • Formatos raster (sólo de 8 bits): TIFF/GeoTIFF, GIF, PNG, ERDAS, JPEG y EPPL7. Indexado espacial para archivos de forma (shapefi/es o .shp}. Selección de caracteristicas por tema/valor, punto, área u otro aspecto. Soporta la fuente TrueType. • Soporte de datos raster y vector (sólo desplegado). Construcción automática de leyendas y barras de escala. • Construcción de mapas temáticos empleando expresiones lógicas o regulares. • Etiquetado de aspectos o caracterlsticas. • Configuración vía URLs. • Manejo de proyecciones. MapServer no es un software que posea por completo las características de un SIG, sin embargo proporciona la funcionalidad suficiente para soportar una amplia variedad de aplicaciones WEB que ofrezcan algunas características propias de los sistemas de información geográfica. 91 Capitulo 2. Los Sistemas de lnfonnación Geográfica e Internet GeoTools Es una herramienta de mapeo basada en Java, permite visualizar mapas de manera interactiva en el navegador, una de las ventajas que proporciona esta herramienta se puede apreciar al momento de seleccionar las capas definidas en la aplicación, que se desean visualizar, ya que al momento de dar click en la opción, automáticamente el app/et despliega la capa seleccionada sin volverse a cargar en el navegador, lo cual reduce en gran medida el tiempo que el usuario tiene que esperar la respuesta de la aplicación, mejorando notablemente la presentación y la funcionalidad de la misma. Es importante mencionar que solo permite la visualización de la información. Esta herramienta cuenta con demos y documentación que describe su uso. OpenMap (Open Systems Mapping Tecnology) Es una herramienta de desarrollo basada en JavaBeans que requiere de información cartográfica para construir aplicaciones y applets. OpenMap proporciona el medio a través del cual los usuarios podrán visualizar y manipular información geoespacial. Al emplear los componentes de OpenMap se puede accesar a datos desde distintas aplicaciones -de manera remota-. Estos componentes ayudan a mostrar los datos del mapa y a manejar eventos relativos a la entrada de datos proporcionada por el usuario con el fin de manipularlos. OpenMap cuenta con demos y documentación de cada una de las herramientas que lo integran proporcionando a los desarrolladores toda la información necesaria para la creación de aplicaciones. Esta herramienta es soportada por los siguientes sistemas operativos: • Distintas distribuciones de Linux, como Red Hat, Debian, Mandrake,etc. Windows. 92 Capitulo 2. Los Sistemas de Información Geograflca e Internet Mapltl Es una aplicación que permite visualizar mapas de tipo raster a través Internet, es un software libre desarrollado bajo LGPL (GNU Library General Public License), no permite el manejo del formato shp, es compatible con la mayoría de los servidores WEB ya que hace uso de CG/'s. Es una aplicación fácil de modificar debido a que se desarrolló en Python. Ha sido probada bajo las siguientes plataformas: • UNIX y distintas distribuciones de Linux, • Windows95/98/NT. 93 Capitulo 2. Los Sistemas de lnfOllllación GeogrAfica e lnlemet 2.2.3 TABLA COMPARATIVA DE SOFTWARE (S/G Y HERRAMIENTAS QUE INTERACTÚAN CON INTERNET) .. : d ·- -. ~ '!:"' ' : " J' ::o" .. \.3,... .; e ·a a~ _!::':::.e' '1 J~ , ' ~t:''.:!d - - GisViewer • Manejo de capas en • Existe poca • UNIX y Java Gratuito Disponible a (Herramienta varios formatos. documentación variantes. través de Internet para • Soporte de datos tipo sobre la herramienta • Diversas desplegado y raster y vector. distribuciones httg://elib.cs.berke manipulación 0 Manipulación a de Linux le~.edu/gis3/ de capas tipo manera de zooms y • Windows raster y desplazamientos 95/98/NT vector en • Manejo de forma de proyecciones mapas) • Almacenamiento de resultados NOTA: El término "UNIX y variantes" hace referencia a los distintos sistemas operativos tipo UNIX existentes tanto de forma comercial cano tibre, algunas variantes comerciales son: Sun Solaris, IBM AIX, SCO Unixware, HP-UX; de código libre podemos mencionar: BS[AIOS 4.2 Internet Server Edition, FreeBSD 4.3, FreeBSD 4.1.1 entre ~e)a " - Perl Java j'.-.; " Gratuito Disponible a través de Internet ht!Jl://www.regis.b erkeley.edu/glinks /about gl.html Disponible a Gratuito través de Internet. ht!Jl://lre!l!Jis.org/d etails.en.html?na me=Practical%20 Ma¡i%20Server ft¡i://lreegis.or!l!!re enis/misc/ Continua en la siguiente hoja 97 Capitulo 2. Los Sistemas de Información Geográfica e Internet ................................................................................................................................................................................................................................. Set· ~a·e G3DGMV • (Visualizador de datos tipo rastel) • 2.2.3 TABLA COMPARATIVA DE SOFTWARE (Continuación) {S/G Y HERRAMIENTAS QUE INTERACTÚAN CON INTERNET) '""s·e-~'a _oe a'._ Jer"taias .Jes .e1''.a1as Maneja una amplia • No permite el manejo • Distintas variedad de datos tipo de datos tipo vector. distribuciones raster. de Linux. • La documentación Permite al usuario con la que cuenta es • Windows. agregar información a muy escasa. los mapas generados. e· ;,Je ]e ~J·e~:· a - ~ • j ~. J~Sa"J11C Lenguaje C Gratuito Disponible a través de Internet. htt12://www.gnom e.org/softwarema Q/Qrojects/g3dgm YÍ. htlQ://www.icewal kers.com/soltlib/a 1112/aim 00820.ht mJ Continua en la siguiente hoja 98 ........................................................................................................................................... ~.~~~~~!~.~ .. ~?.~.~=!:'.'.1.~.~.~.~.~?.~~?.~!~~.9.~~'.~~::.~.~?.'.~~=' Sc".-.a e • MapServer (Ambiente de • desarrollo de código abierto) • • 2.2.3 TABLA COMPARATIVA DE SOFTWARE (Continuación) (S/G Y HERRAMIENTAS QUE INTERACTÚAN CON INTERNET) ::i s'e""a ~=e :3'.: • e 'ta as =es.er•aas Proporciona un ambiente muy • La documentación • Distintas completo para desarrollar que ofrece MapServer distribuciones aplicaciones que permiten la es relativamente de Linux. interacción entre Internet y la escueta. • Windows información espacial. NT/96/95. Cuenta con demos y documentación que describe su uso. Permite la personalización de sus demos. Maneja una amplia variedad de formatos tanto vector como raster, en formato shp deArcView. "t:' J~d ':' ~t:" 3 . - :::esa· : : ~ 3'e.: :: Lenguaje C Código Disponible abierto a través de Internet htt~://ma~se rver.gis.umn .edu/ Continua en la siguiente hoja 99 3o•t,.a·e Capitulo 2. Los Sistemas de Información Geográfica e Internet 2.2.3 TABLA COMPARATIVA DE SOFTWARE (Continuación) (S/G Y HERRAMIENTAS QUE INTERACTÚAN CON INTERNET) :; ''t' ~ a Ct''3' . ¿.-~-a t" Je , en1a1a> Jes.erta,as Jesa :)11-:; ~att-;¡:. ~ • ,j _ t ~ GeoTools • Permite visualizar los mapas • No posee suficiente • Distintas Java Código Disponible (Herra- de manera interactiva a mienta de través de un navegador. desarrollo Reduce en gran medida el de código tiempo que el usuario tiene que abierto) esperar para visualizar las capas. OpenMap • (Herra- • Cuenta con demos y mienta de la documentación que desarrollo describe su uso. basada en JavaBeans) documentación. distribuciones de Linux. • Windows NT/96/95. La documentación es • Distintas un poco escueta y distribuciones deficiente, esto orilla de Linux. al desarrollador a • Windows. aprender el uso de dichas herramientas a 'prueba y error", lo cual repercute en el tiempo destinado al desarrollo de la aplicación. abierto a través de Internet. htt¡r//geotoo ls.sourcefor ge.neU Java Código Disponible abierto a través de Internet ht!ll://o~n ma~.bbn.co ml Continua en la siguiente hoja 100 Capitulo 2. Los Sistemas de Información Geográfica e Internet ................................................................................................................................................................................................................................. Sotrware Maplt (Aplicación • WEB que permite la navegación a través de mapas tipo rastel) 2.2.3 TABLA COMPARATIVA DE SOFTWARE (Continuación) (S/G Y HERRAMIENTAS QUE INTERACTÚAN CON INTERNET) :::_-,'e'"ª :ce a',_ ,e~ra¡as =:iesve 'ta,as • No se cuenta con Es fácil de modificar debido a información detallada • UNIX. que se desarrolló en Pylhon. acerca de la • Distintas aplicación. distribuciones de Linux. • No soporta el formato • Windows .slip de ArcView 95/96/NT. (ESRI), siendo este de suma importancia, para generar la aplicación requerida. ~e· J ... a t' JE- Jé':>ar·:1: ~a'.ej2 e - 'el-'~ Python Código Disponible abierto a través de Internet ht~://www. mapit.de/ Continua en la siguiente hoja 101 ........................................................................................................................................... ~~~'.~~!?..~:.~?.~.~'.~!::'.'.1.~.~-~.~-~?.~~~?.?!?.~.~~~~~~:.~?.~~'.~?,l 2.2.3 TABLA COMPARATIVA DE SOFTWARE (S/G Y HERRAMIENTAS QUE INTERACTÚAN CON INTERNET) S s'e""'a _er ~.,a e Jt:- 32''-t.a e ,e,1a,ai;. ~t~.e"aa~ ..,ea·:: )f::ia :~ .j'Lj_ 3 GRASS • Ha sido probado bajo una GRASS permite importar Linux, Lenguaje e amplia variedad de sistemas archivos shp de ArcView Sun Solaris, y en la operativos. (ESRI), sin embargo, Solaris xB6, versión 5 después de importar los Solaris SPARC, una interfaz • Maneja de manera bastante shapefi/es, los colores SGI lrix, preliminar eficiente la mayorla de las originales no son HP-UX, escrita en operaciones que como S/G respetados alterando asl DEC-Alpha, Java debe realizar. totalmente la imagen que PowerPC, proviene del shp. Macos X • La versión 5 cuenta con una (Darwin), interfaz gráfica lo cual IBM AIX, permite mayor facilidad de BSD-Unix, uso en comparación con la FreeBSD, versión 4.3 en la que los CRAY/Unicos y eventos se manejan por otras medio de línea de comando. plataformas compatibles • GRASS 5 incluye un módulo con UNIX llamado HTMLMAP que (32/64bit), asl permite la publicación de como Windows mapas en Internet. NT/Cygnus. Código abierto Disponible a través de Internet. http://www.geo !IJfili: hannover.de/gr ass/ Continua en la siguiente hoja 102 Capitulo 2. Los Sistemas de Información Geográfica e Internet ........................................................................................................................................................... 2.2.4 SOFTWARE ELEGIDO Como pudimos observar a través del análisis de alternativas mostrado anteriormente, la mayoría de estas carece de información completa acerca de su funcionamiento y utilización, es por ello que la decisión en cuanto al software idóneo para la generación de la aplicación solicitada se basó, en gran medida, en este aspecto, ya que de utilizar un software poco documentado, habría un impacto importante sobre el tiempo en el que la aplicación requerida se pusiera a disposición del área de Riesgos Hidrometeorológicos ya que se dificultaría el proceso de comprensión y aprendizaje del software a utilizar (por parte del desarrollador). Por otro lado, los criterios utilizados de manera primordial para la elección del software más adecuado fueron, como se mencionó al inicio de este apartado; el manejo de formato shp, la utilización del software bajo Linux y un costo nulo; de acuerdo a esto se consideró como la alternativa más adecuada MapServer ya que como hemos podido observar a lo largo del análisis realizado, cumple con cada una de las características requeridas para poner a disposición del área usuaria una aplicación que genere información tanto de tipo gráfico como texto y permita la manipulación de dicha información de la misma forma en que un sistema de información geográfica lo haría. Retomando las características que de MapServer se mencionan en la tabla comparativa, podemos justificar la elección de este software a partir de lo siguiente: Gracias a que MapServer es un ambiente de desarrollo, podernos afirmar que las aplicaciones que se generen a través de él, se pueden personalizar como mejor convenga de acuerdo a los requerimientos del usuario, es decir, MapServer nos brinda la libertad de elegir entre generar una aplicación "desde cero" o reÚtilizar y/o adaptar el código de alguno de sus demos para agregarle sólo la funcionalidad que de manera específica se requiera ahorrando de esta manera tiempo de desarrollo y enfocándose primordialmente en la personalización de la aplicación, todo ello bajo el sistema operativo Linux. MapServer ofrece al desarrollador documentación de cada una de sus versiones en cuanto a: instalación, configuración, componentes de los archivos necesarios para su correcto funcionamiento, e/ases que componen 103 Capítulo 2. Los Sistemas de Información Geográfica e Internet PHP/MapScript, herramientas y demos que integran el software, información y ligas a sitios donde es posible obtener de manera gratuita el software adicional, entre otros. Esta información es sumamente útil ya que nos permite comprender de una manera más rápida el funcionamiento de MapServer y la forma en cómo puede ser explotado para generar aplicaciones que manejen información espacial vía Internet, el único inconveniente es que la documentación aún presenta algunas deficiencias ya que, sin lugar a dudas se puede considerar completa y explicativa cuando de generar aplicaciones sencillas se trata, pero al momento de utilizar los componentes que MapServer nos ofrece para generar aplicaciones más complejas, podemos observar que la documentación en realidad no es completa para estos fines debido a que en ocasiones no presenta ejemplos y de presentarlos, algunos de ellos son erróneos, sin embargo, MapServer es una de las alternativas más documentadas. Otra característica relevante que el software presenta es que maneja datos tanto de tipo raster como vector en distintas escalas y proyecciones así como consultas complejas, dichas características son fundamentales para la generación de la aplicación requerida ya que al permitir tal flexibilidad en cuanto a escalas, proyecciones y tipos de datos&, es posible utilizar sin ninguna dificultad los archivos shp que posee la institución con sólo adaptar la escala y proyección, por otro lado, el hecho de que MapServer permita realizar consultas complejas nos hace pensar que la aplicación que se genere podrá ser ligada al SIAT sin mayor dificultad, tomando en cuenta que los datos que arroje dicho sistema, representarán para la nueva aplicación, el filtro a partir del cual se llevarán a cabo las consultas. Como ya hemos mencionado, MapServer, es un software que no implica gasto alguno para el CENAPRED y además de ello, es de código abierto, lo cual nos brinda la posibilidad de contribuir con herramientas y demos que se pondrán a disposición del resto de los desarrolladores, también es posible contribuir con los módulos MapScript y PHP/MapScript agregándoles clases y/o métodos o bien modificando los ya existentes. Otra característica importante es que el módulo PHP/MapScript pone a disposición del desarrollador una amplia variedad de e/ases, cada una con métodos que representan habilidades como: acercamientos, alejamientos, desplazamientos, dibujo de formas y consultas. entre otros, relacionado a ello, es importante señalar que las aplicaciones que accedan a dichos métodos por medio de instancias no necesariamente deberán presentar un enfoque orientado a objetos dentro de su código en particular, muestra de ello son los .t.. Vector y raster 104 Capitulo 2. Los Sistemas de Información Geográfica e Internet demos que ofrece MapServer; estos demos han sido desarrollados bajo un enfoque estructurado y dentro de su código accesan a los métodos de PHP/MapScript -creando instancias de las e/ases que contengan los métodos a utilizar-. Por último, mencionaremos que la adaptabilidad y escalabilidad de MapServer se extiende a sus demos, que también son de código abierto, lo que da la pauta para generar aplicaciones basadas en dichos demos y de esta forma aprovechar las ventajas que la reutilización de código nos brinda al permitirnos ajustar de manera exacta nuestras aplicaciones a los requerimientos del usuario agregándoles dinamismo y funcionalidad, con el consecuente ahorro de tiempo. En el siguiente capítulo se tratarán más a fondo los aspectos fundamentales de MapServer. 105 CAPITULO 3 MAPSERVER COMO UN AMBIENTE DE DESARROLLO WEB PARA LA CONSTRUCCIÓN DE APLICACIONES QUE MANEJEN INFORMACIÓN ESPACIAL. Es relevante mencionar que en este capitulo se senalarán de manera general las características de MapServer y los componentes a través de los cuales es posible emplearlo para desarrollar aplicaciones personalizadas, sin embargo, es importante destacar que este capítulo no pretende, de ninguna manera ser un tutorial de MapServer, sino solo una referencia básica acerca de todo lo que ofrece MapServer para generar la aplicación requerida (SIGMAFH). 3.1 ASPECTOS GENERALES MapServer es un ambiente de desarrollo de código abierto que permite generar aplicaciones que manejen distintos tipos de infonnación espacial (mapas e información asociada) de forma sencilla, potente y rápida, su orientación hacia Internet, permite proveer a las aplicaciones o páginas web de un potente visor de mapas, puede ser compilado sobre una amplia variedad de sistemas operativos, incluyendo UNIX y distintas distribuciones de Linux, tales como, Red Hat, Linux Mandrake, etc. Por otro lado, cuenta con un módulo llamado MapScript que permite la interacción con lenguajes de script populares como Peri, Python, Tk/Tc/, PHP y Java para accesar al AP/ de MapSer1er, proporcionando así un ambiente muy completo para desarrollar aplicaciones que integran datos dispersos. Fue originalmente desarrollado por la Universidad de Minessota (UMN) en el proyecto FortNet en colaboración con la NASA y el Departamento de Recursos Naturales de Minessota (Mínnesota Oepartment of Natural Resources - MNDNR-). El crecimiento adicional de la aplicación fue realizado por el MNDNR y el Centro de Información sobre Administración del Territorio de Minnesota (Minnesota Land Management lnformation Center -LMIC-). Los desarrollos actuales están sustentados por el proyecto TerraSip, el cual es respaldado por la NASA, la Universidad de Minessota (UMN) y el Centro de Información sobre Administración del Territorio de Minnesota (Minnesota Land Management lnformation Center -LMIC-). 106 Capitulo 3. MapServer como un ambiente de desarrollo WEB para la construcción de .............................................. :=!~~~!?.'?~~~.9~~.!!!!i.'.1!:!!':'.!~.'-~~.'?!~.':1.~P.~.i~~-.................................... . El esquema de funcionamiento25 que presenta MapServer es el siguiente: Caitoarafla El usuario ingresa a través de su navegador a la aplicación desarrollada sobre MapServer, dicha aplicación debe estar ubicada en un servidor web que aloje Apache, para que de esta forma se realice el enlace a MapServer, quien se encargará de permitir la manipulación de la información cartográf"ica a la que tiene acceso por medio de la aplicación. Es relevante recordar que además de contar con el módulo de PHP/MapScript, MapServer cuenta con una serie de demos que permiten al desarrollador comprender el uso de la herramienta, uno de los demos más completos - hablando en términos de funcionalidad - es GMAP, el cual fue desarrollado por un grupo llamado DM Solutions e intenta mostrar la forma en cómo se utiliza MapServer a través del módulo PHP/MapScript, este último desarrollado también por dicho grupo, más adelante se describirá a detalle la funcionalidad del deme GMAP. 3.2 INSTALACIÓN Y CONFIGURACIÓN SOBRE LINUX Para la generación de la aplicación se utilizó la versión 3.5 de MapServer y el módulo PHP/MapScript así como la versión 1.2 de la librería GD. A continuación se mostrará la forma como se instaló y compiló MapServer, para ello se utilizó la combinación popular de Linux y Apache. z5 Carrasco Ponce, Pedro A.; '"Sistemas de Información Geográfica, cómo ver mapas con Linux'"; Linux Magazine; 1 de Abril de 2002; impreso en Málaga, Espana. 107 Capitulo 3. MapServer como un ambiente de desarrollo WEB para la construcdón de .............................................. ~?.'~~.-?~~-~~~.!!!!1.':1!!~.!!1.'.~!l.c?.~!:1.~Pe~!~~-·-·························--········ Lo primero que se realizó fue obtener todo el software necesario para la compilación e instalación de MapServer accesando al sitio oficial de dicho ambiente de desarrollo, en la siguiente dirección http://mapserver.gis.umn.edu. Es importante mencionar que MapServer también hace uso de una variedad de librerias externas que incrementan su funcionalidad. A continuación se describe cada una de estas librerias: Librería GD PROJ.4 LibTIFF LibGeoTIFF LibJPEG OGR Libreria de caracteristicas simples GOAL- Librerla de Abstracción de datos Geoespaciales. SDE- Librerías cliente PostgreSQL Cliente MPATROL Librerías Cliente de Oracle Spatial Librería GD Descripción Permite el manejo de imágenes con formato GIF o JPEG. Permite realizar proyecciones al vuelo. Para soporte TIFF (imágenes). Para soporte GeoTIFF (imágenes). Para soporte de imágenes con formato JPEG. Proporciona entrada/salida de una amplia variedad de archivos de formato vector. Proporciona entrada/salida para una amplia variedad de formatos raster. Estas librerias son proporcionadas con la base de datos espacial ArcSOE de ESRI. Por medio de esta libreria MapServer puede leer datos PostGis. Para depurar (desarrolladores solamente). Estas librerías vienen incluidas con el producto Oracle. MapServer utiliza la librería GD para mostrar las imágenes de los mapas generados, es de suma importancia ya que sin ella no es posible visualizar los mapas. Esta librería es gratuita y únicamente la versión 1.2 soporta imágenes en formato GIF. Para asegurarnos que la librería GD soportaba imágenes GIF ejecutamos el script "configure", después de lo cual pudimos observar lo siguiente: using GD ( ·DUSE_GD_GIF" ·DUSE_GD_PNG ·DUSE_GD_JPEG -DUSE_GD_WBMP ·DUSE_GO_TTF ·DGO_HAS_GOIMAGEGIFPTR) from system libs. 108 Capitulo 3. MapServer como un ambiente de desarrollo WEB para la construcdOn de ••U••••••••••on••••••••••••u••••••••••••••:!P.~~.'?!!~.~~t;.!!!!1.':'!:l~.!~.f~~.~~!:1.~P.~!~ ............. uo••••••••u•••••••••••••• De acuerdo a lo anterior, se pudo comprobar que la librerfa GD estaba construida con soporte GIF. Desempacar el código fuente El primer paso que se realizó para iniciar la compilación fue desempacar el código fuente, utilizando los siguientes comandos: [user@host user]$ gzip -d ms_J.5.000.tar.g= [user@host user]S tar -xvf ms_3.S.OOO.tar Con el comando gzip se descomprime el archivo y el comando tar desempaca el archivo dentro de un directorio llamado "mapserver". Configuración Para encontrar las opciones disponibles con las que se puede configurar Mapserver, se ejecutó el script "configure" usando el parámetro help. [user@host user]$ cd mapserver [user@host mapserver]$ ./configure --help Al ejecutar el script especificando este parámetro, se mostró en la pantalla la forma como se especifican las librerfas (y su localización), con las que se desea configurar MapServer. Bajo circunstancias normales el script de configuración automáticamente especificará la localización de todas las librerías sobre el sistema y las usará. [user@host mapserver]$ ./configure Es importante cerciorarse que todas las librerías que se desean usar hayan sido encontradas. Especificación de librarlas. Debido a que algunas librerías no son detectadas por omisión, tienen que ser especificadas por medio del script "configure". Si al momento de configurar, el 109 Capitulo 3. MapServer como un ambiente de desarroUo WEB para la construcción de aplicaciones que manejen Información espacial .............................................................................................................. u .................................... . script no es posible encontrar las librerías, también se puede especificar la localización manualmente, agregando la ruta de la opción. En nuestro caso fue necesario especificar la librería GD al momento de la configuración, lo cual se hizo de la siguiente manera: ./configure - - with-gd=/usrllib/gd1 .2/ Compilar MapServer Una \/ez configurada la construcción de las opciones y seleccionada la librería con la que se deseaba compilar MapServer, se procedió a compilar el código fuente. La compilación se realizó sólo ejecutando "make": [user@host mapserver]$ make Dado que la compilación fue exitosa, se desplegó a través de la pantalla información referente a la instalación y el proceso llegó a su fin retomando el prompt del shell. Instalación Para asegurar la correcta instalación de MapServer, se ejecutó el CG/ "mapserv" de la siguiente forma: user@host mapserver]$ ./mapserv Después de correr el CG/ apareció el siguiente mensaje: This script can only be used to decode form results and should be initiated as a CGI process vía a httpd server. Lo cual, como señala la documentación de MapServer, indica que el paquete se encuentra correctamente instalado. Este paso fue relativamente sencillo, ya que el programa mapserv es un CG/ ejecutable, lo que indica que será llamado y ejecutado por el servidor, por lo que solo se necesitó colocar el CG/ bajo la siguiente ruta: 110 Capitulo 3. MapServer como un ambiente de desarrollo WEB para la construcción de ............................................. ~P.'!~.~!:~C?.~~~.!!~!'.~~':1 .. ~!~.~ .. !~ .. ' .. '?!!!!~~?.':1 .. !:~P.~.i~~---··································· "/usr/local/apache/cgi-bin" (que es donde generalmente se ubican los CG/s que corren en el servidor web) y hacerlo accesible por el siguiente URL: "httpd://video.cenapred.unam.mx/cgi-bin/mapserv", cuando se accesó a este URL a través del navegador apareció el siguiente mensaje: " No query information to decode. QUERY _STRING is set, but empty." Lo cual, como señala la documentación, indica que todo se encuentra correctamente instalado. Problemas Comunes • Permisos de los archivos Uno de los problemas que se tuvieron a lo largo de la instalación de MapServer fue la aparición del error "403 Permission denied" ("403 Permiso denegado), lo que indica que el usuario que corre el servidor no es el correcto26 ; para solucionar este problema procedimos a checar el usuario. En nuestro caso, el usuario que corría el servidor era "apache", lo cual era incorrecto, ya que se necesita que el usuario que corra el servidor donde se encuentra MapServer sea "nobody'', por lo que se procedió a cambiar el nombre del usuario. Además se otorgaron permisos de ejecuc1on al archivo binario (mapserv), para que este pudiera ser ejecutado por el usuario que corría el servidor. Por medio de estos 2 pasos fue posible solucionar los problemas referentes a permisos. 28 El usuario que corre el servidor web -en especifico Apache-, puede ser cualquier grupo con permisos mínimos creado por el administrador de la red, en el momento de configurar Apache. 111 Capitulo 3. MapServer como un ambiente de desarrollo WEB para la construcción de ............................................. ~P.'~~~'?.~~~.~~!'.~':'.'=!~.':'.!~.~?~!?.':1.~.J?~.i~~---··································· 3.3 PARTES DE UNA APLICACIÓN DESARROLLADA A TRAVÉS DE MAPSERVER Para desarrollar una aplicación por medio de MapServer utilizando el CG/ que ya incluye el paquete, necesitamos en principio, el software de MapServer y un servidor Web como Apache, además de los siguientes archivos: • Un archivo de inicialización que presenta la primera interfaz de la aplicación desarrollada en MapServer, este archivo puede tenerse de manera opcional. • Un archivo "map" que controla la manera en que MapServer manejará los datos. • Un archivo "template" que define la interfaz que usará la aplicación desarrollada en MapServer. • Un conjunto de datos S/G tomando en cuenta los formatos que MapServer acepta, estos datos deben estar almacenado en /http/documents. Enseguida se define con más detalle cada uno de los archivos que requiere una aplicación desarrollada en MapServer para que pueda tener un óptimo funcionamiento. 112 Capitulo 3. MapServer como un ambiente de desarrollo WEB para la construcción de ............................................. ~P.'!:.<:1~~'?.r:!::.~~? .. ~~~--=!~.r:'.!!:'.~'?!T.~.-::!?.r:'.~~P.~?.i~~ ..................................... . Archivo Descnpcion Archivo de (opcional) Es un archi.vo de tipo HTML que da la pauta para iniciar la aplicación. El archivo de inicialización hace uso de un formulario para mandar una consulta inicial al servidor web, el cual mandará el resultado como una respuesta dada por el CGI de MapServer (mapserv). Mapserv no es totalmente estático, ya que inicialización se inicia y ejecuta cada vez que se recibe una consulta. Este archivo es empleado únicamente para pasar una variedad de parámetros a la aplicación y es de tipo HTML. Otra alternativa que sustituye el uso del archivo inicial, es la construcción de un URL por medio del cual se pasen los parámetros básicos requeridos por la aplicación CGI de MapServer. El archivo map define los datos que serán usados en la aplicación, contiene información acerca de cómo será dibujado el mapa, las leyendas y los mapas El archivo map resultantes de las consultas, se puede pensar en el archivo Map como el archivo de configuración de la aplicación. Este tipo de archivos poseen una extensión .map. Este archivo controla la presentación de los mapas, leyendas, consultas y otras opciones dentro de la página HTML en la que ciertos campos pueden ser El archivo template modificados por el CG/ de MapServer. El archivo template permite al desarrollador situar el mapa y sus elementos como mejor le parezca, además permite determinar la forma en que el usuario interactuará con la aplicación. Por omisión, se utiliza el formato shapefile de ESRI El conjunto de datos SIG aunque es posible compilar MapServer de manera que maneje otros tipos de formatos que soporten datos vecton·aies y/o tipo raster. 113 Capitulo 3. MapServer como un ambiente de desarToHo WEB para la construcción de ............................................. !!!'!~.'?~~.~~!.!!!!'.':'~~.!':'.'.'?!!!!!'.'?!~!:'.~P.~!'!' ..................................... .. 3.3.1 EL FORMATO SHAPEFILE A continuación se describen las caracterlsticas básicas que poseen los shp o shapefi/es como formato propietario de ArcView por ser este el S/G que se emplea de manera primordial en el área de Riesgos Hidrometeorológicos de CENAPRED; dos de las caracterlsticas principales de un shapefile son: • Almacenamiento de datos geométricos y como consecuencia de ello, soporte en cuanto a tipos básicos de elementos, es decir punto, línea y pollgono. • Almacenamiento de atributos de la infonnación espacial en un archivo .dbf que contiene una tabla donde cada atributo posee una relación de uno a uno con un registro del "shape" 27 asociado . .Jerarquía de los Shapefi/es Este esquema se construyó a partir de las relaciones y atributos de los elementos que conforman un archivo de ArcView denominado "proyecto", este archivo tiene cero o más shapefiles que a su vez están compuestos por tres archivos con el mismo nombre y distinta extensión, la extensión del archivo principal es ".shp", del archivo de Indices es ".shx" y de la tabla es ".dbf', este último se utiliza para almacenar la información descriptiva, contiene las características de los atributos o las llaves de las tablas a través de las cuales se pueden efectuar joins. Ejemplo: Archivo principal: Archivo de índices: Archivo de dbase: mapa.shp mapa.shx mapa.dbf Ventajas de utilizar Shapefiles • Otros S/G pueden leerlos. • Facilidad de exportación. • Alto volumen de uso. Almacenamiento en archivos binarios. • Extensible; su estructura le permite crecer. • Espacio 20 y 30. 27 La geometrla de un objeto es almacenada como un "shape• el cual comprende un conjunto de coordenadas vectoriales. 114 Capitulo 3. MapServer como un ambiente de desarrollo WEB para la construcción de ••••• u ...................................... !'!~.1~~~.'?~~.!1~.4:'.!!!~.':'!l!.~.!':1.1.~!!!!~.~~~-~~E~~!~~ ..................................... . 3.3.2 IMPORTANCIA Y ESTRUCTURA DE LOS ARCHIVOS MAP Los archivos map constituyen el mecanismo básico de configuración de MapServer, es decir, cualquier aspecto asociado a una aplicación en particular se define dentro de este archivo. Antes de comenzar a describir cada una de las opciones que es posible incluir dentro del archivo map, es importante tomar en cuenta los siguientes aspectos: • El archivo map no distingue entre mayúsculas y minúsculas. • Se recomienda colocar todas las cadenas de caracteres entre comillas (""). • Se pueden incluir como máximo, 50 capas por cada archivo map, si se requiere incluir un número mayor de capas, se debe editar el archivo map.h para asignar a la constante MS_MAXLAYERS el número deseado de capas y recompilar MapServer. • Las rutas que se especifiquen pueden ser tanto relativas como absolutas. • El archivo map presenta una estructura jerárquica donde el objeto Map es el principal y el resto de los objetos se encuentran dentro de él. Los comentarios se indican con el símbolo #. • Los atributos se establecen de acuerdo a la siguiente sintaxis: [NOMBRE DE A TRIBUTO] .... los nombres de atributos incluidos entre corchetes deberán ser exactamente iguales a los nombres de atributos dentro de la tabla asociada a la capa que se desee consultar, debido a que, en este caso en específico, se distingue entre mayúsculas y minúsculas. La mayoría de las opciones pueden modificarse a través de un formulario vía WEB 26. Una de las características más importantes que poseen los archivos map es que, es aquí donde se especifican las capas que en la aplicación se podrán "Ver "Caracterfslicas del CG/ empleado por MapServer" 115 Capitulo 3. MapServer como un ambiente de desarrollo WEB para la construcción de ............................................. ~P.l~~!?.?~~~-~~-~-~~~!:!~.~.!~.~'?!!!!~.«?!~.~-~P.~~-¡~~---·························--········ visualizar, la resolución, los colores, el tamaño de los mapas, las características que deberán tener las consultas, entre otros aspectos que se describirán a continuación: Objeto llllap Es el objeto principal del archivo map, es por ello que incluye al resto de los objetos y define los parámetros más generales de una aplicación. Parámetro Descripción EXTENT [minx] Extensión espacial del mapa que se creará. fminvl fmaxxl rmaxvl FONTSET !filenamel Nombre completo de la fuente que se desea utilizar. IMAGECOLOR [r] [g] Color con el que se visualizará en un principio el mapa. [b] IMAGEOUALITY [intl Calidad de las imágenes JPEG. IMAGETYPE Formato de la imagen de salida, esto depende de la [giflpngupeglwbmp] versión de la librería GD • con la que se haya compilado MaoServer. INTERLACE [onloff] Indica si las imágenes deben entrelazarse (sobreponerse) o no, el valor por omisión es "on", lo cual quiere decir que se entrelazarán . LAYER Indica el inicio del objeto Layer lcaoa\. LE GENO Indica el inicio del obieto Leoend (levenda). NAME [name] Prefijo que indica el nombre del mapa, de la barra de escalas v de las /evendas GIF. PROJECTION Indica el inicio del obieto PROJECTION (JJrovección). QUERYMAP Indica el inicio del objeto QUERYMAP (consulta del maJJal. REFERENCE Indica el inicio del objeto REFERENCE (imagen de referencial. RESOLUTION fintl Establece los JJixe/es afectando sólo la escala. SCALE [double] Indica la escala del mapa, generalmente se establece dinámicamente cor medio de la aplicación que lo utilice. SCALEBAR Indica el inicio del objeto SCALEBAR (barra de esca/as). SHAPEPATH Ruta donde se almacenan los archivos shp o shapefiles. [filenamel SIZE [x][y] Tamaño expresado en pixe/es con respecto a la imagen de salida. STATUS [onloff] Establece si el mapa se encuentra en un estado activo o no (capa activa). • Consultar '"Instalación y configuración sobre Linux" 116 Capitulo 3. MapServer como un ambiente de desarrollo WEB para la construcción de ............................................. ~P.'~~!?.'?~!?.~~.t;l.T.~.r:~t~~.!~.f-~!!!!~.~t:.r'!.~~P.~t;!~~---··································· Parámetro DescriDción SYMBOLSET Nombre del archivo que contiene el grupo de símbolos a [filename] utilizar (por ejemplo: un símbolo con forma de casa para indicar los sitios habitados). SYMBOL Indica el inicio del objeto SYMBOL (sfmbolo). TRANSPARENT Establece si el color de fondo de los mapas deberá ser [onjoff] transparente o no, el valor por omisión es OFF, lo cual indica aue el color de fondo no será transoarente. UNITS Unidades referentes a las coordenadas del mapa. Es [feet¡inches\kilometer utilizado por la barra de escalas. slmeterslmileslddl WEB Indica el inicio del objeto WEB. Objeta Label Este objeto se utiliza para definir una etiqueta, generalmente se emplea para señalar alguna característica a través de texto. Parámetro ANGLE [double] ANTIALIAS [true\false] BACKGROUNDCOL OR írUaUbl BACKGROUNDSHA DOWCOLOR [rlfallb] BACKGROUNDSHA DOWSIZE [x][y] BUFFER [integer] COLOR írl1a11bl FONT [name] Descripción Angulo que define la posición de la etiqueta, se expresa en grados. Establece si el texto debe tener antia/ias lo cual requiere de un mayor número de colores disponibles y de imágenes de salida más grandes. Color de fondo del rectángulo que rodea la etiqueta. Color de sombra que tendrá el rectángulo que encierra la etiqueta. Establece que tan lejos deberá situarse el color de fondo del rectángulo con respecto al texto, el valor por omisión es uno. Tamaño del marco ubicado alrededor de las etiquetas, se expresa en pixe/es y es útil para mantener la legibilidad de las mismas•. Color de texto. Alias de la fuente que se desea utilizar en las etiquetas (de la misma forma que se define en FONTSET). Continua en la siguiente hoja 117 Capitulo 3. MapServer como un ambiente de desarrollo WEB para la construcción de •••• u ....................................... :!P.1!~~. from ", donde nombre Columna es el nombre de la columna que contendrá los objetos o datos geométricos y nombre tabla es el nombre de la tabla de donde serán extraídos los datos geométricos. Para Oracle, la sintaxis es la siguiente: "forma FROM tabla" o "forma FROM (SELECT sentencia)". FEATURE Señala el comienzo del objeto FEATURE ( caracterfstica). FIL TER [string} Este parámetro permite el filtrado de atributos de acuerdo a datos específicos. En el caso de los shapefiles y OGR, se trata simplemente de una expresión regular de MapServer. Para bases de datos espaciales, el parámetro es una sentencia WHERE de SQL. Ejemplo: FIL TER "tipo='carretera' and tamaño <2" FILTERITEM Atributo a utilizar para expresiones simples de FIL TER [attribute} (filtrado). Disponible en el caso de los OGR y shapefiles. .FOOTER [filename} Template que aparecerá después de que un grupo de resultados sean mostrados-*. GROUP fnamel Nombre del ciruoo al cual oertenece la caoa. HEADER [filename} Template (encabezado) que aparecerá antes de que un ciruoo de resultados sean descleaados - . LABELANGLEITEM Atributo que se utilizará para establecer los ángulos de [attribute} las anotaciones. Los valores deben estar establecidos en cuados. Disponible en el caso de las consultas simples. Continua en la siguiente hoja 120 Capitulo 3. MapServer como un ambiente de desarrollo WEB para la construcción de ............................................. !!~~~.c:>~~-~~! .. í!!~.'}!!~.!~.'.!!!!~.. REQUIRES Establece el contexto para desplegar la capa. (ver fexcressionl LABELREQUIRES). SIZEUNITS Establece las unidades del objeto CLASS. Las unidades [pixe/s¡feet¡incheslkilo por omisión son pixe/es. metersJmetersJmilesl STATUS Indica el estado actual de la capa (se refiere a si se [on¡off¡default] encuentra activa o no). El valor por defecto establece Que la capa estará activa cermanentemente. STYLEITEM Indica un estilo especifico de característica·- . fattributel SYMBOLSCALE Escala en la cual los simbo/os y el texto se visualizan [double] por completo. Es útil para modificaciones dinámicas de escala sobre objetos basados en la escala del mapa. Si no se especifica, la capa siempre aparecerá con el mismo tamaño. El cambio en la escala sólo tendrá efecto dentro de los límites de MINSCALE y MAXSCALE. TEMPLATE [fileJurl] Indica el nombre o ruta del temp/ate. TILEINDEX Nombre del archivo que contiene la definición del índice [file na me] o cuadrante. El atributo que contiene la localización de los datos en un cuadrante se establece cuando se utiliza el parámetro TILEITEM. TILEITEM [attribute] Atributo que contiene la localización de un cuadrante en específico. el valor cor omisión es "location". TOLERANCE Sensibilidad para permitir consultas basadas en puntos [double] en específico (vía mouse -click- o por medio de coordenadas de mapa). Disponible en el caso de las consultas múltiples. Continua en la siguiente hoja 122 Capitulo 3. MapServer como un ambiente de desarrollo WEB para la construcción de •••••••••••••••••••oooo•H•••oo•••••••ooooooo!!~.1!~~.?!~~.9~~.!"!'!~.'J!!~.!~.~~!!!!~.c:!?.':'.~P.~~~~••••••oooooo•ooooouuooooooooooooo•o• Parámetro TOLERANCEUNITS [pixe/slfeetlincheslkilo meters¡meterslmiles¡ ddl TRANSFORM [truelfalse] TYPE [pointlline¡polygonlcir clelannotationlrasterj query] Objeto CLASS Descrioción Unidades en las que se expresará el valor de TOLERANCE. El valor por omisión son pixe/es. Indica a MapServer si una capa en particular necesita ser transformada de un sistema de coordenadas a coordenadas de imagen. El valor por omisión es true (verdadero), esto permite crear shapefiles con coordenadas de imagen y a pesar de ello contar con características que serán desplegadas en la misma localización desde cualquier mapa, este parámetro es ideal cuando se pretende situar logos o texto en los mapas. Es importante recordar que en las coordenadas de imagen el origen se encuentra en la esquina superior izquierda a diferencia de la mayoría de los sistemas de coordenadas de maoa. Especifica la manera en que se debe dibujar el mapa y no necesariamente tiene que ser el mismo tipo que originalmente posee el shapefile, por ejemplo, un shapefile en forma de polígono puede especificarse como una capa de puntos, sin embargo, un shapefile de puntos no puede ser dibujado como una capa con forma de polígono. Por otro lado, "annotation" significa que una etiqueta perteneciente a algún punto será determinada de acuerdo a las características que el mismo presente, sin embargo, la característica por sí sola no será dibujada o mostrada. Los po/fgonos son etiquetados, primeramente, utilizando un centroide, las lfneas en la mitad de su longitud y los puntos, en el punto mismo. "query" significa que la capa puede ser consultada más no dibujada. El objeto CLASS, como su nombre lo indica, define e/ases temáticas para una determinada capa, considerando que cada capa debe tener al menos una clase. En los casos donde exista más de una clase para una capa, la principal se determina por medio de valores de atributos y expresiones. Este objeto comienza con la palabra clave CLASS y finaliza con END. Parámetro BACKGROUNOCOL OR r b Descri ción Color establecido para símbolos no transparentes. Continua en la siguiente hoja 123 Capitulo 3. MapServer como un ambiente de desarrollo WEB para la construcción de ............................................. ~~.1!~!?.?~~~.9~4:'.!!!!'!:i!!~.!~.~~~~.c?.?.':'.~R::!~~~ ..................................... . Parámetro COLOR [r)[g](b) EXPRESSION [string] JOIN LABEL MAXSIZE [integer] MINSIZE [integer] NAME [string) Descriación Color que se utilizará para dibujar caracterlsticas. Actualmente se permiten tres tipos de expresiones para definir miembros de la clase: comparaciones de cadenas de caracteres, expresiones regulares y simples expresiones lógicas. Si no se indica ninguna expresión, se asume que todas las caracterlsticas pertenecen a esta clase. Las comparaciones de cadenas de caracteres distinguen entre mayúsculas y minúsculas y son las que se evalúan con mayor rapidez. No requieren delimitadores especiales, sin embargo, las cadenas de caracteres deben colocarse entre comillas ("") cuando contengan caracteres especiales. En el caso de las expresiones regulares, es importante delimitarlas por medio de lregex/ sin utilizar comillas. Las expresiones lógicas nos permiten construir sentencias complejas basadas en uno o más atributos y sólo es posible utilizarlas para los shapefiles. Este tipo de expresiones son delimitadas por medio de paréntesis. Los nombres de atributos son delimitados a través de corchetes, y distinguen entre mayúsculas y minúsculas por lo que deben coincidir de manera exacta con el nombre de atributo establecido en los shapefiles. Es posible emplear los siguientes operadores lógicos: =,>,<,<=,>=,=,or,and,lt,gt,ge,le,eq Ejemplo: (EXPRESSION ([POBLACION] > 50000 ANO '[LENGUAJE]' eq 'ESPAÑOL') ... Señala el inicio del objeto JOIN (unión). Señala el inicio del objeto LABEL (etiqueta). Tamaño máximo (en pixeles) con el se dibujará el símbolo. Tamaño minimo (en pixeles) con el se dibujará el simbo/o. Nombre que usarán las leyendas de determinada clase. Continua en la siguiente hoja 124 Capitulo 3. MapServer como un ambiente de desarrollo WEB para la construcción de aplicaciones que ........................................................................................................... ~-~~~~.i.':l!~-~~!?~.~P.."!l.'?!~l .. Parámetro Descripción OUTLINECOLOR Color que se usará para el contorno de polígonos y [r][g)[b) ciertos constructores de símbolos. Los símbolos tipo /fnea no socortan la definición de contornos de color. SIZE [integer] Altura del símbolo. Su valor por omisión es 1 y se excresa en oixeles. SYMBOL Indica el nombre o número del símbolo que se usará [integerlstring) para todas las características, el número representa el indice del símbolo, inicia en 1. También es posible definir el nombre de los símbolos usando la palabra clave NAME (nombre) en la definición del mismo y así referirse a ellos. Su valor oor omisión es O. TEMPLA TE Archivo template o URL que se usará para presentarte [filenamel al usuario todas las consultas aue realice. Objeto Feature Este objeto permite la definición de características. Estas características pueden ser también construidas por medio de URL' s o formularios, su definición inicia con la palabra clave FEATURE y termina con END. Parámetro Descripción Son un conjunto de pares de coordenadas xy que finalizan con la palabra clave END, por ejemplo: POINTS POINTS 1 1 50 50 1 50 1 1 END TEXT [string] Cadena que se usará para etiquetar la característica. Objeto Legend Este objeto define cómo será construida una leyenda, es decir, muestra los elementos del mapa con su descripción (tipos de carreteras, poblaciones, lagos, ríos, etc.), los componentes de tipo LEYENDA son construidos automáticamente por los objetos de la clase, su definición inicia con la palabra clave LEGEND y termina con la palabra clave ENO. Parámetro IMAGECOLOR [r)[g)[b] Descripción Color con el que se iniciará la leyenda. Continua en la siguiente hoja 125 Capitulo 3. MapServer como un ambiente de desarrollo WEB para la construcción de ............................................. !!~~~.«?~~-g~.!.!!!!'.':'!i~.!~~'?!!!!~.'?.~.':'.~P.!!~.i:=!~ ..................................... . Parámetro Descripción INTERLACE [on¡off] Indica si la imagen puede ser entrelazada. Su valor por omisión es ON, esto indica que la imagen será entrelazada o sobreouesta. LABEL Indica el inicio del objeto LABEL. OUTLINECOLOR Color del rectángulo que contiene el simbo/o principal. [r][g][b] POSITION Lugar donde se situará la leyenda dentro del mapa. Su [ul¡uc¡urlllllcllr] valor por omisión es Ir. KEYSIZE [x][y] Tamaño en pixeles del rectángulo que contiene el símbolo clave. Su valor oor omisión es 20 x 20. KEYSPACING [x][y] Espacio dado en pixeles que se encontrará entre el rectángulo que contiene el símbolo principal ([y]) y las etiauetas .'~!:~'!!!!~.!1~.!.!!!!'.':1.~!!.~.!~.t.~!!!!~~!!!!~c:!~.':1.~P.~~-i::!~ ..................................... . Variables IMGEXT [minx] [miny] [maxx] [maxy] IMGSHAPE [x1 y1 x2 y2 x3 y3 ... ] IMGSIZE [cols] [rows] IMGXY [x] [y] LAYER [name] LAYERS [name name ... ] MAP ffilenamel MAPEXT [minx] [miny] [maxx] [maxy] MAPSIZE [cols] [rows] MAPSHAPE [x1 y1 x2 y2 x3 y3 ... ] MAPXY [x] [y] MINXIMINYI MAXXIMAX Y fnumber] Descripción Extensión espacial de la imagen que se encuentre en linea, es decir, la imagen que el usuario puede visualizar en su navegador. Forma establecida en coordenadas de imagen. Se trata de una imagen en forma de polígono que se utiliza para propósitos de consulta. Se utiliza en compañía de los modos: NQUERY y NQUERYMAP. Tamaño (en pixeles) de la imagen en línea. Coordenadas (en pixe/es) del evento click emitido por el usuario. Generalmente se utiliza de manera conjunta con aplicaciones escritas en Java. Nombre de la capa, debe coincidir con el nombre que aparece en el archivo map. Al enviar a mapserv un nombre de capa, el CGI la activa (se visualiza la capa). Nombres de la capas que se activarán, deben separarse por medio de espacios. Ruta correspondiente al archivo map que se utilizará. Extensión espacial del mapa que se pretende crear. Tamaño (en pixeles) de la imagen que será creada. Es útil cuando se desea construir una aplicación que permita al usuario modificar la resolución del mapa de una manera dinámica. Coordenadas de la forma. Se trata de una imagen en forma de po/fgono que se emplea para propósitos de consulta. Se utiliza en compañia de los modos: NQUERY y NQUERYMAP. Un punto (expresado en el mismo sistema de coordenadas que los shapefile) utilizado de manera conjunta con un buffer o con una escala específica para construir una extensión de mapa. Se puede establecer como forma, en cuyo caso, las extensiones del mapa se ajustarán a las extensiones de la forma y es especialmente útil al realizar consultas. Coordenada X en su valor mínimo, esta coordenada pertenece a la extensión espacial que se dará a un nuevo mapa o consulta. Continua en la siguiente hoja 134 Capitulo 3. MapServer como un ambiente de desarrollo WEB para la construcción de aplicaciones que manejen información espacial •••••••••••••••••••••••••••••o•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• Variables MODE [value] Oescrinción Modo de operación. Incluye consultas de tipo simple como ITEMQUERVMAP y otras opciones como las siguientes: BROWSE QUERV NQUERV ITEMQUERV ITEMNQUERV INDEXQUERV FEATUREQUE RV FEATURENQU ERV FEATUREITEM QUERV Interfaz donde los mapas y las páginas interactivas son creados. Este es el modo por omisión. Una búsqueda espacial (de acuerdo a la característica más cercana), es iniciada a partir de un evento click. Una búsqueda espacial (exacta), es iniciada a partir de un evento click o del trazado de un rectángulo o caja sobre el mapa a ser consultado. Una búsqueda de texto dentro de los atributos que es generada a partir de un filtro de capa, regresa el primer registro donde se haya encontrado alauna coincidencia. Una búsqueda de texto dentro de los atributos que es generada por un filtro de capa, regresa todos los registros donde se encuentre alguna coincidencia. Realiza una búsqueda de caracterlsticas basada en los valores de los parámetros SHAPEINDEX y TILEINDEX . SHAPEINDEX es obligatorio y TILEINDEX es opcional y sólo es utilizado cuando las capas contienen cuadrantes. Búsqueda espacial que utiliza una característica de SLA VER para consultar otras canas. Búsqueda espacial que utiliza múltiples caracterlsticas de SLA VER para consultar otras canas. Una búsqueda de texto dentro de los datos de un atributo que es generada cuando se utiliza un filtro de capa, regresa el primer registro donde se encuentre alguna coincidencia. La capa donde se realizará la búsqueda debe ser definida utilizando el parámetro SLAVER. El resultado de esta búsqueda puede ser aplicado a otras capas, y es posible delimitarlo por medio del oarámetro QLAVER. Continua en la siguiente hoja 135 Capitulo 3. MapSe. REFERENCE Regresa el mapa de referencia creado, se utiliza dentro de una etiqueta . SCALEBAR Regresa la barra de escalas que se creó, se utiliza dentro de una etiqueta . LEGEND Regresa la leyenda creada. Esta es usada con una etiqueta . Retorna la leyenda creada. Esta es usada con una etiqueta . Indica la capa que se va a consultar. El nombre de la capa será requerido de la misma forma en que haya sido especificado en el archivo map. Si la capa no es especificada entonces todas las canas son buscadas. Es usado en el modo BROWSE o NQUERY. Esta opción identifica el archivo a consultar, cargándolo antes de cualquier proceso. En el modo BROWSE el resultado es la creación de un ·mana consultado", en luaar del mana normal. Es el nombre asociado a la imagen de referencia que se encuentra en línea, es usado para registrar los clicks que realiza el usuario. Coordenadas del click realizado por parte del usuario dentro de la imagen de referencia. Se expresa en pixeles. Salva el mapa que se generó, en un nuevo archivo dentro del directorio "tmp" especificado (imagepath). El archivo puede ser referenciado en el template usando la etiqueta [map). Es utilizado con cualquiera de los modos query (consulta), este parámetro le dice a MapServer que los resultados de la consulta serán guardados en el archivo temporal, para ser usados en operaciones posteriores. Esto es útil cuando se desean hacer consultas continuas. Continua en la siguiente hoja 136 Capitulo 3. MapSe.~~-~~':.!!!~':1.-:!~.f].!~.~'?!!!!~.c:!«?.':'.~P.~~!::!~ ..................................... . Variables Descripción Permite especificar la escala con la que se creará un nuevo SCALE mapa. Es usado con mapxy. La escala es dada como el [number] denominador de la fracción de la escala actual. Por ejemplo, para un mapa con una escala de 1 :24,000 se indicará 24000. SEARCHMA Este parámetro permite generar interfaces que realicen zoom in p (acercamientos) o zoom out (alejamientos) usando mapas consultados, es útil solamente con el modo NQUERY. Este parámetro es empleado para seleccionar capas. El nombre de la capa es usado para cualquiera de los modos query SLAYER (consultas). La capa seleccionada debe ser de tipo polígono [na me] (Polygon). TEMPLA TE Nombre del archivo template que es usado para darle formato a [filename] los resultados obtenidos. TILEINDEX Usado indexar consultas colaboración [index] para (en con INDEXQUERY), es empleado con capas de formato .shp ZOOM Escala del zoom que se aplicará en la creación de un nuevo [number] mapa. Los valores mayores a cero especifican un zoom in (acercamiento), cero indica un desplazamiento, y los valores menores a cero permiten realizan un zoom out (alejamiento). ZOOMDIR Dirección del zoom. [1 IOl-11 ZOOMSIZE Representa la magnitud absoluta de un zoom. Es utilizado en [number] conjunción con ZOOMDIR. 3.3.4. LOS TEMPLATES EN MAPSERVER Los template son, en la mayoría de los casos29 , archivos en formato HTML que contienen ciertos datos utilizados por mapserv cada vez que el template es llamado, es decir, los nuevos valores son almacenados en variables que serán enviadas una y otra vez al CGI a través de un formulario, con ello, se podría decir que aún un template considerado como simple permitiría al usuario enviar y obtener del CGI información tal como la extensión espacial o las capas que se encuentran activas (capas visualizadas). ,. Los templates también pueden ser URL. por ejemplo: http-//www tifon.cenapred unam mx!IATRIBUTOl/temp/ate HTML, donde '"ATRIBUTO'" puede ser cualquiera de los datos que emplea un template 137 Capitulo 3. MapServer como un ambiente de desarrollo WEB para la construcción de ............................................. ~P.1!~.c?.~.~~.~~?..~~~.':!!:~.!~.~~-~~- Una vez que el ejemplo anterior fue ejecutado, pudimos visualizar entre todas las tablas que se muestran, una con el nombre de "Extensions" y dentro de esta la indicación de que MapScript se encuentra instalado. 3.4.2. COMPONENTES DE PHP/MAPSCRIPT Para efectos de este trabajo de tesis, se explicarán brevemente las constantes, clases, miembros y métodos que componen PHP/MapScript y que fueron empleados para la elaboración de SIGMAFH31 • Formato de imagen de salida: MS_GIF • MS_PNG MS_JPEG Constantes Cada una de las constantes anteriores se refieren al formato {GIF, PNG o JPEG) que soporta la librería Go" con la cual fue compilado MapServer, su utilidad consiste en averiguar precisamente cual de estos formatos soporta la versión que se esté utilizando. 31 Para obtener mayor información acerca de los componentes de PHP/MapScript deberá consultar la :;iguicnte liga: htto·//mapserver gis umn edu/doc/ohpr.i:3oscnot-r.lass-gu1de HTML Consultar ·instalación y configuración sobre Linux· 143 . . . . . ~ . ,. - --~----'-----------'----'-------·- Capitulo 3. MapServer como un ambiente de desarrollo WEB para la constr.ucciÓn de •••••uou• .. ••••••••••••••••••••••••••••••••~P.1~~~1.'?.~~~.g~•~•!!!?.~.~!?.~.!~.f~!!!:~!'?.~.!:?P.~C:}~~••••••••••••••ouo~••••••• .. •••••••••· Funciones string ms_GetVersion() Esta función regresa la versión de MapServer y los nombres de los módulos con los cuales fue compilado. Clases MapObj Constructor mapObj ms_newMapObj(stn·ng map_file_name) Regresa un nuevo objeto capaz de interactuar con un archivo map. Miembros int width Ancho del mapa expresado como número entero int height Altura del mapa expresada como número entero rectObj extent Instancia de la e/ase RectObj que indica las extensiones del mapa doub/e sea/e (sólo lectura, se establece por medio del método drawMap()) Esca/a del mapa expresada como tipo numérico de doble precisión string shapepath Ruta donde se encuentra almacenada la forma, es de tipo cadena de caracteres webObjweb Instancia de la e/ase WebObj referenceMapObj reference Instancia de la e/ase referenceObj Métodos Método int set(string property_name, new va/ue) Descripción Establece un nuevo valor para alguna propiedad del objeto map . Regresa -1 en caso de error. Continua en la siguiente hoja 144 Capitulo 3. MapServer como un ambiente de desarrollo WEB para la construcción de ............................................. ~P.l!:.~!:~ Este parámetro acepta " . ./ . ./imágenes/ttt.gif' y "/imaoes/ttt.oif' . URL's URLs relativos absolutos como como Se utiliza para especificar la posición de la imagen dentro del applet. El valor en la forma "X,Y'" indica la posición del borde superior izquierdo de la imagen en coordenadas de pixel con respecto a la esquina o ángulo superior izquierdo de el applet. El valor por omisión es "O,O" Eiemolo: 152 Capitulo 3. MapServer como un ambiente de desarrollo WEB para la construcción de ............................................. ~P.'!~!:~:>.~!:~.!!~! .. ~~.~.f!!~.~.!~.f. Si no es especificado, se toma el nombre del formulario aue se encuentre en la oáaina. Parámetro del formulario que representa el tipo de entrada enviado (punto, rectángulo, elipse, etc.) al momento de realizar un submit. El valor que regresa es definido por el parámetro TB_BUT _name_INPUT perteneciente al botón que se seleccionó en la barra de herramientas. Ejemplo: Parámetro del formulario en el cual las coordenadas de entrada del usuario serán regresadas. Cuando el formulario es enviado, los valores del parámetro toman una de las siguientes formas, dependiendo del tipo de entrada que fue realizada. Es importante tomar en cuenta que todas las coordenadas están en unidades de pixel, empezando con (0,0) en el borde superior izquierdo de la imagen principal. • Point: "x,y" ejempºlo: "12,34" para señalar un punto localizado en las coordenadas (12,34). • Rect: "x1 ,y1 ;x2,y2" con (x1 ,y1) y (x2,y2) siendo estas las esquinas opuestas del rectángulo. • Ellipse: "x1 ,y1 ;x2,y2" con (x1 ,y1) y (x2,y2) que representan las dos esquinas opuestas de una elipse. • Poly: ""x1 ,y1 ;x2,y2;x3,y3" conteniendo un par de coordenadas (x,y) por cada punto digitalizado por el usuario. Ejemplo: 153 Capitulo 3. MapServer como un ambiente de desarrollo WEB para la construcción de .............................................. ~P.1~:.~!:i.'?~~~.~~.t;.~~~!:!~.~.!~.t.<:!!!!~.C:!?.':'.!::a?.::!~!~~ ..................................... . Barra de herramientas y botones El applet contiene una barra de herramientas que puede situarse en cualquier área dentro del mismo y los botones que incluye esta barra son mutuamente excluyentes lo que significa que solamente se puede presionar un botón a la vez. Parámetro Descnpc16n TB_POSITION TB_ALIGN TB_BUTTONS Posición de la barra de herramientas dentro del applet. Su valor puede ser de: • "left" o "right": para colocarla de forma vertical. • "top" o "bottom": para colocarla de forma horizontal. El valor por omisión es "right". Ejemplo: Alineación de la barra de herramientas. Se utiliza en combinación con TB_POSITION. Los valores válidos son: • Para una barra de herramientas vertical: "top" (valor por omisión), "middle", o "bottom". • Para una barra de herramientas horizontal: "left" (valor por omisión), "center" o "right". Ejemplo: Contiene la lista de todos los nombres de botones separados por el carácter "j". Este es un nombre especial de botón que se puede usar para definir espacios entre los botones por medio de "space_nn" para insertar 'nn' pixeles de espacio. Ejemplo: Continua en la siguiente hoja 154 Capitulo 3. MapServer como un ambiente de desarrollo WEB para la construcción de ............................................. ~P.'!~~~.~!:~.~~!.~?.':1.'!!!.~.!~.t.'?T.'!~!-?.~.!::.»P.~:.i::!~ ..................................... . Parámetro Oescnpc1on TB_SELECTED_BUTTO N TB_BUT_?_IMG TB_BUT_?_IMG_PR TB_BUT_?_XY Nombre del botón que por omisión se encontrará presionado cuando el applet se cargue en el navegador. El valor por omisión de este parámetro indica que ningún botón se encontrará presionado. Ejemplo: URL de la imagen que representará el botón cuando este no haya sido presionado. Ejemplo: Especifica la posición absoluta de la esquina superior izquierda del botón dentro del applet. Las coordenadas de la esquina superior izquierda del botón son manejadas como coordenadas (x,y) en pixeles. Ejemplo: Continua en la siguiente hoja 155 Capitulo 3. MapServer como un ambiente de desarrollo WEB para la construcción de .............................................. ~P.'!~~'?.~~~-~~': .. ~~~-~!?.~.!~.~ Texto indicativo que se despliega al lado de cada botón o en la barra de estados del navegador cuando el mouse pasa por encima de algún botón. Para construir un texto indicativo de más de una línea, se debe usar el caracter "I" (con comillas) dentro del texto al final de cada línea. Ejemplo: zoom in: selecciona esta 1 herramienta para realizar acercamientos. Indica el tipo de acción que puede ser realizada sobre la imagen principal del applet cuando el botón es presionado: • "Point" para determinar un punto dando un simple click. • "Rect" dibuja un rectángulo • "Ellipse" dibuja una elipse • "Poly" digitaliza una polilfnea Por omisión se establece que la entrada no será de tipo "auto-submit". Para habilitar la entrada de tipo "auto- submit" se debe anteponer al nombre de la acción la palabra "auto_" (ejemplo: "auto_point", auto_rect"). Además de los tipos de entrada estándar (poin,rect, ellipse y poly) es posible activar una herramienta especial del lado del cliente. Las herramientas que se pueden utilizar del lado del cliente son: • "dist" : herramienta de medida de distancias. • "legend" : consulta de leyendas. • "submit" : botón que envía la página tan pronto como se hace click dentro de ella. Es importante considerar que el modo "auto_submit" no se puede aplicar a las herramientas "dist" y "legend" debido a que estas se ejecutan del lado del cliente. Ejemplo: Continua en la siguiente hoja 156 Capitulo 3. MapServer como un ambiente de desarrollo WEB para la construcción de ............................................. ~P.'!?.~~¡. Especifica el valor que se debe asignar a TB BUT ? NAME cuando el botón es presionado. Valor que se asigna antes de que un botón sea presionado. Aplicada solamente para botones en modo "auto_•• y submit. Comando de JavaScript que se ejecuta cuando un botón es presionado, similar a una llamada onSubmit, con la diferencia de que la forma no es enviada. Aplicada solamente para botones en modo "auto_•" y submit. Especifica el tipo de cursor cuando el botón es seleccionado. Existen 3 tipos de cursores: • "CROSSHAIR" • "HAND" • "MOVE" Ejemplo: 157 Capitulo 3. MapServer como un ambiente de desarrollo WEB para la construcción de ............................................. ::!P.t!:.~~'?.~~~-~~-'='--~~~-~!':D.!~.'.C?!!!!~!«?.':'.!:~P.::!:.i:=!~ ..................................... . Herramienta para medir distancias Rosa App/et tiene la habilidad de medir distancias a partir de una polilínea que será trazada por el usuario y que representa la distancia a medir, esta herramienta es implementada al momento de asignar "dist" al parámetro TB_BUT _?_INPUT. A continuación se describe la forma en como la herramienta trabaja: • El usuario presiona el botón asignado a la herramienta que mide distancias. Mientras el usuario digitaliza puntos sobre la imagen, una polilínea determinada por dichos puntos es dibujada. La distancia, basada en el parámetro P/XEL_SCALE puede ser desplegada en una etiqueta al lado del cursor o bien dentro de la barra de estados del navegador. • La medición finaliza una vez que el usuario presiona la tecla ESC o selecciona otro botón del applet. Es importante tomar en cuenta que la proyección y las extensiones del mapa tienen un impacto considerable sobre la precisión en las medidas de distancias, debido a esto, las medidas que registre la herramienta deben ser tomadas únicamente como aproximaciones. Parámetro Descnpc1on PIXEL_SIZE DIST_MSG Tamaño del pixel expresado en otras unidades de medida como metros, kilómetros, pulgadas, entre otras, este parámetro se utiliza para convertir los pixe/es a una unidad distinta. Ejemplo: Formato en el que se desplegarán las medidas. Ejemplo: PARAM NAME="DIST MSG VALUE="Distancia Aproximada: %s km"> "o/os" representa la medida aue será mostrada. 158 Capitulo 3. MapServer como un ambiente de desarrollo WEB para la construcción de aplicaciones que manejen información espacial •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••u•••••••••••••••••••••••••••••••••••••••• Herramienta de leyendas dinámicas. La herramienta de leyendas dinámicas permite al usuario dar un click sobre un punto en la imagen, de acuerdo al color del pixel donde se hizo click el applet realiza una búsqueda dentro de una tabla regresando al usuario la leyenda correspondiente al color registrado, la etiqueta puede ser desplegada como un texto indicativo -aviso- o bien en la barra de estado del navegador. La herramienta de leyendas dinámicas es activada por un botón de la barra de herramientas cuyo parámetro TB_BUT_?_INPUT tiene asignada la palabra "legend". A continuación se describe la forma en que la herramienta de leyendas dinámicas trabaja: El botón de leyenda dinámica es presionado. • El usuario desplaza el mouse sobre el mapa y da click sobre algún punto. • El applet registra el color del pixel asociado al punto donde se dio click y despliega una etiqueta de leyenda que corresponde al color registrado en la tabla donde se realizó la búsqueda. • La herramienta acepta consultas múltiples y es deshabilitada cuando el usuario presiona la tecla ESC o selecciona otro botón del applet. Parámetro Descnpc1on DYN_LEGEND Es una cadena que contiene una entrada de tipo "color=etiqueta", cada entrada se separa con el caracter "I". Esta cadena representa el criterio de la búsqueda a realizar. Los colores son especificados como valores hexadecimales de RGB (RRGGBB) Por ejemplo: para un mapa que contenga lagos, riveras, carreteras, y limites de provincias, el valor de los parámetros seria el siguiente: 159 Capitulo 3. MapServer como un ambiente de desarrollo WEB para la construcción de aplicaciones que manejen información espacial ····················································································································································· 3.5.1.2 Clases que integran la herramienta En el siguiente cuadro se describen las clases que componen el Rosa Applet, estas e/ases nos indican las funcionalidades que la herramienta nos ofrece. Clase Descn ctón Esta clase implementa el manejo general de un botón al momento ButtonCtrl en que es presionado. A través de los parámetros del applet carga una imagen gif o jpg que representa el botón, así mismo, muestra un mensaje indicativo cuando el cursor del mouse pasa sobre el botón, este mensaje aparece como una etiqueta al lado de cada botón o dentro de la barra de estados. ButtonHandler Este objeto maneja los eventos asociados a la clase ButtonCtrl. Se encarga de enviar la acción asociada al botón. DisplayStatus Esta clase tiene la responsabilidad de desplegar el estado de los elementos del applet, ejemplo: El estado de un botón puede ser "presionado" o "sin presionar". DistObj Maneja los parámetros necesarios para la utilización de la herramienta de medición de distancias. DrawObj Esta clase maneja las herramientas de dibujo contenidas en el applet. Todos los elementos de dibujo contenidos en el mapa deben heredar de la clase DrawObj. EllipseObj Esta clase hereda de RectObj y se encarga de dibujar elipses. LegendObj Esta clase se utiliza para asociar un color de pixel con una cadena de caracteres. Cuando el usuario hace click sobre el mapa se muestra una etiqueta que contiene la cadena de caracteres asociada con el color del pixel donde el usuario dio click. Map Map se encarga de dibujar el mapa y de aplicar una acción sobre este mismo, recibe una acción por parte del botón y crea un objeto de dibujo asociado a dicha acción. Al finalizar la operación envía cierta información si la acción aplicada lo requiere. PointObj Esta clase envía una acción asociada al evento click que el usuario realiza sobre cierto punto. PolyObj Esta clase se encarga de dibujar un polígono. Envía un conjunto de coordenadas xy por cada click del mouse que a su vez representa un vértice del olíg'"'o"'n-'"o=-. ------------------·---' Continua en la siguiente hoja 160 Capitulo 3. MapServer como un ambiente de desarrollo WEB para Ja construcción de ............................................. ~P.'~:.':'!:~'?.~~~-~~;.~~~.':!~.':1.!~.~'?!'T.~!?.~.~~P.~;.i~~ ..................................... . Clase Descnpc1ón Esta clase se encarga de construir botones en forma de RectButton rectángulo, a partir de una imagen que se le indique como parámetro, genera otra en imagen 30 para simular que el botón ha sido presionado. El evento del botón es recibido por un objeto de la clase Button Handler. RectObj Esta clase se emplea para dibujar un rectángulo a partir de coordenadas xy. Cuando el usuario libera el botón del mouse debido a que ha terminado de trazar el rectángulo, la operación es automáticamente registrada y el mapa, actualizado. Esta clase es fundamental para el funcionamiento del applet Rosa2000 debido a que se encarga de inicializar el mapa y la barra de herramientas para de esta forma mostrar una imagen (mapa) sobre la cual serán realizadas una serie de operaciones (por ejemplo: dibujar un rectángulo). RoundButton Esta clase construye un botón a partir de dos imágenes. El manejo es el mismo que presenta la clase RectButton con la diferencia de que no dibuja el borde que simula un botón presionado. La primera imagen se utiliza para simular un botón sin presionar y la segunda para simular un botón presionado. SpacingButton Esta e/ase construye un botón oculto que simula un espacio entre dos botones dentro de la barra de herramientas. El parámetro que define este objeto es de la forma "space_n" donde n es el número de pixeles existentes entre los botones. ToolbarPanel Los objetos de esta e/ase crean un panel que contiene una fila de botones y separadores opcionales. La posición de la barra de herramientas puede ser modificada a través de esta clase. ToolTipAdapter Aún no ha sido implementada. ToolTipButton ToolTipWin Manejo de etiquetas que contienen textos indicativos asociados a los botones, pueden aparecer a un lado de los mismos o en la barra de estado del navegador. Manejo de etiquetas que contienen textos indicativos asociados a una ventana. 161 Capitulo 3. M8pServer como un ambiente de desarrollo WEB para la construcción de ............................................. ~P.l]~~~?.~!:~.~~~.~~.'!!!~.!~.~'?!!!!~!?.~.~~R~.i~~--···································· 3.5.2 DEMO GMAP GMAP es una aplicación desarrollada por DM Solutions que hace uso de Mapserver 3.5, del módulo PHP/MapScript y de la herramienta Rosa Applet, ofrece al usuario lo siguiente (ver figura 20): a) Elección en cuanto al uso de Rosa Applet. GMAP permite al usuario elegir entre utilizar la herramienta Rosa App/et para la manipulación avanzada del mapa principal, en caso de contar con el plugin de Java, o bien, indicar al deme que únicamente ejecute el código HTML que ya contiene y que ofrecerá al usuario una manipulación simple del mapa. Esta elección es manejada por medio de un click sobre el icono que contiene el logotipo de Java y una etiqueta con la leyenda "Java Mode Enabled, Click to Disable". En la característica que describe la "manipulación del mapa" señalaremos de manera más específica el significado de "manipulación simple" y "manipulación avanzada". b) Superposición de capas. Esta característica permite al usuario observar varias capas de manera simultánea sobreponiendo aquellas referentes a carreteras, drenaje, límites federales y población de Canadá, entre otras con sólo presionar un botón "Redraw Map". c) Mapa de referencia. Este mapa, en realidad es una réplica en miniatura del mapa principal que permite al usuario situarse dentro de zonas específicas a través de un click dentro de dicho mapa de referencia, así mismo, indica por medio de un pequeño rectángulo la zona que se está visualizando en determinado momento. d) Manipulación en la resolución del mapa. GMAP permite al usuario modificar la resolución del mapa principal, esta modificación se da a través de una caja de selección que contiene tres opciones de resolución (400 x 300, 600 X 450 y 800 X 600). e) Barra de escalas. GMAP muestra en la parte inferior del mapa principal una barra que señala la escala perteneciente a dicho mapa expresada en millas, esta escala se modifica a la par del mapa, es decir, dependiendo si se realizó un acercamiento o un alejamiento, la escala del mapa cambia y este cambio es indicado por la barra de manera simultánea. 162 Capitulo 3. MapServer como un ambiente de desarrollo WEB para léJ construcción de ............................................. ~P .. 1~i.c:>!~!:~.~~.-:.~~.i:t.-:!! .. ~.!~ .. '.- ..... li! - .:! L•t•nd Lav.r r -Roo:ajo r -Ra.lm-1s 0r•H1•9• Wahtr Pan<;t e1-1innn'\Mh)'rn.try l;J - Pnrwinc:e BounGaf! :;i' •••• Feder.-1 Limlt l;J Fo11i9n L1nd r-God ,0 ~-~t-M• @ •iaulCkVi..., :!] 'Jt~ Jna "-'Od• enabl•O ~\.:.Je11c:kto01ubl• CAJIADA • / ··' .~ > '.:.'.;' .-.-·~:;~ .... ~. ·--. __ · ........ lnfo1"'4ldon Figura 20. Interfaz de GMAP + a ~ Ge~atis Todas las características que se describieron con anterioridad, existen gracias a la actividad conjunta de código PHP, JavaScript, HTML y el =ntenido de un archivo con extensión map. A continuación se describen de manera general los componentes (ver figura 21) a través de los cuales GMAP ofrece toda su gama de opciones al usuario: 164 Capitulo 3. MapServer como un ambiente de desarrollo WEB para la construcción de ............................................. ~P.1~~~~c:'.~~~.~~~.~~':1.4:!?D.!~.1.T.!':'.C:!?.~.!:;P.~C:.i~~-·································· .. Lo primero que se hizo fue especificar las similitudes y diferencias que poseen los elementos a comparar: Host y Graft, de esta forma fueron identificados algunos pares de elementos. Por cada par identificado, fue importante razonar acerca de los cambios necesarios para hacer que los miembros de dicho par fueran equivalentes, todo ello orientado siempre a las necesidades del usuario. Finalmente identificamos dentro de Graft y de Host aquellos elementos que no coincidían; todo este proceso se llevó a cabo a través de los siguientes pasos: 1. Se identificó un Graft adecuado. El elemento Graft (demo GMAP) tiene su origen en MapServer, es el demo más completo q_u_e este ambiente de desarrollo ofrece, además posee una funcionalidad"' bastante completa, por ello se encontró que el demo GMAP podría ser un componente reutilizable para generar la aplicación solicitada (SIGMAFH) ya que ofrece la posibilidad de integrarse con un componente esencial en todo desarrollo a través de MapServer: el archivo map y aunado a ello, se encuentra desarrollado por funciones lo cual permite comprender el código fuente de una manera más clara. 2. Se identificaron las características tanto del demo GMAP (Graft) como las que la aplicación solicitada (Host) debía tener. Las características que el demo posee en cuanto a funcionalidad fueron descritas en el apartado "Demo GMAP", de esta forma no sólo se le identificó como un Graft adecuado sino que se analizaron sus características incluyendo la inteñaz que presenta, en base a dichas características se realizó una comparación con los requerimientos del área usuaria para de esta forma detectar tanto coincidencias como discrepancias entre el demo y dichos requerimientos (ver tabla "Similitudes y diferencias entre el demo GMAP y los requerimientos para generar SIGMAFH"). 3. Se idearon maneras de resolver diferencias importantes36 entre las características de Graft (deme GMAP) y aquellas que corresponden a Host 34 Ver apartado '"Demo GMAP'". 35 Por ejemplo, si alguna sección de Graft es más poderosa que aquella requerida (Host). será importante decidir entre modificar a Gratt de manera que este adquiera un nivel más bajo y por consiguiente cumpla exactamente con las caracterfsticas de Host, o bien, mantener intactas las caracterfsticas que de Gratt se ha observado son más poderosas, de esta forma, se te dará un ·valor agregado'" a Host al incorporarle mayor funcionalidad que la que en un principio debía tener; en cuanto a esto último, es importante considerar que el hecho de incorporar caracterCsticas no contempladas en un pnncip10 para Host. debe evaluarse para no integrar aquellas que hagan de la aplicación un conjunto interminable de herramientas inútiles para el usuano, únicamente se deberán integrar las que se consideren como herramientas de apoyo relacionadas de alguna forma con los requerimientos. (Advances in Software Reuse, Selected Papers from the Second lnternational Workshop on Software Reusability, IEEE Computer Society Press, Caltfornia, editado por Rubén Prieto·Dfaz, Willlam 8. Frakes, 1993.) 169 Capitulo 3. MapServer como un ambiente de desarrollo WEB para la cor.strucción de ............................................. ~P.1!:.~!:~.~~!~~-~-~~-i~~ ................................... . Los diagramas de flujo mostrados anteriormente nos permitieron distinguir entre los elementos de funcionalidad que se agregarían de manera completa -por no estar contenidos en el demo GMAP- y aquellos que ya contenía GMAP pero que de alguna forma no cumplían por completo con lo requerido para SIGMAFH por lo que se hacia necesaria una adaptación, así mismo, distinguimos los elementos de GMAP que se integraron de manera intacta por cumplir en su totalidad con los requerimientos del área de Riesgos Hidrometeorológicos lo que nos dio sustento para afirmar que la cantidad de código extra para lograr la adaptación no seria significativa ya que gran parte de los cambios están relacionados con el archivo map lo que no implica codificación sino la definición de un amplio rango de características particulares para SIGMAFH 36 , en cuanto a las modificaciones que si implican codificación, se contempló que serian mínimas y únicamente en determinadas funciones por lo que, como indica el método G-H, es posible continuar con el proceso de reutilización. En el siguiente capítulo, describiremos con mayor detalle la manera en que finalmente se proporcionará la aplicación solicitada (SIGMAFH) a través de la reutilización y adaptación del demo GMAP. 36 Ver apartado "Generación del archivo map·. 197 CAPITULO 4 GENERACIÓN DE SIGMAFH: ADAPTACIÓN DE GMAP A LAS NECESIDADES DEL ÁREA USUARIA. En el capitulo anterior, describimos el funcionamiento de MapServer en cuanto a los elementos que nos proporciona para generar aplicaciones que a través de Internet manejen información espacialmente referenciada, así mismo, presentamos las características generales (parámetros y e/ases) de la herramienta Rosa Applet y finalmente describimos cada una de las características y archivos que componen el deme GMAP, todo esto -con ayuda del método G-H- nos permitió determinar que la reutilización del deme seria de gran utilidad al momento de generar la aplicación requerida, por ultimo mostramos a través de un diagrama de flujo de datos la manera en como se pretendía integrar la funcionalidad del deme GMAP dentro de la aplicación a generar. El presente capitulo se enfoca principalmente en detallar el proceso que se siguió con el fin de adaptar a GMAP de manera exacta a las necesidades del área de Riesgos Hidrometeorológicos y de esta forma generar la aplicación solicitada: SIGMAFH. Es importante recordar que SIGMAFH es la principal aportación que la presente tesis brinda a CENAPRED y en especifico al área de Riesgos Hidrometeorológicos que integra dicha institución, la generación de SIGMAFH es posible gracias a MapServer y al demo que dicho ambiente de desarrollo nos proporciona: GMAP, pero principalmente, gracias a la investigación realizada en torno a los sistemas de información geográfica y herramientas similares que interactúan con Internet, ya que dicha investigación fue el medio a través del cual encontramos que MapServer constituía la alternativa más adecuada para lograr nuestro objetivo y cumplir con las expectativas del área usuaria. 4.1. CONSIDERACIONES PREVIAS A LA REUTILIZACIÓN Y ADAPTACIÓN DEL DEMO GMAP Antes de comenzar a describir la manera en que GMAP fue reutilizado para generar la aplicación que Riesgos Hidrometeorológicos requiere, es sumamente importante aclarar algunas consideraciones que implica la reutilización de código de dicho demo: licencia y derechos de autor, 198 Capitulo 4. Generación de SIGMAFH: adaptación de GMAP a las necesidades del area •••••••••••••••••••••••••••••••••••••••••••••••••••••••u•o•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••~•:'•~~~-~;••••••• generac1on del archivo map y ajustes de extensiones, proyección y escala de las capas pertenecientes a México. Por ahora, comenzaremos por señalar aspectos que confirman la legalidad en torno a la reutilización del deme GMAP y de la herramienta Rosa Applet, por ser parte del deme citado. 4.1.1 MAPSERVER, DEMO GMAP Y ROSA APPLET: LICENCIA Y DERECHOS DE AUTOR Tanto el software de MapServer (incluyendo la herramienta Rosa Applet y sus demos) como su documentación están provistos de una licencia de código abierto; a continuación se presenta una traducción de la misma que señala diversos aspectos encuanto a permisos: Por este medio se otorga permiso, sin ningún costo o cargo, a cualquier persona que obtenga una copia de este software así como de los archivos que contiene la documentación asociada con el mismo, para manejar el software sin restricción alguna, sin límites encuanto al uso, copia, modificación, mezcla, publicación, distribución, sublicencia y/o venta de copias del software y para permitir a quienes el software sea proporcionado realizar lo anteriormente señalado, todo ello sujeto a las siguientes condiciones: La notificación de propiedad literaria y el presente permiso, deben ser incluidos en todas las copias del software o trabajos derivados del mismo. 1. EL SOFTWARE ES PROPORCIONADO "TAL CUAL", SIN GARANT(A DE NINGÚN TIPO, EXPRESA O IMPLiCITA, INCLUYENDO -MÁS NO LIMITADA A· LAS GARANTIAS DE COMERCIABILIDAD, ADAPTACIÓN PARA UN PROPÓSITO EN PARTICULAR Y SIN INFRACCIÓN ALGUNA. EN NINGÚN CASO, LOS AUTORES O DUEÑOS DE LA PROPIEDAD LITERARIA, SERÁN SUJETO DE RECLAMO, DEMANDA U OTRAS RESPONSABILIDADES YA SEA EN UNA ACCIÓN DE CONTRATO, AGRAVIO O DE ALGUNA OTRA FORMA, AÚN CUANDO DICHAS RESPONSABILIDADES PROVENGAN DEL SOFTWARE, SE ENCUENTREN FUERA DE ÉL, O EN RELACIÓN CON EL MISMO, AS( COMO CON SU USO Y OTRAS APLICACIONES QUE SE LE PUEDAN DAR .. ." 37 Es importante destacar que los permisos otorgados para todo el software que compone MapServer son los mismos, sin embargo, los derechos de autor de MapServer como tal difieren de los que corresponden a la herramienta Rosa Applet y al deme GMAP, ya que estos últimos fueron desarrollados por distintas entidades, en este caso, por el grupo DM Solutions. 37 http //mapser•-er gis '.'mn ed•..;Jhcer.sa htrnl 199 Capitulo 4. Generación de SIGMAFH: adaptación de GMAP a las necesidades del área ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••ooououooo•••••••••••••••••••••••••••••••••••••••••••••••••••~•~•~~~-~;••••••• Los créditos pertenecientes a MapServer son los siguientes: "Derechos de autor 1996-1999 correspondientes a los miembros de la Universidad de Minnesota ..... ... CREDITOS La mayor parte del desarrollo de MapSeiver fue realizada por la NASA a través de acuerdos de cooperación con la Universidad de Minnesota, Departamento de Recursos Forestales. El Estado de Minnesota, el Departamento de Recursos Naturales y el Centro de Administración de Información Territorial se han encargado de extender la funcionalidad del software. MapSeiver y MapScript fueron desarrollados por Stephen Lime El módulo de acceso a datos raster fue desarrollado por Pete Olson y Stephen Lime. El módulo PHP/MapScript fue desarrollado por el grupo OM Solulions, mismo que se encarga de actualizarlo (mantenerlo). Parte de los derechos de autor 1998 corresponden al Estado de Minnesota. el Centro de Administración de Información Territorial. Parte de los derechos de autor 1995-1999 corresponden a Frank Warmerdam." 38 Los derechos de autor que corresponden a la herramienta Rosa Applet se indican a continuación: "Derechos de autor 1999, 2000, Grupo DM Solulions. Todos los derechos reseivados. Autor: Guy Paren!.. .. • 39 Y los que corresponden al deme GMAP se muestran como sigue: "Derechos de autor CC> 2000 Grupo DM Solutions." JO Como podemos observar, los autores de MapServer y de sus componentes como la herramienta Rosa Applet y GMAP otorgan a quienes adquieran el : ~~~ ~.~:.:.V~.s2e~:~~~:'.~:,~~~~ .;~~~~:,:~~.~;~~::~~.;~.'·~~ 7 40 ht:!j !/;·.-.·.~.·.-~ d1'fisciurio,.,c; ::=:fma~i:;.~rv~~ 1 :::11 200 Capitulo 4. Generación de SIGMAFH: adaptación de GMAP a las necesidades del área usuana. , ........................................................................................................................................................ . software y la documentación asociada al mismo, el derecho a utilizarlo y más importante aún para nuestro caso, de adaptarlo. Es importante mencionar que cuando -en la documentación de MapServer- se señala al software como un "ambiente de desarrollo para generar aplicaciones que manejen información espacial vía Internet", también se menciona que es de código abierto y se presenta una liga hacia la página de OSI (Open Source Iniciativa) lo que nos lleva a pensar que la licencia de MapServer se encuentra aprobada por OSI, es decir, que es un software de código abierto certificado por dicha corporación. A pesar de que la indicación de "código abierto" y la licencia de MapServer nos dicen por sí solas que los autores de este software permiten su utilización, redistribución y modificación, nos pareció relevante consultar la página de OSI y de OpenGIS a las cuales MapServer hace referencia, ahí nos encontramos con lo siguiente: OSI es una sociedad no lucrativa que se dedica a promover y manejar el concepto de "código abierto" bajo el siguiente argumento: "La idea básica detrás de un código abierto es muy simple: Cuando los desarrolladores pueden leer. redistribuir y modificar el código fuente de una porción de software. el software evoluciona. Las personas mejoran el software. lo adaptan y reparan sus despeñectos. Y esto sucede tan rápidamente que, si alguien está acostumbrado al lento paso que sigue el desarrollo convencional de software, parecerá asombroso." 41 OSI nos ofrece una definición de "código abierto" que hace mención de la libre redistribución y de la disponibilidad de código fuente, entre otros aspectos; de esta definición hemos extraído el siguiente fragmento aplicable a la reutilización del deme GMAP: 3. Trabajos derivados. La licencia debe permitir modificaciones y trabajos derivados, así como sus distribuciones bajo los mismos términos que contenga la licencia del software original. ... • • 2 Otra indicación que la página de MapServer hace es que dentro de varios de los "trabajos" realizados en torno a este software ha habido participación del consorcio OpenGIS (OGC) a través de código y utilerías que hacen el desarrollo de aplicaciones aún más sencillo: 41 42 ~~-~= .~:~·::::":s·~,:.f:n :10"". ::;!"!:; 201 Capltu1;J •· Genei...:Íóri de SlGMAFH: adaptación de GMAP a las necesidades del área ............................... ~.~---~·-····'·~~;.~ ... ~ ....... ~ ............... ~ .. ~: ... ~-~--~·-········· .. ······~·-····························~'!'.~~~-~: ...... . "OGC es un consorcio de industrias internacionales con más de 220 compañías, agencias gubernamentales y universidades que participan en un consenso realizado para desarrollar especificaciones de geoprocesamiento públicamente disponibles. Las interfaces abiertas y los protocolos definidos por las especificaciones de OpenGIS® soportan soluciones interactivas que 'geo- habilitan' la Web, servicios inalámbricos y basados en localizaciones, así mismo, faculta a los desarrolladores de tecnología para generar infonnación espacial compleja. accesible a servicios y útil para todo tipo de aplicaciones. • 43 Una vez aclarado que al reutilizar el demo GMAP (y sus componentes) no estamos incurriendo en ninguna irregularidad -dado que sus autores permiten su utilización, distribución y adaptación para trabajos derivados-, describiremos cómo fue que se generó el archivo map. 4.1.2 GENERACIÓN DEL ARCHIVO NIAP Por cada aplicación que se pretenda desarrollar a través de MapServer, es necesario generar un archivo map (en cualquier editor de texto, por ejemplo: vi, pico), este archivo, como se menciona en capítulos anteriores, conforma la configuración de nuestras aplicaciones por lo que nos permite establecer desde las capas que ofreceremos al usuario, hasta otras características más particulares, por ejemplo: colores, resolución, extensiones, etc. En seguida mostraremos el contenido del archivo map que se creó para la generación de SIGMAFH, cada línea de este archivo contiene un comentario con una explicación: NAME SIGMAFH #Nombre del objeto map, en este caso se /e dio el nombre de la aplicación STATUS ON #Status del mapa, ON significa •activo", es decir, que al momento de iniciar #la aplicación ya se visualiza el mapa S/ZE 400 300 #Resolución inicial del mapa -llJO x 300 EXTENT ·117.096716 13.996667 -86.679900 34.160000 #Ex1ensíón "spacial d"I mapa minx=-117.096716, miny= 13.996667 #maxx=-86.679900 maxy=34.160000 UN/TS KILOMETERS #Unidades en /as que se expresará la escala del mapa, kilómetros Continua en la siouiente hoia 202 Capitulo•- Generación de SIGMAFH adaotac16n de GMAP a las necesidades del Brea ........................................................................................................................................ ~-~-~~~-~ ....... . SHAPEPA TH " . .Ata$ca/deta• #Ruta donde se encuentran a/macenades /as ca,,.s. es deClr. las archivo& hhp (con su respectivo shx y dbf) IMAGECOLOR 255 255 255 #Color inicial del mapa WEB #/n1c10 del objeto WEB MINSCALE 10 #Escala minima a la que se d1bu1ará el mapa, 10 MAXSCALE 25000 #Escala max1ma a la que- se d1bu1ara el mapa. 25000 IMAGEPATH '"/usrl1ocallapachelhtdocslgmapltmp/ms_tmp/' #Ruta donde se almacenaran las imágenes que resulten de la #marnpulac1on de tos mapas IMAGEURL "lgmap,fmplms_tmpl" #Ruta dentro de apache donde se obtendrán las imágenes END #Fm del objeto WEB REFERENCE #Inicio del objeto REFERENCE (mapa de ,.,fe,.,ncia) IMAGE 1mageSIMex,.;och1c g1f #Ruta y nombre que almacena la imagen de referencia EXTENT-117 096716 13 996667 -86 679900 3-J 160000 #Extensión espacial del mapa de r-Pferenc1a mmx;-117 096716, # m1ny= 13 996667 mdxx=-86 679900 maxy=3.J 160000 STATUS ON #Status del mapa de referencia. ON significa que se encontrani activo a #v1s1ble COLOR -1 -1 ~ 1 #Color de fondo del rectangulo que indica las ubicaciones. se utiliz• -1 #para no color-Parlo OUTL/NECOLOR 255 O O S/ZE 70 .JO END LE GENO KEYSIZE 18 12 LABEL TYPE BITMAP SIZEMEDIUM COLOR 00 89 END STATUS ON END #Color del contomo del rectangulo que md1ea las ubicaciones, rojo #Tamaño del mapa de ,-pferenc1a #Fm del Objeto REFERENCE #Inicio del objeto LEGEND #Tamaño del contenedor de simbo/os #ln1C10 del objeto LABEL #Se ut1/1za el tipo de fuente b1tmap por que se dibuj• mis tWp/d•mente que #el tipo TrveTy~ #Tamaño de fue-nte mediano #Color de texto #Fm del objeto LABEL #ON 1nd1ca que la le-yenda será creada #Fin del objeto LE GENO SCALEBAR #lmc'o del objeto SCALEBAR IMAGECOLOR 255 255 255 LA BEL COLORO O O SIZE SMALL END SIZE 150 5 COLOR 255 255 255 #Color con el que in1c1ará la barra de escalas, negro #lnic10 del objeto LABEL #Color de texto #Tamaño de fuente pequeño #Fm d~I objeto LABEL #Tamaño de la barra de esce/a$, 150 Jt 5 plxe/es Continua en la siguiente hoja 203 Capitulo 4. Generación de SIGMAFH: adaptación de GMAP a las necesidades del área •••••••oa .. •••••••••••••••••••n•o•••••••••••••••••••••••••••nn•••••••••••••••••••••••••••••u••••nooooo• .. •••••••••••••••••••••• .. ••~•~~~~-~;••••••• #Color con el que se i/umin•~n fas caracterlsticas en caso de que no se #utilicen los atributos de /as tablas; negro BACKGROUNDCOLOR O O O #Color de fondo de la bamo de esca/as; blanco OUTLINECOLOR O O O UNITS kilometers INTERVALS5 STATUSON END QUERYMAP STYLE HIL/TE COLOR 000 153 000 END SYMBOL NAME 'circ/e' TYPE ELLIPSE POINTS 1 1 END FILLED TRUE END #Color de contorno para intervalos individuales; blanco #Unidades para f!!Jxpmsar los intetvalos; kilómetros #Número de int,,rvalos que dividirán la barra de f!lsca/as #ON indica que la barra de escalas será creada desde e/ inicio de la #aplicación #Fin del objeto SCALEBAR #Inicio del objeto QUERYMAP #HILITE para indicar a la aplicación que ilumine de un color distinto tas #áreas consultadas #Color con e/ que se iluminarán las áreas o caracterlsticas consultadas #Fin del objeto QUERYMAP #Inicio del objeto SYMBOL #Nombre del simbo/o que se utilizará para indicar capas de puntos #(ejemplo: ciudades) #Indica que el simbo/o será de tipo elipse #Tamaño inicial del simbo/o, END indica el fin de esta sección (points) #TRUE indica que el simbo/o se rellenará con algún color #Fin del objeto SYMBOL # CAPA DE ESTADOS LAYER #Inicio del objeto LAYER NAME states #Nombre corto de la capa METADATA #Inicio de METADATA "DESCRIPTION" "Consulta de Estados" #Tftulo de la tabla que se mostrará al realizar consultas sobre la capa "RESULT_FIELDS" "AREA CODE CTY_NAME POP1990 POP90_5QMI P_URBAN90" #Campos que integran la tabla de la capa estados END #Fin de METADATA TYPE POL YGON STATUS OFF #Indica que la capa será dibujada como un poi/gano #Status inicial de la capa: OFF, indica que no aparecerá activa en un #principio DATA states #Nombre del archivo que almacena la capa CLASS #Inicio del objeto CLASS NAME "Foreing /ands" #Nombre de la leyenda que se mostrará para esta e/ase COLOR 153 204 204 #Color que se utUizará para dibujar características OUTLINECOLOR 255 255 255 #Color para delinear el pollgono TEMPLATE "ltt_query.htmt" #Nombre del template donde se mostrarán los resultados de las consultas Continua en la siguiente hoja 204 ,/ Capitulo•. Generación de SIGMAFH: adaptación de GMAP a las ;,ec::~ldades Ciéí-área ..................................................................................................................... ~~; ·~ ~ :~;; ~ :~~ :; . : .:. ~-?~:!~.~; ...... . END END #Fin del objeto CLASS #Fin del objeto LA YER # CAPA DE MUNICIPIOS LA YER #Inicio del obj,,to LA YER NAME municipal_geo_region #Nombm corto d" la capa METADATA #Inicio de METADATA "DESCRIPTION" "Consulta a Municipios" #Titulo de Ja tabla que se mostrará al realizar consultas sobre la capa "RESUL T_FIELDS" "CLAVE CVE_EDO CVE_MUN NOMBRE POBTOT HOMBRE MUJER" #Campos que integran la tabla de la capa municipios END #Fin d" METADA TA TYPE POL YGON #Indica que la capa será dibujada como un pollgono STATUS ON #Status inicial d" la capa: ON, indica que aparecerá act;va en un principio DATA municfpal_geo_region #Nombre del archivo que almacena la capa FILTERITEM CLAVE #Indica el atributo en el qu" s" malizarán las búsqu,,das para una consulta CLASS #Inicio del objeto CLASS NAME "Foreign Lands" #Nombre de la leyenda que se mostrará para esta e/ase COLOR 051 102 102 #Color que se utilizará para dibujar características OUTLINECOLOR 000 000 000 #Color para delinear el pol/gono TEMPLATE "ttt_query.html" #Nombre del template donde se mostrarán los resultados de las consultas END #Fin del objeto CLASS END #Fin del objeto LA YER # CAPA DE R/OS LAYER #Inicio de/objeto LAYER NAME rivers #Nombre corto de la capa METADA TA #Inicio de METADA TA "DESCRIPTION" "Consulta de Rlos• #Titulo df!j la tabla que se mostrará al realizar consultas sobre la capa "RESULT_FIELDS" "NAME SYSTEM" END TYPE LINE STATUS OFF DATA rivers #Campos qu" integran la tabla de la capa de rios #Fin de METADATA #Indica que la capa será dibujada como un grupo de lineas #Status inicial de la capa: OFF, indica que no aparecerá activa en un principio #Nombre del archivo que almacena la capa CLASS #Inicio del obj,,to CLASS NAME "Foreign Lands" #Nombre de la leyenda que se mostrará para esta clase COLOR 000 000 128 #Color que se utilizará para dibujar caracteristicas TEMPLATE "ttt_query .. html" #Nombre del template donde se mostrarán los msultados de las consultas END #Fin del objeto CLASS END #Fin del obieto LA YER Continua en la siguiente hoja 205 Capitulo 4. Generación de SIGMAFH: adaptación de GMAP a las necesidades del area ........................................................................................................................................ ~?~:=!~.~; ...•••• #CAPA DE CARRETERAS LAYER #Inicio dttl objeto LAYER NAME road.s_r t #Nombrr> corlo dtt la capa METADATA #Inicio dtt METADATA "DESCRIPTION" "Con.su/ta dt> Carretent.s" #Titulo dtt la tabla qutt .se mostrará al realizar consultas sobrtt Ja capa "RESUL T_FIELDS" "ROUTE" END TYPE LINE STATUS OFF #Campos que integran la tabla de la capa de carreteras #Fin de METADATA #Indica qu" la capa será dibujada como un grupo de lineas #Status inicial de la capa: OFF, indica que no aparecerá activa en un principio DATA roads_rt #Nombre del archivo que almacena fa capa CLASS #Inicio del objeto CLASS NAME "Foreign Lands" #Nombre de la leyenda que se mostrará para esta e/ase COLOR 153 102 051 #Color qutt se utilizará para dibujar caracierfsticas TEMPLATE "ttt_query.html" #Nombre del templete donde se mostrarán los resultados df!I las consultas END #Fin del objeto CLASS END #Fin del objeto LA YER #CAPA DE CIUDADES LAYER #Inicio del objeto LAYER NAME cities #Nombre corto de la capa METADATA #Inicio de METADATA "DESCRIPTION" "Consulta dtt Ciudades• #Titulo de la tabla que se mostrará al realizar consultas sobre la capa "RESULT_FIELDS" "NAME CAPITAL STATE_NAME POPULATION" END TYPEPOINT #Campos que integran la tabla de la capa de ciudades #Fin de METADATA #Indica que la capa será dibujada como un grupo df!I puntos ·STATUS OFF #Status inicial de la capa: OFF, indica que no aparecerá activa en un principio DATA cities #Nombre de/ archivo que almacena la capa CLASS #Inicio del objeto CLASS SYMBOL "circ/e" #Nombre del símbolo que se utilizará para cada punto SIZE 8 #Tamaño del símbolo NAME "Foreign Lands" #Nombre de la leyenda que se mostrará para esta e/ase COLOR 000 102 255 #Colar que se utilizará para dibujar características OUTLINECOLOR 255 255 255 #Colar para delinear e/ simbo/a TEMPLATE "ttt_query.html" #Nombre del template donde se mostrarán los resultados de las consultas END #Fin del objeto CLASS END #Fin del objeto LAYER END #Fin del objeto MAP 206 Capitulo 4. Generación de SIGMAFH: adaptación de GMAP a las necesidades del área ........................................................................................................................................ ~.~~::!':1.':'; •••••.. Como podemos observar, el archivo map que aquí se muestra define una extensa cantidad de características en cuanto a la aplicación que para efectos de claridad serán explicadas más adelante, en el apartado llamado "Determinación de las adecuaciones: personalización". 4.1.3 VERIFICACION Y AJUSTE DE EXTENSIONES Como se indica en al apartado anterior, el archivo map establece las extensiones tanto del mapa principal -que integra todas las capas disponibles-, como del mapa de referencia, la manera en como se determinaron estos datos, esenciales para el funcionamiento de la aplicación fue la siguiente: Debido a que no existe ninguna regla específica o guía oficial que permita al desarrollador establecer de manera exacta las extensiones de sus mapas, fue necesario realizar una serie de pruebas por medio de distintas extensiones, sin embargo, ninguna de ellas resultaba lo suficientemente exacta para visualizar el mapa en su totalidad, finalmente, el inconveniente fue resuelto gracias a una línea de código HTML que se encuentra dentro de gmap75.html, esta línea de código imprime las extensiones que resultan después de trazar un rectángulo sobre la superficie en la cual debe aparecer el mapa principal y fue colocada dentro del código precisamente para facilitar al desarrollador la definición de vistas o extensiones ya que al momento de ejecutar la aplicación y trazar un rectángulo, podremos observar que el código fuente de la aplicación en ejecución contiene esta línea con los valores de la extensión actual, cabe mencionar que los valores son impresos dentro del código fuente y no en pantalla debido a que esta línea se encuentra comentada (ver figura 22). 11 We'll ir:'sert a copy of the box's georef extent in a comment 1n the HTML output. .. useful for l/defining views. SgszZoomBoxExt = spnntf("<•- BOX= (%1. %1)-(%1. %1) ->". GMapPix2Geo(SoPixe\Rect->minx, O, SdfWidthPix, SdlMinX, $dfMaxX, O), GMapPix2Geo($oPixe\Rect->miny, O, SdlHeightP1x, SdfMinY, SdfMaxY, 1), GMapPix2Geo(SoPixe\Rect->maxx, O, $dfWidthP1x, SdfM1nX, SdfMaxX, 0), GMapPix2Geo(SoPixe\Rect->maxy, O, SdlHeightPix, SdfMinY, SdfMaxY, 1) ); Figura 22 •. Comentario que imprime las extensiones del rectángulo trazado en un formato de tipo flotante, los valores se obtienen a través de la función GMapPix2Geo que se encarga de convertir cada uno de los cuatro vértices del rectángulo, de pixeles a coordenadas geográficas. 207 Capitulo'· Generación de SIGMAFH: adaptación de GMAP a las necesidades del área ........................................................................................................................................ ~.!'~::!~.~ ...... . Esta línea de código resultó bastante útil ya que al trazar un rectángulo del tamaño de la ventana donde aparecería el mapa principal de México (ver figura 23), pudimos determinar las extensiones exactas que añadiríamos a nuestro archivo map (ver figura 24). ·~·CBl!!flfil 1 Rectángulo trazado para SISTEMA PARA LA OENERACIÓN DE MAPAS QUE MUESTREN MUNICPM>S 1 defin1'r la AFECTADOS POR FENÓMENOS HIDROMETEOROLÓOICOS~:i ~------~ extensión del --'~-"----- .... a.·+ •• ·, . ,• 1 i ~: = ~:!~:~Dl - 1 .;~~ · .. ~--· ~ i - !:;:•1•r>o• j~m o lOO ~~___..!..___ .l'wl•11••·"L>n• !.t.feclld• . ·'.::::.~~" ~ . .O '~•c•tv;uv,,ta ~.-:J'°"""'•C'lftd•M .:.: 3 mapa Figura 23. Definición de extensión, mapa de México (capa de estados). éXTENT-117.096716 13.996667 -86.679900 34.160000 Figura 24. El recuadro de la parte superior muestra la linea comentada dentro de gmap75.html así como su contenido al momento de trazar el rectángulo. El recuadro de la parte inferior muestra la linea que define la extensión del mapa dentro de nuestro archivo map. 208 Capitulo 4. Generación de SIGMAFH: adaptación de GMAP a las necesidades del área usuana. ·························································································································································· 4.1.4 VERIFICACIÓN Y AJUSTE DE ESCALAS La determinación de una esca/a correcta es de gran relevancia ya que de esto depende el adecuado funcionamiento de los acercamientos y alejamientos aplicados al mapa principal. Como ya hemos visto, la estructura que conforma un archivo map integra dos tipos de escala: una escala mínima y una escala máxima que marcan los límites en cuanto a alejamientos y acercamientos, respectivamente, relacionado a ello, podemos decir que el establecimiento de las escalas correspondientes a los mapas de México se realizó en base a lo siguiente: Se comparó la escala que en ArcView se señala al desplegar las capas de estados, municipios, carreteras, ríos y ciudades, mismas capas que se desplegarán por medio de SIGMAFH. Se observó que la escala establecida en ArcView (ver figura 25), sólo era una, es decir, no se diferencia entre una escala máxima y una mínima, por lo que después de una serie de pruebas basadas en la escala que el S/G mencionado establece, llegamos a la conclusión de que esta escala no tenía relación alguna con las que los archivos map necesariamente deben incluir ya que las herramientas de acercamiento y alejamiento no funcionaban correctamente y en ocasiones, la aplicación arrojaba errores. Se.ale 1:l16,165.438 Figura 25 . . Escala que indica ArcView al desplegar la capa de estados. 209 Capitulo'· GeneraciOn de SIGMAFH: adaptaciOn de GMAP a las necesidades del área ......................................................................................................................................... ~~~::?~~~ ...... . Al igual que en el caso de las extensiones, no existe una regla específica para establecer las escalas correspondientes a determinado mapa, por esta razón, nos basamos inicialmente en las esca/as que el archivo map de GMAP contenia (MINSCALE 2000000, MAXSCALE 50000000), a partir de ellas, se realizaron una serie de pruebas y a través de distintas combinaciones de escalas mínimas y máximas encontramos que la diferencia de las mismas entre los mapas de Canadá y los pertenecientes a México era significativa y por ello, para una correcta manipulación del mapa dichas esca/as debían establecerse como muestra la siguiente figura (26). MINSCALE 10 MAXSCALE 25000 Figura 26. Esca/a mínima y esca/a máxima establecidas dentro del archivo map generado para SIGMAFH. Una vez que se han estudiado y establecido los aspectos anteriores en cuanto a licencias, creación del archivo map, ajuste de extensiones y escalas, contamos con los elementos necesarios para comenzar propiamente con el desarrollo de la aplicación, en nuestro caso, con la reutilización y adaptación de GMAP, para lo cual comenzaremos por describir cada una de las características que del demo citado se retoman dentro de SIGMAFH. Antes de continuar, es importante señalar que las características que el siguiente apartado describe son aquellas que SIGMAFH conservará sin realizar modificación alguna dentro del código que se encuentra en PHP. 210 Capitulo 4. Generación de SIGMAFH: adaptación de GMAP a tas necesidades del area usuaria . .......................................................................................................................................................... 4.2 CARACTERÍSTICAS DEL DEMO GMAP QUE SE INCORPORARON DE MANERA INTACTA A SIGMAFH Como ya se mencionó, existen características de GMAP que coinciden con algunos de los requerimientos del área usuaria, dichas características se tomaron como base44 para la generación de SIGMAFH y se describen a continuación: 1. Elección en cuanto al uso de Rosa Applet. La posibilidad de elegir entre utilizar la herramienta Rosa Applet para realizar acercamientos y consultas de una manera "avanzada" por medio del trazado de un rectángulo, o bien, indicarle a la aplicación que sólo se ejecute con el código HTML que contenga, es una opción de GMAP que se ha conservado dentro de SIGMAFH por considerarse de mucha utilidad para aquel usuario que no cuente con el p/ugin de Java y así evitar que abandone la aplicación al no poder hacer uso de ella o que se vea obligado a obtener el p/ugin ya mencionado y en el peor de los casos, que pierda interés en la aplicación. 2. Superposición de capas. Esta característica, como se mencionó en el apartado dedicado al demo GMAP, permite al usuario observar varias capas de manera simultánea. En el caso de SIGMAFH, resulta útil para el usuario experto y las autoridades de Protección Civil estatal el hecho de sobreponer las capas que les faciliten en un mayor grado el análisis acerca de las zonas afectadas y sus características, por ejemplo: las carreteras y los ríos que pertenecen a la zona afectada, por otro lado, el resto de los usuarios también se ven beneficiados con esta característica ya que les permite mantenerse mejor informados. Las capas a sobreponer son las que siguen: Estados • Municipios Ríos Carreteras Ciudades 44 Con •caracterfsticas que se tomaron como base• nos referimos a aquellas que no requirieron cambios sustanciales en el código principal que onginalmente presenta el deme GMAP, sin embargo, la mayoría de las opciones requirieron de algún tipo de personalización dentro del archivo map que para cada aplicación se debe generar. 211 Capitulo 4. Generación de SIGMAFH: adaptación de GMAP a las necesidades del área ••••••••••u••••u••••••••••••••••••••H•••••••••••n•oo••••••••••••••••••••••••••••••••••••ooo•••••••••oo•••••o•••••••••U•ooooo•ooooo•~~-~~~-~~••••••• Es importante recordar que para visualizar estas capas (pertenecientes todas a México) fue esencial generar un nuevo archivo con extensión map para indicar los nombres de las capas y rutas de almacenamiento que las albergan, así como la extensión y otras características particulares que se señalarán más adelante; en cuanto al código en PHP de GMAP (gmap75.php), no fue necesario modificar en esencia la parte dedicada a la superposición, bastó con indicar los nombres de las capas que se pretendía visualizar y sobreponer. 3. Mapa de referencia. Considerando que este tipo de herramientas son de vital importancia para cualquier sistema que maneje información espacial, se decidió incluir este mapa dentro de SIGMAFH para lo cual no fue necesaria modificación alguna al código principalE, sin embargo, dentro del archivo map generado exclusivamente para SIGMAFH fue necesario señalar el nombre y ruta de almacenamiento del archivo de imagen que contiene el mapa de referencia de México, la extensión asignada a dicho mapa y otras características. 4. Manipulación en la resolución del mapa. Dado que esta característica permite al usuario visualizar el mapa en tres distintos tamaños (400 x 300, 600 x 450 y 800 x 600) es de gran utilidad para realizar un adecuado análisis (en el caso de los expertos y de las autoridades) y una manera sencilla de manipular el tamaño del mapa (en el caso del resto de los usuarios), se decidió añadir dicha característica a SIGMAFH sin necesidad de realizar modificaciones al código principal de GMAP. 5. Barra de escalas. Esta característica, así como muchas otras es una valiosa herramienta para el usuario experto y para las autoridades de Protección Civil estatal al momento de realizar un análisis y para el resto de los usuarios como una referencia acerca de la escala que en determinado momento le corresponde a su mapa. Al igual que las características anteriores, se decidió que la presente debía ser incluida dentro de SIGMAFH ya que constituye una de las herramientas básicas para toda aplicación que maneje información georeferenciada. 6. Manipulación del mapa. Se determinó que las cuatro herramientas que engloban esta actividad se incorporarían a SIGMAFH. 1. Acercamientos (Zoom in). Como se menciona en el apartado "Demo GMAP", esta herramienta permite visualizar determinada zona con tanto detalle como se requiera, siendo esta característica sumamente útil cuando, como en el caso de Riesgos Hidrometeorológicos, se requiere el manejo de un nivel de 45 Con la denominación '"código principal", nos referimos al archivo con extensión php (gmap75.php) que contiene todas las funciones, esencia de GMAP. 212 Capitulo•. Generación de SIGMAFH: adaptación de GMAP a las necesidades del área ......................................................................................................................................... !:~~~~-~; ...... . municipios que está compuesto por áreas muy pequeñas y que con ayuda de acercamientos se pueden visualizar más claramente. Las dos posibilidades de utilización que la herramienta presenta (manipulación simple y avanzada) brindan la apertura que la aplicación solicitada requiere para ofrecer al usuario tantas posibilidades de uso como se le ocurran. Esta herramienta no implicó cambio alguno sobre el código principal de GMAP. 2. Alejamientos (Zoom out). La opción para realizar alejamientos también se ha incorporado de manera intacta a SIGMAFH por ser una de las características que se requieren y que se consideran de mayor utilidad ya que permiten al usuario visualizar el mapa a una escala más pequeña. 3. Desplazamientos. Esta opción, al igual que las anteriores, no implicó ninguna modificación al código principal de GMAP y también fue incorporada a SIGMAFH por considerarse una herramienta esencial para que el usuario maneje con mayor facilidad la información espacial que con respecto a las zonas o municipios afectados se le presente. 4. Consultas. Esta herramienta se ha incluido dentro de SIGMAFH por la posibilidad que ofrece al usuario de, no sólo observar las zonas afectadas por determinado fenómeno hidrometeorológico, sino de realizar otras consultas para obtener información de distintos estados, municipios, ríos, carreteras ylo ciudades y de esta forma, agregar mayor interactividad a la aplicación solicitada con el fin de incrementar el interés del usuario en la misma. Aunado a ello, se encuentran las posibilidades de manipulación simple y avanzada que hacen de SIGMAFH una aplicación muy atractiva y funcional sin requerir de cambio alguno sobre el código sustancial de esta herramienta. NOTA. Tomando en cuenta que GMAP hace uso de la herramienta Rosa Applet para brindar al usuario una manipulación avanzada, debemos considerar que SIGMAFH al reutilizar GMAP, también hace uso de Rosa Applet sin realizar modificación alguna sobre esta última herramienta; los cambios que se realizaron, fueron siempre sobre el código de GMAP agregando funcionalidad a la aplicación y manteniendo inalterable la herramienta Rosa Applet. 213 Capitulo 4. Generación de SIGMAFH: adaptación de GMAP a las necesidades del área .......................................................................................................................................... ~.~-~~~--='; ...... . 4.3 DETERMINACIÓN DE LAS ADECUACIONES: PERSONALIZACIÓN A lo largo del presente apartado, se describirá la manera en que GMAP fue adaptado a las necesidades especificas del área de Riesgos Hidrometeorológicos de CENAPRED para lo cual destacaremos que al mencionar la palabra "adaptación" nos referimos a la parte de GMAP que sufrió modificaciones con el fin de ajustarla de manera exacta a los requerimientos del área usuaria y generar ta aplicación SIGMAFH. A continuación se explicarán cada una de las adecuaciones que del deme GMAP se realizaron. Para fines de claridad, la explicación se ha dividido por característica (opción), a su vez, cada una de ellas contiene una breve descripción acerca de su funcionamiento y utilidad para el área usuaria así como algunas tablas comparativas en cuanto a ta característica u opción en su estado original (dentro de GMAP) y su estado actual (dentro de SIGMAFH) -en caso de que la característica haya existido de manera previa dentro del deme-, al final de cada tabla presentamos una explicación detallada acerca de la forma en cómo la opción en cuestión fue modificada e incorporada a SIGMAFH. Cabe mencionar que a lo largo de la descripción de adaptaciones se hará referencia al código HTML, JavaScript y PHP con que fue desarrollado GMAP y que por consiguiente se empleó para generar SIGMAFH. 4.3.1 VISUALIZACIÓN POR REGIONES GMAP. en su estructura original ya contiene esta opc1on, sin embargo, al probarla con algunas extensiones pertenecientes a México se observó que no funcionaba correctamente debido a que el código principal contiene una condición que evalúa que el tipo de extensión de la región a visualizar coincida con aquella correspondiente a las regiones de Canadá, por ello se decidió adaptar esta característica de manera que las regiones de la República Mexicana pudieran ser visualizadas sin ningún problema. Otro factor que determinó la adaptación de esta opción, fue el hecho de que, como se menciona anteriormente, GMAP permite al usuario visualizar distintos estados de Canadá, sin embargo, to que el área de Riesgos Hidrometeorológicos requiere es una aplicación que permita visualizar el territorio nacional en distintas regiones, por ejemplo: sur, norte y centro del país, para ello, se realizaron las adaptaciones que muestran a continuación: 214 Capitulo 4. Generación de SIGMAFH: adaptación de GMAP a las necesidades del área usuaria. Comparación entre el archivo map de SIGMAFH y el correspondiente a GMAP GMAP SIGMAFH Archivo: gmap75.map Archivo: mapSIGMAFH.mao LAYER LAYER NAMEpark NAMEstates METADATA METADATA "DESCRIPTION' "Parks" 'DESCRIPTION" "Consulta de Estados" "RESULT_FIELDS' "NAME_E YEAR_EST AREA_KMSQ' "RESULT_FIELDS" "AREA CODE CTY_NAME POP1990 POP90_SQMI END P URBAN90" TYPE POL YGON END STATUS OFF TYPE POLYGON DATApark STATUS OFF DATAstates CLASS NAME "Parks" CLASS COLOR 200 255 O NAME 'Foreing lands" OUTLINECOLOR 120 120 120 COLOR 153 204 204 TEMPLATE "ttt_query.html" OUTLINECOLOR 255 255 255 END TEMPLATE "tll_query.hlml' END END END Es importante tomar en cuenta que la generación del archivo map implicó la inclusión de todas y cada una de las capas de México (estados, municipios, ríos, carreteras y ciudades), sin embargo, para mayor brevedad, se muestra sólo la manera en cómo se incluyó la capa de estados tomando en cuenta que el resto de las capas, muestra en su mayoría, la misma estructura pudiendo ser constatado al revisar el apartado "Generación del archivo map', así mismo, en el caso de GMAP se indica sólo la parte correspondiente a la capa de parques, por las mismas razones. 215 Capitulo 4. Generación de SIGt.ÍAFH: adaptación de.GMAPa las neeesidades del área usuaria. Adaptaciones a la interfaz GMAP SIGMAFH Archivo: omao75.html Archivo: inteñazSIGMAFH.html