Herramienta para la Generación de Estilos Definidos por el Usuario para su Asociación a Mapas Geográficos y Publicación en Prototipos de Aplicaciones Web

3,278 views

Published on

Desde los orígenes de la humanidad, el interés del hombre por conocer el entorno que le rodea
y descubrir y dominar nuevos territorios, lo han conducido a elaborar modelos reducidos de
los lugares que ha habitado. Es así como nace la cartografía, como ciencia y arte de
representación del mundo. En principio materializada sobre distintas superficies y con
herramientas variadas, cambiando constantemente al experimentar una serie importante de
innovaciones gracias a los avances tecnológicos que se tienen en el presente.
En el presente es común visualizar mapas publicados en la Web en formato vectorial y ráster.
La mayoría de los usuarios de aplicaciones que contienen información espacial no tienen
necesidades especiales de visualización, pero el grupo de usuarios avanzados que desarrollan
aplicaciones con contenido espacial, les surge la necesidad de gestionar y controlar la forma
en que se visualiza la información espacial de tal manera que facilite su legibilidad. Esta
actividad resulta ser una labor nada amigable para aquellos diseñadores de sitios Web que no
están familiarizados con las especificaciones de estilo proporcionadas por la Open Geospatial
Consortium (OGC).
Por lo anterior, el presente trabajo propone una herramienta generadora de prototipos de
Aplicaciones Web con contenido espacial, basada en la especificación J2EE que permita
proporcionar estilos personalizados a los mapas geográficos y publicarlos de manera sencilla
en Internet. Por lo tanto el objetivo de esta tesis es desarrollar una herramienta de software que
proporcione servicios para diseñar la apariencia e interacción con mapas temáticos.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,278
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
27
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Herramienta para la Generación de Estilos Definidos por el Usuario para su Asociación a Mapas Geográficos y Publicación en Prototipos de Aplicaciones Web

  1. 1. cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS DE MAESTRÍA EN CIENCIAS Herramienta para la Generación de Estilos Definidos por el Usuario para su Asociación a Mapas Geográficos y Publicación en Prototipos de Aplicaciones Web presentada por Janet de Jesús García Alba Ing. en Sistemas Computacionales por el I. T. de la Laguna como requisito para la obtención del grado de: Maestría en Ciencias en Ciencias de la Computación Director de tesis: Dr. Juan Gabriel González Serna Co-Director de tesis: Dr. Joaquín Pérez Ortega Jurado: Dr. René Santaolaya Salgado – Presidente M.C. Andrea Magadán Salazar – Secretario M.C. Humberto Hernández García – Vocal Dr. Juan Gabriel González Serna – Vocal SuplenteCuernavaca, Morelos, México. 20 de Febrero de 2009
  2. 2. DEDICATORIAA papá Dios:Por su amor, por guiarme en el camino del bien,poner a las personas adecuadas en mí camino ydarme fortaleza en todo momento. Sin duda me hasdado más de lo que merezco. A mi madre Obdulia Alba Flores: Por su amor, consejos y palabras de aliento. Por respetar mis decisiones y ser quien nunca desistió en que toda la familia saliera adelante a pesar de las adversidades. Este trabajo es suyo madre. La quiero mucho mamita chula.A mi padre Juan García López (f):Por el ejemplo académico que me brindó y susconsejos de nunca dejar de seguir preparándome. Concariño le dedico este trabajo padre. A mis hermanos Juan Adolfo, Oscar Sergio, José Guadalupe, Alejandro, Arturo y Denis de Jesús: Por creer en mí. Por estar cada uno a su manera respaldándome económica y moralmente para lograr mis objetivos. Gracias por sus consejos y momentos agradables. Este trabajo se los dedico con mucho cariño hermanitos chulos.A mis cuñadas y amigas Rocío Navarro, ElizabethMontaño y Johana Silva:Por su amistad, consejos y apoyo. Gracias cuñaditaspor los buenos momentos. A mis sobrinos Moisés Adolfo, Diego David, Juan Arón y Joselín: Por traer alegría a la familia con sus ocurrencias y travesuras. Porque con sus sonrisas cultivaron mi alegría dándome motivos de seguir adelante. Los amo.A mi novio Jesús Fidel Borjas Díaz:Por los cuidados, enseñanzas y gran pacienciarecibida de manera incondicional estos dos años. Porsu amor y respeto a mis decisiones. Por hacerme reíra pesar de las circunstancias. Sin tu apoyo no lohubiera logrado “pacharrito”. Te amo.
  3. 3. AGRADECIMIENTOSEste trabajo de investigación no hubiera sido posible realizarlo sin el apoyo del ConsejoNacional de Ciencia y Tecnología (CONACYT), ya que la beca que me otorgó estos dos añosfue el sustento económico para poder solventar mis estudios de maestría. También quieroagradecer al Centro Nacional de Investigación y Desarrollo Tecnológico (CENIDET) por laoportunidad que me brindaron de realizar mis estudios de posgrado en sus instalaciones.En estos dos años de investigación fueron muchas las personas que contribuyeron con susobservaciones y consejos para que se lograra concluir satisfactoriamente este trabajo. A todosustedes les agradezco de todo corazón pero en especial:A papá Dios por todo el amor que me ha dado, por estar conmigo en todo momento, ser miguía y cuidar a mis seres queridos y darles la tranquilidad de que seguía por el camino del biena pesar de la distancia.A mi mamá y hermanos que siempre se han preocupado por mi bienestar. Les agradezcomucho familia querida por todo lo que me han dado a lo largo de mi vida. Esta meta no sehubiera concluido sin su amor y apoyo incondicional. Los amo.A mi padre que a su manera me mostró su amor. Le agradezco por los momentos gratos quepasamos y su consejo de seguir preparándome.A mi director de tesis Dr. Juan Gabriel González Serna por su paciencia, buen trato y guiarmea lo largo de la investigación.A mis revisores de tesis: Dr. René Santaolaya Salgado, M.C. Andrea Magadán Salazar y alM.C. Humberto Hernández García por el tiempo dedicado y observaciones constructivas queenriquecieron el contenido del presente trabajo.Al personal académico y administrativo de CENIDET, por compartir su conocimiento y buentrato.A mis compañeros y amigos de generación: Claudia, Deysy, Lalo y Richard. Por momentosagradables y formar parte de esta experiencia. En especial a Deysy por aguantarnosmutuamente durante un año al convivir en la misma casa, por esas pláticas que duraban horasy por tu apoyo en los trámites de titulación. Sin tu ayuda esto hubiera sido complicado.A mis compañeros de otras generaciones: Lirio, Adriana, Chucho, Pedro y Daniel de lageneración 2005-2007. Ruby, Janeth, Luis, Omar, Israel y Christian de la generación 2007-2009. A todos gracias por compartir momentos agradables en el laboratorio de SD.Quiero hacer un especial agradecimiento a mi novio Jesús Fidel Borjas Díaz, pues su apoyo,amor y paciencia estos dos años fueron importantes para seguir adelante a pesar de estar lejosde nuestras familias. Gracias amor por enseñarme a ser independiente y apoyarme en todos losaspectos.
  4. 4. RESUMENDesde los orígenes de la humanidad, el interés del hombre por conocer el entorno que le rodeay descubrir y dominar nuevos territorios, lo han conducido a elaborar modelos reducidos delos lugares que ha habitado. Es así como nace la cartografía, como ciencia y arte derepresentación del mundo. En principio materializada sobre distintas superficies y conherramientas variadas, cambiando constantemente al experimentar una serie importante deinnovaciones gracias a los avances tecnológicos que se tienen en el presente.En el presente es común visualizar mapas publicados en la Web en formato vectorial y ráster.La mayoría de los usuarios de aplicaciones que contienen información espacial no tienennecesidades especiales de visualización, pero el grupo de usuarios avanzados que desarrollanaplicaciones con contenido espacial, les surge la necesidad de gestionar y controlar la formaen que se visualiza la información espacial de tal manera que facilite su legibilidad. Estaactividad resulta ser una labor nada amigable para aquellos diseñadores de sitios Web que noestán familiarizados con las especificaciones de estilo proporcionadas por la Open GeospatialConsortium (OGC).Por lo anterior, el presente trabajo propone una herramienta generadora de prototipos deAplicaciones Web con contenido espacial, basada en la especificación J2EE que permitaproporcionar estilos personalizados a los mapas geográficos y publicarlos de manera sencillaen Internet. Por lo tanto el objetivo de esta tesis es desarrollar una herramienta de software queproporcione servicios para diseñar la apariencia e interacción con mapas temáticos.
  5. 5. TABLA DE CONTENIDOCAPÍTULO 1 INTRODUCCIÓN .............................................................................................. 1 1.1. Introducción ............................................................................................................................. 2 1.2. Descripción del problema......................................................................................................... 2 1.3. Objetivos .................................................................................................................................. 3 1.4. Justificación.............................................................................................................................. 3 1.5. Beneficios ................................................................................................................................. 4 1.6. Alcances del proyecto de tesis ................................................................................................. 5 1.7. Limitaciones del proyecto de tesis ........................................................................................... 5 1.8. Estado de la práctica ................................................................................................................. 6 1.8.1. Click2Map ........................................................................................................................ 8 1.8.2. Map24 ............................................................................................................................ 10 1.8.3. ZoomIn ........................................................................................................................... 10 1.8.4. MapBuilder..................................................................................................................... 11 1.8.5. Google Maps .................................................................................................................. 12 1.8.6. Yahoo Maps ................................................................................................................... 13 1.8.7. Live Search Maps ........................................................................................................... 13 1.9. Organización del documento .................................................................................................. 15CAPÍTULO 2 MARCO TEÓRICO ......................................................................................... 17 2.1. Sistemas de Información Geográfica ..................................................................................... 18 2.1.1. Información ráster .......................................................................................................... 19 2.1.2. Información vectorial ..................................................................................................... 20 2.2. Open Gesospatial Consortium (OGC) .................................................................................... 21 2.2.1. Web Map Service(WMS) ............................................................................................... 21 2.2.2. HTTP GET ..................................................................................................................... 22 2.2.3. HTTP POST ................................................................................................................... 23 2.2.4. Operaciones WMS ......................................................................................................... 25 2.2.5. Styled Layer Descriptor (SLD) ...................................................................................... 29 2.3. Elementos de programación ................................................................................................... 30 2.3.1. J2EE ............................................................................................................................... 30 2.3.2. Patrón Modelo-Vista-Controlador.................................................................................. 31 2.3.3. JAVASCRIPT ................................................................................................................ 33 2.3.4. AJAX.............................................................................................................................. 34 2.3.5. XML ............................................................................................................................... 34CAPÍTULO 3 ANÁLISIS Y DISEÑO ..................................................................................... 37 3.1. ANÁLISIS.............................................................................................................................. 38 3.1.1. Especificación de requerimientos ................................................................................... 38 3.1.1.1. Ámbito........................................................................................................................ 38 3.1.1.2. Perspectiva del producto ............................................................................................ 38 3.1.1.3. Funciones del producto .............................................................................................. 38 3.1.1.4. Descripción de las funciones ...................................................................................... 38 3.1.1.5. Usuarios de la herramienta ......................................................................................... 39 3.1.1.6. Limitaciones de la herramienta .................................................................................. 39 3.1.2. Diagramas de casos de uso y diagramas de actividad .................................................... 40 3.1.2.1. Caso de uso: Registrar Usuario .................................................................................. 41 ~i~
  6. 6. 3.1.2.2. Caso de uso: Autentificar Usuario.............................................................................. 42 3.1.2.3. Caso de uso: Diseñar Mapa ........................................................................................ 43 3.1.2.4. Caso de uso: Solicitad Mapa ...................................................................................... 45 3.1.2.5. Caso de uso: Aplicar Estilos ....................................................................................... 46 3.1.2.6. Caso de uso: Generar Código XML ........................................................................... 48 3.1.2.7. Caso de uso: Elegir Plantilla de Diseño ..................................................................... 49 3.1.2.8. Caso de uso: Publicar Aplicación Web ...................................................................... 51 3.1.2.9. Caso de uso: Visualizar Aplicación Web ................................................................... 52 3.2. DISEÑO ................................................................................................................................. 53 3.2.1. Diseño arquitectónico ..................................................................................................... 53 3.2.1.1 Clientes ........................................................................................................................... 54 3.2.1.2 Contenedor Web............................................................................................................. 54 3.2.1.3 Herramienta MapWeb Designer ..................................................................................... 54 3.2.1.4 Api visora de mapas ....................................................................................................... 55 3.2.1.5 Servidor de mapas (WMS por sus siglas en inglés). ..................................................... 56 3.2.1.6 Base de Datos (PostgreSQL). ......................................................................................... 56 3.2.2. Diagramas de clases ....................................................................................................... 56 3.2.2.1. Clases del caso de uso Registrar Usuario ................................................................... 57 3.2.2.2. Clases del caso de uso Autentificar Usuario .............................................................. 59 3.2.2.3. Clases del caso de uso Diseñar Mapa ......................................................................... 61 3.2.2.3.1. Clases del caso de uso Solicitar Mapa........................................................................ 61 3.2.2.3.2. Clases del caso de uso Aplicar Estilos y Generar Código XML ................................ 63 3.2.2.4. Clases del caso de uso Elegir Plantilla de Diseño y Publicar Aplicación Web .......... 65 3.2.2.5. Secuencia del Caso de uso Visualizar Aplicación Web ............................................. 67 3.2.3. Diseño de la Base de Datos. ........................................................................................... 67CAPÍTULO 4 IMPLEMENTACION ....................................................................................... 69 4.1 Conexión con la base de datos ............................................................................................... 70 4.2 Construcción del catálogo de mapas ...................................................................................... 71 4.3 Lógica de negocio .................................................................................................................. 71 4.4 Consulta de atributos del mapa .............................................................................................. 72 4.5 Construcción documento SLD ............................................................................................... 73CAPÍTULO 5 PRUEBAS ...................................................................................................... 75 5.1 Resultados de las pruebas....................................................................................................... 77 5.2 Análisis de resultados ........................................................................................................... 101CAPÍTULO 6 CONCLUSIONES ......................................................................................... 103ANEXOS ............................................................................................................................ 107ANEXO A EVALUACIÓN DE APIS VISORAS DE MAPAS ................................................. 109ANEXO B EVALUACIÓN DE SERVIDORES DE MAPAS ................................................... 125ANEXO C DISEÑO DE OBJETOS PARA EL DOCUMENTO SLD ...................................... 141ANEXO D SÍNTESIS DE LA ESPECIFICACIÓN SLD......................................................... 145ANEXO E PLAN DE PRUEBAS .......................................................................................... 165REFERENCIAS .................................................................................................................. 177 ~ ii ~
  7. 7. INDICE DE FIGURASFigura 1.1. Estudio del uso de comercio electrónico en México.............................................................. 3Figura 1.2. Clasificación de la Geomática respecto al software libre ...................................................... 7Figura 1.3. Interfaz de usuario de Click2Map .......................................................................................... 9Figura 1.4. Publicación del mapa creado en Click2Map .......................................................................... 9Figura 1.5. Interfaz de Map24 ................................................................................................................ 10Figura 1.6. Interfaz de ZoomIn .............................................................................................................. 11Figura 1.7. Interfaz de MapBuilder ........................................................................................................ 12Figura 1.8. Interfaz de Google Maps...................................................................................................... 13Figura 1.9. Interfaz de Yahoo Maps ....................................................................................................... 14Figura 1.10. Interfaz de Virtual Earth .................................................................................................... 14Figura 2.1. Capas que representan la realidad ........................................................................................ 18Figura 2.2. Organización de la información en el modelo de datos ráster ............................................. 20Figura 2.3. Información de un pixel ....................................................................................................... 20Figura 2.4. Objetos geométricos del formato vectorial .......................................................................... 20Figura 2.5. Resultado de solicitud GET a un WMS ............................................................................... 23Figura 2.6. Código HTML de formulario para manejo de petición POST............................................. 24Figura 2.7. Envío de petición HTTP POST............................................................................................ 24Figura 2.8. Resultado de la petición HTTP POST ................................................................................. 25Figura 2.9. Resultado de la petición GetCapabilities ............................................................................. 26Figura 2.10. Resultado de la petición GetMap ....................................................................................... 27Figura 2.11. Resultado de la petición GetFeatureInfo............................................................................ 29Figura 2.12. Resultado de una petición al WMS utilizando el parámetro SLD y SLD_BODY ............ 30Figura 2.13. Aplicaciones multinivel ..................................................................................................... 31Figura 2.14. Interacción del patrón MVC .............................................................................................. 32Figura 2.15. Funcionamiento de Struts .................................................................................................. 33Figura 3.1. Diagrama general de casos de uso del sistema .................................................................... 40Figura 3.2. Diagrama del caso de uso Registrar Usuario ....................................................................... 41Figura 3.3. Diagrama de actividad de caso de uso Registrar Usuario .................................................... 42Figura 3.4. Diagrama del caso de uso Autentificar Usuario................................................................... 42Figura 3.5. Diagrama de actividad de caso de uso Autentificar Usuario ............................................... 43Figura 3.6. Diagrama del caso de uso Diseñar Mapa ............................................................................. 44Figura 3.7. Diagrama de actividad de caso de uso Diseñar Mapa .......................................................... 45Figura 3.8. Diagrama de actividad de caso de uso Solicitar Mapa......................................................... 46Figura 3.9. Diagrama de actividad de caso de uso Aplicar Estilos ........................................................ 48Figura 3.10. Diagrama de actividad de caso de uso Generar Código XML ........................................... 49Figura 3.11. Diagrama del caso de uso Elegir Plantilla de Diseño ........................................................ 49Figura 3.12. Diagrama de actividad de caso de uso Elegir Plantilla de Diseño. .................................... 50Figura 3.13. Diagrama del caso de uso Publicar Aplicación Web. ........................................................ 51Figura 3.14. Diagrama de actividad del caso de uso Publicar Aplicación Web ..................................... 51Figura 3.15. Diagrama del caso de uso Visualizar Aplicación Web ...................................................... 52Figura 3.16. Diagrama de actividad de caso de uso Visualizar Aplicación Web ................................... 53 ~ iii ~
  8. 8. Figura 3.17. Arquitectura general del sistema ........................................................................................ 54Figura 3.18. Aplicación MapWeb Designer........................................................................................... 55Figura 3.19. Paquetes del sistema MapWeb Designer ........................................................................... 56Figura 3.20. Diagrama de clases de Registrar Usuario ......................................................................... 58Figura 3.21. Diagrama de secuencias de Registrar Usuario .................................................................. 59Figura 3.22. Diagrama de clases de Autentificar Usuario ..................................................................... 60Figura 3.23. Diagrama de secuencias de Autentificar Usuario .............................................................. 61Figura 3.24. Diagrama de secuencias de Solicitar Mapa ....................................................................... 62Figura 3.25. Diagrama de clases de Solicitar Mapa............................................................................... 62Figura 3.26. Diagrama de clases de Aplicar Estilos y generar código XML ......................................... 64Figura 3.27. Diagrama de secuencias de Aplicar Estilos y generar código XML .................................. 65Figura 3.28. Diagrama de clases de Elegir Plantilla de Diseño y Publicar Aplicación Web ................ 66Figura 3.29. Diagrama de secuencias Elegir Plantilla de Diseño y Publicar Aplicación Web.............. 66Figura 3.30. Diagrama de Secuencias de Visualizar Aplicación Web .................................................... 67Figura 3.31. Diagrama Conceptual de la base de datos.......................................................................... 67Figura 3.32. Diagrama Físico de la base de datos .................................................................................. 68Figura 4.1. Clases del paquete mx.edu.cenidet.MapWebDesigner.Modelo.BaseDatos ......................... 70Figura 4.2. Clase del paquete mx.edu.cenidet.MapWebDesigner.Modelo.ContextoCapas.................... 71Figura 4.3. Clases del paquete mx.edu.cenidet.MapWebDesigner.Modelo.Logica................................ 71Figura 4.4. Petición AJAX con acceso denegado al Servidor WMS ..................................................... 72Figura 4.5. Clase del paquete mx.edu.cenidet.MapWebDesigner.Modelo.Proxy................................... 73Figura 4.6. Petición AJAX con acceso denegado al Servidor WMS ..................................................... 73Figura 5.1. Interfaz en la que se proporcionan los datos del usuario ..................................................... 77Figura 5.2. Usuario registrado en la base de datos del sistema .............................................................. 77Figura 5.3. Interfaz mostrada al registrar adecuadamente al usuario ..................................................... 78Figura 5.4. Interfaz mostrada al ingresar un login registrado................................................................. 78Figura 5.5. Ingreso al sistema................................................................................................................. 79Figura 5.6. Interfaz de rechazo al ingreso del sistema ........................................................................... 80Figura 5.7. Interfaz de error de conexión con la base de datos .............................................................. 80Figura 5.8. Catálogo de mapas ............................................................................................................... 81Figura 5.9. Visualización del mapa solicitado ....................................................................................... 82Figura 5.10. Estado del mapa antes de ser estilizado ............................................................................. 83Figura 5.11. Mapa después de aplicarle la configuración de línea sólida .............................................. 83Figura 5.12. Mapa después de aplicarle la configuración de línea punteada ......................................... 84Figura 5.13. Mapa de México antes de ser personalizado ...................................................................... 85Figura 5.14. Mapa de México con estilo personalizado ......................................................................... 85Figura 5.15. Puntos del mapa de México antes de ser personalizado .................................................... 86Figura 5.16. Puntos con estilo personalizado ......................................................................................... 86Figura 5.17. Puntos personalizados utilizando un gráfico...................................................................... 87Figura 5.18. Mapa de México antes de personalizar el texto ................................................................. 88Figura 5.19. Mapa con personalización de texto utilizando la ubicación PointPlacement. ................... 88Figura 5.20. Mapa de México antes de aplicar la configuración de texto .............................................. 89 ~ iv ~
  9. 9. Figura 5.21. Mapa de México que muestra el estilo de texto con rotación ............................................ 89Figura 5.22. Mapa de la vialidad de Cuernavaca antes de aplicar estilo de texto .................................. 90Figura 5.23. Mapa con personalización de texto utilizando la ubicación LinePlacement...................... 90Figura 5.24. Mapa de Morelos que muestra la estilización del texto ..................................................... 91Figura 5.25. Documento SLD ................................................................................................................ 92Figura 5.26. Mapa que muestra el estilo descrito en el documento SLD ............................................... 92Figura 5.27. Variable tempText que contiene la plantilla de aplicación Web y el mapa solicitado....... 93Figura 5.28. Carpeta Web del usuario .................................................................................................... 93Figura 5.29. Plantilla de estilo publicado en la Web .............................................................................. 94Figura 5.30. Interfaz para iniciar sesión ................................................................................................. 95Figura 5.31. Interfaz de opciones a elegir en una sesión activa ............................................................. 95Figura 5.32. Interfaz del catálogo de mapas que provee el WMS .......................................................... 96Figura 5.33. Mapa de México sin estilos definidos por el usuario ......................................................... 96Figura 5.34. Estilización de puntos ........................................................................................................ 97Figura 5.35. Estilización de líneas ......................................................................................................... 97Figura 5.36. Estilización de polígonos ................................................................................................... 98Figura 5.37. Estilización de texto ........................................................................................................... 98Figura 5.38. Documento XML que describe los estilos definidos por el usuario .................................. 99Figura 5.39. Elección de plantilla Web .................................................................................................. 99Figura 5.40. Publicación del mapa en plantilla de aplicación Web...................................................... 100Figura 5.41. Publicaciones realizadas por el usuario ........................................................................... 100Figura A.1. Referencia a la librería msCross ....................................................................................... 110Figura A.2. Definición de elemento DIV y solicitud a servidor de la NASA ...................................... 111Figura A.3. Visualización de mapas..................................................................................................... 111Figura A.4. Referencia a la librería OpenLayers.................................................................................. 112Figura A.5. Creación de objeto mapa ................................................................................................... 112Figura A.6. Solicitud al servidor Geoserver utilizando OpenLayers ................................................... 112Figura A.7. Adición de la capa México al objeto map ......................................................................... 113Figura A.8. Elemento DIV con identificador map ............................................................................... 113Figura A.9. Llamada de la función init() .............................................................................................. 113Figura A.10. Mapa de México visualizado utilizando OpenLayers ..................................................... 113Figura A.11. Visualización de mapas con Ka-Map.............................................................................. 115Figura A.12. Creación de petición a WMS. ......................................................................................... 116Figura A.13. Definición de elemento DIV ........................................................................................... 116Figura A.14. Definición de función init()............................................................................................. 116Figura A.15. Invocación de función init() ............................................................................................ 116Figura A.16. Mapa visualizado en WMS JavaScript Library .............................................................. 117Figura A.17. Referencia a la librería Mapbuilder.js ............................................................................. 118Figura A.18. Configuraciones utilizadas en documentos HTML o JSP............................................... 118Figura A.19. Trozo de código XML del archivo config.xsd ................................................................ 119Figura A.20. Archivo de configuración ............................................................................................... 119Figura A.21. Trozo de código XML del archivo demisWorldMap.xml .............................................. 120 ~v~
  10. 10. Figura A.22. Mapa visualizado en Mapbuilder .................................................................................... 120Figura A.23. Gráfico comparativo de la evaluación de las APIs ......................................................... 122Figura A.24. Resultados de la evaluación de APIs .............................................................................. 123Figura B.1. Mapa visualizado en Degree. ........................................................................................... 127Figura B.2. Ingreso a Configuración. ................................................................................................... 128Figura B.3. Inicio de sesión en Geoserver............................................................................................ 128Figura B.4. Ingreso a los datos de Geoserver. ...................................................................................... 128Figura B.5. Configuración de espacio de nombres. ............................................................................. 129Figura B.6. Creación del espacio de nombres. ..................................................................................... 129Figura B.7. Visualización del espacio de nombre México creado. ...................................................... 129Figura B.8. Creación de un nuevo almacén de datos. .......................................................................... 130Figura B.9. Editor del almacén de datos .............................................................................................. 130Figura. B.10. Entidades disponibles en Geoserver ............................................................................... 131Figura B.11. Entidades disponibles en Geoserver ................................................................................ 131Figura B.12. Visualización del mapa de México en Geoserver ........................................................... 132Figura B.13. Archivo .map ................................................................................................................... 135Figura B.14. Archivo de inicialización ejemplo2.html ........................................................................ 135Figura B.15. Mapa visualizado en MapServer ..................................................................................... 136Figura B.16. Gráfico comparativo de la evaluación de los servidores de mapas ................................. 137Figura B.17. Resultados de la evaluación de servidores de mapas ...................................................... 140Figura C.1. Diagrama de objetos SLD ................................................................................................. 142Figura C.2. Diagrama de clases SLD ................................................................................................... 143Figura D.1. Esquema SLD del elemento raíz ....................................................................................... 146Figura D.2. Esquema de elemento NamedLayer .................................................................................. 147Figura D.3. Esquema de elemento UserLayer ..................................................................................... 147Figura D.4. Esquema de elemento RemoteOWS .................................................................................. 148Figura D.5. Esquema XML para el elemento LayerFeatureConstraints ............................................. 148Figura D.6. Ejemplo de capa definida por el usuario ........................................................................... 149Figura D.7. Esquema XML del estilo definido por el usuario ............................................................. 149Figura D.8. Ejemplo de UserStyle........................................................................................................ 150Figura D.9. Esquema XML de FeatureTypeStyle ................................................................................ 150Figura D.10. Esquema XML del elemento Rule .................................................................................. 151Figura D.11. Esquema XML de LegendGraphic ................................................................................. 151Figura D.12. Esquema XML para MinScaleDenominator y MaxScaleDenominator .......................... 152Figura D.13. Ejemplo de Filter y ElseFilter ......................................................................................... 152Figura D.14. Esquema XML de la simbolización Lineal ..................................................................... 153Figura D.15. Esquema XML de Geometry .......................................................................................... 153Figura D.16. Ejemplo de uso de Geometry .......................................................................................... 153Figura D.17. Esquema XML de Stroke ................................................................................................ 154Figura D.18. Esquema XML de CssParameter ................................................................................... 154Figura D.19. Esquema XML de GraphicFill ....................................................................................... 154Figura D.20. Esquema XML de GraphicStroke ................................................................................... 155 ~ vi ~
  11. 11. Figura D.21. Ejemplo de LineSymbolizer ............................................................................................ 155Figura D.22. Resultado al aplicar la simbolización LineSymbolizer definida en la figura (D.21) ....... 155Figura D.23. Esquema XML de PolygonSymbolizer ........................................................................... 155Figura D.24. Esquema XML de Fill .................................................................................................... 156Figura D.25. Ejemplo de estilización poligonal ................................................................................... 156Figura D.26. Resultado de la definición mostrada en la figura (D.25) ................................................ 156Figura D.27. Esquema XML de PointSymbolizer ................................................................................ 156Figura D.28. Esquema XML de Graphic y ExternalGraphic .............................................................. 157Figura D.29. Esquema XML Mark ...................................................................................................... 158Figura D.30. Ejemplo de estilización Puntual ...................................................................................... 158Figura D.31. Resultado de la definición mostrada en la figura (D.30) ................................................ 158Figura D.32. Esquema XML de TextSymbolizer.................................................................................. 159Figura D.33. Esquema XML de Font................................................................................................... 159Figura D.34. Esquema XML de LabelPlacement, PointPlacement y LinePlacement ......................... 160Figura D.35. Esquema XML de AnchorPoint ...................................................................................... 160Figura D.36. Valores que puede tomar AnchorPoint ........................................................................... 160Figura D.37. Esquema XML de Halo .................................................................................................. 162Figura D.38. Ejemplo de simbolización Texto ..................................................................................... 163Figura D.39. Resultado de la definición mostrada en la figura (D.38) ................................................ 163 ~ vii ~
  12. 12. INDICE DE TABLASTabla 1.1. Comparativa de las aplicaciones Web estudiadas con la propuesta. ..................................... 15Tabla 2.1. Caracteres reservados en WMS para una cadena de consulta ............................................... 21Tabla 2.2. Estructura de petición HTTP GET ........................................................................................ 22Tabla 2.3. Parámetros para la solicitud GetCapabilities ........................................................................ 25Tabla 2.4. Parámetros para la solicitud GetMap .................................................................................... 26Tabla 2.5. Parámetros para la solicitud GetFeatureInfo ........................................................................ 28Tabla 3.1. Descripción de caso de uso Registrar Usuario ...................................................................... 41Tabla 3.2. Descripción del caso de uso Autentificar Usuario ................................................................ 42Tabla 3.3. Descripción de caso de uso Diseñar Mapa ............................................................................ 44Tabla 3.4. Descripción de caso de uso Solicitar Mapa ........................................................................... 45Tabla 3.5. Descripción de caso de uso Aplicar Estilos .......................................................................... 46Tabla 3.6. Descripción de caso de uso Generar Código XML ............................................................... 48Tabla 3.7. Descripción de caso de uso Elegir Plantilla de Diseño ......................................................... 50Tabla 3.8. Descripción de caso de uso Publicar Aplicación Web .......................................................... 51Tabla 3.9. Descripción de caso de uso Visualizar Aplicación Web ....................................................... 52Tabla 3.10. Simbología utilizada en diagramas de secuencias............................................................... 57Tabla 5.1. Caso de prueba MAPWEBDE-01.01 Registro de usuarios .................................................. 77Tabla 5.2. Caso de prueba MAPWEBDE-01.02 Autentificación al sistema ......................................... 79Tabla 5.3. Caso de prueba MAPWEBDE-01.03 Rechazo al inicio de sesión........................................ 79Tabla 5.4. Caso de prueba MAPWEBDE-01.04 Acceso al sistema ...................................................... 81Tabla 5.5. Caso de prueba MAPWEBDE-02 Solicitud y visualización de mapas................................. 82Tabla 5.6. Caso de prueba MAPWEBDE-03.01 Estilizar líneas ........................................................... 82Tabla 5.7. Caso de prueba MAPWEBDE-03.02 Estilizar polígonos ..................................................... 84Tabla 5.8. Caso de prueba MAPWEBDE-03.03 Estilizar puntos .......................................................... 86Tabla 5.9. Caso de prueba MAPWEBDE-03.04 Estilizar texto ............................................................. 87Tabla 5.10. Caso de prueba MAPWEBDE-03.05 Generación de Código XML ................................... 91Tabla 5.11. Caso de prueba MAPWEBDE-04 Asociar mapa a plantilla de página Web ...................... 93Tabla 5.12. Caso de prueba MAPWEBDE-05 Publicación de la página Web ...................................... 93Tabla 5.13. Caso de prueba MAPWEBDE-06 Visualización de la página Web ................................... 94Tabla 5.14. PRUEBA DE INTEGRACION-Funcionamiento general del sistema ................................ 95Tabla A.1. Navegadores soportados por Ka-Map ................................................................................ 114Tabla A.2. Definición de criterios ........................................................................................................ 120Tabla A.3. Asignación de ponderaciones a cada criterio ..................................................................... 121Tabla A.4. Asignación de calificaciones a cada API de acuerdo a los criterios ................................... 121Tabla A.5. Obtención de productos por criterio .................................................................................. 121Tabla A.6. Obtención de sumatorias por API ...................................................................................... 121Tabla A.7. Asignación de ponderaciones a cada criterio ..................................................................... 123Tabla A.8. Matriz de evaluación .......................................................................................................... 124Tabla B.1. Abstracto de etiquetas usadas en MapServer ..................................................................... 134Tabla B.2. Definición de criterios ........................................................................................................ 136Tabla B.3. Asignación de ponderaciones a cada criterio ..................................................................... 136 ~ viii ~
  13. 13. Tabla B.4. Asignación de calificaciones a cada servidor de mapas de acuerdo a los criterios ............ 137Tabla B.5. Obtención de productos por criterio .................................................................................. 137Tabla B.6. Obtención de sumatorias por WMS.................................................................................... 137Tabla B.7. Asignación de ponderaciones a cada criterio ..................................................................... 138Tabla B.8. Comparativa de servidores ................................................................................................. 139Tabla D.1. Ejemplos de ubicaciones puntuales .................................................................................... 161Tabla D.2. Ejemplos de desplazamientos............................................................................................. 161Tabla D.3. Ejemplos de rotación .......................................................................................................... 161Tabla D.4. Ejemplos de localización lineal .......................................................................................... 162Tabla E.1. Elementos de prueba ........................................................................................................... 167Tabla E.2. Descripción de las tareas de prueba .................................................................................... 168Tabla E.3. Requisitos ambientales ....................................................................................................... 169Tabla E.4. Casos de prueba .................................................................................................................. 170 ~ ix ~
  14. 14. GLOSARIOAdSense Es un sistema de publicidad de Google que hace coincidir los anuncios con el contenido de un sitio. Estos anuncios están administrados por Google y generan ingresos basándose en los clics de los visitantes de la página y en las visualizaciones de la misma [ADSENSE, 2008].API Interfaz de Programación de Aplicaciones (Application Programming Interface por sus siglas en inglés). Es el conjunto de funciones y procedimientos que ofrece cierta biblioteca para ser utilizada por otro software como una capa de abstracción. Representa una interfaz de comunicación entre componentes de software [WIKIAPI, 2007].Capa Unidad básica de información geográfica que puede solicitarse a un servidor como un mapa [LOPEZ, 2006].Cartografía La cartografía es la creación, la producción y el estudio de mapas. Se considera una subdisciplina de la geografía [LEARNER 2003].CVS Valores Separados por Coma (Comma-Separated Values por sus siglas en inglés) es un tipo de documento sencillo para representar datos en forma de tabla, en la que las columnas se separan por comas y las filas por saltos de línea [RFC4180, 2005].ESRI Instituto de Investigación de Sistemas Ambientales (Enviromental Systems Research Institute por sus siglas en inglés) es una empresa dedicada al desarrollo y comercialización de Sistemas de Información Geográfica [ESRI, 2008].Geomática Es el término científico moderno que hace referencia a un conjunto de ciencias en las cuales se integran los medios para la captura, tratamiento, análisis, interpretación, difusión y almacenamiento de información geográfica. También llamada información espacial o geoespacial. El término «geomática» está compuesto por dos ramas "GEO" por Geoide, y MATICA por Informática, Es decir estudio del Geoide o globo terrestre a través de la informática [DESIGE, 2008].GeoRSS Es un conjunto de estándares para representar información geográfica y está construido dentro de la familia de estándares RSS [GEORSS, 2007].GML Lenguaje de Marcado Geográfico (Geography Markup Language por sus siglas en inglés) es una gramática XML para transportar y expresar información geográfica [OGCGML, 2007].KML Lenguaje de Marcas de KeyHole (Keyhole Markup Language por sus siglas en inglés), es una gramática XML y un formato de archivo para la creación de modelos y el almacenamiento de funciones geográficas como puntos, líneas, imágenes, polígonos y modelos que se muestran en Google Earth, Google Maps y otras aplicaciones [POKML, 2008]. ~x~
  15. 15. Mapa Representación de dos dimensiones de la distribución espacial de fenómenos o de objetos. Por ejemplo, un mapa puede demostrar la localización de ciudades, de gamas de la montaña, de los ríos, o de los tipos de roca en una región dada. La mayoría de los mapas son planos, haciendo su producción, almacenamiento y manipulación relativamente fácil. Los mapas presentan su información al espectador en una escala reducida. Son más pequeños que el área que representan y usan las relaciones matemáticas para mantener relaciones geográficas proporcionalmente exactas entre los puntos. Los mapas muestran la información usando los símbolos que se identifican en una leyenda [LEWOTSKY, 2004].MathML El Lenguaje de Marcado Matemático (Mathematical Markup Language por sus siglas en inglés) es un lenguaje de marcado basado en XML cuyo objetivo es expresar notación matemática de forma que distintas máquinas puedan entenderla, para su uso en combinación con XHTML en páginas Web y para intercambio de información entre programas de tipo matemático [WIKIMATH, 2009].Mashup Aplicación Web híbrida que usa contenido de otras aplicaciones Web para crear un nuevo contenido completo. El contenido de un mashup normalmente proviene de sitios Web de terceros a través de una interfaz pública o usando una API [WIKIMASH, 2009].OGC El Consorcio Geoespacial Abierto (Open Geospatial Consortium por sus siglas en inglés) es un consorcio internacional de la industria conformado por 369 compañías, agencias gubernamentales y universidades cuyo fin es la definición de estándares abiertos e interoperables dentro de los Sistemas de Información Geográfica para facilitar el intercambio de la información geográfica en beneficio de los usuarios [OGC, 2008].RSS Es una familia de los formatos XML para el intercambio de información. Muchos sitios Web dinámicos, en especial Weblogs, proporcionan RSS para difundir noticias o intercambiar contenido [GEORSS, 2007].SGML Lenguaje de Marcado General Normalizado (Standard Generalized Markup Language por sus siglas en inglés) utilizado para especificar las reglas de etiquetado de documentos [W3CSGML, 2009]ShapeFile Formato de tipo vectorial desarrollado por la compañía ESRI que almacena elementos geográficos y atributos asociados a ellos. Está compuesto por archivos .shp, .shx y .dbf [WIKISHP, 2008]Sistema de Un sistema de referencia es un conjunto de coordenadas espacio-tiempo queReferencia se requieren para poder determinar la posición de un punto [EDNEW, 2009].SLD Descriptor de Estilo de Capa (Styled Layer Descriptor por sus siglas en inglés) es un esquema XML propuesto por la OGC como lenguaje estándar para describir los estilos que dan apariencia a un mapa [OGCSLD, 2002]. ~ xi ~
  16. 16. WMS Servicio de Mapas en Web (Web Map Service por sus siglas en inglés) es una especificación definida por la OGC caracterizada por ser un servicio que provee mapas a través de la Web. Estos mapas tienen como fuente de información datos vectoriales y ráster [OGCWMS, 2002].WFS Servicio de Fenómenos en Web (Web Feature Service por sus siglas en inglés) es un servicio que permite consultar objetos geográficos regresando el resultado de la consulta en formato GML [OGCWFS, 2002].Widget Pequeña aplicación o programa que realiza una función concreta, generalmente de tipo visual, dentro de otras aplicaciones o sistemas operativos. Los widgets pueden ser relojes vistosos en pantalla, nota, calculadoras, calendarios, agendas o juegos [WIKIWIDG, 2009] ~ xii ~
  17. 17. CAPÍTULO 1 INTRODUCCIÓNEn el presente capítulo se expone la problemática que se abordó, el objetivo, lajustificación, beneficios, alcances y limitaciones del proyecto de tesis. Además semuestra la investigación del estado del arte realizado y la organización general deldocumento.
  18. 18. Capítulo 1 Introducción1.1. IntroducciónDesde hace muchos siglos el hombre ha representando su entorno a través de mapasplasmados en materiales como: tablillas de arcilla, seda y papel. A través de los años losmétodos de representación de mapas fueron mejorando y dieron lugar a la ciencia que hoy seconoce como la ciencia cartográfica.Gracias a los avances tecnológicos y científicos que se han desarrollado en las últimasdécadas, la cartografía ha mejorado de manera sorprendente con la incorporación de nuevastecnologías denominadas Sistemas de Información Geográfica (GIS, Geographic InformationSystem por sus siglas en inglés), los cuales han permitido que las aplicaciones y utilidadesinformáticas visualicen mapas geográficos de diferentes temáticas y permitan realizarconsultas espaciales a través de la computadora.Por otro lado, Internet se ha convertido en un medio ideal para la publicación de mapasgeográficos, esto ha sido posible gracias al surgimiento de los Servicios de Mapas por Internet(WMS, Web Map Service por sus siglas en inglés), quienes han permitido publicar mapasdigitales en formatos vectorial y ráster (en el capítulo 2 de marco teórico se describen cadauno de estos formatos). En particular, los mapas vectoriales, antes de ser publicados pasan porun proceso de estilización en el que se asignan propiedades como color, tamaño y estilo a cadauno de los elementos representados en el mapa (por ejemplo: puntos, líneas y polígonos).Dicho proceso se convierte en una tarea compleja debido a que no existen herramientas quepermitan estilizar mapas en un ambiente Web, por lo que el diseñador de mapas se vale deherramientas de escritorio que a menudo suelen ser muy complicadas.Por lo anterior y para dar una solución estándar (siguiendo la especificación SLD de la OGC),surge la idea de crear una herramienta de software estilizadora de mapas que demuestre, quees posible crear estilos personalizados por el diseñador de manera sencilla. Estos estilos severán reflejados mediante un archivo SLD basado en XML, el cual describirá detalladamentelos estilos aplicados a cada uno de los puntos, líneas y polígonos representados en un mapavectorial. Como resultado, se obtendrá un archivo SLD independiente del mapa vectorialvisualizado, el cual será asociado al mapa base al momento de ser publicado en un Servidor deMapas.1.2. Descripción del problemaExisten herramientas de escritorio y APIs tanto propietarias como libres para la creación yestilización de mapas. Lo que respecta a las herramientas de escritorio gratuitas, proporcionanal usuario funciones para la consulta, edición y creación de planos. Son herramientascomplejas de utilizar y requieren instalarse en la máquina local. En cuanto a las APIs decódigo abierto, proporcionan funciones que permiten manipular y visualizar mapas enInternet, pero no se ha encontrado una aplicación que implemente funciones destinadas a laestilización de mapas utilizando un API de código libre. Es por lo anterior que el problemaque dio origen a la presente tesis se centra en que no se han encontrado aplicaciones Web quecontengan tanto mapas geográficos como interfaces que permitan diseñar la apariencia delmapa y la interacción con el mismo, debido a la falta de aplicaciones que faciliten yautomaticen la integración de estas dos cosas. Página 2
  19. 19. Capítulo 1 Introducción1.3. ObjetivosContribuir a la creación de prototipos de aplicaciones Web de forma rápida, mediante laimplementación de una herramienta de software que proporcione servicios que permitandiseñar la apariencia e interacción con mapas temáticos utilizando el estándar XML y APIs decódigo abierto que incluyan servicios de acceso a servidores de mapas. El diseño y laimplementación de esta herramienta deben proporcionar servicios de interacción asíncronos(AJAX) para optimizar la solicitud de mapas vectoriales a los servidores de mapas.Objetivos específicos:  Seleccionar un servidor de mapas de software libre con la finalidad de utilizarlo como gestor de mapas.  Utilizar componentes que permitan la interacción con mapas, por ejemplo, zoom in, zoom out y paneo.  Colaborar con la configuración de objetos contenidos en mapas, como son: texto, polígonos, líneas y puntos. A estos objetos se les deben definir el color, ancho de línea, tipo de línea, contorno de las líneas de polígonos, color de relleno, nivel de transparencia, y tipo de letra.  Generar de forma automática un archivo XML que describa los estilos que definen la apariencia del mapa. Realizando esto de acuerdo a las propiedades asignadas a los objetos punto, línea, polígono y texto del mapa1.4. JustificaciónDe acuerdo a estadísticas publicadas por la Asociación Mexicana de Internet (AMIPCI), el usode la industria de Internet en México se mantiene en crecimiento. Según el estudio realizadoen el rubro de comercio electrónico, el crecimiento registrado del año 2006 al 2007 fue de un78% equivalente a un importe de 955 millones de dólares en ventas electrónicas.Pronosticando un 70% de crecimiento para el año 2008 (ver figura 1.1). Figura 1.1. Estudio del uso de comercio electrónico en México. FUENTE: Asociación Mexicana de Internet (AMIPCI) Página 3
  20. 20. Capítulo 1 IntroducciónLo anterior pone en evidencia que el desarrollo y uso de aplicaciones Web han mantenido sucrecimiento y con el pasar de los años, van buscando información más precisa en términos dedatos de ubicación que enriquezcan y visualicen sus servicios. Con los avances tecnológicosactuales, es posible mostrar esta información a través de mapas para que los usuarios puedanfácilmente ubicar y visualizar objetos, lugares de interés además de otros servicios vía Webdependiendo de la temática del mapa. Para realizar esto, existen APIs y herramientasdisponibles en la Web de manera gratuita que proporcionan el servicio de visualización demapas.La importancia de los mapas va desde saber donde se encuentra cierto servicio, hasta el desalvar la vida a toda una población. Por ejemplo, un mapa de carreteras es una guía queproporciona información de cómo llegar a otro lugar, un mapa meteorológico ayuda a loscientíficos a ubicar dónde y hacia dónde van los huracanes, tornados, incendios, etc. Y conello poder alertar a la gente para que evacuen las zonas de riesgos y se salven vidas.Por naturaleza el ser humano diferencia objetos por su forma, tamaño y también por su color.Por ello la interpretación de un mapa no es sencilla si no posee colores y claves que describanlos objetos utilizados en un mapa. En particular la presente tesis se enfocó en la aplicación deestilos a objetos punto, línea, polígono y texto de mapas vectoriales.Por otra parte, desde el enfoque del diseñador de aplicaciones Web, existen aspectosimportantes que se mencionan a continuación y dieron pauta a la factibilidad de estainvestigación.Para crear un mapa con las APIs disponibles de código abierto, se requiere de asimilar cadauna de ellas y después utilizar sólo las funciones que se necesiten de la API elegida. En estaparte se requiere de tiempo suficiente para poder conocer la API e implementar el código quepermitirá la visualización del mapa.Una vez que se tienen los mapas visualizados, resulta necesario diseñar la apariencia del mapade acuerdo a las necesidades que se presenten. Esta etapa resulta una limitante más, queretarda la realización de mapas de manera rápida, pues la edición se hace de forma manualinsertando líneas de código en un archivo XML.Existen herramientas de escritorio que permiten diseñar la apariencia de mapas geográficos,pero estas herramientas aplican el estilo directamente en los archivos vectoriales. Ladesventaja de esto es que si un usuario modifica el estilo del mapa a sus necesidades, otrousuario que utilice el mismo mapa visualizará las modificaciones del usuario anterior.1.5. BeneficiosEl beneficio principal que se obtuvo de la presente tesis es una aplicación Web queproporciona las siguientes funciones:  Componentes de estilo: estos componentes permiten aplicar estilos definidos por el usuario a objetos tipo punto, línea, polígono y texto de un mapa. Todo esto haciéndolo de manera transparente para el usuario, es decir, sin tener que introducir ni una sola línea de código. Página 4
  21. 21. Capítulo 1 Introducción  Generación de archivo SLD: la estilización aplicada al mapa se refleja en un archivo XML que cumple con la especificación SLD definida por la OGC.  Publicación del mapa en la Web: permite que el usuario al terminar de estilizar el mapa, pueda seleccionar una plantilla de un catálogo de aplicaciones Web para que el usuario publique su mapa estilizado.  Solicitud de mapas a un servidor de mapas: la aplicación se comunica con un servidor WMS para conocer los mapas y sistemas de referencias que provee. Esto con el objetivo de construir un catálogo de mapas ordenado que se le proporciona al usuario para elegir los mapas que desea estilizar.1.6. Alcances del proyecto de tesisEl trabajo de tesis tiene los siguientes alcances:  Se proporciona una aplicación Web que utiliza funciones de un API de código libre para interactuar con mapas de manera que se puede hacer zoom in, zoom out, paneo y habilitar y deshabilitar capas.  La aplicación Web desarrollada proporciona los siguientes servicios: o Un conjunto de componentes Web para la configuración de objetos contenidos en los mapas como son: texto, líneas, polígonos y puntos. A estos objetos geográficos se les puede definir color de línea, ancho de línea, tipo de línea, color de relleno de los polígonos, nivel de transparencia, tipo de letra entre otros. o Se permite generar un archivo XML que cumple con la especificación SLD el cual describe los estilos aplicados al mapa geográfico. o Se proporciona un catálogo de plantillas de aplicaciones Web el cual permite asociar el mapa estilizado con la plantilla para posteriormente publicarlo en Internet.  La aplicación Web utiliza AJAX para la comunicación con el servidor de mapas y está programada siguiendo el patrón MVC de java (struts) bajo la especificación J2EE para facilitar su mantenimiento.1.7. Limitaciones del proyecto de tesisEl trabajo de tesis contempla las siguientes limitaciones:  La aplicación corre sobre plataformas convencionales (máquinas de escritorio, laptops y tablet’s pc).  Los mapas manipulados en la aplicación son de tipo vectorial.  La visualización de los mapas es en dos dimensiones.  La aplicación no crea los mapas contenidos en el servidor de mapas.  La temática de los mapas es de trazos carreteros y municipales.  En la investigación no se contempla el desempeño y tiempos de respuesta de las APIs y servidores manipuladores de información espacial.  La investigación se aboca únicamente a proyectos de software libre que administran información espacial. Página 5
  22. 22. Capítulo 1 Introducción1.8. Estado de la prácticaLa investigación del estado de la práctica cubre dos aspectos: el primero es entender elcontexto en el que se trabajó, para ello se hace una descripción sobre la clasificación deproyectos de software libre disponibles para la manipulación de información espacial. Y elsegundo aspecto abarca la investigación de aplicaciones Web relacionadas con la presentetesis.Abordando el primer punto en la investigación del estado de la práctica se encontraron muchasherramientas manipuladoras de información espacial.Los proyectos que se encuentran en Geomática se clasifican en [MONTESINOS, 2007]: Proyectos del lado del servidor. En este grupo se encuentran los servidores de bases de datos geográficas, servidores de mapas y herramientas de metadatos. Proyectos del lado del cliente. Este rubro se conforma por clientes pesados (herramientas de escritorio) y clientes ligeros (APIs).Servidores de bases de datos geográficasLas bases de datos geográficas son similares a las relacionales con la diferencia que en laprimera se puede almacenar geometría. La OGC proporciona la especificación SimpleFeatures que describe el conjunto de tipos de datos y funciones que debe cumplir una base dedatos geográfica. Dentro de este grupo en la parte de software libre se encuentran PostGIS,FireBird y MySQL Spatial (MySQL se ofrece con una licencia dual pues es GPL y esdistribuido a las empresas con licencia propietaria).Servidores de mapasLos servidores de mapas permiten publicar cartografía en la Web para que los usuarios puedaninteraccionar con información geográfica a través de Internet. La OGC proporciona laespecificación Web Map Service que describe los servicios que debe proporcionar un servidorde mapas. Los proyectos de software libre que se han desarrollado para este grupo son UMNMapServer, GeoServer, Degree y MapGuide OpenSource [MONTESINOS, 2007].Herramientas de metadatosLos servidores de catálogos son aplicaciones que permiten publicar en la red un conjunto demetadatos sobre diferentes conjuntos de datos. Estos catálogos son expuestos como un portalque permite hacer búsquedas mediante diferentes criterios. Los proyectos de software libreque se han desarrollado bajo este rubro son Geonetwork y CaMDEdit [MONTESINOS, 2007].Clientes pesadosLos clientes pesados son todas las aplicaciones de escritorio que han sido útiles para la gestiónde información geográfica. Las funciones que se tienen con estas herramientas son las deedición, análisis y explotación de información geográfica. Existen muchos proyectos desoftware libre en esta clasificación pero los más representativos son: Grass, Quantum GIS, Página 6
  23. 23. Capítulo 1 IntroduccióngvSIG, Saga y Sextante, MapWindow, World Wind, Open Jump , Kosmo, ILWIS y uDig[MONTESINOS, 2007].Clientes ligerosLos clientes ligeros surgieron con la aparición de los servidores de mapas. Proporcionan unconjunto de componentes o funciones que permiten a los desarrolladores de aplicaciones Webcrear páginas Web o aplicaciones Web con contenido espacial. Los proyectos másrepresentativos desarrollados bajo este rubro son: Ka-Map, Chamelon, CartoWeb,OpenLayers, Mapbender, MapBuilder, msCross y WMS Java Script Library [MONTESINOS,2007].En la figura (1.2) se muestra de manera ilustrativa la clasificación mencionada anteriormente. Figura 1.2. Clasificación de la Geomática respecto al software libreDe acuerdo a la clasificación anterior y tomando en cuenta los objetivos de la tesis. El presentetrabajo de tesis abarca la parte de servidores de mapas y clientes ligeros.La segunda parte que conforma el estado de la práctica es la investigación de aplicacionesWeb que se relacionan con la presente tesis. En este estudio se encontraron un gran número deaplicaciones Web que fueron desarrolladas en su mayoría utilizando la API de Google Maps yYahoo Maps. Las diferencias más sobresalientes que se encontraron entre las aplicacionesfueron las temáticas que manejaban (clima, ruta de maratones, deportes, procedimientoselectorales, lugares de pesca, etc.), ya que en todos los sitios se permitían hacer búsquedassobre el mapa, calcular rutas e insertar puntos de interés (POIs), pero pocas aplicacionespermitía exportar los objetos insertados en el mapa a archivos KML. No se encontraron Página 7
  24. 24. Capítulo 1 Introducciónaplicaciones que permitieran estilizar los objetos del mapa visualizado, sólo se facilitabancomponentes que permitían dibujar líneas y polígonos sobre los mapas visualizados.A continuación se exponen algunas aplicaciones Web disponibles en Internet que permitenmanipular información espacial, se describen sus característica más sobresalientes y semencionan las desventajas que presentan con el presente trabajo.1.8.1. Click2MapEs una aplicación Web que permite crear y publicar mapas de Google en línea. Cualquierpersona con acceso a Internet puede crear1 y publicar sus mapas en Internet sin tener quecodificar ni una sola línea de código [CLICK2MAP, 2008].Servicios que proporciona: 1. Creación ilimitada de mapas con controles para manipularlo (“zoom in”, “zoom out”, “paneo” y visualización del mapa en satelital, vectorial e hibrido). 2. Inserción ilimitada de marcadores que se pueden añadir en el mapa y permite dibujar líneas y polígonos sobre el mapa con estilos definidos por el usuario. 3. Personalización de iconos de los marcadores. 4. Publicación del mapa como una página Web HTML. 5. Permite establecer cualquier mapa creado como widget ya que proporciona un pequeño código en HTML el cual se puede copiar y pegar en una página Web personal. 6. Si el usuario posee una cuenta de Adsense puede crear banners para poner anuncios sobre sus mapas. 7. Permite borrar los anuncios de la página Web generada. 8. Importa o exporta marcadores de CSV, KML, GeoRSS y archivos XML. 9. Proporciona un API Web en la que se pueden manipular los marcadores de los mapas en aplicaciones personales.Click2Map gestiona cuatro tipos de usuarios: bronze, silver, gold y platinium.Los usuarios de tipo bronze son aquellos que pueden utilizar el sistema de manera gratuitapero limitado a las primeras cuatro funciones presentadas en la lista anterior. Los usuarios tiposilver, gold y platinium son usuarios que pagan mensualmente una cantidad en dólares que vandesde los $9 dólares hasta $39 dólares para gozar de los demás servicios.En la figura (1.3) se muestra la interfaz que proporciona la aplicación Click2Map.1 El termino crear no significa que el usuario dibuja el mapa, sino que a partir de los mapas de Google el usuarioelige que porción del mapa o extensión territorial desea visualizar en la página Web que genera click2map. Esaextensión territorial es un nuevo mapa que manipula la aplicación y por lo tanto lo considera como un mapacreado por el usuario. Página 8
  25. 25. Capítulo 1 Introducción Figura 1.3. Interfaz de usuario de Click2MapEn la figura (1.4) se muestra el mapa creado en Click2Map y publicado en la Web. Figura 1.4. Publicación del mapa creado en Click2MapLa principal desventaja de esta aplicación con la que se desarrolló, es que el usuario debepagar una cantidad mensual para poder utilizar el mapa generado como widget de una páginapersonal. Utiliza los mapas de Google y por lo tanto no los puede estilizar, lo único que puederealizar el usuario es insertar y administrar POIs personalizados. Página 9
  26. 26. Capítulo 1 Introducción1.8.2. Map24Es un buscador de direcciones disponible en la Web de manera gratuita [MAP24, 2008].Servicios que proporciona: 1. Realiza búsquedas de direcciones y de puntos de interés. 2. Permite el cálculo de rutas. 3. Guarda un máximo de 10 direcciones en la libreta de direcciones de cada usuario. 4. Las direcciones antes de ser almacenadas pueden ser modificadas por el usuario. 5. Envía direcciones vía correo electrónico con un máximo de 10 remitentes. 6. Permite ver los mapas en tres dimensiones. 7. No permite agregar puntos de interés ni direcciones de empresas. 8. Proporciona dos tipos de mapas: estáticos y dinámicos. 9. Proporciona controles para manipular el mapa: “zoom in”, “zoom out”, “paneo” y visualización de mapas en formato ráster y vectorial.En la figura (1.5) se muestra la interfaz de map24. Figura 1.5. Interfaz de Map24La desventaja de esta aplicación es que únicamente se enfoca a realizar búsquedas sobre elmapa y por lo tanto no ofrece el servicio de estilización y publicación de los mapas en unapágina Web que contengan el mapa estilizado.1.8.3. ZoomInEsta aplicación Web proporciona los siguientes servicios [ZOOMIN, 2007]: 1. Permite realizar búsquedas de direcciones. 2. Explora lugares cercanos a un punto. 3. Los usuarios inscritos pueden realizar comentarios acerca de un lugar. 4. Permite subir fotografías a un lugar en específico. Página 10
  27. 27. Capítulo 1 Introducción 5. Los usuarios pueden crear grupos o agregarse a uno existente.La desventaja que presenta este sitio es que no permite que los usuarios estilicen los mapas yque puedan usar estos mapas en una aplicación Web. Sólo se aboca a la inserción de puntoscon documentos asociados.En la figura (1.6) se ilustra la interfaz de ZoomIn. Figura 1.6. Interfaz de ZoomIn1.8.4. MapBuilderEs una aplicación gratuita vía Web que permite crear mapas de Google Maps.[MAPBUILDER, 2007].Servicios que proporciona: 1. Búsquedas de direcciones sobre el mapa. 2. Añade marcas sobre el mapa especificando información acerca del punto como son: título, descripción, dirección, coordenadas y tipo de marca. 3. Genera código JavaScript y HTML para colocar el mapa en una aplicación Web personal. 4. Los mapas creados se guardan en la cuenta del usuario. 5. Proporciona mecanismos para manipular el mapa. (“zoom in”, “zoom out” y “paneo”)La figura (1.7) muestra la interfaz de ésta aplicación web. Página 11
  28. 28. Capítulo 1 Introducción Figura 1.7. Interfaz de MapBuilderAl igual que las aplicaciones anteriores MapBuilder se limita a realizar inserciones demarcadores sobre los mapas proporcionados por Google Maps y no permite cambiar lasespecificaciones de estilo de los mapas visualizados.1.8.5. Google MapsAPI gratuita de Google lanzada el 6 de octubre de 2005 la cual ofrece las siguientescaracterísticas [WIKIGMAPS, 2007]: Capacidad de hacer acercamientos y alejamientos para mostrar el mapa. Permite hacer búsquedas de direcciones. Calcular la ruta optima entre dos puntos. Ride Finder (ubicador de vehículo) en el cual una persona puede ubicar un taxi o un transporte público en una gran ciudad en tiempo real.Además de lo anterior permite integrar los mapas en sitios Web que usan JavaScript. Sepueden dibujar marcadores y líneas sobre el mapa. [GOOGLEMAPS, 2007]La principal desventaja de esta aplicación, es el de la estilización personalizada de los mapas,ya que Google Maps no permite que los usuarios cambien las propiedades de color y tamañode los objetos que se muestran en el mapa.En la figura (1.8) se muestra la interfaz de Google Maps. Página 12
  29. 29. Capítulo 1 Introducción Figura 1.8. Interfaz de Google Maps1.8.6. Yahoo MapsEs una aplicación libre en línea que ofrece los siguientes servicios [YAHOOMAPS, 2007]: 1. Realizar búsquedas en los mapas proporcionados por Yahoo. 2. Visualizar el tránsito en vivo sobre las ciudades. 3. Guardar el mapa en una página Web asociada a la cuenta del usuario. 4. Enviar el mapa por correo electrónico. 5. Imprimir los mapas.La disponibilidad de estos servicios abarca Estados Unidos y Canadá.La desventaja de esta herramienta con respecto a la que se implementó es que Yahoo Maps nopermite la estilización de los mapas en línea y sólo se pueden consultar los mapas que proveepor default.En la figura (1.9) se muestra la interfaz de Yahoo Maps.1.8.7. Live Search MapsEs una aplicación Web desarrollada por Microsoft y sus principales funciones son[MICROSIFTLIVE, 2008]: 1. Visualiza imágenes en 2D y 3D (si se instala un plugin) 2. Permite insertar puntos de interés, dibujar líneas y polígonos definiendo un estilo personalizado y exportar estos objetos a un archivo KML. 3. Realiza búsquedas de direcciones. 4. Calcula la ruta más corta entre dos puntos.En la figura (1.10) se muestra la interfaz de Virtual Earth. Página 13
  30. 30. Capítulo 1 Introducción Figura 1.9. Interfaz de Yahoo Maps Figura 1.10. Interfaz de Virtual EarthA continuación en la tabla (1.1) se muestra la comparativa de los trabajos relacionados conel trabajo de tesis, el cual a partir de aquí se le hará referencia con el nombre de MapWebDesigner (Design of maps in web). Página 14
  31. 31. Capítulo 1 Introducción Tabla 1.1. Comparativa de las aplicaciones Web estudiadas con la propuesta. Publicación del Estilización de Estilización de Estilización de Estilización de mapa en una Aplicaciones Visualización PUNTOS del LINEAS del POLIGONOS del TEXTO del página Web Web de mapas mapa basado mapa basado mapa basado mapa basado elegida por el en XML en XML en XML en XML usuario No, sólo permite la No, sólo dibuja No, sólo dibuja Si, publica el personalización líneas con polígonos con mapa pero el Click2Map Sí No de POIs estilos definidos estilos definidos usuario no elige insertados por el usuario por el usuario. la página Web sobre el mapa Map24 Sí No No No No No ZoomIn Sí No No No No No Map Builder Sí No No No No Sí No, utiliza KML para describir Google Maps Sí No No No Sí los POIS insertados Yahoo Maps Sí No No No No Sí No, únicamente No, sólo dibuja No, sólo dibuja Live Search inserta puntos líneas sobre el polígonos sobre Sí No No Maps de interés y los mapa y los el mapa y los exporta a KML exporta a KML exporta a KML MapWeb Designer Sí Sí Sí Sí Sí Sí (TESIS)1.9. Organización del documentoLos siguientes capítulos del documento de tesis se organizan de la siguiente manera:Capítulo 2 Marco Teórico. Se describen los conceptos teóricos sobre las tecnologíasinvolucradas en el desarrollo de la tesis.Capítulo 3 Análisis y Diseño. En este capítulo se describe la fase de análisis y diseño realizadoy para ello se presentan los casos de uso, diagramas de actividad, diagramas de clases ydiagramas de secuencia que se requirieron para el desarrollo del sistema.Capítulo 4 Implementación. Se explica el funcionamiento general del sistema.Capítulo 5 Pruebas. Se presentan los resultados de las pruebas realizadas al sistema.Capítulo 6 conclusiones. En este capítulo se presentan las conclusiones, aportaciones de latesis y los trabajos futuros.Al final del documento se presenta la sección de anexos los cuales se organizan como sigue:en el anexo A se describe la evaluación de las APIs de código libre. En el anexo B se muestrala evaluación de los servidores de mapas, en el anexo C se presenta el modelo de objetos y elmodelo de clases del documento SLD, en el anexo D se expone la especificación SLD y en elanexo E se presenta el plan de pruebas. Página 15
  32. 32. Capítulo 1 Introducción Página 16
  33. 33. CAPÍTULO 2 MARCO TEÓRICOEn este capítulo se describen conceptos elementales de las tecnologías involucradasen el desarrollo de la presente tesis.
  34. 34. Capítulo 2 Marco Teórico2.1. Sistemas de Información GeográficaUn Sistema de Información Geográfica (GIS, en su acrónimo inglés) es un sistema informáticointegrado que permite el almacenamiento, mapeo, manipulación y análisis de datosgeográficos o espaciales. Puede presentar la información en diferentes capas temáticasalmacenándolas de manera independientemente, permitiendo trabajar con ellas de manerarápida y sencilla, y facilitando al profesional la posibilidad de relacionar la informaciónexistente a través de la topología de los objetos, con el fin de generar otra nueva que no sepodría obtener de otra forma [VON, 2005].En la figura (2.1) se observan varias capas que son puestas unas sobre otras para poderrepresentar con mayor exactitud a la realidad. Figura 2.1. Capas que representan la realidadLos sistemas de información geográfica requieren de varios componentes para poder funcionarcorrectamente. Estos componentes son una colección organizada de hardware, software, datosgeográficos y personal. Diseñados para capturar, almacenar, manipular, analizar y desplegaren todas sus formas la información geográficamente referenciada con el fin de resolverproblemas complejos de planificación y gestión [VON, 2005].Hardware. Es el equipo donde opera el GIS. Hoy en día los programas GIS se puedenejecutar en gran número de equipos que van desde servidores hasta computadoras portátilesusados en red o trabajando en modo desconectado [CARMONA, 2007].Software. Los programas GIS proveen las funciones y las herramientas necesarias paraalmacenar, analizar y desplegar la información geográfica. Los principales componentes de losprogramas son [CARMONA, 2007]: Herramientas para la entrada y manipulación de la información geográfica. Un sistema de manejador de base de datos (DBMS) Herramientas que permitan búsquedas geográficas, análisis y visualización. Interface gráfica para el usuario (GUI) para acceder fácilmente a las herramientas. Página 18
  35. 35. Capítulo 2 Marco TeóricoDatos geográficos. La parte más importante de un sistema de información geográfico son susdatos. Los datos geográficos y tabulares pueden ser adquiridos por quien implementa elsistema de información, así como por terceros que ya los tienen disponibles. El sistema deinformación geográfico integra los datos espaciales con otros recursos de datos y puedeincluso utilizar los manejadores de base de datos más comunes para manejar la informacióngeográfica [CARMONA, 2007].Personal. La tecnología de los GIS está limitada si no se cuenta con el personal que opera,desarrolla y administra el sistema y que establece planes para aplicarlo en problemas delmundo real [CARMONA, 2007].Una segunda definición más concreta es la que se proporciona en [LBSPRO, 2007]: Unsistema de información geográfico brinda funcionalidades para análisis y consultas espaciales.Los tipos de preguntas que puede responder un GIS son las siguientes [LBSPRO, 2007]: ¿Qué se encuentra en...? (Pregunta de ubicación. Qué existe en una ubicación particular) ¿Dónde está...? (Pregunta condicional. Qué ubicación satisface ciertas condiciones) ¿Cuáles datos están relacionados...? (Pregunta relacional. Analiza la relación espacial entre objetos de atributos geográficos) ¿Qué pasaría si...? (Pregunta de simulación. Computa y despliega una ruta óptima, un terreno apropiado, una área de riesgo para desastres basado en un modelo)Existen dos tipos de información que manipulan los sistemas GIS: Información ráster. Información vectorial.2.1.1. Información ráster [SARRIA,2007]El modelo de GIS ráster o de retícula se centra en las propiedades del espacio más que en laprecisión de la localización. Divide el espacio en celdas regulares donde cada una de ellasrepresenta un único valor. Una capa en formato ráster está compuesta por cuatro elementosfundamentales: La matriz de datos la cual se almacena en un archivo como una lista de valores numéricos. Información geográfica acerca de la matriz de datos y de su posición en el espacio (número de columnas, número de filas, coordenadas de las esquinas de las capas y resolución o tamaño de pixel en latitud y en longitud). Tabla de colores que permite decidir de qué color se pintará cada celdilla en la pantalla.En el formato ráster cuanto mayor sean las dimensiones de las celdas (resolución) menor es laprecisión o detalle en la representación del espacio geográfico.En la figura (2.2) se muestra cómo se organiza la información ráster y en la figura (2.3) seilustra con mayor detalle la organización de la información contenida en un pixel de unaimagen rasterizada. Página 19
  36. 36. Capítulo 2 Marco Teórico Figura 2.2. Organización de la información en el modelo de datos ráster Figura 2.3. Información de un pixel2.1.2. Información vectorialAl contrario de lo que ocurre en el formato ráster, el formato vectorial define objetosgeométricos (puntos, líneas y polígonos) mediante la codificación explícita de suscoordenadas. Los puntos se codifican en formato vectorial por un par de coordenadas en elespacio, las líneas como una sucesión de puntos conectados y los polígonos como líneascerradas o como un conjunto de líneas que constituyen las diferentes fronteras del polígono.Este formato resulta especialmente adecuado para la representación de entidades realesubicadas en el espacio (carreteras, ríos, parcelas de cultivo). El formato ráster resulta másadecuado cuando se manejan datos que suponen un valor promediado sobre una extensiónterritorial que se considera homogénea, por ejemplo estadísticas municipales, clima, zonas deriesgo [SARRIA, 2007].En la figura (2.4) se ilustran los objetos geométricos utilizados por el formato vectorial. Figura 2.4. Objetos geométricos del formato vectorial Página 20

×