SlideShare une entreprise Scribd logo
1  sur  196
Télécharger pour lire hors ligne
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 Suplente
Cuernavaca, Morelos, México. 20 de Febrero de 2009
DEDICATORIA
A papá Dios:
Por su amor, por guiarme en el camino del bien,
poner a las personas adecuadas en mí camino y
darme fortaleza en todo momento. Sin duda me has
dado 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 sus
consejos de nunca dejar de seguir preparándome. Con
cariñ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, Elizabeth
Montaño y Johana Silva:
Por su amistad, consejos y apoyo. Gracias cuñaditas
por 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 paciencia
recibida de manera incondicional estos dos años. Por
su amor y respeto a mis decisiones. Por hacerme reír
a pesar de las circunstancias. Sin tu apoyo no lo
hubiera logrado “pacharrito”. Te amo.
AGRADECIMIENTOS
Este trabajo de investigación no hubiera sido posible realizarlo sin el apoyo del Consejo
Nacional de Ciencia y Tecnología (CONACYT), ya que la beca que me otorgó estos dos años
fue el sustento económico para poder solventar mis estudios de maestría. También quiero
agradecer al Centro Nacional de Investigación y Desarrollo Tecnológico (CENIDET) por la
oportunidad 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 sus
observaciones y consejos para que se lograra concluir satisfactoriamente este trabajo. A todos
ustedes 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 mi
guía y cuidar a mis seres queridos y darles la tranquilidad de que seguía por el camino del bien
a pesar de la distancia.
A mi mamá y hermanos que siempre se han preocupado por mi bienestar. Les agradezco
mucho familia querida por todo lo que me han dado a lo largo de mi vida. Esta meta no se
hubiera 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 que
pasamos y su consejo de seguir preparándome.
A mi director de tesis Dr. Juan Gabriel González Serna por su paciencia, buen trato y guiarme
a lo largo de la investigación.
A mis revisores de tesis: Dr. René Santaolaya Salgado, M.C. Andrea Magadán Salazar y al
M.C. Humberto Hernández García por el tiempo dedicado y observaciones constructivas que
enriquecieron el contenido del presente trabajo.
Al personal académico y administrativo de CENIDET, por compartir su conocimiento y buen
trato.
A mis compañeros y amigos de generación: Claudia, Deysy, Lalo y Richard. Por momentos
agradables y formar parte de esta experiencia. En especial a Deysy por aguantarnos
mutuamente durante un año al convivir en la misma casa, por esas pláticas que duraban horas
y 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 la
generació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 lejos
de nuestras familias. Gracias amor por enseñarme a ser independiente y apoyarme en todos los
aspectos.
RESUMEN
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.
~ i ~
TABLA DE CONTENIDO
CAPÍ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.................................................................................................. 15
CAPÍ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............................................................................................................................... 34
CAPÍ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
~ ii ~
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............................................................................................ 67
CAPÍ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 ............................................................................................... 73
CAPÍTULO 5 PRUEBAS ......................................................................................................75
5.1 Resultados de las pruebas....................................................................................................... 77
5.2 Análisis de resultados........................................................................................................... 101
CAPÍTULO 6 CONCLUSIONES.........................................................................................103
ANEXOS ............................................................................................................................107
ANEXO A EVALUACIÓN DE APIS VISORAS DE MAPAS .................................................109
ANEXO B EVALUACIÓN DE SERVIDORES DE MAPAS...................................................125
ANEXO C DISEÑO DE OBJETOS PARA EL DOCUMENTO SLD......................................141
ANEXO D SÍNTESIS DE LA ESPECIFICACIÓN SLD.........................................................145
ANEXO E PLAN DE PRUEBAS..........................................................................................165
REFERENCIAS..................................................................................................................177
~ iii ~
INDICE DE FIGURAS
Figura 1.1. Estudio del uso de comercio electrónico en México.............................................................. 3
Figura 1.2. Clasificación de la Geomática respecto al software libre ...................................................... 7
Figura 1.3. Interfaz de usuario de Click2Map.......................................................................................... 9
Figura 1.4. Publicación del mapa creado en Click2Map.......................................................................... 9
Figura 1.5. Interfaz de Map24................................................................................................................ 10
Figura 1.6. Interfaz de ZoomIn .............................................................................................................. 11
Figura 1.7. Interfaz de MapBuilder........................................................................................................ 12
Figura 1.8. Interfaz de Google Maps...................................................................................................... 13
Figura 1.9. Interfaz de Yahoo Maps....................................................................................................... 14
Figura 1.10. Interfaz de Virtual Earth .................................................................................................... 14
Figura 2.1. Capas que representan la realidad........................................................................................ 18
Figura 2.2. Organización de la información en el modelo de datos ráster ............................................. 20
Figura 2.3. Información de un pixel....................................................................................................... 20
Figura 2.4. Objetos geométricos del formato vectorial.......................................................................... 20
Figura 2.5. Resultado de solicitud GET a un WMS............................................................................... 23
Figura 2.6. Código HTML de formulario para manejo de petición POST............................................. 24
Figura 2.7. Envío de petición HTTP POST............................................................................................ 24
Figura 2.8. Resultado de la petición HTTP POST ................................................................................. 25
Figura 2.9. Resultado de la petición GetCapabilities ............................................................................. 26
Figura 2.10. Resultado de la petición GetMap....................................................................................... 27
Figura 2.11. Resultado de la petición GetFeatureInfo............................................................................ 29
Figura 2.12. Resultado de una petición al WMS utilizando el parámetro SLD y SLD_BODY ............ 30
Figura 2.13. Aplicaciones multinivel ..................................................................................................... 31
Figura 2.14. Interacción del patrón MVC .............................................................................................. 32
Figura 2.15. Funcionamiento de Struts .................................................................................................. 33
Figura 3.1. Diagrama general de casos de uso del sistema .................................................................... 40
Figura 3.2. Diagrama del caso de uso Registrar Usuario ....................................................................... 41
Figura 3.3. Diagrama de actividad de caso de uso Registrar Usuario.................................................... 42
Figura 3.4. Diagrama del caso de uso Autentificar Usuario................................................................... 42
Figura 3.5. Diagrama de actividad de caso de uso Autentificar Usuario ............................................... 43
Figura 3.6. Diagrama del caso de uso Diseñar Mapa............................................................................. 44
Figura 3.7. Diagrama de actividad de caso de uso Diseñar Mapa.......................................................... 45
Figura 3.8. Diagrama de actividad de caso de uso Solicitar Mapa......................................................... 46
Figura 3.9. Diagrama de actividad de caso de uso Aplicar Estilos ........................................................ 48
Figura 3.10. Diagrama de actividad de caso de uso Generar Código XML........................................... 49
Figura 3.11. Diagrama del caso de uso Elegir Plantilla de Diseño ........................................................ 49
Figura 3.12. Diagrama de actividad de caso de uso Elegir Plantilla de Diseño..................................... 50
Figura 3.13. Diagrama del caso de uso Publicar Aplicación Web......................................................... 51
Figura 3.14. Diagrama de actividad del caso de uso Publicar Aplicación Web..................................... 51
Figura 3.15. Diagrama del caso de uso Visualizar Aplicación Web...................................................... 52
Figura 3.16. Diagrama de actividad de caso de uso Visualizar Aplicación Web................................... 53
~ iv ~
Figura 3.17. Arquitectura general del sistema........................................................................................ 54
Figura 3.18. Aplicación MapWeb Designer........................................................................................... 55
Figura 3.19. Paquetes del sistema MapWeb Designer ........................................................................... 56
Figura 3.20. Diagrama de clases de Registrar Usuario ......................................................................... 58
Figura 3.21. Diagrama de secuencias de Registrar Usuario.................................................................. 59
Figura 3.22. Diagrama de clases de Autentificar Usuario ..................................................................... 60
Figura 3.23. Diagrama de secuencias de Autentificar Usuario.............................................................. 61
Figura 3.24. Diagrama de secuencias de Solicitar Mapa....................................................................... 62
Figura 3.25. Diagrama de clases de Solicitar Mapa............................................................................... 62
Figura 3.26. Diagrama de clases de Aplicar Estilos y generar código XML ......................................... 64
Figura 3.27. Diagrama de secuencias de Aplicar Estilos y generar código XML.................................. 65
Figura 3.28. Diagrama de clases de Elegir Plantilla de Diseño y Publicar Aplicación Web ................ 66
Figura 3.29. Diagrama de secuencias Elegir Plantilla de Diseño y Publicar Aplicación Web.............. 66
Figura 3.30. Diagrama de Secuencias de Visualizar Aplicación Web.................................................... 67
Figura 3.31. Diagrama Conceptual de la base de datos.......................................................................... 67
Figura 3.32. Diagrama Físico de la base de datos.................................................................................. 68
Figura 4.1. Clases del paquete mx.edu.cenidet.MapWebDesigner.Modelo.BaseDatos ......................... 70
Figura 4.2. Clase del paquete mx.edu.cenidet.MapWebDesigner.Modelo.ContextoCapas.................... 71
Figura 4.3. Clases del paquete mx.edu.cenidet.MapWebDesigner.Modelo.Logica................................ 71
Figura 4.4. Petición AJAX con acceso denegado al Servidor WMS ..................................................... 72
Figura 4.5. Clase del paquete mx.edu.cenidet.MapWebDesigner.Modelo.Proxy................................... 73
Figura 4.6. Petición AJAX con acceso denegado al Servidor WMS ..................................................... 73
Figura 5.1. Interfaz en la que se proporcionan los datos del usuario ..................................................... 77
Figura 5.2. Usuario registrado en la base de datos del sistema.............................................................. 77
Figura 5.3. Interfaz mostrada al registrar adecuadamente al usuario..................................................... 78
Figura 5.4. Interfaz mostrada al ingresar un login registrado................................................................. 78
Figura 5.5. Ingreso al sistema................................................................................................................. 79
Figura 5.6. Interfaz de rechazo al ingreso del sistema ........................................................................... 80
Figura 5.7. Interfaz de error de conexión con la base de datos .............................................................. 80
Figura 5.8. Catálogo de mapas............................................................................................................... 81
Figura 5.9. Visualización del mapa solicitado ....................................................................................... 82
Figura 5.10. Estado del mapa antes de ser estilizado ............................................................................. 83
Figura 5.11. Mapa después de aplicarle la configuración de línea sólida .............................................. 83
Figura 5.12. Mapa después de aplicarle la configuración de línea punteada ......................................... 84
Figura 5.13. Mapa de México antes de ser personalizado...................................................................... 85
Figura 5.14. Mapa de México con estilo personalizado......................................................................... 85
Figura 5.15. Puntos del mapa de México antes de ser personalizado .................................................... 86
Figura 5.16. Puntos con estilo personalizado......................................................................................... 86
Figura 5.17. Puntos personalizados utilizando un gráfico...................................................................... 87
Figura 5.18. Mapa de México antes de personalizar el texto................................................................. 88
Figura 5.19. Mapa con personalización de texto utilizando la ubicación PointPlacement. ................... 88
Figura 5.20. Mapa de México antes de aplicar la configuración de texto.............................................. 89
~ v ~
Figura 5.21. Mapa de México que muestra el estilo de texto con rotación............................................ 89
Figura 5.22. Mapa de la vialidad de Cuernavaca antes de aplicar estilo de texto.................................. 90
Figura 5.23. Mapa con personalización de texto utilizando la ubicación LinePlacement...................... 90
Figura 5.24. Mapa de Morelos que muestra la estilización del texto..................................................... 91
Figura 5.25. Documento SLD ................................................................................................................ 92
Figura 5.26. Mapa que muestra el estilo descrito en el documento SLD............................................... 92
Figura 5.27. Variable tempText que contiene la plantilla de aplicación Web y el mapa solicitado....... 93
Figura 5.28. Carpeta Web del usuario.................................................................................................... 93
Figura 5.29. Plantilla de estilo publicado en la Web.............................................................................. 94
Figura 5.30. Interfaz para iniciar sesión................................................................................................. 95
Figura 5.31. Interfaz de opciones a elegir en una sesión activa ............................................................. 95
Figura 5.32. Interfaz del catálogo de mapas que provee el WMS.......................................................... 96
Figura 5.33. Mapa de México sin estilos definidos por el usuario......................................................... 96
Figura 5.34. Estilización de puntos........................................................................................................ 97
Figura 5.35. Estilización de líneas ......................................................................................................... 97
Figura 5.36. Estilización de polígonos................................................................................................... 98
Figura 5.37. Estilización de texto........................................................................................................... 98
Figura 5.38. Documento XML que describe los estilos definidos por el usuario .................................. 99
Figura 5.39. Elección de plantilla Web.................................................................................................. 99
Figura 5.40. Publicación del mapa en plantilla de aplicación Web...................................................... 100
Figura 5.41. Publicaciones realizadas por el usuario ........................................................................... 100
Figura A.1. Referencia a la librería msCross ....................................................................................... 110
Figura A.2. Definición de elemento DIV y solicitud a servidor de la NASA...................................... 111
Figura A.3. Visualización de mapas..................................................................................................... 111
Figura A.4. Referencia a la librería OpenLayers.................................................................................. 112
Figura A.5. Creación de objeto mapa................................................................................................... 112
Figura A.6. Solicitud al servidor Geoserver utilizando OpenLayers ................................................... 112
Figura A.7. Adición de la capa México al objeto map......................................................................... 113
Figura A.8. Elemento DIV con identificador map............................................................................... 113
Figura A.9. Llamada de la función init().............................................................................................. 113
Figura A.10. Mapa de México visualizado utilizando OpenLayers..................................................... 113
Figura A.11. Visualización de mapas con Ka-Map.............................................................................. 115
Figura A.12. Creación de petición a WMS. ......................................................................................... 116
Figura A.13. Definición de elemento DIV........................................................................................... 116
Figura A.14. Definición de función init()............................................................................................. 116
Figura A.15. Invocación de función init()............................................................................................ 116
Figura A.16. Mapa visualizado en WMS JavaScript Library .............................................................. 117
Figura A.17. Referencia a la librería Mapbuilder.js............................................................................. 118
Figura A.18. Configuraciones utilizadas en documentos HTML o JSP............................................... 118
Figura A.19. Trozo de código XML del archivo config.xsd ................................................................ 119
Figura A.20. Archivo de configuración ............................................................................................... 119
Figura A.21. Trozo de código XML del archivo demisWorldMap.xml .............................................. 120
~ vi ~
Figura A.22. Mapa visualizado en Mapbuilder.................................................................................... 120
Figura A.23. Gráfico comparativo de la evaluación de las APIs ......................................................... 122
Figura A.24. Resultados de la evaluación de APIs .............................................................................. 123
Figura B.1. Mapa visualizado en Degree. ........................................................................................... 127
Figura B.2. Ingreso a Configuración.................................................................................................... 128
Figura B.3. Inicio de sesión en Geoserver............................................................................................ 128
Figura B.4. Ingreso a los datos de Geoserver....................................................................................... 128
Figura B.5. Configuración de espacio de nombres. ............................................................................. 129
Figura B.6. Creación del espacio de nombres...................................................................................... 129
Figura B.7. Visualización del espacio de nombre México creado. ...................................................... 129
Figura B.8. Creación de un nuevo almacén de datos. .......................................................................... 130
Figura B.9. Editor del almacén de datos .............................................................................................. 130
Figura. B.10. Entidades disponibles en Geoserver............................................................................... 131
Figura B.11. Entidades disponibles en Geoserver................................................................................ 131
Figura B.12. Visualización del mapa de México en Geoserver ........................................................... 132
Figura B.13. Archivo .map................................................................................................................... 135
Figura B.14. Archivo de inicialización ejemplo2.html ........................................................................ 135
Figura B.15. Mapa visualizado en MapServer..................................................................................... 136
Figura B.16. Gráfico comparativo de la evaluación de los servidores de mapas................................. 137
Figura B.17. Resultados de la evaluación de servidores de mapas ...................................................... 140
Figura C.1. Diagrama de objetos SLD ................................................................................................. 142
Figura C.2. Diagrama de clases SLD................................................................................................... 143
Figura D.1. Esquema SLD del elemento raíz....................................................................................... 146
Figura D.2. Esquema de elemento NamedLayer.................................................................................. 147
Figura D.3. Esquema de elemento UserLayer ..................................................................................... 147
Figura D.4. Esquema de elemento RemoteOWS .................................................................................. 148
Figura D.5. Esquema XML para el elemento LayerFeatureConstraints............................................. 148
Figura D.6. Ejemplo de capa definida por el usuario........................................................................... 149
Figura D.7. Esquema XML del estilo definido por el usuario ............................................................. 149
Figura D.8. Ejemplo de UserStyle........................................................................................................ 150
Figura D.9. Esquema XML de FeatureTypeStyle................................................................................ 150
Figura D.10. Esquema XML del elemento Rule .................................................................................. 151
Figura D.11. Esquema XML de LegendGraphic ................................................................................. 151
Figura D.12. Esquema XML para MinScaleDenominator y MaxScaleDenominator.......................... 152
Figura D.13. Ejemplo de Filter y ElseFilter......................................................................................... 152
Figura D.14. Esquema XML de la simbolización Lineal..................................................................... 153
Figura D.15. Esquema XML de Geometry .......................................................................................... 153
Figura D.16. Ejemplo de uso de Geometry .......................................................................................... 153
Figura D.17. Esquema XML de Stroke................................................................................................ 154
Figura D.18. Esquema XML de CssParameter ................................................................................... 154
Figura D.19. Esquema XML de GraphicFill ....................................................................................... 154
Figura D.20. Esquema XML de GraphicStroke................................................................................... 155
~ vii ~
Figura D.21. Ejemplo de LineSymbolizer ............................................................................................ 155
Figura D.22. Resultado al aplicar la simbolización LineSymbolizer definida en la figura (D.21)....... 155
Figura D.23. Esquema XML de PolygonSymbolizer ........................................................................... 155
Figura D.24. Esquema XML de Fill .................................................................................................... 156
Figura D.25. Ejemplo de estilización poligonal................................................................................... 156
Figura D.26. Resultado de la definición mostrada en la figura (D.25) ................................................ 156
Figura D.27. Esquema XML de PointSymbolizer................................................................................ 156
Figura D.28. Esquema XML de Graphic y ExternalGraphic.............................................................. 157
Figura D.29. Esquema XML Mark ...................................................................................................... 158
Figura D.30. Ejemplo de estilización Puntual...................................................................................... 158
Figura D.31. Resultado de la definición mostrada en la figura (D.30) ................................................ 158
Figura D.32. Esquema XML de TextSymbolizer.................................................................................. 159
Figura D.33. Esquema XML de Font................................................................................................... 159
Figura D.34. Esquema XML de LabelPlacement, PointPlacement y LinePlacement......................... 160
Figura D.35. Esquema XML de AnchorPoint...................................................................................... 160
Figura D.36. Valores que puede tomar AnchorPoint........................................................................... 160
Figura D.37. Esquema XML de Halo .................................................................................................. 162
Figura D.38. Ejemplo de simbolización Texto..................................................................................... 163
Figura D.39. Resultado de la definición mostrada en la figura (D.38) ................................................ 163
~ viii ~
INDICE DE TABLAS
Tabla 1.1. Comparativa de las aplicaciones Web estudiadas con la propuesta...................................... 15
Tabla 2.1. Caracteres reservados en WMS para una cadena de consulta............................................... 21
Tabla 2.2. Estructura de petición HTTP GET........................................................................................ 22
Tabla 2.3. Parámetros para la solicitud GetCapabilities ........................................................................ 25
Tabla 2.4. Parámetros para la solicitud GetMap .................................................................................... 26
Tabla 2.5. Parámetros para la solicitud GetFeatureInfo........................................................................ 28
Tabla 3.1. Descripción de caso de uso Registrar Usuario...................................................................... 41
Tabla 3.2. Descripción del caso de uso Autentificar Usuario ................................................................ 42
Tabla 3.3. Descripción de caso de uso Diseñar Mapa............................................................................ 44
Tabla 3.4. Descripción de caso de uso Solicitar Mapa........................................................................... 45
Tabla 3.5. Descripción de caso de uso Aplicar Estilos .......................................................................... 46
Tabla 3.6. Descripción de caso de uso Generar Código XML............................................................... 48
Tabla 3.7. Descripción de caso de uso Elegir Plantilla de Diseño ......................................................... 50
Tabla 3.8. Descripción de caso de uso Publicar Aplicación Web.......................................................... 51
Tabla 3.9. Descripción de caso de uso Visualizar Aplicación Web....................................................... 52
Tabla 3.10. Simbología utilizada en diagramas de secuencias............................................................... 57
Tabla 5.1. Caso de prueba MAPWEBDE-01.01 Registro de usuarios .................................................. 77
Tabla 5.2. Caso de prueba MAPWEBDE-01.02 Autentificación al sistema ......................................... 79
Tabla 5.3. Caso de prueba MAPWEBDE-01.03 Rechazo al inicio de sesión........................................ 79
Tabla 5.4. Caso de prueba MAPWEBDE-01.04 Acceso al sistema ...................................................... 81
Tabla 5.5. Caso de prueba MAPWEBDE-02 Solicitud y visualización de mapas................................. 82
Tabla 5.6. Caso de prueba MAPWEBDE-03.01 Estilizar líneas ........................................................... 82
Tabla 5.7. Caso de prueba MAPWEBDE-03.02 Estilizar polígonos..................................................... 84
Tabla 5.8. Caso de prueba MAPWEBDE-03.03 Estilizar puntos.......................................................... 86
Tabla 5.9. Caso de prueba MAPWEBDE-03.04 Estilizar texto............................................................. 87
Tabla 5.10. Caso de prueba MAPWEBDE-03.05 Generación de Código XML ................................... 91
Tabla 5.11. Caso de prueba MAPWEBDE-04 Asociar mapa a plantilla de página Web ...................... 93
Tabla 5.12. Caso de prueba MAPWEBDE-05 Publicación de la página Web ...................................... 93
Tabla 5.13. Caso de prueba MAPWEBDE-06 Visualización de la página Web ................................... 94
Tabla 5.14. PRUEBA DE INTEGRACION-Funcionamiento general del sistema................................ 95
Tabla A.1. Navegadores soportados por Ka-Map................................................................................ 114
Tabla A.2. Definición de criterios........................................................................................................ 120
Tabla A.3. Asignación de ponderaciones a cada criterio ..................................................................... 121
Tabla A.4. Asignación de calificaciones a cada API de acuerdo a los criterios................................... 121
Tabla A.5. Obtención de productos por criterio.................................................................................. 121
Tabla A.6. Obtención de sumatorias por API ...................................................................................... 121
Tabla A.7. Asignación de ponderaciones a cada criterio ..................................................................... 123
Tabla A.8. Matriz de evaluación.......................................................................................................... 124
Tabla B.1. Abstracto de etiquetas usadas en MapServer ..................................................................... 134
Tabla B.2. Definición de criterios........................................................................................................ 136
Tabla B.3. Asignación de ponderaciones a cada criterio ..................................................................... 136
~ ix ~
Tabla B.4. Asignación de calificaciones a cada servidor de mapas de acuerdo a los criterios ............ 137
Tabla B.5. Obtención de productos por criterio.................................................................................. 137
Tabla B.6. Obtención de sumatorias por WMS.................................................................................... 137
Tabla B.7. Asignación de ponderaciones a cada criterio ..................................................................... 138
Tabla B.8. Comparativa de servidores ................................................................................................. 139
Tabla D.1. Ejemplos de ubicaciones puntuales.................................................................................... 161
Tabla D.2. Ejemplos de desplazamientos............................................................................................. 161
Tabla D.3. Ejemplos de rotación.......................................................................................................... 161
Tabla D.4. Ejemplos de localización lineal.......................................................................................... 162
Tabla E.1. Elementos de prueba........................................................................................................... 167
Tabla E.2. Descripción de las tareas de prueba.................................................................................... 168
Tabla E.3. Requisitos ambientales ....................................................................................................... 169
Tabla E.4. Casos de prueba.................................................................................................................. 170
~ x ~
GLOSARIO
AdSense 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].
~ xi ~
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 que
Referencia 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].
~ xii ~
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]
CAPÍTULO 1
INTRODUCCIÓN
En el presente capítulo se expone la problemática que se abordó, el objetivo, la
justificación, beneficios, alcances y limitaciones del proyecto de tesis. Además se
muestra la investigación del estado del arte realizado y la organización general del
documento.
Capítulo 1 Introducción
Página 2
1.1. Introducción
Desde hace muchos siglos el hombre ha representando su entorno a través de mapas
plasmados en materiales como: tablillas de arcilla, seda y papel. A través de los años los
métodos de representación de mapas fueron mejorando y dieron lugar a la ciencia que hoy se
conoce como la ciencia cartográfica.
Gracias a los avances tecnológicos y científicos que se han desarrollado en las últimas
décadas, la cartografía ha mejorado de manera sorprendente con la incorporación de nuevas
tecnologías denominadas Sistemas de Información Geográfica (GIS, Geographic Information
System por sus siglas en inglés), los cuales han permitido que las aplicaciones y utilidades
informáticas visualicen mapas geográficos de diferentes temáticas y permitan realizar
consultas espaciales a través de la computadora.
Por otro lado, Internet se ha convertido en un medio ideal para la publicación de mapas
geográ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 mapas
digitales en formatos vectorial y ráster (en el capítulo 2 de marco teórico se describen cada
uno de estos formatos). En particular, los mapas vectoriales, antes de ser publicados pasan por
un proceso de estilización en el que se asignan propiedades como color, tamaño y estilo a cada
uno 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 que
permitan estilizar mapas en un ambiente Web, por lo que el diseñador de mapas se vale de
herramientas 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, que
es posible crear estilos personalizados por el diseñador de manera sencilla. Estos estilos se
verán reflejados mediante un archivo SLD basado en XML, el cual describirá detalladamente
los estilos aplicados a cada uno de los puntos, líneas y polígonos representados en un mapa
vectorial. Como resultado, se obtendrá un archivo SLD independiente del mapa vectorial
visualizado, el cual será asociado al mapa base al momento de ser publicado en un Servidor de
Mapas.
1.2. Descripción del problema
Existen herramientas de escritorio y APIs tanto propietarias como libres para la creación y
estilización de mapas. Lo que respecta a las herramientas de escritorio gratuitas, proporcionan
al usuario funciones para la consulta, edición y creación de planos. Son herramientas
complejas de utilizar y requieren instalarse en la máquina local. En cuanto a las APIs de
código abierto, proporcionan funciones que permiten manipular y visualizar mapas en
Internet, pero no se ha encontrado una aplicación que implemente funciones destinadas a la
estilización de mapas utilizando un API de código libre. Es por lo anterior que el problema
que dio origen a la presente tesis se centra en que no se han encontrado aplicaciones Web que
contengan tanto mapas geográficos como interfaces que permitan diseñar la apariencia del
mapa y la interacción con el mismo, debido a la falta de aplicaciones que faciliten y
automaticen la integración de estas dos cosas.
Capítulo 1 Introducción
Página 3
1.3. Objetivos
Contribuir a la creación de prototipos de aplicaciones Web de forma rápida, mediante la
implementación de una herramienta de software que proporcione servicios que permitan
diseñar la apariencia e interacción con mapas temáticos utilizando el estándar XML y APIs de
código abierto que incluyan servicios de acceso a servidores de mapas. El diseño y la
implementació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 mapa
1.4. Justificación
De acuerdo a estadísticas publicadas por la Asociación Mexicana de Internet (AMIPCI), el uso
de la industria de Internet en México se mantiene en crecimiento. Según el estudio realizado
en el rubro de comercio electrónico, el crecimiento registrado del año 2006 al 2007 fue de un
78% 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)
Capítulo 1 Introducción
Página 4
Lo anterior pone en evidencia que el desarrollo y uso de aplicaciones Web han mantenido su
crecimiento y con el pasar de los años, van buscando información más precisa en términos de
datos de ubicación que enriquezcan y visualicen sus servicios. Con los avances tecnológicos
actuales, es posible mostrar esta información a través de mapas para que los usuarios puedan
fácilmente ubicar y visualizar objetos, lugares de interés además de otros servicios vía Web
dependiendo de la temática del mapa. Para realizar esto, existen APIs y herramientas
disponibles en la Web de manera gratuita que proporcionan el servicio de visualización de
mapas.
La importancia de los mapas va desde saber donde se encuentra cierto servicio, hasta el de
salvar la vida a toda una población. Por ejemplo, un mapa de carreteras es una guía que
proporciona información de cómo llegar a otro lugar, un mapa meteorológico ayuda a los
científicos a ubicar dónde y hacia dónde van los huracanes, tornados, incendios, etc. Y con
ello 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 describan
los objetos utilizados en un mapa. En particular la presente tesis se enfocó en la aplicación de
estilos 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 aspectos
importantes que se mencionan a continuación y dieron pauta a la factibilidad de esta
investigación.
Para crear un mapa con las APIs disponibles de código abierto, se requiere de asimilar cada
una de ellas y después utilizar sólo las funciones que se necesiten de la API elegida. En esta
parte se requiere de tiempo suficiente para poder conocer la API e implementar el código que
permitirá la visualización del mapa.
Una vez que se tienen los mapas visualizados, resulta necesario diseñar la apariencia del mapa
de acuerdo a las necesidades que se presenten. Esta etapa resulta una limitante más, que
retarda la realización de mapas de manera rápida, pues la edición se hace de forma manual
insertando 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. La
desventaja de esto es que si un usuario modifica el estilo del mapa a sus necesidades, otro
usuario que utilice el mismo mapa visualizará las modificaciones del usuario anterior.
1.5. Beneficios
El beneficio principal que se obtuvo de la presente tesis es una aplicación Web que
proporciona 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.
Capítulo 1 Introducción
Página 5
 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 tesis
El 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 tesis
El 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.
Capítulo 1 Introducción
Página 6
1.8. Estado de la práctica
La investigación del estado de la práctica cubre dos aspectos: el primero es entender el
contexto en el que se trabajó, para ello se hace una descripción sobre la clasificación de
proyectos de software libre disponibles para la manipulación de información espacial. Y el
segundo aspecto abarca la investigación de aplicaciones Web relacionadas con la presente
tesis.
Abordando el primer punto en la investigación del estado de la práctica se encontraron muchas
herramientas 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áficas
Las bases de datos geográficas son similares a las relacionales con la diferencia que en la
primera se puede almacenar geometría. La OGC proporciona la especificación Simple
Features que describe el conjunto de tipos de datos y funciones que debe cumplir una base de
datos 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 es
distribuido a las empresas con licencia propietaria).
Servidores de mapas
Los servidores de mapas permiten publicar cartografía en la Web para que los usuarios puedan
interaccionar con información geográfica a través de Internet. La OGC proporciona la
especificación Web Map Service que describe los servicios que debe proporcionar un servidor
de mapas. Los proyectos de software libre que se han desarrollado para este grupo son UMN
MapServer, GeoServer, Degree y MapGuide OpenSource [MONTESINOS, 2007].
Herramientas de metadatos
Los servidores de catálogos son aplicaciones que permiten publicar en la red un conjunto de
metadatos sobre diferentes conjuntos de datos. Estos catálogos son expuestos como un portal
que permite hacer búsquedas mediante diferentes criterios. Los proyectos de software libre
que se han desarrollado bajo este rubro son Geonetwork y CaMDEdit [MONTESINOS, 2007].
Clientes pesados
Los clientes pesados son todas las aplicaciones de escritorio que han sido útiles para la gestión
de información geográfica. Las funciones que se tienen con estas herramientas son las de
edición, análisis y explotación de información geográfica. Existen muchos proyectos de
software libre en esta clasificación pero los más representativos son: Grass, Quantum GIS,
Capítulo 1 Introducción
Página 7
gvSIG, Saga y Sextante, MapWindow, World Wind, Open Jump , Kosmo, ILWIS y uDig
[MONTESINOS, 2007].
Clientes ligeros
Los clientes ligeros surgieron con la aparición de los servidores de mapas. Proporcionan un
conjunto de componentes o funciones que permiten a los desarrolladores de aplicaciones Web
crear páginas Web o aplicaciones Web con contenido espacial. Los proyectos más
representativos 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 libre
De acuerdo a la clasificación anterior y tomando en cuenta los objetivos de la tesis. El presente
trabajo 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 aplicaciones
Web que se relacionan con la presente tesis. En este estudio se encontraron un gran número de
aplicaciones Web que fueron desarrolladas en su mayoría utilizando la API de Google Maps y
Yahoo Maps. Las diferencias más sobresalientes que se encontraron entre las aplicaciones
fueron las temáticas que manejaban (clima, ruta de maratones, deportes, procedimientos
electorales, lugares de pesca, etc.), ya que en todos los sitios se permitían hacer búsquedas
sobre el mapa, calcular rutas e insertar puntos de interés (POIs), pero pocas aplicaciones
permitía exportar los objetos insertados en el mapa a archivos KML. No se encontraron
Capítulo 1 Introducción
Página 8
aplicaciones que permitieran estilizar los objetos del mapa visualizado, sólo se facilitaban
componentes 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 permiten
manipular información espacial, se describen sus característica más sobresalientes y se
mencionan las desventajas que presentan con el presente trabajo.
1.8.1. Click2Map
Es una aplicación Web que permite crear y publicar mapas de Google en línea. Cualquier
persona con acceso a Internet puede crear1
y publicar sus mapas en Internet sin tener que
codificar 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 gratuita
pero limitado a las primeras cuatro funciones presentadas en la lista anterior. Los usuarios tipo
silver, gold y platinium son usuarios que pagan mensualmente una cantidad en dólares que van
desde 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 usuario
elige que porción del mapa o extensión territorial desea visualizar en la página Web que genera click2map. Esa
extensión territorial es un nuevo mapa que manipula la aplicación y por lo tanto lo considera como un mapa
creado por el usuario.
Capítulo 1 Introducción
Página 9
Figura 1.3. Interfaz de usuario de Click2Map
En 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 Click2Map
La principal desventaja de esta aplicación con la que se desarrolló, es que el usuario debe
pagar una cantidad mensual para poder utilizar el mapa generado como widget de una página
personal. Utiliza los mapas de Google y por lo tanto no los puede estilizar, lo único que puede
realizar el usuario es insertar y administrar POIs personalizados.
Capítulo 1 Introducción
Página 10
1.8.2. Map24
Es 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 Map24
La desventaja de esta aplicación es que únicamente se enfoca a realizar búsquedas sobre el
mapa y por lo tanto no ofrece el servicio de estilización y publicación de los mapas en una
página Web que contengan el mapa estilizado.
1.8.3. ZoomIn
Esta 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.
Capítulo 1 Introducción
Página 11
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 y
que puedan usar estos mapas en una aplicación Web. Sólo se aboca a la inserción de puntos
con documentos asociados.
En la figura (1.6) se ilustra la interfaz de ZoomIn.
Figura 1.6. Interfaz de ZoomIn
1.8.4. MapBuilder
Es 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.
Capítulo 1 Introducción
Página 12
Figura 1.7. Interfaz de MapBuilder
Al igual que las aplicaciones anteriores MapBuilder se limita a realizar inserciones de
marcadores sobre los mapas proporcionados por Google Maps y no permite cambiar las
especificaciones de estilo de los mapas visualizados.
1.8.5. Google Maps
API gratuita de Google lanzada el 6 de octubre de 2005 la cual ofrece las siguientes
caracterí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. Se
pueden 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ño
de los objetos que se muestran en el mapa.
En la figura (1.8) se muestra la interfaz de Google Maps.
Capítulo 1 Introducción
Página 13
Figura 1.8. Interfaz de Google Maps
1.8.6. Yahoo Maps
Es 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 no
permite la estilización de los mapas en línea y sólo se pueden consultar los mapas que provee
por default.
En la figura (1.9) se muestra la interfaz de Yahoo Maps.
1.8.7. Live Search Maps
Es 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.
Capítulo 1 Introducción
Página 14
Figura 1.9. Interfaz de Yahoo Maps
Figura 1.10. Interfaz de Virtual Earth
A continuación en la tabla (1.1) se muestra la comparativa de los trabajos relacionados con
el trabajo de tesis, el cual a partir de aquí se le hará referencia con el nombre de MapWeb
Designer (Design of maps in web).
Capítulo 1 Introducción
Página 15
Tabla 1.1. Comparativa de las aplicaciones Web estudiadas con la propuesta.
Aplicaciones
Web
Visualización
de mapas
Estilización de
PUNTOS del
mapa basado
en XML
Estilización de
LINEAS del
mapa basado
en XML
Estilización de
POLIGONOS del
mapa basado
en XML
Estilización de
TEXTO del
mapa basado
en XML
Publicación del
mapa en una
página Web
elegida por el
usuario
Click2Map Sí
No, sólo
permite la
personalización
de POIs
insertados
sobre el mapa
No, sólo dibuja
líneas con
estilos definidos
por el usuario
No, sólo dibuja
polígonos con
estilos definidos
por el usuario.
No
Si, publica el
mapa pero el
usuario no elige
la página Web
Map24 Sí No No No No No
ZoomIn Sí No No No No No
Map Builder Sí No No No No Sí
Google Maps Sí
No, utiliza KML
para describir
los POIS
insertados
No No No Sí
Yahoo Maps Sí No No No No Sí
Live Search
Maps
Sí
No, únicamente
inserta puntos
de interés y los
exporta a KML
No, sólo dibuja
líneas sobre el
mapa y los
exporta a KML
No, sólo dibuja
polígonos sobre
el mapa y los
exporta a KML
No No
MapWeb
Designer
(TESIS)
Sí Sí Sí Sí Sí Sí
1.9. Organización del documento
Los 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ías
involucradas 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 realizado
y para ello se presentan los casos de uso, diagramas de actividad, diagramas de clases y
diagramas 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 la
tesis 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 muestra
la evaluación de los servidores de mapas, en el anexo C se presenta el modelo de objetos y el
modelo de clases del documento SLD, en el anexo D se expone la especificación SLD y en el
anexo E se presenta el plan de pruebas.
Capítulo 1 Introducción
Página 16
CAPÍTULO 2
MARCO TEÓRICO
En este capítulo se describen conceptos elementales de las tecnologías involucradas
en el desarrollo de la presente tesis.
Capítulo 2 Marco Teórico
Página 18
2.1. Sistemas de Información Geográfica
Un Sistema de Información Geográfica (GIS, en su acrónimo inglés) es un sistema informático
integrado que permite el almacenamiento, mapeo, manipulación y análisis de datos
geográficos o espaciales. Puede presentar la información en diferentes capas temáticas
almacenándolas de manera independientemente, permitiendo trabajar con ellas de manera
rápida y sencilla, y facilitando al profesional la posibilidad de relacionar la información
existente a través de la topología de los objetos, con el fin de generar otra nueva que no se
podría obtener de otra forma [VON, 2005].
En la figura (2.1) se observan varias capas que son puestas unas sobre otras para poder
representar con mayor exactitud a la realidad.
Figura 2.1. Capas que representan la realidad
Los sistemas de información geográfica requieren de varios componentes para poder funcionar
correctamente. Estos componentes son una colección organizada de hardware, software, datos
geográficos y personal. Diseñados para capturar, almacenar, manipular, analizar y desplegar
en todas sus formas la información geográficamente referenciada con el fin de resolver
problemas 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 pueden
ejecutar en gran número de equipos que van desde servidores hasta computadoras portátiles
usados en red o trabajando en modo desconectado [CARMONA, 2007].
Software. Los programas GIS proveen las funciones y las herramientas necesarias para
almacenar, analizar y desplegar la información geográfica. Los principales componentes de los
programas 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.
Capítulo 2 Marco Teórico
Página 19
Datos geográficos. La parte más importante de un sistema de información geográfico son sus
datos. Los datos geográficos y tabulares pueden ser adquiridos por quien implementa el
sistema de información, así como por terceros que ya los tienen disponibles. El sistema de
información geográfico integra los datos espaciales con otros recursos de datos y puede
incluso utilizar los manejadores de base de datos más comunes para manejar la información
geográ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 del
mundo real [CARMONA, 2007].
Una segunda definición más concreta es la que se proporciona en [LBSPRO, 2007]: Un
sistema 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 la
precisión de la localización. Divide el espacio en celdas regulares donde cada una de ellas
representa un único valor. Una capa en formato ráster está compuesta por cuatro elementos
fundamentales:
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 la
precisió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) se
ilustra con mayor detalle la organización de la información contenida en un pixel de una
imagen rasterizada.
Capítulo 2 Marco Teórico
Página 20
Figura 2.2. Organización de la información en el modelo de datos ráster
Figura 2.3. Información de un pixel
2.1.2. Información vectorial
Al contrario de lo que ocurre en el formato ráster, el formato vectorial define objetos
geométricos (puntos, líneas y polígonos) mediante la codificación explícita de sus
coordenadas. Los puntos se codifican en formato vectorial por un par de coordenadas en el
espacio, las líneas como una sucesión de puntos conectados y los polígonos como líneas
cerradas 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 reales
ubicadas en el espacio (carreteras, ríos, parcelas de cultivo). El formato ráster resulta más
adecuado cuando se manejan datos que suponen un valor promediado sobre una extensión
territorial que se considera homogénea, por ejemplo estadísticas municipales, clima, zonas de
riesgo [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
Capítulo 2 Marco Teórico
Página 21
2.2. Open Gesospatial Consortium (OGC)
El Open Geospatial Consortium (OGC)es un consorcio internacional de la industria
conformado por 369 compañías, agencias gubernamentales y universidades que participan en
un proceso de consenso para desarrollar especificaciones de interconexión disponibles al
público. Las especificaciones OpenGis soportan soluciones interoperables para sistemas de
información geográfica y sistemas basados en localización con el objetivo de que los
desarrolladores de este tipo de tecnologías creen servicios e información espacial útiles y
disponibles a toda clase de aplicaciones [OGC, 2008].
Del conjunto de especificaciones que define la OGC, la especificación Styled Layer
Descriptor (SLD) y la Web Map Service fueron las que se estudiaron para desarrollar la
presente tesis.
2.2.1. Web Map Service(WMS)
Un Web Map Service (WMS por sus siglas en inglés) produce mapas en forma dinámica a
partir de información geográfica vectorial o ráster presentando la información como imágenes
digitales susceptibles de ser visualizadas en pantalla. La visualización de la imagen suele ser
en formato ráster: PNG, GIF o JPEG, y ocasionalmente, se representan como información
vectorial en formato Scalable Vector Graphics (SVG) o Web Computer Graphics Metafile
(WebCGM).
Los mapas visualizados pueden sobreponerse unos a otros, siempre y cuando los parámetros
geográficos y tamaño de salida sean los mismos. El uso de formatos que permiten fondo
transparente (por ejemplo GIF y JPEG) facilita la visualización simultánea de estos mapas.
Un WMS, acepta peticiones HTTP de aplicaciones cliente. La petición HTTP contiene la
solicitud de un mapa siguiendo la especificación WMS definida por la OGC. El WMS procesa
la solicitud y responde con el correspondiente mapa codificado en el formato indicado en la
petición y con el estilo de visualización solicitado. [BRISABOA, 2007]
Las peticiones HTTP pueden ser tipo GET o POST. Un servidor puede ofrecer uno o ambos
métodos siendo la petición GET una petición obligatoria y la petición POST una petición
opcional hablando en términos de implementación de WMSs.
De acuerdo a la especificación URL (IETF RFC 2396) se reservaron un conjunto de caracteres
especiales que estructuran la cadena de la petición al WMS.
A continuación en la tabla (2.1) se describe el significado de cada caracter especial
introducido en la URL de la petición HTTP.
Tabla 2.1. Caracteres reservados en WMS para una cadena de consulta
Fuente: tomado de [OGC, 2002]
Caracter Uso Reservado
? Indica el inicio de la cadena de consulta.
&
Separador entre parámetros de la cadena de
consulta.
=
Indica la separación entre el nombre y valor de
un parámetro.
Capítulo 2 Marco Teórico
Página 22
/
Separador entre tipo MIME y subtipo en formato
parámetro valor.
:
Separador entre nombres de espacio y el
identificador de los SRS.
,
Separa valores individuales en la lista de
parámetros (como BBOX, LAYERS y STYLES en
una solicitud GetMap).
2.2.2. HTTP GET [OGCWMS, 2002]
Para realizar una petición GET, debe indicarse la URL del servicio junto con los parámetros
adicionales que se deseen añadir. La estructura es: http ó https, seguido del nombre de la
máquina o una dirección numérica, opcionalmente se indica el número de puerto, y finalmente
la ruta y el signo de interrogación “?”, el cual es obligatorio. Los parámetros del servicio se
añaden después del signo de interrogación finalizando con un “&”. Cada operación está
formada por parámetros obligatorios y otros optativos que puede ejecutarse desde cualquier
navegador.
En la tabla (2.2) se describe cómo se debe estructurar la cadena de solicitud de mapas
utilizando el método GET.
Tabla 2.2. Estructura de petición HTTP GET
Fuente: tomado de [OGCWMS, 2002]
Componente URL Descripción
http://host[:port]/path[?{name[=value]&}] URL prefijo de operación del servicio. [] Denotan
0 ó 1 ocurrencias de una parte opcional; {}
denotan 0 o más ocurrencias.
name=value& Uno o más parámetros de nombre/valor, tal
como se define para cada operación.
Un ejemplo de solicitud GET de un mapa es la siguiente [DIGECA, 2008]:
http://ovc.catastro.meh.es/Cartografia/WMS/ponenciasWMS.aspx?SERVICE=WMS&SRS=EPSG:23
030&REQUEST=GETMAP&bbox=426500,4448300,430500,4451300&width=400&height=300&forma
t=PNG&transparent=No
El resultado de la petición anterior se ilustra en la figura (2.5).
Capítulo 2 Marco Teórico
Página 23
Figura 2.5. Resultado de solicitud GET a un WMS
Fuente: Tomado de [DIGECA, 2008]
2.2.3. HTTP POST
Cuando se utiliza este método, el mensaje de solicitud es formulado en un documento XML.
Ejemplo [CSGRIP, 2008]:
Para realizar la petición HTTP POST se requiere enviar desde un formulario la URL del
servicio y el documento XML que describa los parámetros de la solicitud.
En la figura (2.6) se muestra el código del formulario que enviará la solicitud HTTP POST y
en la figura (2.7) se muestra la ejecución del formulario en el que se ingresa la URL del
servicio y el código XML que describe los parámetros de la solicitud.
Una vez enviada la petición al servidor, éste procesa la solicitud y regresa como resultado el
mapa que se muestra en la figura (2.8).
Capítulo 2 Marco Teórico
Página 24
Figura 2.6. Código HTML de formulario para manejo de petición POST
Fuente: tomado de [CSGRIP, 2008]
Figura 2.7. Envío de petición HTTP POST
Fuente: tomado de [CSGRIP, 2008]
Capítulo 2 Marco Teórico
Página 25
Figura 2.8. Resultado de la petición HTTP POST
2.2.4. Operaciones WMS [OGCWMS, 2002]
El estándar WMS define dos modos de operar: WMS básico y WMS de consulta.
El WMS básico debe soportar los elementos básicos de servicio (versión, peticiones y
respuestas HTTP, valores numéricos y booleanos, determinados formatos de salida, sistemas
de coordenadas, parámetros de consulta y de respuesta, y excepciones), la operación
GetCapabilities y la operación GetMap. Clasifica la información que posee en capas y ofrece
un número determinado de estilos, con los cuales se pueden visualizar dichas capas. Este
estándar internacional WMS únicamente soporta capas y estilos definidos, no incluye
mecanismos de simbolización por parte del usuario.
El WMS de consulta debe satisfacer todos los requerimientos de un WMS básico y también
soportar la operación GetFeatureInfo.
A continuación se describen las operaciones soportadas por los WMSs.
 GetCapabilities (Obligatoria)
GetCapabilities ofrece información humanamente legible acerca de las características
del servicio (metadatos), es decir, permite obtener metadatos acerca del WMS
implementado, de las funcionalidades soportadas por el servicio, e información
específica sobre las capas de información geográfica disponibles. La información es
devuelta al cliente codificada en un documento XML. Los parámetros para realizar la
petición GetCapabilities se muestran en la tabla (2.3).
Tabla 2.3. Parámetros para la solicitud GetCapabilities
Fuente: tomado de [OGCWMS, 2002]
Parámetro de solicitud Obligatoriedad Descripción
VERSION=versión Opcional Versión de la especificación OGC.
SERVICE=WMS Obligatorio
Tipo de servicio al que va dirigida la
petición.
Capítulo 2 Marco Teórico
Página 26
REQUEST=GetCapabilities Obligatorio Nombre de la operación.
UPDATESEQUENCE=string Opcional
Secuencia de números o cadena de
caracteres para el control de la
consistencia del caché. Este valor se
incrementa cuando se realizan cambios
en el “Capabilities”.
Ejemplo [CSGWMS2008]:
A continuación se muestra la solicitud de las características del servicio “IDEE-Base”.
El resultado de la petición se observa en la figura (2.9).
http://www.idee.es/wms/IDEE-Base/IDEE-
Base?VERSION=1.1.0&REQUEST=GetCapabilities&SERVICE=WMS
Figura 2.9. Resultado de la petición GetCapabilities
 GetMap (Obligatoria)
Esta operación proporciona como resultado un mapa el cual refleja una imagen de los
datos almacenados. La tabla (2.4) describe cada parámetro necesario para realizar una
petición GetMap.
Tabla 2.4. Parámetros para la solicitud GetMap
Fuente: tomado de [OGCWMS, 2002]
Parámetro de solicitud Obligatoriedad Descripción
VERSION Obligatorio Versión de la especificación OGC.
REQUEST=GetMap Obligatorio Nombre de la petición.
LAYERS=lista de capas Obligatorio Lista de una o más capas, separadas por comas.
STYLES=lista de estilos Obligatorio
Estilo de visualización por capa requerida,
separados por comas.
SRS=namespace:identificador Obligatorio Sistema de Referencia Espacial.
Capítulo 2 Marco Teórico
Página 27
Ejemplo [CSGWMS, 2008]:
A continuación se muestra un ejemplo de solicitud en la que se pide visualizar las
capas Relieve, Hidrografía y Transporte del servicio IDEE-Base.
http://www.idee.es/wms/IDEE-Base/IDEE-
Base?VERSION=1.1.0&REQUEST=GetMap&LAYERS=Relieve,Hidrografia,transporte&STYL
ES=default&SRS=EPSG:4230&BBox=-
3.4650655,40.4137,3.62939155,44.13107&WIDTH=1000&HEIGHT=1000&FORMAT=image/jpeg
El mapa resultante se ilustra en la figura (2.10).
Figura 2.10. Resultado de la petición GetMap
BBOX=minx,miny,maxx,maxy Obligatorio
Esquinas de ámbito (inferior izquierda, superior
derecha) en unidades SRS.
WIDTH=ancho Obligatorio Ancho del mapa en pixeles.
HEIGHT=alto Obligatorio Alto del mapa en pixeles.
FORMAT=formato de salida Obligatorio Formato de salida del mapa.
TRANSPARENT=TRUE|FALSE Opcional
Transparencia del fondo del mapa
(default=FALSE).
BGCOLOR=color_value Opcional
Valor del color de fondo RGB en Hexadecimal
(default=0xFFFFFF).
EXCEPTOPNS=exceptions_format Opcional
Formato en el que el WMS informa de las
excepciones (default=XML).
TIME=time Opcional Valor del tiempo en las capas deseadas.
ELEVATION=elevation Opcional Elevación de las capas deseadas.
Los siguientes parámetros son utilizados sólo por WMSs que soportan la especificación SLD
SLD=url del sld Opcional URL del documento SLD.
SLD_BODY=sld codificado Opcional
Estilo definido por el usuario codificado de
manera que pueda enviarse por la URL.
WFS=url del wfs Opcional
URL del Web Feature Service para proporcionar
características de simbolización mediante SLD.
Capítulo 2 Marco Teórico
Página 28
 GetFeatureInfo (Opcional)
GetFeatureInfo es una operación que captura y proporciona información contenida en
un mapa, tal como el valor de un objeto en una posición determinada. Es sólo
soportada por aquellas capas que tienen el atributo queryable=1 que ha sido definido o
heredado.
Un cliente no puede emitir una solicitud GetFeatureInfo para capas que tienen el
atributo queryable=0.
En la tabla (2.5) se describe los parámetros para realizar una petición GetFeatureInfo.
Tabla 2.5. Parámetros para la solicitud GetFeatureInfo
Fuente: tomado de [OGCWMS, 2002]
Componentes Obligatoriedad Descripción
VERSION=versión Obligatorio Versión de la especificación OGC.
REQUEST=GetFeatureInfo Obligatorio Nombre de la petición.
Parámetros del mapa Obligatorio
Copia parcial de una petición de mapas que genera
el mapa del cual se quiere obtener información.
QUERY_LAYERS=lista de capas Obligatorio
Lista de una o más capas, sobre las que se realiza la
consulta, separadas por comas.
INFO_FORMAT=formato de
salida
Opcional
Formato de respuesta de la información sobre el
objeto (MIME type).
FEATURE_COUNT=número Opcional
Número de objetos sobre los que se devuelve
información (default=1).
X=pixel_column Obligatorio
Coordenada X del objeto en el Mapa, en pixeles
(medido desde la esquina superior izquierda=0).
Y=pixel_row Obligatorio
Coordenada Y del objeto en el Mapa, en pixeles
(medido desde la esquina superior izquierda=0).
EXCEPTIONS=exception_format Opcional
Formato en el que el WMS informa de las
excepciones (default=application/vnd.ogc.se.xml).
Ejemplo [CSGWMS2008]:
A continuación se muestra una solicitud HTTP GET que solicita las características de
un vértice de la capa redroi (Red de Orden Inferior) situado en el pixel x=250, y=300
del servicio Sistema de Referencia.
http://www.idee.es/wms/IDEE-Referencia/IDEE-
Referencia?SERVICES=WMS&VERSION=1.1.0&REQUEST=GetFeatureInfo&LAYERS=redro
i&STYLES=default&SRS=EPSG:4230&BBox=-5.4650655,38.4137,-
1.62939155,42.13107&WIDTH=400&HEIGHT=500&FORMAT=image/png&OPAQUE&QUER
Y_LAYERS=redroi&FEATURE_COUNT=1&X=250&Y=300
El resultado de la solicitud anterior se ilustra en la figura (2.11).
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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

Contenu connexe

Similaire à 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

Diseño de un_centro_de_acopio_y_el_manual_de_buenas_prácticas_de_manufactura_...
Diseño de un_centro_de_acopio_y_el_manual_de_buenas_prácticas_de_manufactura_...Diseño de un_centro_de_acopio_y_el_manual_de_buenas_prácticas_de_manufactura_...
Diseño de un_centro_de_acopio_y_el_manual_de_buenas_prácticas_de_manufactura_...Oscar Hernando Sanchez Roa
 
Aplicacion_de_fotogrametria_aerea_en_lev.pdf
Aplicacion_de_fotogrametria_aerea_en_lev.pdfAplicacion_de_fotogrametria_aerea_en_lev.pdf
Aplicacion_de_fotogrametria_aerea_en_lev.pdfRafaelAraoz
 
INT PLAN DE DESARROLLO TURÍSTICO SOSTENIBLE mpio berlin 2019.pdf
INT PLAN DE DESARROLLO TURÍSTICO SOSTENIBLE mpio berlin 2019.pdfINT PLAN DE DESARROLLO TURÍSTICO SOSTENIBLE mpio berlin 2019.pdf
INT PLAN DE DESARROLLO TURÍSTICO SOSTENIBLE mpio berlin 2019.pdfLuisanaFonseca1
 
CAUDAL ECOLOGICO (CAPTACION).pdf
CAUDAL ECOLOGICO (CAPTACION).pdfCAUDAL ECOLOGICO (CAPTACION).pdf
CAUDAL ECOLOGICO (CAPTACION).pdfjose727712
 
Electrónica: Diseño y ensamble de impresora 3 d por estudiantes de técnico en...
Electrónica: Diseño y ensamble de impresora 3 d por estudiantes de técnico en...Electrónica: Diseño y ensamble de impresora 3 d por estudiantes de técnico en...
Electrónica: Diseño y ensamble de impresora 3 d por estudiantes de técnico en...SANTIAGO PABLO ALBERTO
 
Diseño sistema web
Diseño sistema webDiseño sistema web
Diseño sistema weblongojose
 
Jader Luis amador Fernandez y Jordany Alejandro Suarez Picado....
Jader Luis amador Fernandez y Jordany Alejandro Suarez Picado....Jader Luis amador Fernandez y Jordany Alejandro Suarez Picado....
Jader Luis amador Fernandez y Jordany Alejandro Suarez Picado....Jader Luis Amador Fernandez
 
Gateway SMS Pull para Servicios Basados en Localización con una Arquitectura ...
Gateway SMS Pull para Servicios Basados en Localización con una Arquitectura ...Gateway SMS Pull para Servicios Basados en Localización con una Arquitectura ...
Gateway SMS Pull para Servicios Basados en Localización con una Arquitectura ...Gabriel Gonzalez Serna
 
ANTEPROYECTO DEL COMPLEJO CULTURAL Y RECREATIVO DEL BARRIO SAN JACINTO.pdf
ANTEPROYECTO DEL COMPLEJO CULTURAL Y RECREATIVO DEL BARRIO SAN JACINTO.pdfANTEPROYECTO DEL COMPLEJO CULTURAL Y RECREATIVO DEL BARRIO SAN JACINTO.pdf
ANTEPROYECTO DEL COMPLEJO CULTURAL Y RECREATIVO DEL BARRIO SAN JACINTO.pdffrankalvaradop
 
Proyecto integrador - Charla sobre el Aborto en los Adolescentes - Ecuador
Proyecto integrador - Charla sobre el Aborto en los Adolescentes - EcuadorProyecto integrador - Charla sobre el Aborto en los Adolescentes - Ecuador
Proyecto integrador - Charla sobre el Aborto en los Adolescentes - EcuadorNo trabajo, mis padres me mantienen
 
Aplicacion de los_geosintéticos_en_la_estructura_de_los_pavimentos_y_en_obras...
Aplicacion de los_geosintéticos_en_la_estructura_de_los_pavimentos_y_en_obras...Aplicacion de los_geosintéticos_en_la_estructura_de_los_pavimentos_y_en_obras...
Aplicacion de los_geosintéticos_en_la_estructura_de_los_pavimentos_y_en_obras...Hugo Huamani Machuca
 
Desarrollo de un software educativo para los bloques II, IV y V de la materia...
Desarrollo de un software educativo para los bloques II, IV y V de la materia...Desarrollo de un software educativo para los bloques II, IV y V de la materia...
Desarrollo de un software educativo para los bloques II, IV y V de la materia...Alba Soto Dominguez
 
Servicios de localización conscientes del contexto aplicando perfiles de movi...
Servicios de localización conscientes del contexto aplicando perfiles de movi...Servicios de localización conscientes del contexto aplicando perfiles de movi...
Servicios de localización conscientes del contexto aplicando perfiles de movi...Gabriel Gonzalez Serna
 
TFG OROCOSTA- con correcciones de tutores.docx
TFG OROCOSTA- con correcciones de tutores.docxTFG OROCOSTA- con correcciones de tutores.docx
TFG OROCOSTA- con correcciones de tutores.docxNada solo estudio
 
Valeriano turpo wilbet_catacora_mendoza_adhemir
Valeriano turpo wilbet_catacora_mendoza_adhemirValeriano turpo wilbet_catacora_mendoza_adhemir
Valeriano turpo wilbet_catacora_mendoza_adhemirCristianEcosAla
 
Propuesta de diseño de pavimento rígido, Diseño del espesor de pavimento rígi...
Propuesta de diseño de pavimento rígido, Diseño del espesor de pavimento rígi...Propuesta de diseño de pavimento rígido, Diseño del espesor de pavimento rígi...
Propuesta de diseño de pavimento rígido, Diseño del espesor de pavimento rígi...Josué A. Sanez C.
 

Similaire à 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 (20)

Diseño de un_centro_de_acopio_y_el_manual_de_buenas_prácticas_de_manufactura_...
Diseño de un_centro_de_acopio_y_el_manual_de_buenas_prácticas_de_manufactura_...Diseño de un_centro_de_acopio_y_el_manual_de_buenas_prácticas_de_manufactura_...
Diseño de un_centro_de_acopio_y_el_manual_de_buenas_prácticas_de_manufactura_...
 
Tesis de gps_diferencial_en_pdf
Tesis de gps_diferencial_en_pdfTesis de gps_diferencial_en_pdf
Tesis de gps_diferencial_en_pdf
 
Aplicacion_de_fotogrametria_aerea_en_lev.pdf
Aplicacion_de_fotogrametria_aerea_en_lev.pdfAplicacion_de_fotogrametria_aerea_en_lev.pdf
Aplicacion_de_fotogrametria_aerea_en_lev.pdf
 
Tesis arroz
Tesis arrozTesis arroz
Tesis arroz
 
INT PLAN DE DESARROLLO TURÍSTICO SOSTENIBLE mpio berlin 2019.pdf
INT PLAN DE DESARROLLO TURÍSTICO SOSTENIBLE mpio berlin 2019.pdfINT PLAN DE DESARROLLO TURÍSTICO SOSTENIBLE mpio berlin 2019.pdf
INT PLAN DE DESARROLLO TURÍSTICO SOSTENIBLE mpio berlin 2019.pdf
 
CAUDAL ECOLOGICO (CAPTACION).pdf
CAUDAL ECOLOGICO (CAPTACION).pdfCAUDAL ECOLOGICO (CAPTACION).pdf
CAUDAL ECOLOGICO (CAPTACION).pdf
 
Electrónica: Diseño y ensamble de impresora 3 d por estudiantes de técnico en...
Electrónica: Diseño y ensamble de impresora 3 d por estudiantes de técnico en...Electrónica: Diseño y ensamble de impresora 3 d por estudiantes de técnico en...
Electrónica: Diseño y ensamble de impresora 3 d por estudiantes de técnico en...
 
Diseño sistema web
Diseño sistema webDiseño sistema web
Diseño sistema web
 
Jader Luis amador Fernandez y Jordany Alejandro Suarez Picado....
Jader Luis amador Fernandez y Jordany Alejandro Suarez Picado....Jader Luis amador Fernandez y Jordany Alejandro Suarez Picado....
Jader Luis amador Fernandez y Jordany Alejandro Suarez Picado....
 
Gateway SMS Pull para Servicios Basados en Localización con una Arquitectura ...
Gateway SMS Pull para Servicios Basados en Localización con una Arquitectura ...Gateway SMS Pull para Servicios Basados en Localización con una Arquitectura ...
Gateway SMS Pull para Servicios Basados en Localización con una Arquitectura ...
 
ANTEPROYECTO DEL COMPLEJO CULTURAL Y RECREATIVO DEL BARRIO SAN JACINTO.pdf
ANTEPROYECTO DEL COMPLEJO CULTURAL Y RECREATIVO DEL BARRIO SAN JACINTO.pdfANTEPROYECTO DEL COMPLEJO CULTURAL Y RECREATIVO DEL BARRIO SAN JACINTO.pdf
ANTEPROYECTO DEL COMPLEJO CULTURAL Y RECREATIVO DEL BARRIO SAN JACINTO.pdf
 
Proyecto integrador - Charla sobre el Aborto en los Adolescentes - Ecuador
Proyecto integrador - Charla sobre el Aborto en los Adolescentes - EcuadorProyecto integrador - Charla sobre el Aborto en los Adolescentes - Ecuador
Proyecto integrador - Charla sobre el Aborto en los Adolescentes - Ecuador
 
Tesis motivacion
Tesis motivacionTesis motivacion
Tesis motivacion
 
Aplicacion de los_geosintéticos_en_la_estructura_de_los_pavimentos_y_en_obras...
Aplicacion de los_geosintéticos_en_la_estructura_de_los_pavimentos_y_en_obras...Aplicacion de los_geosintéticos_en_la_estructura_de_los_pavimentos_y_en_obras...
Aplicacion de los_geosintéticos_en_la_estructura_de_los_pavimentos_y_en_obras...
 
Desarrollo de un software educativo para los bloques II, IV y V de la materia...
Desarrollo de un software educativo para los bloques II, IV y V de la materia...Desarrollo de un software educativo para los bloques II, IV y V de la materia...
Desarrollo de un software educativo para los bloques II, IV y V de la materia...
 
Servicios de localización conscientes del contexto aplicando perfiles de movi...
Servicios de localización conscientes del contexto aplicando perfiles de movi...Servicios de localización conscientes del contexto aplicando perfiles de movi...
Servicios de localización conscientes del contexto aplicando perfiles de movi...
 
Tesis final
Tesis finalTesis final
Tesis final
 
TFG OROCOSTA- con correcciones de tutores.docx
TFG OROCOSTA- con correcciones de tutores.docxTFG OROCOSTA- con correcciones de tutores.docx
TFG OROCOSTA- con correcciones de tutores.docx
 
Valeriano turpo wilbet_catacora_mendoza_adhemir
Valeriano turpo wilbet_catacora_mendoza_adhemirValeriano turpo wilbet_catacora_mendoza_adhemir
Valeriano turpo wilbet_catacora_mendoza_adhemir
 
Propuesta de diseño de pavimento rígido, Diseño del espesor de pavimento rígi...
Propuesta de diseño de pavimento rígido, Diseño del espesor de pavimento rígi...Propuesta de diseño de pavimento rígido, Diseño del espesor de pavimento rígi...
Propuesta de diseño de pavimento rígido, Diseño del espesor de pavimento rígi...
 

Plus de Gabriel Gonzalez Serna

Metodología para la Generación de Explicaciones para Sistemas de Recomendació...
Metodología para la Generación de Explicaciones para Sistemas de Recomendació...Metodología para la Generación de Explicaciones para Sistemas de Recomendació...
Metodología para la Generación de Explicaciones para Sistemas de Recomendació...Gabriel Gonzalez Serna
 
Clasificación Automática de Objetos de Conocimiento con Contenido no Estruct...
 Clasificación Automática de Objetos de Conocimiento con Contenido no Estruct... Clasificación Automática de Objetos de Conocimiento con Contenido no Estruct...
Clasificación Automática de Objetos de Conocimiento con Contenido no Estruct...Gabriel Gonzalez Serna
 
Metodología para Evaluación de SRSC Centrada en el Usuario, Basada en Caracte...
Metodología para Evaluación de SRSC Centrada en el Usuario, Basada en Caracte...Metodología para Evaluación de SRSC Centrada en el Usuario, Basada en Caracte...
Metodología para Evaluación de SRSC Centrada en el Usuario, Basada en Caracte...Gabriel Gonzalez Serna
 
Tutorial Near Field Communication (NFC)
Tutorial Near Field Communication (NFC)Tutorial Near Field Communication (NFC)
Tutorial Near Field Communication (NFC)Gabriel Gonzalez Serna
 
Cómputo Consciente del Contexto: Cognición Aumentada mediante Interfaz Cerebr...
Cómputo Consciente del Contexto: Cognición Aumentada mediante Interfaz Cerebr...Cómputo Consciente del Contexto: Cognición Aumentada mediante Interfaz Cerebr...
Cómputo Consciente del Contexto: Cognición Aumentada mediante Interfaz Cerebr...Gabriel Gonzalez Serna
 
Tecnologías de Interacción Humano-Computadora para Sistemas de Información Co...
Tecnologías de Interacción Humano-Computadora para Sistemas de Información Co...Tecnologías de Interacción Humano-Computadora para Sistemas de Información Co...
Tecnologías de Interacción Humano-Computadora para Sistemas de Información Co...Gabriel Gonzalez Serna
 
Generador semiautomático de perfiles de usuario mediante OWL
Generador semiautomático de perfiles de usuario mediante OWLGenerador semiautomático de perfiles de usuario mediante OWL
Generador semiautomático de perfiles de usuario mediante OWLGabriel Gonzalez Serna
 
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles apli...
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles apli...Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles apli...
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles apli...Gabriel Gonzalez Serna
 
Personalización de contenidos Web del dominio de egobierno mediante ontologías
Personalización de contenidos Web del dominio de egobierno mediante ontologíasPersonalización de contenidos Web del dominio de egobierno mediante ontologías
Personalización de contenidos Web del dominio de egobierno mediante ontologíasGabriel Gonzalez Serna
 
Búsquedas contextuales de Servicios Basados en Localización en un entorno de ...
Búsquedas contextuales de Servicios Basados en Localización en un entorno de ...Búsquedas contextuales de Servicios Basados en Localización en un entorno de ...
Búsquedas contextuales de Servicios Basados en Localización en un entorno de ...Gabriel Gonzalez Serna
 
Sistema de Recomendación Contextual Basado en Ontologías para Ambientes Organ...
Sistema de Recomendación Contextual Basado en Ontologías para Ambientes Organ...Sistema de Recomendación Contextual Basado en Ontologías para Ambientes Organ...
Sistema de Recomendación Contextual Basado en Ontologías para Ambientes Organ...Gabriel Gonzalez Serna
 
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de...
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de...Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de...
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de...Gabriel Gonzalez Serna
 
API para servicios de localización en interiores basada en tecnología Wi-Fi, ...
API para servicios de localización en interiores basada en tecnología Wi-Fi, ...API para servicios de localización en interiores basada en tecnología Wi-Fi, ...
API para servicios de localización en interiores basada en tecnología Wi-Fi, ...Gabriel Gonzalez Serna
 
Servicios de Recomendación Contextual para Instituciones de Educación Superio...
Servicios de Recomendación Contextual para Instituciones de Educación Superio...Servicios de Recomendación Contextual para Instituciones de Educación Superio...
Servicios de Recomendación Contextual para Instituciones de Educación Superio...Gabriel Gonzalez Serna
 
Generación y Explotación de Mapas Semánticos de Instalaciones Organizacionale...
Generación y Explotación de Mapas Semánticos de Instalaciones Organizacionale...Generación y Explotación de Mapas Semánticos de Instalaciones Organizacionale...
Generación y Explotación de Mapas Semánticos de Instalaciones Organizacionale...Gabriel Gonzalez Serna
 
Servicios de recomendación contextual para Instituciones de Educación Superio...
Servicios de recomendación contextual para Instituciones de Educación Superio...Servicios de recomendación contextual para Instituciones de Educación Superio...
Servicios de recomendación contextual para Instituciones de Educación Superio...Gabriel Gonzalez Serna
 
Mapas SVG Contextuales a partir de Ontologías organizacionales Multidimension...
Mapas SVG Contextuales a partir de Ontologías organizacionales Multidimension...Mapas SVG Contextuales a partir de Ontologías organizacionales Multidimension...
Mapas SVG Contextuales a partir de Ontologías organizacionales Multidimension...Gabriel Gonzalez Serna
 

Plus de Gabriel Gonzalez Serna (20)

Metodología para la Generación de Explicaciones para Sistemas de Recomendació...
Metodología para la Generación de Explicaciones para Sistemas de Recomendació...Metodología para la Generación de Explicaciones para Sistemas de Recomendació...
Metodología para la Generación de Explicaciones para Sistemas de Recomendació...
 
Clasificación Automática de Objetos de Conocimiento con Contenido no Estruct...
 Clasificación Automática de Objetos de Conocimiento con Contenido no Estruct... Clasificación Automática de Objetos de Conocimiento con Contenido no Estruct...
Clasificación Automática de Objetos de Conocimiento con Contenido no Estruct...
 
Metodología para Evaluación de SRSC Centrada en el Usuario, Basada en Caracte...
Metodología para Evaluación de SRSC Centrada en el Usuario, Basada en Caracte...Metodología para Evaluación de SRSC Centrada en el Usuario, Basada en Caracte...
Metodología para Evaluación de SRSC Centrada en el Usuario, Basada en Caracte...
 
Tutorial Near Field Communication (NFC)
Tutorial Near Field Communication (NFC)Tutorial Near Field Communication (NFC)
Tutorial Near Field Communication (NFC)
 
Context-Aware Recommender System
Context-Aware Recommender System�Context-Aware Recommender System�
Context-Aware Recommender System
 
Cómputo Consciente del Contexto: Cognición Aumentada mediante Interfaz Cerebr...
Cómputo Consciente del Contexto: Cognición Aumentada mediante Interfaz Cerebr...Cómputo Consciente del Contexto: Cognición Aumentada mediante Interfaz Cerebr...
Cómputo Consciente del Contexto: Cognición Aumentada mediante Interfaz Cerebr...
 
Tecnologías de Interacción Humano-Computadora para Sistemas de Información Co...
Tecnologías de Interacción Humano-Computadora para Sistemas de Información Co...Tecnologías de Interacción Humano-Computadora para Sistemas de Información Co...
Tecnologías de Interacción Humano-Computadora para Sistemas de Información Co...
 
Generador semiautomático de perfiles de usuario mediante OWL
Generador semiautomático de perfiles de usuario mediante OWLGenerador semiautomático de perfiles de usuario mediante OWL
Generador semiautomático de perfiles de usuario mediante OWL
 
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles apli...
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles apli...Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles apli...
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles apli...
 
Personalización de contenidos Web del dominio de egobierno mediante ontologías
Personalización de contenidos Web del dominio de egobierno mediante ontologíasPersonalización de contenidos Web del dominio de egobierno mediante ontologías
Personalización de contenidos Web del dominio de egobierno mediante ontologías
 
Búsquedas contextuales de Servicios Basados en Localización en un entorno de ...
Búsquedas contextuales de Servicios Basados en Localización en un entorno de ...Búsquedas contextuales de Servicios Basados en Localización en un entorno de ...
Búsquedas contextuales de Servicios Basados en Localización en un entorno de ...
 
Sistema de Recomendación Contextual Basado en Ontologías para Ambientes Organ...
Sistema de Recomendación Contextual Basado en Ontologías para Ambientes Organ...Sistema de Recomendación Contextual Basado en Ontologías para Ambientes Organ...
Sistema de Recomendación Contextual Basado en Ontologías para Ambientes Organ...
 
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de...
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de...Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de...
Poblado Semiautomático de Ontologías Organizacionales a Partir de Análisis de...
 
API para servicios de localización en interiores basada en tecnología Wi-Fi, ...
API para servicios de localización en interiores basada en tecnología Wi-Fi, ...API para servicios de localización en interiores basada en tecnología Wi-Fi, ...
API para servicios de localización en interiores basada en tecnología Wi-Fi, ...
 
Servicios de Recomendación Contextual para Instituciones de Educación Superio...
Servicios de Recomendación Contextual para Instituciones de Educación Superio...Servicios de Recomendación Contextual para Instituciones de Educación Superio...
Servicios de Recomendación Contextual para Instituciones de Educación Superio...
 
Generación y Explotación de Mapas Semánticos de Instalaciones Organizacionale...
Generación y Explotación de Mapas Semánticos de Instalaciones Organizacionale...Generación y Explotación de Mapas Semánticos de Instalaciones Organizacionale...
Generación y Explotación de Mapas Semánticos de Instalaciones Organizacionale...
 
Servicios de recomendación contextual para Instituciones de Educación Superio...
Servicios de recomendación contextual para Instituciones de Educación Superio...Servicios de recomendación contextual para Instituciones de Educación Superio...
Servicios de recomendación contextual para Instituciones de Educación Superio...
 
Mapas SVG Contextuales a partir de Ontologías organizacionales Multidimension...
Mapas SVG Contextuales a partir de Ontologías organizacionales Multidimension...Mapas SVG Contextuales a partir de Ontologías organizacionales Multidimension...
Mapas SVG Contextuales a partir de Ontologías organizacionales Multidimension...
 
Examen ngf2012
Examen ngf2012Examen ngf2012
Examen ngf2012
 
Hoas
HoasHoas
Hoas
 

Dernier

PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..RobertoGumucio2
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 

Dernier (20)

PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 

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. 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 Suplente Cuernavaca, Morelos, México. 20 de Febrero de 2009
  • 2. DEDICATORIA A papá Dios: Por su amor, por guiarme en el camino del bien, poner a las personas adecuadas en mí camino y darme fortaleza en todo momento. Sin duda me has dado 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 sus consejos de nunca dejar de seguir preparándome. Con cariñ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, Elizabeth Montaño y Johana Silva: Por su amistad, consejos y apoyo. Gracias cuñaditas por 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 paciencia recibida de manera incondicional estos dos años. Por su amor y respeto a mis decisiones. Por hacerme reír a pesar de las circunstancias. Sin tu apoyo no lo hubiera logrado “pacharrito”. Te amo.
  • 3. AGRADECIMIENTOS Este trabajo de investigación no hubiera sido posible realizarlo sin el apoyo del Consejo Nacional de Ciencia y Tecnología (CONACYT), ya que la beca que me otorgó estos dos años fue el sustento económico para poder solventar mis estudios de maestría. También quiero agradecer al Centro Nacional de Investigación y Desarrollo Tecnológico (CENIDET) por la oportunidad 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 sus observaciones y consejos para que se lograra concluir satisfactoriamente este trabajo. A todos ustedes 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 mi guía y cuidar a mis seres queridos y darles la tranquilidad de que seguía por el camino del bien a pesar de la distancia. A mi mamá y hermanos que siempre se han preocupado por mi bienestar. Les agradezco mucho familia querida por todo lo que me han dado a lo largo de mi vida. Esta meta no se hubiera 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 que pasamos y su consejo de seguir preparándome. A mi director de tesis Dr. Juan Gabriel González Serna por su paciencia, buen trato y guiarme a lo largo de la investigación. A mis revisores de tesis: Dr. René Santaolaya Salgado, M.C. Andrea Magadán Salazar y al M.C. Humberto Hernández García por el tiempo dedicado y observaciones constructivas que enriquecieron el contenido del presente trabajo. Al personal académico y administrativo de CENIDET, por compartir su conocimiento y buen trato. A mis compañeros y amigos de generación: Claudia, Deysy, Lalo y Richard. Por momentos agradables y formar parte de esta experiencia. En especial a Deysy por aguantarnos mutuamente durante un año al convivir en la misma casa, por esas pláticas que duraban horas y 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 la generació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 lejos de nuestras familias. Gracias amor por enseñarme a ser independiente y apoyarme en todos los aspectos.
  • 4. RESUMEN 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.
  • 5. ~ i ~ TABLA DE CONTENIDO CAPÍ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.................................................................................................. 15 CAPÍ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............................................................................................................................... 34 CAPÍ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
  • 6. ~ ii ~ 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............................................................................................ 67 CAPÍ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 ............................................................................................... 73 CAPÍTULO 5 PRUEBAS ......................................................................................................75 5.1 Resultados de las pruebas....................................................................................................... 77 5.2 Análisis de resultados........................................................................................................... 101 CAPÍTULO 6 CONCLUSIONES.........................................................................................103 ANEXOS ............................................................................................................................107 ANEXO A EVALUACIÓN DE APIS VISORAS DE MAPAS .................................................109 ANEXO B EVALUACIÓN DE SERVIDORES DE MAPAS...................................................125 ANEXO C DISEÑO DE OBJETOS PARA EL DOCUMENTO SLD......................................141 ANEXO D SÍNTESIS DE LA ESPECIFICACIÓN SLD.........................................................145 ANEXO E PLAN DE PRUEBAS..........................................................................................165 REFERENCIAS..................................................................................................................177
  • 7. ~ iii ~ INDICE DE FIGURAS Figura 1.1. Estudio del uso de comercio electrónico en México.............................................................. 3 Figura 1.2. Clasificación de la Geomática respecto al software libre ...................................................... 7 Figura 1.3. Interfaz de usuario de Click2Map.......................................................................................... 9 Figura 1.4. Publicación del mapa creado en Click2Map.......................................................................... 9 Figura 1.5. Interfaz de Map24................................................................................................................ 10 Figura 1.6. Interfaz de ZoomIn .............................................................................................................. 11 Figura 1.7. Interfaz de MapBuilder........................................................................................................ 12 Figura 1.8. Interfaz de Google Maps...................................................................................................... 13 Figura 1.9. Interfaz de Yahoo Maps....................................................................................................... 14 Figura 1.10. Interfaz de Virtual Earth .................................................................................................... 14 Figura 2.1. Capas que representan la realidad........................................................................................ 18 Figura 2.2. Organización de la información en el modelo de datos ráster ............................................. 20 Figura 2.3. Información de un pixel....................................................................................................... 20 Figura 2.4. Objetos geométricos del formato vectorial.......................................................................... 20 Figura 2.5. Resultado de solicitud GET a un WMS............................................................................... 23 Figura 2.6. Código HTML de formulario para manejo de petición POST............................................. 24 Figura 2.7. Envío de petición HTTP POST............................................................................................ 24 Figura 2.8. Resultado de la petición HTTP POST ................................................................................. 25 Figura 2.9. Resultado de la petición GetCapabilities ............................................................................. 26 Figura 2.10. Resultado de la petición GetMap....................................................................................... 27 Figura 2.11. Resultado de la petición GetFeatureInfo............................................................................ 29 Figura 2.12. Resultado de una petición al WMS utilizando el parámetro SLD y SLD_BODY ............ 30 Figura 2.13. Aplicaciones multinivel ..................................................................................................... 31 Figura 2.14. Interacción del patrón MVC .............................................................................................. 32 Figura 2.15. Funcionamiento de Struts .................................................................................................. 33 Figura 3.1. Diagrama general de casos de uso del sistema .................................................................... 40 Figura 3.2. Diagrama del caso de uso Registrar Usuario ....................................................................... 41 Figura 3.3. Diagrama de actividad de caso de uso Registrar Usuario.................................................... 42 Figura 3.4. Diagrama del caso de uso Autentificar Usuario................................................................... 42 Figura 3.5. Diagrama de actividad de caso de uso Autentificar Usuario ............................................... 43 Figura 3.6. Diagrama del caso de uso Diseñar Mapa............................................................................. 44 Figura 3.7. Diagrama de actividad de caso de uso Diseñar Mapa.......................................................... 45 Figura 3.8. Diagrama de actividad de caso de uso Solicitar Mapa......................................................... 46 Figura 3.9. Diagrama de actividad de caso de uso Aplicar Estilos ........................................................ 48 Figura 3.10. Diagrama de actividad de caso de uso Generar Código XML........................................... 49 Figura 3.11. Diagrama del caso de uso Elegir Plantilla de Diseño ........................................................ 49 Figura 3.12. Diagrama de actividad de caso de uso Elegir Plantilla de Diseño..................................... 50 Figura 3.13. Diagrama del caso de uso Publicar Aplicación Web......................................................... 51 Figura 3.14. Diagrama de actividad del caso de uso Publicar Aplicación Web..................................... 51 Figura 3.15. Diagrama del caso de uso Visualizar Aplicación Web...................................................... 52 Figura 3.16. Diagrama de actividad de caso de uso Visualizar Aplicación Web................................... 53
  • 8. ~ iv ~ Figura 3.17. Arquitectura general del sistema........................................................................................ 54 Figura 3.18. Aplicación MapWeb Designer........................................................................................... 55 Figura 3.19. Paquetes del sistema MapWeb Designer ........................................................................... 56 Figura 3.20. Diagrama de clases de Registrar Usuario ......................................................................... 58 Figura 3.21. Diagrama de secuencias de Registrar Usuario.................................................................. 59 Figura 3.22. Diagrama de clases de Autentificar Usuario ..................................................................... 60 Figura 3.23. Diagrama de secuencias de Autentificar Usuario.............................................................. 61 Figura 3.24. Diagrama de secuencias de Solicitar Mapa....................................................................... 62 Figura 3.25. Diagrama de clases de Solicitar Mapa............................................................................... 62 Figura 3.26. Diagrama de clases de Aplicar Estilos y generar código XML ......................................... 64 Figura 3.27. Diagrama de secuencias de Aplicar Estilos y generar código XML.................................. 65 Figura 3.28. Diagrama de clases de Elegir Plantilla de Diseño y Publicar Aplicación Web ................ 66 Figura 3.29. Diagrama de secuencias Elegir Plantilla de Diseño y Publicar Aplicación Web.............. 66 Figura 3.30. Diagrama de Secuencias de Visualizar Aplicación Web.................................................... 67 Figura 3.31. Diagrama Conceptual de la base de datos.......................................................................... 67 Figura 3.32. Diagrama Físico de la base de datos.................................................................................. 68 Figura 4.1. Clases del paquete mx.edu.cenidet.MapWebDesigner.Modelo.BaseDatos ......................... 70 Figura 4.2. Clase del paquete mx.edu.cenidet.MapWebDesigner.Modelo.ContextoCapas.................... 71 Figura 4.3. Clases del paquete mx.edu.cenidet.MapWebDesigner.Modelo.Logica................................ 71 Figura 4.4. Petición AJAX con acceso denegado al Servidor WMS ..................................................... 72 Figura 4.5. Clase del paquete mx.edu.cenidet.MapWebDesigner.Modelo.Proxy................................... 73 Figura 4.6. Petición AJAX con acceso denegado al Servidor WMS ..................................................... 73 Figura 5.1. Interfaz en la que se proporcionan los datos del usuario ..................................................... 77 Figura 5.2. Usuario registrado en la base de datos del sistema.............................................................. 77 Figura 5.3. Interfaz mostrada al registrar adecuadamente al usuario..................................................... 78 Figura 5.4. Interfaz mostrada al ingresar un login registrado................................................................. 78 Figura 5.5. Ingreso al sistema................................................................................................................. 79 Figura 5.6. Interfaz de rechazo al ingreso del sistema ........................................................................... 80 Figura 5.7. Interfaz de error de conexión con la base de datos .............................................................. 80 Figura 5.8. Catálogo de mapas............................................................................................................... 81 Figura 5.9. Visualización del mapa solicitado ....................................................................................... 82 Figura 5.10. Estado del mapa antes de ser estilizado ............................................................................. 83 Figura 5.11. Mapa después de aplicarle la configuración de línea sólida .............................................. 83 Figura 5.12. Mapa después de aplicarle la configuración de línea punteada ......................................... 84 Figura 5.13. Mapa de México antes de ser personalizado...................................................................... 85 Figura 5.14. Mapa de México con estilo personalizado......................................................................... 85 Figura 5.15. Puntos del mapa de México antes de ser personalizado .................................................... 86 Figura 5.16. Puntos con estilo personalizado......................................................................................... 86 Figura 5.17. Puntos personalizados utilizando un gráfico...................................................................... 87 Figura 5.18. Mapa de México antes de personalizar el texto................................................................. 88 Figura 5.19. Mapa con personalización de texto utilizando la ubicación PointPlacement. ................... 88 Figura 5.20. Mapa de México antes de aplicar la configuración de texto.............................................. 89
  • 9. ~ v ~ Figura 5.21. Mapa de México que muestra el estilo de texto con rotación............................................ 89 Figura 5.22. Mapa de la vialidad de Cuernavaca antes de aplicar estilo de texto.................................. 90 Figura 5.23. Mapa con personalización de texto utilizando la ubicación LinePlacement...................... 90 Figura 5.24. Mapa de Morelos que muestra la estilización del texto..................................................... 91 Figura 5.25. Documento SLD ................................................................................................................ 92 Figura 5.26. Mapa que muestra el estilo descrito en el documento SLD............................................... 92 Figura 5.27. Variable tempText que contiene la plantilla de aplicación Web y el mapa solicitado....... 93 Figura 5.28. Carpeta Web del usuario.................................................................................................... 93 Figura 5.29. Plantilla de estilo publicado en la Web.............................................................................. 94 Figura 5.30. Interfaz para iniciar sesión................................................................................................. 95 Figura 5.31. Interfaz de opciones a elegir en una sesión activa ............................................................. 95 Figura 5.32. Interfaz del catálogo de mapas que provee el WMS.......................................................... 96 Figura 5.33. Mapa de México sin estilos definidos por el usuario......................................................... 96 Figura 5.34. Estilización de puntos........................................................................................................ 97 Figura 5.35. Estilización de líneas ......................................................................................................... 97 Figura 5.36. Estilización de polígonos................................................................................................... 98 Figura 5.37. Estilización de texto........................................................................................................... 98 Figura 5.38. Documento XML que describe los estilos definidos por el usuario .................................. 99 Figura 5.39. Elección de plantilla Web.................................................................................................. 99 Figura 5.40. Publicación del mapa en plantilla de aplicación Web...................................................... 100 Figura 5.41. Publicaciones realizadas por el usuario ........................................................................... 100 Figura A.1. Referencia a la librería msCross ....................................................................................... 110 Figura A.2. Definición de elemento DIV y solicitud a servidor de la NASA...................................... 111 Figura A.3. Visualización de mapas..................................................................................................... 111 Figura A.4. Referencia a la librería OpenLayers.................................................................................. 112 Figura A.5. Creación de objeto mapa................................................................................................... 112 Figura A.6. Solicitud al servidor Geoserver utilizando OpenLayers ................................................... 112 Figura A.7. Adición de la capa México al objeto map......................................................................... 113 Figura A.8. Elemento DIV con identificador map............................................................................... 113 Figura A.9. Llamada de la función init().............................................................................................. 113 Figura A.10. Mapa de México visualizado utilizando OpenLayers..................................................... 113 Figura A.11. Visualización de mapas con Ka-Map.............................................................................. 115 Figura A.12. Creación de petición a WMS. ......................................................................................... 116 Figura A.13. Definición de elemento DIV........................................................................................... 116 Figura A.14. Definición de función init()............................................................................................. 116 Figura A.15. Invocación de función init()............................................................................................ 116 Figura A.16. Mapa visualizado en WMS JavaScript Library .............................................................. 117 Figura A.17. Referencia a la librería Mapbuilder.js............................................................................. 118 Figura A.18. Configuraciones utilizadas en documentos HTML o JSP............................................... 118 Figura A.19. Trozo de código XML del archivo config.xsd ................................................................ 119 Figura A.20. Archivo de configuración ............................................................................................... 119 Figura A.21. Trozo de código XML del archivo demisWorldMap.xml .............................................. 120
  • 10. ~ vi ~ Figura A.22. Mapa visualizado en Mapbuilder.................................................................................... 120 Figura A.23. Gráfico comparativo de la evaluación de las APIs ......................................................... 122 Figura A.24. Resultados de la evaluación de APIs .............................................................................. 123 Figura B.1. Mapa visualizado en Degree. ........................................................................................... 127 Figura B.2. Ingreso a Configuración.................................................................................................... 128 Figura B.3. Inicio de sesión en Geoserver............................................................................................ 128 Figura B.4. Ingreso a los datos de Geoserver....................................................................................... 128 Figura B.5. Configuración de espacio de nombres. ............................................................................. 129 Figura B.6. Creación del espacio de nombres...................................................................................... 129 Figura B.7. Visualización del espacio de nombre México creado. ...................................................... 129 Figura B.8. Creación de un nuevo almacén de datos. .......................................................................... 130 Figura B.9. Editor del almacén de datos .............................................................................................. 130 Figura. B.10. Entidades disponibles en Geoserver............................................................................... 131 Figura B.11. Entidades disponibles en Geoserver................................................................................ 131 Figura B.12. Visualización del mapa de México en Geoserver ........................................................... 132 Figura B.13. Archivo .map................................................................................................................... 135 Figura B.14. Archivo de inicialización ejemplo2.html ........................................................................ 135 Figura B.15. Mapa visualizado en MapServer..................................................................................... 136 Figura B.16. Gráfico comparativo de la evaluación de los servidores de mapas................................. 137 Figura B.17. Resultados de la evaluación de servidores de mapas ...................................................... 140 Figura C.1. Diagrama de objetos SLD ................................................................................................. 142 Figura C.2. Diagrama de clases SLD................................................................................................... 143 Figura D.1. Esquema SLD del elemento raíz....................................................................................... 146 Figura D.2. Esquema de elemento NamedLayer.................................................................................. 147 Figura D.3. Esquema de elemento UserLayer ..................................................................................... 147 Figura D.4. Esquema de elemento RemoteOWS .................................................................................. 148 Figura D.5. Esquema XML para el elemento LayerFeatureConstraints............................................. 148 Figura D.6. Ejemplo de capa definida por el usuario........................................................................... 149 Figura D.7. Esquema XML del estilo definido por el usuario ............................................................. 149 Figura D.8. Ejemplo de UserStyle........................................................................................................ 150 Figura D.9. Esquema XML de FeatureTypeStyle................................................................................ 150 Figura D.10. Esquema XML del elemento Rule .................................................................................. 151 Figura D.11. Esquema XML de LegendGraphic ................................................................................. 151 Figura D.12. Esquema XML para MinScaleDenominator y MaxScaleDenominator.......................... 152 Figura D.13. Ejemplo de Filter y ElseFilter......................................................................................... 152 Figura D.14. Esquema XML de la simbolización Lineal..................................................................... 153 Figura D.15. Esquema XML de Geometry .......................................................................................... 153 Figura D.16. Ejemplo de uso de Geometry .......................................................................................... 153 Figura D.17. Esquema XML de Stroke................................................................................................ 154 Figura D.18. Esquema XML de CssParameter ................................................................................... 154 Figura D.19. Esquema XML de GraphicFill ....................................................................................... 154 Figura D.20. Esquema XML de GraphicStroke................................................................................... 155
  • 11. ~ vii ~ Figura D.21. Ejemplo de LineSymbolizer ............................................................................................ 155 Figura D.22. Resultado al aplicar la simbolización LineSymbolizer definida en la figura (D.21)....... 155 Figura D.23. Esquema XML de PolygonSymbolizer ........................................................................... 155 Figura D.24. Esquema XML de Fill .................................................................................................... 156 Figura D.25. Ejemplo de estilización poligonal................................................................................... 156 Figura D.26. Resultado de la definición mostrada en la figura (D.25) ................................................ 156 Figura D.27. Esquema XML de PointSymbolizer................................................................................ 156 Figura D.28. Esquema XML de Graphic y ExternalGraphic.............................................................. 157 Figura D.29. Esquema XML Mark ...................................................................................................... 158 Figura D.30. Ejemplo de estilización Puntual...................................................................................... 158 Figura D.31. Resultado de la definición mostrada en la figura (D.30) ................................................ 158 Figura D.32. Esquema XML de TextSymbolizer.................................................................................. 159 Figura D.33. Esquema XML de Font................................................................................................... 159 Figura D.34. Esquema XML de LabelPlacement, PointPlacement y LinePlacement......................... 160 Figura D.35. Esquema XML de AnchorPoint...................................................................................... 160 Figura D.36. Valores que puede tomar AnchorPoint........................................................................... 160 Figura D.37. Esquema XML de Halo .................................................................................................. 162 Figura D.38. Ejemplo de simbolización Texto..................................................................................... 163 Figura D.39. Resultado de la definición mostrada en la figura (D.38) ................................................ 163
  • 12. ~ viii ~ INDICE DE TABLAS Tabla 1.1. Comparativa de las aplicaciones Web estudiadas con la propuesta...................................... 15 Tabla 2.1. Caracteres reservados en WMS para una cadena de consulta............................................... 21 Tabla 2.2. Estructura de petición HTTP GET........................................................................................ 22 Tabla 2.3. Parámetros para la solicitud GetCapabilities ........................................................................ 25 Tabla 2.4. Parámetros para la solicitud GetMap .................................................................................... 26 Tabla 2.5. Parámetros para la solicitud GetFeatureInfo........................................................................ 28 Tabla 3.1. Descripción de caso de uso Registrar Usuario...................................................................... 41 Tabla 3.2. Descripción del caso de uso Autentificar Usuario ................................................................ 42 Tabla 3.3. Descripción de caso de uso Diseñar Mapa............................................................................ 44 Tabla 3.4. Descripción de caso de uso Solicitar Mapa........................................................................... 45 Tabla 3.5. Descripción de caso de uso Aplicar Estilos .......................................................................... 46 Tabla 3.6. Descripción de caso de uso Generar Código XML............................................................... 48 Tabla 3.7. Descripción de caso de uso Elegir Plantilla de Diseño ......................................................... 50 Tabla 3.8. Descripción de caso de uso Publicar Aplicación Web.......................................................... 51 Tabla 3.9. Descripción de caso de uso Visualizar Aplicación Web....................................................... 52 Tabla 3.10. Simbología utilizada en diagramas de secuencias............................................................... 57 Tabla 5.1. Caso de prueba MAPWEBDE-01.01 Registro de usuarios .................................................. 77 Tabla 5.2. Caso de prueba MAPWEBDE-01.02 Autentificación al sistema ......................................... 79 Tabla 5.3. Caso de prueba MAPWEBDE-01.03 Rechazo al inicio de sesión........................................ 79 Tabla 5.4. Caso de prueba MAPWEBDE-01.04 Acceso al sistema ...................................................... 81 Tabla 5.5. Caso de prueba MAPWEBDE-02 Solicitud y visualización de mapas................................. 82 Tabla 5.6. Caso de prueba MAPWEBDE-03.01 Estilizar líneas ........................................................... 82 Tabla 5.7. Caso de prueba MAPWEBDE-03.02 Estilizar polígonos..................................................... 84 Tabla 5.8. Caso de prueba MAPWEBDE-03.03 Estilizar puntos.......................................................... 86 Tabla 5.9. Caso de prueba MAPWEBDE-03.04 Estilizar texto............................................................. 87 Tabla 5.10. Caso de prueba MAPWEBDE-03.05 Generación de Código XML ................................... 91 Tabla 5.11. Caso de prueba MAPWEBDE-04 Asociar mapa a plantilla de página Web ...................... 93 Tabla 5.12. Caso de prueba MAPWEBDE-05 Publicación de la página Web ...................................... 93 Tabla 5.13. Caso de prueba MAPWEBDE-06 Visualización de la página Web ................................... 94 Tabla 5.14. PRUEBA DE INTEGRACION-Funcionamiento general del sistema................................ 95 Tabla A.1. Navegadores soportados por Ka-Map................................................................................ 114 Tabla A.2. Definición de criterios........................................................................................................ 120 Tabla A.3. Asignación de ponderaciones a cada criterio ..................................................................... 121 Tabla A.4. Asignación de calificaciones a cada API de acuerdo a los criterios................................... 121 Tabla A.5. Obtención de productos por criterio.................................................................................. 121 Tabla A.6. Obtención de sumatorias por API ...................................................................................... 121 Tabla A.7. Asignación de ponderaciones a cada criterio ..................................................................... 123 Tabla A.8. Matriz de evaluación.......................................................................................................... 124 Tabla B.1. Abstracto de etiquetas usadas en MapServer ..................................................................... 134 Tabla B.2. Definición de criterios........................................................................................................ 136 Tabla B.3. Asignación de ponderaciones a cada criterio ..................................................................... 136
  • 13. ~ ix ~ Tabla B.4. Asignación de calificaciones a cada servidor de mapas de acuerdo a los criterios ............ 137 Tabla B.5. Obtención de productos por criterio.................................................................................. 137 Tabla B.6. Obtención de sumatorias por WMS.................................................................................... 137 Tabla B.7. Asignación de ponderaciones a cada criterio ..................................................................... 138 Tabla B.8. Comparativa de servidores ................................................................................................. 139 Tabla D.1. Ejemplos de ubicaciones puntuales.................................................................................... 161 Tabla D.2. Ejemplos de desplazamientos............................................................................................. 161 Tabla D.3. Ejemplos de rotación.......................................................................................................... 161 Tabla D.4. Ejemplos de localización lineal.......................................................................................... 162 Tabla E.1. Elementos de prueba........................................................................................................... 167 Tabla E.2. Descripción de las tareas de prueba.................................................................................... 168 Tabla E.3. Requisitos ambientales ....................................................................................................... 169 Tabla E.4. Casos de prueba.................................................................................................................. 170
  • 14. ~ x ~ GLOSARIO AdSense 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].
  • 15. ~ xi ~ 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 que Referencia 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].
  • 16. ~ xii ~ 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]
  • 17. CAPÍTULO 1 INTRODUCCIÓN En el presente capítulo se expone la problemática que se abordó, el objetivo, la justificación, beneficios, alcances y limitaciones del proyecto de tesis. Además se muestra la investigación del estado del arte realizado y la organización general del documento.
  • 18. Capítulo 1 Introducción Página 2 1.1. Introducción Desde hace muchos siglos el hombre ha representando su entorno a través de mapas plasmados en materiales como: tablillas de arcilla, seda y papel. A través de los años los métodos de representación de mapas fueron mejorando y dieron lugar a la ciencia que hoy se conoce como la ciencia cartográfica. Gracias a los avances tecnológicos y científicos que se han desarrollado en las últimas décadas, la cartografía ha mejorado de manera sorprendente con la incorporación de nuevas tecnologías denominadas Sistemas de Información Geográfica (GIS, Geographic Information System por sus siglas en inglés), los cuales han permitido que las aplicaciones y utilidades informáticas visualicen mapas geográficos de diferentes temáticas y permitan realizar consultas espaciales a través de la computadora. Por otro lado, Internet se ha convertido en un medio ideal para la publicación de mapas geográ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 mapas digitales en formatos vectorial y ráster (en el capítulo 2 de marco teórico se describen cada uno de estos formatos). En particular, los mapas vectoriales, antes de ser publicados pasan por un proceso de estilización en el que se asignan propiedades como color, tamaño y estilo a cada uno 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 que permitan estilizar mapas en un ambiente Web, por lo que el diseñador de mapas se vale de herramientas 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, que es posible crear estilos personalizados por el diseñador de manera sencilla. Estos estilos se verán reflejados mediante un archivo SLD basado en XML, el cual describirá detalladamente los estilos aplicados a cada uno de los puntos, líneas y polígonos representados en un mapa vectorial. Como resultado, se obtendrá un archivo SLD independiente del mapa vectorial visualizado, el cual será asociado al mapa base al momento de ser publicado en un Servidor de Mapas. 1.2. Descripción del problema Existen herramientas de escritorio y APIs tanto propietarias como libres para la creación y estilización de mapas. Lo que respecta a las herramientas de escritorio gratuitas, proporcionan al usuario funciones para la consulta, edición y creación de planos. Son herramientas complejas de utilizar y requieren instalarse en la máquina local. En cuanto a las APIs de código abierto, proporcionan funciones que permiten manipular y visualizar mapas en Internet, pero no se ha encontrado una aplicación que implemente funciones destinadas a la estilización de mapas utilizando un API de código libre. Es por lo anterior que el problema que dio origen a la presente tesis se centra en que no se han encontrado aplicaciones Web que contengan tanto mapas geográficos como interfaces que permitan diseñar la apariencia del mapa y la interacción con el mismo, debido a la falta de aplicaciones que faciliten y automaticen la integración de estas dos cosas.
  • 19. Capítulo 1 Introducción Página 3 1.3. Objetivos Contribuir a la creación de prototipos de aplicaciones Web de forma rápida, mediante la implementación de una herramienta de software que proporcione servicios que permitan diseñar la apariencia e interacción con mapas temáticos utilizando el estándar XML y APIs de código abierto que incluyan servicios de acceso a servidores de mapas. El diseño y la implementació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 mapa 1.4. Justificación De acuerdo a estadísticas publicadas por la Asociación Mexicana de Internet (AMIPCI), el uso de la industria de Internet en México se mantiene en crecimiento. Según el estudio realizado en el rubro de comercio electrónico, el crecimiento registrado del año 2006 al 2007 fue de un 78% 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)
  • 20. Capítulo 1 Introducción Página 4 Lo anterior pone en evidencia que el desarrollo y uso de aplicaciones Web han mantenido su crecimiento y con el pasar de los años, van buscando información más precisa en términos de datos de ubicación que enriquezcan y visualicen sus servicios. Con los avances tecnológicos actuales, es posible mostrar esta información a través de mapas para que los usuarios puedan fácilmente ubicar y visualizar objetos, lugares de interés además de otros servicios vía Web dependiendo de la temática del mapa. Para realizar esto, existen APIs y herramientas disponibles en la Web de manera gratuita que proporcionan el servicio de visualización de mapas. La importancia de los mapas va desde saber donde se encuentra cierto servicio, hasta el de salvar la vida a toda una población. Por ejemplo, un mapa de carreteras es una guía que proporciona información de cómo llegar a otro lugar, un mapa meteorológico ayuda a los científicos a ubicar dónde y hacia dónde van los huracanes, tornados, incendios, etc. Y con ello 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 describan los objetos utilizados en un mapa. En particular la presente tesis se enfocó en la aplicación de estilos 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 aspectos importantes que se mencionan a continuación y dieron pauta a la factibilidad de esta investigación. Para crear un mapa con las APIs disponibles de código abierto, se requiere de asimilar cada una de ellas y después utilizar sólo las funciones que se necesiten de la API elegida. En esta parte se requiere de tiempo suficiente para poder conocer la API e implementar el código que permitirá la visualización del mapa. Una vez que se tienen los mapas visualizados, resulta necesario diseñar la apariencia del mapa de acuerdo a las necesidades que se presenten. Esta etapa resulta una limitante más, que retarda la realización de mapas de manera rápida, pues la edición se hace de forma manual insertando 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. La desventaja de esto es que si un usuario modifica el estilo del mapa a sus necesidades, otro usuario que utilice el mismo mapa visualizará las modificaciones del usuario anterior. 1.5. Beneficios El beneficio principal que se obtuvo de la presente tesis es una aplicación Web que proporciona 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.
  • 21. Capítulo 1 Introducción Página 5  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 tesis El 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 tesis El 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.
  • 22. Capítulo 1 Introducción Página 6 1.8. Estado de la práctica La investigación del estado de la práctica cubre dos aspectos: el primero es entender el contexto en el que se trabajó, para ello se hace una descripción sobre la clasificación de proyectos de software libre disponibles para la manipulación de información espacial. Y el segundo aspecto abarca la investigación de aplicaciones Web relacionadas con la presente tesis. Abordando el primer punto en la investigación del estado de la práctica se encontraron muchas herramientas 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áficas Las bases de datos geográficas son similares a las relacionales con la diferencia que en la primera se puede almacenar geometría. La OGC proporciona la especificación Simple Features que describe el conjunto de tipos de datos y funciones que debe cumplir una base de datos 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 es distribuido a las empresas con licencia propietaria). Servidores de mapas Los servidores de mapas permiten publicar cartografía en la Web para que los usuarios puedan interaccionar con información geográfica a través de Internet. La OGC proporciona la especificación Web Map Service que describe los servicios que debe proporcionar un servidor de mapas. Los proyectos de software libre que se han desarrollado para este grupo son UMN MapServer, GeoServer, Degree y MapGuide OpenSource [MONTESINOS, 2007]. Herramientas de metadatos Los servidores de catálogos son aplicaciones que permiten publicar en la red un conjunto de metadatos sobre diferentes conjuntos de datos. Estos catálogos son expuestos como un portal que permite hacer búsquedas mediante diferentes criterios. Los proyectos de software libre que se han desarrollado bajo este rubro son Geonetwork y CaMDEdit [MONTESINOS, 2007]. Clientes pesados Los clientes pesados son todas las aplicaciones de escritorio que han sido útiles para la gestión de información geográfica. Las funciones que se tienen con estas herramientas son las de edición, análisis y explotación de información geográfica. Existen muchos proyectos de software libre en esta clasificación pero los más representativos son: Grass, Quantum GIS,
  • 23. Capítulo 1 Introducción Página 7 gvSIG, Saga y Sextante, MapWindow, World Wind, Open Jump , Kosmo, ILWIS y uDig [MONTESINOS, 2007]. Clientes ligeros Los clientes ligeros surgieron con la aparición de los servidores de mapas. Proporcionan un conjunto de componentes o funciones que permiten a los desarrolladores de aplicaciones Web crear páginas Web o aplicaciones Web con contenido espacial. Los proyectos más representativos 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 libre De acuerdo a la clasificación anterior y tomando en cuenta los objetivos de la tesis. El presente trabajo 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 aplicaciones Web que se relacionan con la presente tesis. En este estudio se encontraron un gran número de aplicaciones Web que fueron desarrolladas en su mayoría utilizando la API de Google Maps y Yahoo Maps. Las diferencias más sobresalientes que se encontraron entre las aplicaciones fueron las temáticas que manejaban (clima, ruta de maratones, deportes, procedimientos electorales, lugares de pesca, etc.), ya que en todos los sitios se permitían hacer búsquedas sobre el mapa, calcular rutas e insertar puntos de interés (POIs), pero pocas aplicaciones permitía exportar los objetos insertados en el mapa a archivos KML. No se encontraron
  • 24. Capítulo 1 Introducción Página 8 aplicaciones que permitieran estilizar los objetos del mapa visualizado, sólo se facilitaban componentes 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 permiten manipular información espacial, se describen sus característica más sobresalientes y se mencionan las desventajas que presentan con el presente trabajo. 1.8.1. Click2Map Es una aplicación Web que permite crear y publicar mapas de Google en línea. Cualquier persona con acceso a Internet puede crear1 y publicar sus mapas en Internet sin tener que codificar 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 gratuita pero limitado a las primeras cuatro funciones presentadas en la lista anterior. Los usuarios tipo silver, gold y platinium son usuarios que pagan mensualmente una cantidad en dólares que van desde 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 usuario elige que porción del mapa o extensión territorial desea visualizar en la página Web que genera click2map. Esa extensión territorial es un nuevo mapa que manipula la aplicación y por lo tanto lo considera como un mapa creado por el usuario.
  • 25. Capítulo 1 Introducción Página 9 Figura 1.3. Interfaz de usuario de Click2Map En 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 Click2Map La principal desventaja de esta aplicación con la que se desarrolló, es que el usuario debe pagar una cantidad mensual para poder utilizar el mapa generado como widget de una página personal. Utiliza los mapas de Google y por lo tanto no los puede estilizar, lo único que puede realizar el usuario es insertar y administrar POIs personalizados.
  • 26. Capítulo 1 Introducción Página 10 1.8.2. Map24 Es 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 Map24 La desventaja de esta aplicación es que únicamente se enfoca a realizar búsquedas sobre el mapa y por lo tanto no ofrece el servicio de estilización y publicación de los mapas en una página Web que contengan el mapa estilizado. 1.8.3. ZoomIn Esta 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.
  • 27. Capítulo 1 Introducción Página 11 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 y que puedan usar estos mapas en una aplicación Web. Sólo se aboca a la inserción de puntos con documentos asociados. En la figura (1.6) se ilustra la interfaz de ZoomIn. Figura 1.6. Interfaz de ZoomIn 1.8.4. MapBuilder Es 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.
  • 28. Capítulo 1 Introducción Página 12 Figura 1.7. Interfaz de MapBuilder Al igual que las aplicaciones anteriores MapBuilder se limita a realizar inserciones de marcadores sobre los mapas proporcionados por Google Maps y no permite cambiar las especificaciones de estilo de los mapas visualizados. 1.8.5. Google Maps API gratuita de Google lanzada el 6 de octubre de 2005 la cual ofrece las siguientes caracterí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. Se pueden 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ño de los objetos que se muestran en el mapa. En la figura (1.8) se muestra la interfaz de Google Maps.
  • 29. Capítulo 1 Introducción Página 13 Figura 1.8. Interfaz de Google Maps 1.8.6. Yahoo Maps Es 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 no permite la estilización de los mapas en línea y sólo se pueden consultar los mapas que provee por default. En la figura (1.9) se muestra la interfaz de Yahoo Maps. 1.8.7. Live Search Maps Es 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.
  • 30. Capítulo 1 Introducción Página 14 Figura 1.9. Interfaz de Yahoo Maps Figura 1.10. Interfaz de Virtual Earth A continuación en la tabla (1.1) se muestra la comparativa de los trabajos relacionados con el trabajo de tesis, el cual a partir de aquí se le hará referencia con el nombre de MapWeb Designer (Design of maps in web).
  • 31. Capítulo 1 Introducción Página 15 Tabla 1.1. Comparativa de las aplicaciones Web estudiadas con la propuesta. Aplicaciones Web Visualización de mapas Estilización de PUNTOS del mapa basado en XML Estilización de LINEAS del mapa basado en XML Estilización de POLIGONOS del mapa basado en XML Estilización de TEXTO del mapa basado en XML Publicación del mapa en una página Web elegida por el usuario Click2Map Sí No, sólo permite la personalización de POIs insertados sobre el mapa No, sólo dibuja líneas con estilos definidos por el usuario No, sólo dibuja polígonos con estilos definidos por el usuario. No Si, publica el mapa pero el usuario no elige la página Web Map24 Sí No No No No No ZoomIn Sí No No No No No Map Builder Sí No No No No Sí Google Maps Sí No, utiliza KML para describir los POIS insertados No No No Sí Yahoo Maps Sí No No No No Sí Live Search Maps Sí No, únicamente inserta puntos de interés y los exporta a KML No, sólo dibuja líneas sobre el mapa y los exporta a KML No, sólo dibuja polígonos sobre el mapa y los exporta a KML No No MapWeb Designer (TESIS) Sí Sí Sí Sí Sí Sí 1.9. Organización del documento Los 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ías involucradas 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 realizado y para ello se presentan los casos de uso, diagramas de actividad, diagramas de clases y diagramas 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 la tesis 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 muestra la evaluación de los servidores de mapas, en el anexo C se presenta el modelo de objetos y el modelo de clases del documento SLD, en el anexo D se expone la especificación SLD y en el anexo E se presenta el plan de pruebas.
  • 33. CAPÍTULO 2 MARCO TEÓRICO En este capítulo se describen conceptos elementales de las tecnologías involucradas en el desarrollo de la presente tesis.
  • 34. Capítulo 2 Marco Teórico Página 18 2.1. Sistemas de Información Geográfica Un Sistema de Información Geográfica (GIS, en su acrónimo inglés) es un sistema informático integrado que permite el almacenamiento, mapeo, manipulación y análisis de datos geográficos o espaciales. Puede presentar la información en diferentes capas temáticas almacenándolas de manera independientemente, permitiendo trabajar con ellas de manera rápida y sencilla, y facilitando al profesional la posibilidad de relacionar la información existente a través de la topología de los objetos, con el fin de generar otra nueva que no se podría obtener de otra forma [VON, 2005]. En la figura (2.1) se observan varias capas que son puestas unas sobre otras para poder representar con mayor exactitud a la realidad. Figura 2.1. Capas que representan la realidad Los sistemas de información geográfica requieren de varios componentes para poder funcionar correctamente. Estos componentes son una colección organizada de hardware, software, datos geográficos y personal. Diseñados para capturar, almacenar, manipular, analizar y desplegar en todas sus formas la información geográficamente referenciada con el fin de resolver problemas 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 pueden ejecutar en gran número de equipos que van desde servidores hasta computadoras portátiles usados en red o trabajando en modo desconectado [CARMONA, 2007]. Software. Los programas GIS proveen las funciones y las herramientas necesarias para almacenar, analizar y desplegar la información geográfica. Los principales componentes de los programas 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.
  • 35. Capítulo 2 Marco Teórico Página 19 Datos geográficos. La parte más importante de un sistema de información geográfico son sus datos. Los datos geográficos y tabulares pueden ser adquiridos por quien implementa el sistema de información, así como por terceros que ya los tienen disponibles. El sistema de información geográfico integra los datos espaciales con otros recursos de datos y puede incluso utilizar los manejadores de base de datos más comunes para manejar la información geográ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 del mundo real [CARMONA, 2007]. Una segunda definición más concreta es la que se proporciona en [LBSPRO, 2007]: Un sistema 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 la precisión de la localización. Divide el espacio en celdas regulares donde cada una de ellas representa un único valor. Una capa en formato ráster está compuesta por cuatro elementos fundamentales: 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 la precisió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) se ilustra con mayor detalle la organización de la información contenida en un pixel de una imagen rasterizada.
  • 36. Capítulo 2 Marco Teórico Página 20 Figura 2.2. Organización de la información en el modelo de datos ráster Figura 2.3. Información de un pixel 2.1.2. Información vectorial Al contrario de lo que ocurre en el formato ráster, el formato vectorial define objetos geométricos (puntos, líneas y polígonos) mediante la codificación explícita de sus coordenadas. Los puntos se codifican en formato vectorial por un par de coordenadas en el espacio, las líneas como una sucesión de puntos conectados y los polígonos como líneas cerradas 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 reales ubicadas en el espacio (carreteras, ríos, parcelas de cultivo). El formato ráster resulta más adecuado cuando se manejan datos que suponen un valor promediado sobre una extensión territorial que se considera homogénea, por ejemplo estadísticas municipales, clima, zonas de riesgo [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
  • 37. Capítulo 2 Marco Teórico Página 21 2.2. Open Gesospatial Consortium (OGC) El Open Geospatial Consortium (OGC)es un consorcio internacional de la industria conformado por 369 compañías, agencias gubernamentales y universidades que participan en un proceso de consenso para desarrollar especificaciones de interconexión disponibles al público. Las especificaciones OpenGis soportan soluciones interoperables para sistemas de información geográfica y sistemas basados en localización con el objetivo de que los desarrolladores de este tipo de tecnologías creen servicios e información espacial útiles y disponibles a toda clase de aplicaciones [OGC, 2008]. Del conjunto de especificaciones que define la OGC, la especificación Styled Layer Descriptor (SLD) y la Web Map Service fueron las que se estudiaron para desarrollar la presente tesis. 2.2.1. Web Map Service(WMS) Un Web Map Service (WMS por sus siglas en inglés) produce mapas en forma dinámica a partir de información geográfica vectorial o ráster presentando la información como imágenes digitales susceptibles de ser visualizadas en pantalla. La visualización de la imagen suele ser en formato ráster: PNG, GIF o JPEG, y ocasionalmente, se representan como información vectorial en formato Scalable Vector Graphics (SVG) o Web Computer Graphics Metafile (WebCGM). Los mapas visualizados pueden sobreponerse unos a otros, siempre y cuando los parámetros geográficos y tamaño de salida sean los mismos. El uso de formatos que permiten fondo transparente (por ejemplo GIF y JPEG) facilita la visualización simultánea de estos mapas. Un WMS, acepta peticiones HTTP de aplicaciones cliente. La petición HTTP contiene la solicitud de un mapa siguiendo la especificación WMS definida por la OGC. El WMS procesa la solicitud y responde con el correspondiente mapa codificado en el formato indicado en la petición y con el estilo de visualización solicitado. [BRISABOA, 2007] Las peticiones HTTP pueden ser tipo GET o POST. Un servidor puede ofrecer uno o ambos métodos siendo la petición GET una petición obligatoria y la petición POST una petición opcional hablando en términos de implementación de WMSs. De acuerdo a la especificación URL (IETF RFC 2396) se reservaron un conjunto de caracteres especiales que estructuran la cadena de la petición al WMS. A continuación en la tabla (2.1) se describe el significado de cada caracter especial introducido en la URL de la petición HTTP. Tabla 2.1. Caracteres reservados en WMS para una cadena de consulta Fuente: tomado de [OGC, 2002] Caracter Uso Reservado ? Indica el inicio de la cadena de consulta. & Separador entre parámetros de la cadena de consulta. = Indica la separación entre el nombre y valor de un parámetro.
  • 38. Capítulo 2 Marco Teórico Página 22 / Separador entre tipo MIME y subtipo en formato parámetro valor. : Separador entre nombres de espacio y el identificador de los SRS. , Separa valores individuales en la lista de parámetros (como BBOX, LAYERS y STYLES en una solicitud GetMap). 2.2.2. HTTP GET [OGCWMS, 2002] Para realizar una petición GET, debe indicarse la URL del servicio junto con los parámetros adicionales que se deseen añadir. La estructura es: http ó https, seguido del nombre de la máquina o una dirección numérica, opcionalmente se indica el número de puerto, y finalmente la ruta y el signo de interrogación “?”, el cual es obligatorio. Los parámetros del servicio se añaden después del signo de interrogación finalizando con un “&”. Cada operación está formada por parámetros obligatorios y otros optativos que puede ejecutarse desde cualquier navegador. En la tabla (2.2) se describe cómo se debe estructurar la cadena de solicitud de mapas utilizando el método GET. Tabla 2.2. Estructura de petición HTTP GET Fuente: tomado de [OGCWMS, 2002] Componente URL Descripción http://host[:port]/path[?{name[=value]&}] URL prefijo de operación del servicio. [] Denotan 0 ó 1 ocurrencias de una parte opcional; {} denotan 0 o más ocurrencias. name=value& Uno o más parámetros de nombre/valor, tal como se define para cada operación. Un ejemplo de solicitud GET de un mapa es la siguiente [DIGECA, 2008]: http://ovc.catastro.meh.es/Cartografia/WMS/ponenciasWMS.aspx?SERVICE=WMS&SRS=EPSG:23 030&REQUEST=GETMAP&bbox=426500,4448300,430500,4451300&width=400&height=300&forma t=PNG&transparent=No El resultado de la petición anterior se ilustra en la figura (2.5).
  • 39. Capítulo 2 Marco Teórico Página 23 Figura 2.5. Resultado de solicitud GET a un WMS Fuente: Tomado de [DIGECA, 2008] 2.2.3. HTTP POST Cuando se utiliza este método, el mensaje de solicitud es formulado en un documento XML. Ejemplo [CSGRIP, 2008]: Para realizar la petición HTTP POST se requiere enviar desde un formulario la URL del servicio y el documento XML que describa los parámetros de la solicitud. En la figura (2.6) se muestra el código del formulario que enviará la solicitud HTTP POST y en la figura (2.7) se muestra la ejecución del formulario en el que se ingresa la URL del servicio y el código XML que describe los parámetros de la solicitud. Una vez enviada la petición al servidor, éste procesa la solicitud y regresa como resultado el mapa que se muestra en la figura (2.8).
  • 40. Capítulo 2 Marco Teórico Página 24 Figura 2.6. Código HTML de formulario para manejo de petición POST Fuente: tomado de [CSGRIP, 2008] Figura 2.7. Envío de petición HTTP POST Fuente: tomado de [CSGRIP, 2008]
  • 41. Capítulo 2 Marco Teórico Página 25 Figura 2.8. Resultado de la petición HTTP POST 2.2.4. Operaciones WMS [OGCWMS, 2002] El estándar WMS define dos modos de operar: WMS básico y WMS de consulta. El WMS básico debe soportar los elementos básicos de servicio (versión, peticiones y respuestas HTTP, valores numéricos y booleanos, determinados formatos de salida, sistemas de coordenadas, parámetros de consulta y de respuesta, y excepciones), la operación GetCapabilities y la operación GetMap. Clasifica la información que posee en capas y ofrece un número determinado de estilos, con los cuales se pueden visualizar dichas capas. Este estándar internacional WMS únicamente soporta capas y estilos definidos, no incluye mecanismos de simbolización por parte del usuario. El WMS de consulta debe satisfacer todos los requerimientos de un WMS básico y también soportar la operación GetFeatureInfo. A continuación se describen las operaciones soportadas por los WMSs.  GetCapabilities (Obligatoria) GetCapabilities ofrece información humanamente legible acerca de las características del servicio (metadatos), es decir, permite obtener metadatos acerca del WMS implementado, de las funcionalidades soportadas por el servicio, e información específica sobre las capas de información geográfica disponibles. La información es devuelta al cliente codificada en un documento XML. Los parámetros para realizar la petición GetCapabilities se muestran en la tabla (2.3). Tabla 2.3. Parámetros para la solicitud GetCapabilities Fuente: tomado de [OGCWMS, 2002] Parámetro de solicitud Obligatoriedad Descripción VERSION=versión Opcional Versión de la especificación OGC. SERVICE=WMS Obligatorio Tipo de servicio al que va dirigida la petición.
  • 42. Capítulo 2 Marco Teórico Página 26 REQUEST=GetCapabilities Obligatorio Nombre de la operación. UPDATESEQUENCE=string Opcional Secuencia de números o cadena de caracteres para el control de la consistencia del caché. Este valor se incrementa cuando se realizan cambios en el “Capabilities”. Ejemplo [CSGWMS2008]: A continuación se muestra la solicitud de las características del servicio “IDEE-Base”. El resultado de la petición se observa en la figura (2.9). http://www.idee.es/wms/IDEE-Base/IDEE- Base?VERSION=1.1.0&REQUEST=GetCapabilities&SERVICE=WMS Figura 2.9. Resultado de la petición GetCapabilities  GetMap (Obligatoria) Esta operación proporciona como resultado un mapa el cual refleja una imagen de los datos almacenados. La tabla (2.4) describe cada parámetro necesario para realizar una petición GetMap. Tabla 2.4. Parámetros para la solicitud GetMap Fuente: tomado de [OGCWMS, 2002] Parámetro de solicitud Obligatoriedad Descripción VERSION Obligatorio Versión de la especificación OGC. REQUEST=GetMap Obligatorio Nombre de la petición. LAYERS=lista de capas Obligatorio Lista de una o más capas, separadas por comas. STYLES=lista de estilos Obligatorio Estilo de visualización por capa requerida, separados por comas. SRS=namespace:identificador Obligatorio Sistema de Referencia Espacial.
  • 43. Capítulo 2 Marco Teórico Página 27 Ejemplo [CSGWMS, 2008]: A continuación se muestra un ejemplo de solicitud en la que se pide visualizar las capas Relieve, Hidrografía y Transporte del servicio IDEE-Base. http://www.idee.es/wms/IDEE-Base/IDEE- Base?VERSION=1.1.0&REQUEST=GetMap&LAYERS=Relieve,Hidrografia,transporte&STYL ES=default&SRS=EPSG:4230&BBox=- 3.4650655,40.4137,3.62939155,44.13107&WIDTH=1000&HEIGHT=1000&FORMAT=image/jpeg El mapa resultante se ilustra en la figura (2.10). Figura 2.10. Resultado de la petición GetMap BBOX=minx,miny,maxx,maxy Obligatorio Esquinas de ámbito (inferior izquierda, superior derecha) en unidades SRS. WIDTH=ancho Obligatorio Ancho del mapa en pixeles. HEIGHT=alto Obligatorio Alto del mapa en pixeles. FORMAT=formato de salida Obligatorio Formato de salida del mapa. TRANSPARENT=TRUE|FALSE Opcional Transparencia del fondo del mapa (default=FALSE). BGCOLOR=color_value Opcional Valor del color de fondo RGB en Hexadecimal (default=0xFFFFFF). EXCEPTOPNS=exceptions_format Opcional Formato en el que el WMS informa de las excepciones (default=XML). TIME=time Opcional Valor del tiempo en las capas deseadas. ELEVATION=elevation Opcional Elevación de las capas deseadas. Los siguientes parámetros son utilizados sólo por WMSs que soportan la especificación SLD SLD=url del sld Opcional URL del documento SLD. SLD_BODY=sld codificado Opcional Estilo definido por el usuario codificado de manera que pueda enviarse por la URL. WFS=url del wfs Opcional URL del Web Feature Service para proporcionar características de simbolización mediante SLD.
  • 44. Capítulo 2 Marco Teórico Página 28  GetFeatureInfo (Opcional) GetFeatureInfo es una operación que captura y proporciona información contenida en un mapa, tal como el valor de un objeto en una posición determinada. Es sólo soportada por aquellas capas que tienen el atributo queryable=1 que ha sido definido o heredado. Un cliente no puede emitir una solicitud GetFeatureInfo para capas que tienen el atributo queryable=0. En la tabla (2.5) se describe los parámetros para realizar una petición GetFeatureInfo. Tabla 2.5. Parámetros para la solicitud GetFeatureInfo Fuente: tomado de [OGCWMS, 2002] Componentes Obligatoriedad Descripción VERSION=versión Obligatorio Versión de la especificación OGC. REQUEST=GetFeatureInfo Obligatorio Nombre de la petición. Parámetros del mapa Obligatorio Copia parcial de una petición de mapas que genera el mapa del cual se quiere obtener información. QUERY_LAYERS=lista de capas Obligatorio Lista de una o más capas, sobre las que se realiza la consulta, separadas por comas. INFO_FORMAT=formato de salida Opcional Formato de respuesta de la información sobre el objeto (MIME type). FEATURE_COUNT=número Opcional Número de objetos sobre los que se devuelve información (default=1). X=pixel_column Obligatorio Coordenada X del objeto en el Mapa, en pixeles (medido desde la esquina superior izquierda=0). Y=pixel_row Obligatorio Coordenada Y del objeto en el Mapa, en pixeles (medido desde la esquina superior izquierda=0). EXCEPTIONS=exception_format Opcional Formato en el que el WMS informa de las excepciones (default=application/vnd.ogc.se.xml). Ejemplo [CSGWMS2008]: A continuación se muestra una solicitud HTTP GET que solicita las características de un vértice de la capa redroi (Red de Orden Inferior) situado en el pixel x=250, y=300 del servicio Sistema de Referencia. http://www.idee.es/wms/IDEE-Referencia/IDEE- Referencia?SERVICES=WMS&VERSION=1.1.0&REQUEST=GetFeatureInfo&LAYERS=redro i&STYLES=default&SRS=EPSG:4230&BBox=-5.4650655,38.4137,- 1.62939155,42.13107&WIDTH=400&HEIGHT=500&FORMAT=image/png&OPAQUE&QUER Y_LAYERS=redroi&FEATURE_COUNT=1&X=250&Y=300 El resultado de la solicitud anterior se ilustra en la figura (2.11).