cenidet
Centro Nacional de Investigación y Desarrollo Tecnológico
Departamento de Ciencias Computacionales
TESIS DE MAESTR...
RESUMEN
En el presente documento se describe una metodología para la generación automática de
mapas croquis en formato SVG...
i
TABLA DE CONTENIDO
CAPÍTULO I INTRODUCCIÓN _______________________________________ 1
1. Introducción____________________...
ii
CAPÍTULO III ANÁLISIS Y DISEÑO __________________________________ 33
3. Análisis y diseño _____________________________...
iii
4.5 Enviar mapa SVGTiny____________________________________________94
CAPÍTULO V PRUEBAS Y RESULTADOS ________________...
iv
Listado de figuras
Figura 1-1 Usuarios de dispositivos móviles por cada 100 habitantes _______________________ 4
Figura...
v
Figura 3-20 Diagrama general de casos de uso de la aplicación SketchMapServer ___________ 50
Figura 3-21 Diagrama de cas...
vi
Figura 4-15 Ejemplo para convertir coordenadas georeferenciales a pixeles_________________ 92
Figura 4-16 Métodos de el...
GLOSARIO
API Application Programming Interface. Interfaz de programación de
aplicación. Es el conjunto de funciones y proc...
GSM Global System for Mobile communications. Es un sistema estándar para
comunicación utilizando teléfonos móviles que inc...
MIDP Mobile Information Device Profiles. Perfil para dispositivos móviles de
información.
MMS Multimedia Messaging Service...
WMA Wireless Messaging API. Es un paquete opcional para J2ME que
proporciona acceso independiente de la plataforma a recur...
CAPÍTULO I
INTRODUCCIÓN
En este capítulo se presenta una visión general del tema de investigación, se describe la
problemá...
Capítulo I Introducción
Página 2
1. Introducción
Actualmente las interacciones con las aplicaciones móviles son limitadas ...
Capítulo I Introducción
Página 3
1.1 Descripción del problema
Hoy en día las comunicaciones por medio de conexiones HTTP y...
Capítulo I Introducción
Página 4
1.3 Justificación y beneficios
Hoy en día México tiene un gran crecimiento en la telefoní...
Capítulo I Introducción
Página 5
servicios de multimedia es el costo, en la Tabla 1-1 se presenta el análisis de costos
me...
Capítulo I Introducción
Página 6
La API se diseñó en el marco de los servicios basados en localización, los cuales
respond...
Capítulo I Introducción
Página 7
3. API para la gestión de mapas de navegación de dispositivos móviles mediante el
sistema...
Capítulo I Introducción
Página 8
1.6 Estado del arte
En el desarrollo de un proyecto es necesario tomar en cuenta el conoc...
Capítulo I Introducción
Página 9
principal de este servicio es la presentación de un mapa de datos basados en G-XML,
[JIPD...
Capítulo I Introducción
Página 10
 Tamaño de pantalla. Restricción para aplicaciones que son encaminados a
diversos usuar...
Capítulo I Introducción
Página 11
1.6.3 Mejorando las direcciones de ruta en dispositivos móviles
Este proyecto se enfoca ...
Capítulo I Introducción
Página 12
En resumen, no proporciona suficiente información para que el conductor pueda encontrar
...
Capítulo I Introducción
Página 13
El perfil SVG-Tiny está destinado a multimedia para dispositivos móviles y el SVG-Basic
...
Capítulo I Introducción
Página 14
escalable (SVG). Las adaptaciones del documento SVG pueden ser manipulados
mediante el m...
Capítulo I Introducción
Página 15
Este proyecto es una extensión de gvSIG desktop que permite enviar datos a gvSIG
Mobile,...
Capítulo I Introducción
Página 16
Figura 1-10 Arquitectura de GIAS
En la figura anterior el módulo de “Administración y re...
Capítulo I Introducción
Página 17
puedan ser usadas como aplicaciones tradicionales. Es por ello que se adaptan los
result...
Capítulo I Introducción
Página 18
Figura 1-13 Principales componentes del prototipo del cliente móvil
La estructura de dat...
Capítulo I Introducción
1.6.9 Tabla comparativa del estado del arte
A continuación se muestra la Tabla 1-2, en donde se co...
Capítulo I Introducción
Página 20
1.7 Organización del documento
El documento de tesis se organizó en 6 capítulos cada uno...
CAPÍTULO II
MARCO TEÓRICO
En este capítulo se presentan los conceptos relevantes en el desarrollo del proyecto, lo
que se ...
Capítulo II Marco teórico
Página 22
2. Marco teórico
2.1 Mapa tipo croquis
Mapa tipo croquis se define como una representa...
Capítulo II Marco teórico
Página 23
En la Figura 2-2 se observa que existen algunas características en común entre los LBS...
Capítulo II Marco teórico
Página 24
Red de comunicaciones. Se refiere al medio de transporte de datos. La información de
u...
Capítulo II Marco teórico
Página 25
Tabla 2-1 Necesidades de los usuarios móviles
Acción Preguntas Operaciones
Orientación...
Capítulo II Marco teórico
Página 26
2.3 Sistema de información geográfica
Los sistemas de información geográfica por sus s...
Capítulo II Marco teórico
Página 27
Figura 2-6 Operaciones de geometría
Operación toque. Son relaciones entre dos geometrí...
Capítulo II Marco teórico
Página 28
Figura 2-7 Representación de un mapa vectorial
En el modelo de datos vectorial los obj...
Capítulo II Marco teórico
Página 29
y mayor costo computacional a la hora de procesar la misma. La Figura 2-8 muestra la
r...
Capítulo II Marco teórico
Página 30
 SVG Tiny. Es un subconjunto estricto de SVG Basic, es decir, los gráficos que se
rea...
Capítulo II Marco teórico
Página 31
El servicio SMS emplea los canales de señalización y control de la red GSM. La
comunic...
Capítulo II Marco teórico
Página 32
MMS es un estándar abierto, especificado por el Foro WAP (Wireless Application
Protoco...
CAPÍTULO III
ANÁLISIS Y DISEÑO
En este capítulo se presenta el análisis y diseño realizado para este proyecto de tesis.
Pa...
Capítulo III Análisis y diseño
Página 34
3. Análisis y diseño
3.1 Análisis
Se describe la arquitectura del generador de ma...
Capítulo III Análisis y diseño
Página 35
1. Se realiza una petición a la aplicación Web SketchMapServer vía HTTP mediante
...
Capítulo III Análisis y diseño
Página 36
(Geographic Information Systems). La especificación para SQL de características s...
Capítulo III Análisis y diseño
Página 37
PostGIS soporta los objetos GIS definidos por OpenGIS y el API de representación ...
Capítulo III Análisis y diseño
Página 38
En el contexto de los servicios basados en localización se encuentra información ...
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles
Upcoming SlideShare
Loading in …5
×

Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles

1,061 views

Published on

En el presente documento se describe una metodología para la generación automática de
mapas croquis en formato SVG-Tiny en el proyecto “Generador de mapas tipos croquis en
formato SVG-Tiny para dispositivos móviles aplicando perfiles”, se identifican las
características técnicas del dispositivo celular que envía la solicitud para generar el mapa
en función de las características del dispositivo.
Este proyecto tiene como objetivo proporcionar servicios de búsquedas contextuales, para
localizar puntos de interés o prestadores de servicios que se encuentren cerca de la
ubicación del usuario que realiza la consulta.
El resultado de estas consultas es un mapa de tipo croquis en formato vector escalable
gráfico tiny (SVG-Tiny), el servicio utilizado para el envío de las solicitudes se realiza vía
HTTP, el resultado de esta solicitud es enviado en un archivo SVG-Tiny que contiene el
mapa croquis mostrando los resultados de la búsqueda contextual, por medio de
conexiones HTTP, la parte innovadora de este trabajo es la adopción de métodos para
identificar el perfil del dispositivo celular y en función de sus capacidades es generado un
mapa a la medida.

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

  • Be the first to like this

No Downloads
Views
Total views
1,061
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles

  1. 1. cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA COMPUTACIÓN Generador de mapas croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles presentada por Omar Ríos González Ing. en Sistemas Computacionales por el I. T. de Minatitlán 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. Hugo Estrada Esquivel Jurado: Dr. Javier Ortiz Hernández – Presidente Dra. Azucena Montes Rendón – Secretario Dr. José Antonio Zarate Marceleño – Vocal Dr. Juan Gabriel González Serna – Vocal Suplente Cuernavaca, Morelos, México. Febrero de 2010
  2. 2. RESUMEN En el presente documento se describe una metodología para la generación automática de mapas croquis en formato SVG-Tiny en el proyecto “Generador de mapas tipos croquis en formato SVG-Tiny para dispositivos móviles aplicando perfiles”, se identifican las características técnicas del dispositivo celular que envía la solicitud para generar el mapa en función de las características del dispositivo. Este proyecto tiene como objetivo proporcionar servicios de búsquedas contextuales, para localizar puntos de interés o prestadores de servicios que se encuentren cerca de la ubicación del usuario que realiza la consulta. El resultado de estas consultas es un mapa de tipo croquis en formato vector escalable gráfico tiny (SVG-Tiny), el servicio utilizado para el envío de las solicitudes se realiza vía HTTP, el resultado de esta solicitud es enviado en un archivo SVG-Tiny que contiene el mapa croquis mostrando los resultados de la búsqueda contextual, por medio de conexiones HTTP, la parte innovadora de este trabajo es la adopción de métodos para identificar el perfil del dispositivo celular y en función de sus capacidades es generado un mapa a la medida. ABSTRACT This document describes a methodology for automatic generation of sketch maps in SVG- Tiny format in the "Generator type-sketch maps in SVG-Tiny format for mobile devices applying profiles", identifies the technical characteristics of the mobile device that sends the request to generate the map based on device characteristics. The objective of this project is to provide services of contextual searches to locate points of interest or service providers that are near the location of the user who make the consultation. The result of these consultations is a type sketch map in format tiny scalable vector graphics (SVG-Tiny), the service used for sending the request is performed via HTTP, the result of this request is sent to a file SVG-Tiny containing the sketch map showing the contextual search results through HTTP connections, the innovative part of this work is the adoption of methods to identify the profile of mobile device and based on their capacities is generated a map to the measure.
  3. 3. i TABLA DE CONTENIDO CAPÍTULO I INTRODUCCIÓN _______________________________________ 1 1. Introducción__________________________________________________ 2 1.1 Descripción del problema _________________________________________3 1.2 Objetivo ________________________________________________________3 1.3 Justificación y beneficios__________________________________________4 1.4 Antecedentes____________________________________________________5 1.5 Alcances y limitaciones ___________________________________________7 1.5.1 Alcances _____________________________________________________________ 7 1.5.2 Limitaciones __________________________________________________________ 7 1.6 Estado del arte___________________________________________________8 1.6.1 Desarrollo de servicios de rutas de mapas para celulares basados en G-XML ______ 8 1.6.2 Mapas adaptivos para aplicaciones móviles _________________________________ 9 1.6.3 Mejorando las direcciones de ruta en dispositivos móviles _____________________ 11 1.6.4 Sistema de soporte para contenido multimedia dinámico personalizado en dispositivos móviles ___________________________________________________________________ 12 1.6.5 Visualización Adaptiva de información geográfica en dispositivos móviles_________ 13 1.6.6 gvSIG para dispositivos móviles _________________________________________ 14 1.6.7 Sistema de Información Geográfica basado en SVG _________________________ 15 1.6.8 Procesando datos interoperables por Aplicaciones Geoespaciales Móviles _______ 16 1.6.9 Tabla comparativa del estado del arte _____________________________________ 19 1.7 Organización del documento______________________________________20 CAPÍTULO II MARCO TEÓRICO ____________________________________ 21 2. Marco teórico ________________________________________________ 22 2.1 Mapa tipo croquis _______________________________________________22 2.2 LBS. Servicios basados en localización_____________________________22 2.2.1 Componentes de los LBS_______________________________________________ 23 2.2.2 Funcionamiento ______________________________________________________ 24 2.2.3 Clasificación _________________________________________________________ 24 2.3 Sistema de información geográfica_________________________________26 2.3.1 GIS Vectoriales_______________________________________________________ 27 2.3.2 GIS Raster __________________________________________________________ 28 2.4 Imágenes Gráficos Vectoriales Escalables (SVG) _____________________29 2.5 Mensajería SMS_________________________________________________30 2.6 Mensajería MMS ________________________________________________31
  4. 4. ii CAPÍTULO III ANÁLISIS Y DISEÑO __________________________________ 33 3. Análisis y diseño _____________________________________________ 34 3.1 Análisis________________________________________________________34 3.1.1 Arquitectura del generador de mapas croquis _______________________________ 34 3.1.2 Base de datos espacial ________________________________________________ 35 3.1.3 Algoritmo de ruta _____________________________________________________ 39 3.1.4 Casos de uso de la aplicación móvil SketchMap4U __________________________ 42 3.1.4.1 Caso de uso general ______________________________________________ 42 3.1.4.2 Caso de uso: Configurar RMS _______________________________________ 43 3.1.4.3 Caso de uso: Construir petición HTTP_________________________________ 48 3.1.4.4 Caso de uso: Enviar petición HTTP ___________________________________ 49 3.1.5 Casos de uso de la aplicación web SketchMapServer ________________________ 50 3.1.5.1 Casos de uso general______________________________________________ 50 3.1.5.2 Caso de uso: recibir petición HTTP ___________________________________ 51 3.1.5.3 Caso de uso: Interpretar petición HTTP________________________________ 52 3.1.5.4 Caso de uso: Generar mapa SVG-Tiny ________________________________ 53 3.1.5.5 Caso de uso: Enviar mapa SVGTiny __________________________________ 61 3.2 Diseño ________________________________________________________62 3.2.1 Paquetes diseñados___________________________________________________ 63 3.2.1.1 Paquete mx.edu.cenidet.gateway.database ____________________________ 63 3.2.1.2 Paquete mx.edu.cenidet.gateway.maps _______________________________ 64 3.2.1.3 Paquete mx.edu.cenidet.gateway.maps.coordinates______________________ 67 3.2.1.4 Paquete mx.edu.cenidet.gateway.servlet_______________________________ 69 3.2.1.5 Paquete mx.edu.cenidet.gateway.mobiledevice _________________________ 70 3.2.1.6 Paquete mx.edu.cenidet.gateway.routing ______________________________ 71 3.2.1.7 Paquete mx.edu.cenidet.gateway.SVGTiny_____________________________ 72 3.3 Base de datos MobileDevice ______________________________________74 3.3.1 DeviceMine v3.0______________________________________________________ 74 3.3.2 DeviceAtlas__________________________________________________________ 74 3.3.3 WURFL (Wireless Universal Resource File) ________________________________ 75 CAPÍTULO IV IMPLEMENTACIÓN __________________________________ 77 4. Implementación ______________________________________________ 78 4.1 Recibir petición HTTP____________________________________________78 4.2 Interpretar la petición HTTP _______________________________________79 4.3 Conexión a las bases de datos ____________________________________79 4.3.1 Obtener el perfil del dispositivo móvil______________________________________ 81 4.3.2 Obtener puntos de interés ______________________________________________ 82 4.3.3 Obtener puntos de referencia____________________________________________ 83 4.4 Generar mapa SVGTiny __________________________________________84
  5. 5. iii 4.5 Enviar mapa SVGTiny____________________________________________94 CAPÍTULO V PRUEBAS Y RESULTADOS ____________________________ 95 5. Pruebas y resultados__________________________________________ 96 5.1 Realización de las pruebas _______________________________________96 5.2 Evaluación de los resultados_____________________________________102 CAPÍTULO VI CONCLUSIONES____________________________________ 103 6.1 Conclusiones__________________________________________________104 6.2 Aportaciones __________________________________________________105 6.3 Problemas encontrados _________________________________________105 6.4 Trabajos futuros _______________________________________________106 6.5 Publicaciones _________________________________________________108 ANEXOS ______________________________________________________ 109 ANEXO A Análisis para representar puntos de interés ________________ 110 ANEXO B Estudio de plataformas móviles __________________________ 119 ANEXO C Plan de pruebas _______________________________________ 131 ANEXO D Scalable Vector Graphics (SVG)__________________________ 152 REFERENCIAS _________________________________________________ 163
  6. 6. iv Listado de figuras Figura 1-1 Usuarios de dispositivos móviles por cada 100 habitantes _______________________ 4 Figura 1-2 Representación del servicio de rutas ________________________________________ 8 Figura 1-3 Procedimiento para generar la ruta del mapa _________________________________ 9 Figura 1-4 Segmento de ruta presentado vía Web _____________________________________ 11 Figura 1-5 Descripción de ruta_____________________________________________________ 11 Figura 1-6 Navegación de mapas en PDA (CityMap) ___________________________________ 12 Figura 1-7 Arquitectura de MM4U __________________________________________________ 13 Figura 1-8 Interfaz de usuario de gvSIG Mobile _______________________________________ 14 Figura 1-9 Sincronización de datos desde gvSIG desktop _______________________________ 15 Figura 1-10 Arquitectura de GIAS __________________________________________________ 16 Figura 1-11 Creación de archivo SVG _______________________________________________ 16 Figura 1-12 Arquitectura para integrar aplicaciones móviles especificando dispositivos al SDI ___ 17 Figura 1-13 Principales componentes del prototipo del cliente móvil _______________________ 18 Figura 1-14 Representación y visualización de datos ___________________________________ 18 Figura 2-1 Representación de un Mapa tipo croquis ____________________________________ 22 Figura 2-2 Áreas que conforman los LBS ____________________________________________ 22 Figura 2-3 Componentes básicos LBS ______________________________________________ 23 Figura 2-4 Funcionamiento LBS____________________________________________________ 24 Figura 2-5 Clasificación de los LBS _________________________________________________ 25 Figura 2-6 Operaciones de geometría _______________________________________________ 27 Figura 2-7 Representación de un mapa vectorial ______________________________________ 28 Figura 2-8 Representación de un mapa ráster ________________________________________ 28 Figura 2-9 Perfiles SVG __________________________________________________________ 30 Figura 2-10 Estructura de un mensaje SMS. __________________________________________ 30 Figura 2-11 Esquema de composición de páginas en un mensaje MMS.____________________ 31 Figura 3-1 Arquitectura del generador de mapas croquis en un contexto de cliente/servidor ____ 34 Figura 3-2 Tablas de metadatos de la especificación OpenGIS ___________________________ 36 Figura 3-3 Representación de un BBOX _____________________________________________ 37 Figura 3-4 Algoritmo de Dijkstra____________________________________________________ 40 Figura 3-5 Representación del área de interés ________________________________________ 40 Figura 3-6 Aristas y nodos del área de interés ________________________________________ 41 Figura 3-7 Grafo con los nodos inferidos _____________________________________________ 41 Figura 3-9 Diagrama de flujo del proceso de obtención de la ruta _________________________ 42 Figura 3-8 Ruta obtenida del algoritmo de Dijkstra _____________________________________ 42 Figura 3-10 Diagrama general de los casos de uso de la aplicación SketchMap4U____________ 43 Figura 3-11 Diagrama de caso de uso: CU1 Configurar RMS_____________________________ 43 Figura 3-12 Diagrama de actividad del caso de uso: CU1 Configurar RMS __________________ 44 Figura 3-13 Diagrama de actividad del caso de uso: CU1.1 Crear RMS ____________________ 45 Figura 3-14 Diagrama de actividad del caso de uso: CU1.2 Leer RMS _____________________ 46 Figura 3-15 Diagrama de actividad del caso de uso: CU1.3 Actualizar RMS _________________ 47 Figura 3-16 Diagrama de caso de uso: CU2 Construir petición HTTP ______________________ 48 Figura 3-17 Diagrama de actividad del caso de uso: CU2 Construir petición HTTP____________ 48 Figura 3-18 Diagrama de caso de uso: CU3 Enviar trama _______________________________ 49 Figura 3-19 Diagrama de actividad del caso de uso: CU3 Enviar trama_____________________ 49
  7. 7. v Figura 3-20 Diagrama general de casos de uso de la aplicación SketchMapServer ___________ 50 Figura 3-21 Diagrama de caso de uso: CU4 Recibir petición HTTP ________________________ 51 Figura 3-22 Diagrama de actividad del caso de uso: CU4 Recibir petición HTTP _____________ 51 Figura 3-23 Diagrama de caso de uso: CU5 Interpretar petición HTTP _____________________ 52 Figura 3-24 Diagrama de actividad del caso de uso: CU5 Interpretar petición HTTP___________ 53 Figura 3-25 Diagrama de caso de uso: CU6 Generar mapa SVGTiny ______________________ 53 Figura 3-26 Diagrama de actividad del caso de uso: CU6.1 Obtener perfil del dispositivo_______ 54 Figura 3-27 Diagrama de caso de uso: CU6.2 Crear imagen SVGTiny _____________________ 55 Figura 3-28 Diagrama de actividad del caso de uso: CU6.2.1 Obtener mapa SVG ____________ 56 Figura 3-29 Diagrama de actividad del caso de uso: CU6.2.2 Convertir SVG a SVGTiny _______ 57 Figura 3-30 Diagrama de actividad del caso de uso: CU6.2.3 Generar ruta__________________ 58 Figura 3-31 Diagrama de actividad del caso de uso 6.2.4 Obtener puntos de referencia________ 59 Figura 3-32 Diagrama de actividad del caso de uso: CU6.2.5 Agregar datos al SVGTiny _______ 60 Figura 3-33 Diagrama de caso de uso: CU7 Enviar mapa SVGTiny________________________ 61 Figura 3-34 Diagrama de actividad del caso de uso: CU7 Enviar mapa SVGTiny _____________ 61 Figura 3-35 Diagrama general de paquetes del generador de mapas croquis SVGTiny ________ 62 Figura 3-36 Diagrama de clases del paquete mx.edu.cenidet.gateway.database _____________ 63 Figura 3-37 Diagrama de secuencia para una conexión a postgres ________________________ 64 Figura 3-38 Diagrama de clases del paquete mx.edu.cenidet.gateway.maps ________________ 65 Figura 3-39 Diagrama de secuencia para la obtención del mapa SVG______________________ 66 Figura 3-40 Diagrama de secuencia para la obtención de los datos del SVGTiny _____________ 67 Figura 3-41 Diagrama de clases del paquete mx.edu.cenidet.gateway.maps.coordinates_______ 68 Figura 3-42 Diagrama de secuencia para convertir coordenadas UTM y georeferenciales ______ 69 Figura 3-43 Diagrama de clases del paquete mx.edu.cenidet.gateway.servlets_______________ 69 Figura 3-44 Diagrama de secuencia para dar al servlet el mapa SVGTiny___________________ 70 Figura 3-45 Diagrama de clases del paquete mx.edu.cenidet.edu.gateway.mobiledevice _______ 70 Figura 3-46 Diagrama de secuencia para la obtención del dispositivo móvil _________________ 71 Figura 3-47 Diagrama de clases del paquete mx.edu.cenidet.gateway.routing _______________ 71 Figura 3-48 Diagrama de secuencia para generar la ruta mínima _________________________ 72 Figura 3-49 Diagrama de clases del paquete mx.edu.cenidet.gateway.SVGTiny______________ 73 Figura 3-50 Diagrama de actividad para crear el mapa SVGTiny __________________________ 73 Figura 3-51 Diagrama relacional de la base de datos MobileDevice________________________ 76 Figura 4-1 Recepción de la petición HTTP. ___________________________________________ 79 Figura 4-2 Interpretación de la petición HTTP _________________________________________ 79 Figura 4-3 Conexión a la base de datos Postgres______________________________________ 80 Figura 4-4 Conexión a la extensión PostGIS de la base de datos Postgres __________________ 80 Figura 4-5 Ejemplo de conexión a la base de datos ____________________________________ 81 Figura 4-6 Obtención del perfil del dispositivo móvil ____________________________________ 82 Figura 4-7 Obtención de los puntos de interés ________________________________________ 83 Figura 4-8 Obtención de los puntos de referencia______________________________________ 84 Figura 4-9 Obtención del mapa SVGTiny ____________________________________________ 86 Figura 4-10 Generación y obtención del área de interés (BBOX) __________________________ 87 Figura 4-11 Obtención del mapa SVG _______________________________________________ 88 Figura 4-12 Conversión SVG a SVGTiny_____________________________________________ 89 Figura 4-13 Obtención de la ruta ___________________________________________________ 90 Figura 4-14 Conversión de coordenadas georeferenciales a pixeles _______________________ 91
  8. 8. vi Figura 4-15 Ejemplo para convertir coordenadas georeferenciales a pixeles_________________ 92 Figura 4-16 Métodos de elementos que se agregan al mapa SVGTiny _____________________ 93 Figura 4-17 Métodos para agregar datos al mapa SVGT ________________________________ 94 Figura 4-18 Enviar el mapa SVGT al dispositivo móvil __________________________________ 94 Figura 5-1 Parámetros de conexión para el MBDR PostgreSQL __________________________ 97 Figura 5-2 Parámetros de conexión de la extensión PostGIS SBLAGWMMS ________________ 97 Figura 5-3 Interpretación del mensaje recibido ________________________________________ 97 Figura 5-4 Perfil del dispositivo móvil________________________________________________ 98 Figura 5-5 Proceso de obtención del mapa imagen en consola ___________________________ 99 Figura 5-6 Mapa obtenido ________________________________________________________ 99 Figura 5-7 Representación de la ruta en nodos________________________________________ 99 Figura 5-8 Visualización de la ruta mediante Netbeans ________________________________ 100 Figura 5-9 Obtención de los POR(Point of Reference - puntos de referencia) _______________ 100 Figura 5-10Visualización del proceso de una petición del servicio de taxis. _________________ 101 Listado de tablas Tabla 1-1 Costos de mensajería de las telefónicas en México, 2009 ________________________ 5 Tabla 1-2 Comparativa de los trabajos del estado del arte _______________________________ 19 Tabla 2-1 Necesidades de los usuarios móviles _______________________________________ 25 Tabla 3-1 Descripción del caso de uso: CU1 Configurar RMS ____________________________ 44 Tabla 3-2 Descripción del caso de uso: CU1.1 Crear RMS_______________________________ 45 Tabla 3-3 Descripción del caso de uso: CU1.2 Leer RMS _______________________________ 46 Tabla 3-4 Descripción del caso de uso: CU1.3 Actualizar RMS ___________________________ 47 Tabla 3-5 Descripción del caso de uso: CU2 Construir petición HTTP ______________________ 48 Tabla 3-6 Descripción del caso de uso: CU3 Enviar trama _______________________________ 49 Tabla 3-7 Descripción del caso de uso: CU4 Recibir petición HTTP________________________ 51 Tabla 3-8 Descripción del caso de uso: CU5 Interpretar petición HTTP _____________________ 52 Tabla 3-9 Descripción del caso de uso: CU6.1 Obtener perfil del dispositivo móvil ____________ 53 Tabla 3-10 Descripción del caso de uso: CU6.2.1 Obtener mapa SVG _____________________ 55 Tabla 3-11 Descripción del caso de uso: CU 6.2.2 Convertir SVG a SVGTiny________________ 56 Tabla 3-12 Descripción del caso de uso: CU6.2.3 Generar ruta ___________________________ 57 Tabla 3-13 Descripción del caso de uso: CU6.2.4 Obtener puntos de referencia______________ 58 Tabla 3-14 Descripción del caso de uso: CU6.2.5 Agregar datos al SVGTiny ________________ 59 Tabla 3-15 Descripción del caso de uso: CU7 Enviar mapa SVGTiny ______________________ 61 Tabla 3-16 Descripción de los paquetes de la aplicación SketchMapServer. _________________ 62 Tabla 3-17 Comparación de los repositorios de dispositivos móviles _______________________ 75 Tabla 3-18 Descripción de las de la base de datos MobileDevice _________________________ 76 Tabla 5-1 Evaluación de resultados________________________________________________ 102
  9. 9. GLOSARIO API Application Programming Interface. Interfaz de programación de aplicación. Es el conjunto de funciones y procedimientos que ofrece cierta librería para ser utilizado por otro software como una capa de abstracción. Representa una interfaz de comunicación entre componentes de software. BDE Base de Datos Espacial. Provee todos los servicios de los Sistemas manejadores de bases de datos relacionales y una administración efectiva y eficiente de datos espaciales BBOX Bounding BOX. Es un rectángulo orientado por líneas x-y, contiene un conjunto de datos geográficos especificado por dos coordenadas: xmin, ymin and xmax, ymax. Capa Unidad básica de información geográfica que puede solicitarse a un servidor como un mapa. 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. CDMA Code Division Multiple Access. El acceso múltiple por división de código o CDMA es un término genérico para varios métodos de multiplexación o control de acceso al medio basados en la tecnología de espectro extendido (spread spectrum). Generalmente se emplea en comunicaciones inalámbricas (por radiofrecuencia), aunque también puede usarse en sistemas de fibra óptica o de cable. DBMS Sistema Manejador de bases de datos. Gateway Hardware o software que realiza la conversión de protocolos entre diferentes tipos de redes. GIS Geographic Information System. Los sistemas de información geográfica son una integración organizada de hardware, software, datos geográficos y personal, diseñado 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. GPS Global Positioning System. Sistema de Posicionamiento Global. Sistema Global de Navegación por Satélite que permite determinar en todo el mundo la posición de un objeto. GPRS General Packet Radio Service. Es un servicio de datos móvil orientado a paquetes. Está disponible para los usuarios del Sistema Global para Comunicaciones Móviles (GSM). Permite velocidades de transferencia de 56 a 114 Kbps.
  10. 10. GSM Global System for Mobile communications. Es un sistema estándar para comunicación utilizando teléfonos móviles que incorporan tecnología digital. HTTP HyperText Transfer Protocol. Es un protocolo orientado a transacciones Web y sigue el esquema petición-respuesta entre un cliente y un servidor. IEEE Institute of Electrical and Electronics Engineers. Instituto de Ingenieros Eléctricos y Electrónicos, una asociación técnico-profesional mundial dedicada a la estandarización, entre otras cosas. Es la mayor asociación internacional sin fines de lucro formada por profesionales de las nuevas tecnologías, como ingenieros de telecomunicaciones, ingenieros electrónicos, Ingenieros en informática e Ingenieros en computación. JCP Java Community Process. Es un proceso formalizado que permite a las partes interesadas involucrarse en la definición de futuras versiones y características de la plataforma Java. JSR Java Specification Request. Son documentos formales que describen las especificaciones y tecnologías propuestas para que sean añadidas a la plataforma Java. LBS Location Based Service. Ofrecen un servicio personalizado a los usuarios basado en su información de ubicación geográfica. Para su operación utiliza tecnología de sistemas de información geográfica, alguna tecnología de posicionamiento y tecnología de comunicación de redes para transmitir información hacia una aplicación LBS que pueda procesar y responder la solicitud. 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. Mapa croquis Se define como una representación gráfica de la ubicación exacta de una dirección o lugar que se está localizando por medio de coordenadas o puntos de referencia, básicamente se utiliza para localizar una dirección en particular. Los puntos de interés que se muestran en el mapa sirven como referencia visual para orientar al usuario, presentándose la ruta con la información pertinente representada mediante símbolos y textos.
  11. 11. MIDP Mobile Information Device Profiles. Perfil para dispositivos móviles de información. MMS Multimedia Messaging Service. Servicio de mensajería multimedia. Es un estándar de para los sistemas de mensajería de las telefonías celulares que permite el envío de mensajes que incluyen objetos de multimedia tales como: imágenes, audio, video y texto enriquecido. PostGIS Módulo que añade soporte de objetos geográficos a la base de datos objeto relacional PostgreSQL para su utilización en Sistema de Información Geográfica. Se publica bajo la GNU (General Public License). PostgreSQL Servidor de base de datos libre desarrollado en su primera versión con el nombre de Ingres, proyecto desarrollado en la universidad de Berkeley. Considerado como el referente a los sistemas manejadores de base de datos libres. Shapefile Formato de archivo de tipo vectorial con extensión .shp desarrollado por la empresa Esri para la representación de la información a través de geometrías y un sistema de referencia espacial. SRS Spatial Referencing System or Coordinate Reference System (CRS) es un sistema de coordenadas locales, regionales o globales usados para localizer entidades geográficas. SVG Es un lenguaje para describir gráficos bidimensionales en XML. Soporta tres tipos de objetos gráficos: figuras vectoriales (por ejemplo rutas formadas por líneas rectas y curvas), imágenes y texto. Estos objetos se pueden agrupar, estilizar, transformar y componer en nuevos objetos previamente representados. URL Uniform Resource Locator. Es una secuencia de caracteres, de acuerdo a un formato estándar, que se usa para nombrar recursos como documentos e imágenes en Internet para su localización. URI Uniform Resource Identifier. Es una cadena corta de caracteres que identifica inequívocamente un recurso (servicio, página, documento, dirección de correo electrónico, enciclopedia, etc.). Normalmente estos recursos son accesibles en una red o sistema. WAP Wireless Application Protocol. Es un estándar abierto internacional para aplicaciones que utilizan las comunicaciones inalámbricas, p.ej. acceso a servicios de Internet desde un teléfono móvil. Wi-Fi Es un sistema de envío de datos sobre redes computacionales que utiliza ondas de radio en lugar de cables.
  12. 12. WMA Wireless Messaging API. Es un paquete opcional para J2ME que proporciona acceso independiente de la plataforma a recursos de comunicación inalámbrica como SMS. 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. XML eXtensible Markup Language. Lenguaje de marcado extensible. Es un meta-lenguaje que permite definir lenguajes de marcado adecuados a usos determinados. En la práctica corresponde a un estándar que permite a diferentes aplicaciones interactuar entre sí a través de una red.
  13. 13. CAPÍTULO I INTRODUCCIÓN En este capítulo se presenta una visión general del tema de investigación, se describe la problemática que se abordó, el objetivo, la justificación, los beneficios, los alcances y las limitaciones del proyecto de tesis. Además se muestra la investigación del estado del arte realizado y la organización general del documento.
  14. 14. Capítulo I Introducción Página 2 1. Introducción Actualmente las interacciones con las aplicaciones móviles son limitadas por las restricciones propias de los dispositivos, teniendo los desarrolladores el reto de diseñar sistemas de mapas para dispositivos móviles, tomando en consideración las restricciones conocidas para desarrollar aplicaciones de utilidad y de gran impacto en los usuarios. Las restricciones de los dispositivos incluyen las limitaciones del tamaño de pantalla que muestra el contenido de mapas descritos por un conjunto de datos, el bajo ancho de banda para la transmisión de datos que son utilizados para renderizar1 los mapas y el pobre poder computacional para procesar los datos, [Hampe, 2005]. Es por ello que las investigaciones con respecto a las cuestiones de diseño, interacción y elaboración de modelos de los servicios de mapas móviles se han incrementado, dominando los estilos de presentación en los dispositivos móviles, así como las diversas formas de adaptación y comunicación entre los mismos. La comunicación a través de dispositivos móviles ha mostrado un crecimiento interesante como resultado de la facilidad de manejo, la reducción del costo y la disponibilidad de servicios, abarcando un sector importante en la sociedad. Como resultado del crecimiento en el uso de dispositivos móviles han surgido nuevas tecnologías y servicios basados en la ubicación del usuario, es decir, servicios basados en localización (LBS pos sus siglas en inglés), [LBSWiki, 2009]. Cabe señalar que las aplicaciones implementadas son apoyadas por servicios web, así como la mayoría de las investigaciones realizadas a la fecha están enfocadas a los sistemas de navegación utilizando dispositivos GPS (Global Positioning System) [GPSWiki, 2009] para la transmisión de datos georeferenciales, desarrollando con ello aplicaciones LBS. Se propone una innovadora combinación de tecnologías de información dependiente de la ubicación del usuario, para ofrecer un nuevo tipo de servicios multimedia móvil de valor agregado. El estudio muestra que los nuevos servicios móviles se pueden desarrollar utilizando información sobre la localización. En la investigación de los servicios que prestan los principales proveedores de tecnología móvil, se puede observar que este trabajo de investigación abarcó todos los servicios con los que se cuenta actualmente en México. El resultado de las consultas realizadas por el usuario es un mapa de tipo croquis en formato vector escalable gráfico tiny [SVG, 2009], se utilizaron conexiones HTTP para brindar el servicio de envío y recepción, el resultado es un archivo en formato SVG-Tiny que contiene un mapa tipo croquis que muestra los resultados de la búsqueda contextual, la parte innovadora de este trabajo es la adopción de métodos para identificar el perfil del dispositivo celular y en función de sus capacidades se genera un mapa a la medida. 1 El concepto de renderizar en campo de los gráficos por computadora define el proceso de creación de imágenes sintéticas.
  15. 15. Capítulo I Introducción Página 3 1.1 Descripción del problema Hoy en día las comunicaciones por medio de conexiones HTTP y los servicios de multimedia MMS son explotados en el envío de diversos tipos de información, tales como: imágenes estáticas ó dinámicas con texto plano, videos, entre otros. Asimismo los servicios basados en localización (LBS) están siendo explotados en el área de la telefonía celular, específicamente en consultas contextuales la respuesta que obtiene el usuario es enviado mediante mensajes SMS. En el área de Sistemas Distribuidos de CENIDET se desarrolló una API para la gestión de mapas de navegación en dispositivos móviles, mediante el sistema GPS y mensajería SMS/MMS, haciendo falta una aplicación en el lado del servidor que proporcione los mapas a dicha API. Para esta tesis se realizó una investigación que permitió identificar las limitantes que tienen los dispositivos móviles, tales como: tamaño de la pantalla, capacidad de procesamiento y almacenamiento. Aunado a esto, se identificó que el uso de imágenes comunes tales como: JPG, GIF, BMP tienden a distorsionarse cuando se realizan acercamientos y alejamientos (zoom-in y zoom-out) además de que el peso del archivo se considera otra limitante. En resumen, el problema que se plantea es resolver solicitudes de información de consultas contextuales mediante el uso de formatos de imágenes compatibles con la mayoría de las plataformas de dispositivos celulares de última generación, utilizando un modelo de mapas tipo croquis que identifiquen puntos de interés, que serán representados por una imagen en función del perfil del dispositivo, siendo la solución propuesta la siguiente: Desarrollar un generador de mapas tipo croquis en formato SVG-Tiny, que dé respuesta a las solicitudes que sean enviadas por el dispositivo móvil haciendo uso de la API2 , enviando el mapa mediante solicitudes basadas en conexiones HTTP, que se pueda visualizar en dispositivos móviles con diferentes características funcionales. Cabe destacar que al mapa tipo croquis elimina información no pertinente, con el fin de mostrar al usuario sólo la información necesaria para dar respuesta a la petición realizada. 1.2 Objetivo Generación de mapas tipo croquis en formato SVG-Tiny considerando información del perfil del dispositivo, aplicando técnicas de destilado para eliminar información geográfica no pertinente para el usuario, utilizando el esquema de mensajes de tipo solicitud/respuesta mediante mensajería de SMS así como conexiones basadas en HTTP/GRPS. 2 API para la Gestión de Mapas de Navegación en Dispositivos Móviles Mediante el Sistema GPS y Mensajería SMS/MMS. Desarrollado en el Laboratorio de Sistemas Distribuidos de Cenidet.
  16. 16. Capítulo I Introducción Página 4 1.3 Justificación y beneficios Hoy en día México tiene un gran crecimiento en la telefonía celular, teniendo más énfasis en las promociones del servicio a bajo costo, el surgimiento de nuevos servicios para los usuarios en cuanto a promociones vía mensajes SMS y la venta de descargas de archivos multimedia. COFETEL [COFETEL, 2009] indica que 72 de cada 100 personas tiene al menos un dispositivo móvil, tal como se muestra en la Figura 1-1, en la cual se puede ver en una tabla a los usuarios existentes hasta el segundo trimestre del año 2009, y se puede observar el crecimiento de los usuarios comprendidos desde el año 1990 a la fecha. AÑO MILES DE USUARIOS 1990 63.9 1991 160.9 1992 312.6 1993 386.1 1994 571.8 1995 688.5 1996 1,021.9 1997 1,740.8 1998 3,349.5 1999 7,731.6 2000 14,077.9 2001 21,757.6 2002 25,928.3 2003 30,097.7 2004 38,451.1 2005 47,141.0 2006 55,395.5 2007 66,559.5 2008 p/ 75,303.5 ago-09 78,257.3 El uso del servicio de mensajería SMS y MMS ha ido en aumento por los diversos servicios que se brindan a través de ellos, los primeros brindan servicios de publicidad por parte de las empresas privadas, mientras que los Mensajes Multimedia están tomando un alto impacto en los usuarios en la compra-venta de tonos, videos, imágenes, entre otros, por otro lado los Servicios Basados en Localización (LBS) lo brindan empresas tales como Google, Multimap, Mapquest, iLocator de Nextel, entre otros, las cuales se tiene acceso por medio de conexiones vía WiFi y GPRS. Uno de los limitantes en México para brindar 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008p/ jun-09 0.1 0.2 0.4 0.4 0.6 0.8 1.1 1.8 3.5 8.0 14.2 21.6 25.4 29.1 36.3 45.1 52.6 62.6 70.3 72.3 Figura 1-1 Usuarios de dispositivos móviles por cada 100 habitantes
  17. 17. Capítulo I Introducción Página 5 servicios de multimedia es el costo, en la Tabla 1-1 se presenta el análisis de costos mensajería SMS/MMS y GPRS en México. Tabla 1-1 Costos de mensajería de las telefónicas en México, 2009 Movistar Telcel Iusacell Nextel SMS $ 0.98 $ 0.85 $1.00 $0.86 MMS $2.00 $ 2.00 $5.00 $3.45 GPRS $0.14 x Kb $0.04 x Kb $0.12 x Kb Incluido en Renta mensual Como resultado de la limitada capacidad de los mensajes de SMS para transportar información, en la presente tesis se propone el desarrollo de un generador de mapas en formato SVG-Tiny, que permita proporcionar un servicio más eficiente al usuario, presentando el resultado de su consulta en formato gráfico, lo que permite enviar mayor cantidad de información de manera más amigable y comprensible por el usuario. Los resultados serán dados de acuerdo a la ubicación y los sitios de interés del usuario, para ello se debe de ingresar el perfil del usuario, la ubicación se adquiere del dispositivo móvil, siendo estos datos necesarios para realizar la consulta, asimismo se considera el perfil del dispositivo y el tipo de tecnología de transmisión de datos por el cual se realiza dicha comunicación. Los beneficios que se obtienen al término de este trabajo de tesis son los siguientes:  Generación de mapas tipo croquis en formato SVG-Tiny para dispositivos móviles en función de la ubicación del usuario.  Ofrecer a los usuarios de telefonía móvil Servicios Basados en Localización (LBS), haciendo uso de mensajería SMS y WiFi mediante conexiones HTTP/GPRS. 1.4 Antecedentes Se describen tres proyectos que se consideran antecedentes de este trabajo de tesis que fueron desarrollados en CENIDET durante el período 2005-2008, los cuales se describen a continuación: 1. API SMS para el procesamiento de consultas georeferenciadas y no georeferenciadas [Ruiz, 2007]. El proyecto consta de un conjunto de funciones para desarrollar e implementar aplicaciones en dispositivos móviles para procesar consultas dependientes/independientes de la ubicación de un usuario de dispositivos móviles, utilizando mensajería de SMS y el sistema de posicionamiento global. Cuando se trata de una consulta georeferenciada, la API es capaz de obtener la ubicación del cliente móvil a través de un dispositivo GPS. Para ello, la API cuenta con un paquete llamado Conexión, el cual realiza las tareas de detección y conexión con el dispositivo GPS así como la extracción de los datos. También cuenta con un paquete llamado Mensaje, que contiene las clases encargadas de la formación del mensaje de SMS, su envío y recepción.
  18. 18. Capítulo I Introducción Página 6 La API se diseñó en el marco de los servicios basados en localización, los cuales responden a las preguntas ¿Qué hay cerca de..?, ¿Cómo llego a..?, ¿Qué pasa cerca de..? y ¿Qué clima hay en..? Con base en lo anterior, identifica cuatro tipos de objetos: 1. Punto de interés (georeferenciado o no georeferenciado). Para el primer caso, la localización del usuario se realiza a través de información que obtiene de un GPS Bluetooth3 ; para el segundo caso, la localización se realiza a través de información que el usuario proporciona (calle, número, colonia, código postal, ciudad). 2. Camino. Sucesión de puntos que unen dos o más lugares. 3. Evento (político, religioso, cultural, etc.). 4. Clima. 2. Gateway SMS Pull para Servicios Basados en Localización con una Arquitectura de Servicio Web [Quiñonez, 2007]. En este proyecto se desarrolló un gateway (pasarela) para el procesamiento de mensajes de SMS/MMS identificando si es una consulta dependiente o independiente de la ubicación del cliente móvil. Una vez identificado el tipo de consulta, se procesa de manera local o externa sobre una arquitectura que soporte las tecnologías de los servicios Web. Los tipos de búsqueda que soporta la arquitectura del gateway mencionado, se definen mediante un conjunto de palabras clave, cada una representa un servicio reconocido por el servidor de consultas, y en base a éstas retorna la información solicitada en el formato adecuado. A continuación se listan las palabras clave soportadas por el gateway:  Banco  CCamion  Cine  Farmacia  Hospital  Restaurante  SMercado  NPOI (retorna el punto de interés más cercano a la posición del dispositivo móvil, basado en una búsqueda por radio predefinido).  POI (regresa las palabras claves de los puntos de interés cercanos a la posición del dispositivo móvil en un radio de 20 a 30 metros).  WIA (retorna la calle y colonia donde se encuentra el dispositivo móvil).  RCORTA (regresa la ruta para llegar al servicio definido por la palabra clave enviada desde la posición actual del dispositivo). 3 Es una especificación para redes inalámbricas de área personal (WPANs) que hace posible transmitir voz y datos entre distintos dispositivos mediante un enlace por radiofrecuencia segura y globalmente libre.
  19. 19. Capítulo I Introducción Página 7 3. API para la gestión de mapas de navegación de dispositivos móviles mediante el sistema GPS y la mensajería SMS/MMS [Victoria, 2008]. Se desarrolló una API bajo la plataforma J2ME para procesar consultas georeferenciadas/no georeferenciadas a través de mensajes SMS/MMS para representar puntos de interés sobre un mapa vectorial SVG en un dispositivo móvil, que permita al usuario orientarse de mejor manera al visualizar e interactuar con la información de referencia solicitada. Los servicios basados en localización (LBS) así como los mapas de navegación, son aplicaciones cada vez más comunes en los dispositivos móviles. Es posible coleccionar datos y atributos geoespaciales para resolver necesidades de ubicación y orientación de los usuarios. Se desarrolló una API para dispositivos móviles que permite visualizar e interactuar con información georeferencial representada como puntos de interés sobre un mapa vectorial SVG que se podrá obtener vía un mensaje MMS o una conexión HTTP/GPRS. Busca aprovechar la tecnología actual de los dispositivos móviles como Smartphones y PocketPCs para proporcionar servicios de localización a los usuarios en un momento determinado, ya sea de manera textual o gráfica. 1.5 Alcances y limitaciones 1.5.1 Alcances  La aplicación del servidor realiza los puntos siguientes: o Recibe e interpreta la trama de la petición o Realiza peticiones al servidor de mapas. o Para generar el camino se implementa un algoritmo de ruta, en la obtención de los puntos de referencia es necesario realizar consultas a la base de datos espacial. o La imagen SVG obtenido del servidor de mapas es convertida al formato SVG-Tiny, se añade el camino y los puntos de referencia.  Las peticiones y el envío del mapa en formato SVG-Tiny es enviado por medio de conexiones HTTP. 1.5.2 Limitaciones  Sólo se muestran los puntos de referencia que cumplan con la condición de búsqueda del camino generado.  El medio para enviar la respuesta es vía HTTP.  La aplicación cliente está limitado a los dispositivos móviles que soporten como mínimo la configuración Java CLDC 1.1 (JSR 179) y el perfil MIDP 2.0 (JSR 118).  Los dispositivos móviles deben soportar las siguientes APIs para J2ME: o Location API(JSR 179), o Wireless Messaing API 2.0 (JSR 205) y o Scalable 2D Vector Graphics API (JSR 226).
  20. 20. Capítulo I Introducción Página 8 1.6 Estado del arte En el desarrollo de un proyecto es necesario tomar en cuenta el conocimiento disponible en la actualidad en torno al tema de investigación, con el fin de que el conocimiento que se produzca tenga carácter novedoso. En esta investigación se han tomado diversos trabajos de diferentes centros de investigación. Se ha realizado un estudio en cada uno de ellos, tomando en cuenta aquellos que están más relacionados con la temática a tratar, seleccionando los puntos fundamentales, así como la comparación de dichos puntos mostrando las ventajas que se obtienen como resultado en esta investigación. 1.6.1 Desarrollo de servicios de rutas de mapas para celulares basados en G-XML Este proyecto [ichiro, 2002] describe el desarrollo de servicios de rutas de mapas basados en G-XML para dispositivos móviles, permitiendo al usuario describir diversos datos espaciales en relación con las mismas condiciones, siendo tecnología clave para el servicio de mapas móviles. Figura 1-2 Representación del servicio de rutas G-XML tiene un impacto mayor para el intercambio de información espacial a través de Internet, porque es la especificación para codificar la información espacial con XML. En estas circunstancias hicieron uso de G-XML para desarrollar un servicio de rutas en mapas para la telefonía móvil como una variedad de la navegación. La característica
  21. 21. Capítulo I Introducción Página 9 principal de este servicio es la presentación de un mapa de datos basados en G-XML, [JIPDC, 2006]. En la Figura 1-2 se muestran los 4 tipos de representaciones en el servicio, las cuales son: 1. Ruta. Describe una ruta de origen a destino, la información que se muestra es la adecuada para pantallas pequeñas del dispositivo móvil. 2. Lista de etiquetas. Representación mediante iconos para indicar instrucciones de guiado, por ejemplo: seguir a la derecha, izquierda o derecho, para reconocer en donde se encuentra o a donde se debe dirigir. 3. Mapa. Permite a los usuarios reconocer que dirección se debe tomar de manera visual. 4. Descripción general. Presenta el mapa con una ruta indicando el origen y hacia donde se desea ir. El procedimiento para generar la ruta de los mapas mostrado en la Figura 1-3 se desarrolla en tres etapas:  Primera etapa. Buscar la ruta óptima desde el principio hasta el fin. Al mismo tiempo se obtienen los nodos y los enlaces de la ruta.  Segunda etapa. Se especifican las posiciones de los nodos y los vínculos (NodeRelativePoint y m) de la ruta como un elemento S-GXML y se representa mediante una sentencia, lista de símbolos o un mapa. Figura 1-3 Procedimiento para generar la ruta del mapa 1.6.2 Mapas adaptivos para aplicaciones móviles En este proyecto Hampe se enfoca en las limitaciones de los dispositivos móviles tales como: pantallas pequeñas y capacidad limitada de memoria. Teniendo estas limitaciones se asegura una carga de información mínima, utilizando técnicas y experiencia de diseño de interfaces de usuarios útiles, [Hampe, 2005]. Las características y restricciones de los dispositivos móviles, tienen un gran impacto sobre el diseño de las interfaces de usuario. Para ello se diseñan presentaciones visuales sujetas a un número de restricciones, siendo las más relevantes los siguientes:  Resolución limitada. Restricción clave que debe ser dirigida mediante diseñadores de interfaces. Búsqueda de ruta Obtener nodo y enlazarlo con una ruta Obtener nodo relativo con una ruta Renderizando (Sentencia, lista puntos de interés, mapa simple) S-GXML Datos espaciales Datos de la ruta ID Nodo, ID Enlace
  22. 22. Capítulo I Introducción Página 10  Tamaño de pantalla. Restricción para aplicaciones que son encaminados a diversos usuarios en donde se consideran los posibles problemas de visión.  Número de colores disponibles. Es relevante para el diseño de la presentación visual, porque limita el uso de color para información y la aplicabilidad de técnicas basadas en transparencias, que pueden ser utilizadas en diversas capas de información y  Poder de procesamiento. Restringe la interactividad de animaciones en tiempo real y la generación de gráficos complejos en pantalla. Adicionalmente las diferencias introducidas mediante un contexto móvil de uso está relacionado a lo siguiente:  Ambiente auditivo. Puede ser limitado si el dispositivo es usado en un ambiente público, ya que el ruido del ambiente puede enmascarar la salida del sonido o cuando el sonido de la aplicación es indeseable (museo, biblioteca, etc.),  Ambiente visual. Los dispositivos móviles pueden ser usados en varios contextos y rangos desde el oscuro total hasta la luz solar en aplicaciones al aire libre.  Nivel de atención. Las aplicaciones móviles se utilizan en cualquier lugar, por lo que el nivel de atención del usuario es mínima y podría ser limitado o la interacción del usuario podría ser interrumpida por atender eventos externos. Un mapa adaptivo implica acomodarse a las especificaciones necesarias y requerimientos del usuario y al dispositivo móvil. El sistema tiende a decidir acerca de la relevancia de información para cada usuario y cada uso. Para determinar las preferencias del usuario, se puede identificar la cantidad de información que se puede dar en la respuesta. Como no existen muchos usuarios expertos el sistema puede decidir automáticamente qué información es relevante para cierto usuario en cierta situación. Reichenbacher [Reichenbacher, 2004] identifica cuatro dominios de adaptación:  Dominio de información  Dominio de interfaz de usuario  Dominio de presentación  Dominio de tecnología Basado en ello se determinaron los posibles objetos de adaptación. Siendo los siguientes subconjuntos los se ajustan al proceso:  Visualización o Diseño del mapa o Sección del mapa o Escala del mapa o Generalización del mapa o Dimensión o Elementos gráficos  Geo información  o Cantidad o Clasificación o Nivel de detalle o Área geográfica  Interfaz de usuario
  23. 23. Capítulo I Introducción Página 11 1.6.3 Mejorando las direcciones de ruta en dispositivos móviles Este proyecto se enfoca en el descubrimiento de rutas para dispositivos móviles y trata de describir cómo se llega al objetivo destino desde un estado inicial en el mundo real. Las rutas tienen un alto nivel de descripción y proporciona un método para llevar a cabo la instrucción de mayor prioridad. Se enfoca en las propiedades salientes del entorno y la vista de rutas en un alto nivel de abstracción, siendo aspectos claves en el proceso de guía en las rutas, dando como consecuencia el entendimiento de instrucciones complejas, [Sabine, 2004]. La ruta se segmenta y se resume de manera significativa para ser representada mediante un lenguaje de marcado. La estructura de la segmentación se desarrolló en un generador jerárquico y las heurísticas son usadas para la identificación de segmentaciones apropiadas. Figura 1-4 Segmento de ruta presentado vía Web Desarrollaron un lenguaje de marcado llamado RPML (Route Plan Markup Language) que les permite entregar combinaciones de diferentes modalidades (texto, gráfico, y eventualmente también voz). El mecanismo mencionado de segmentación produce estructuras RPML como estructura de salida, a su vez usan XLST para entregar una ruta completa vía Web (ver Figura 1-4), mientras que la Palm permite hacer exploración interactiva paso a paso de la descripción cuando los usuarios realizan la tarea de navegación como se muestra en la Figura 1-5. Figura 1-5 Descripción de ruta
  24. 24. Capítulo I Introducción Página 12 En resumen, no proporciona suficiente información para que el conductor pueda encontrar la ruta correcta hacia el destino, excepto en el camino de regreso al punto de partida. 1.6.4 Sistema de soporte para contenido multimedia dinámico personalizado en dispositivos móviles Este proyecto tiene por objetivo representar mapas y rutas en tiempo real, para ello el operador toma una imagen de tamaño arbitrario de una ciudad como entrada que representa el mapa de la ciudad, una lista de puntos que consta de un ID y un factor x el cual representa una posición global en el espacio para re-calcular las posiciones de los puntos de interés en el mapa, [Scherp, 2004]. Para aprovechar al máximo la utilización de las pantallas de los dispositivos móviles, utilizan los medios de comunicación para la visualización en el dispositivo móvil y, por consiguiente, la cantidad de datos que se transfiere por medio de la red inalámbrica se reduce. Figura 1-6 Navegación de mapas en PDA (CityMap) Los medios de comunicación son pertinentes a las limitaciones técnicas del dispositivo móvil y de acuerdo al entorno del usuario, tal como ubicación, hora del día, el clima, o el ruido. En lo que respecta a la ubicación, el usuario recibe sólo la presentación multimedia de la vista. Además, si el entorno durante una visita de la ciudad es demasiado ruidoso, los medios de comunicación audibles no son seleccionados para la presentación, sólo los medios de comunicación visual. La aplicación CityMap mostrada en la Figura 1-6 pregunta por los objetos multimedia que coincidan con la preferencia de los intereses del usuario. Si el perfil de usuario cambia durante la visita de la ciudad, la ruta es personalizada eliminando o añadiendo lugares de interés turístico en el mapa. Se desarrollaron generadores de SMIL, SVG, y HTML en el contexto de presentaciones multimedia, considerando la limitación de los dispositivos móviles por medio de la determinación de los perfiles que son especialmente diseñados para uso en dispositivos móviles.
  25. 25. Capítulo I Introducción Página 13 El perfil SVG-Tiny está destinado a multimedia para dispositivos móviles y el SVG-Basic tiene por objeto el perfil de las computadoras de bolsillo como PDAs y computadoras de mano. En la Figura 1-7 se muestra la arquitectura cliente-servidor de CityMap, la información sobre el perfil del usuario, los medios de comunicación y los metadatos se obtienen desde Internet utilizando la red inalámbrica y en bases de datos. Figura 1-7 Arquitectura de MM4U 1.6.5 Visualización Adaptiva de información geográfica en dispositivos móviles En este trabajo se establece un punto de vista del marco conceptual para cartografía móvil y la visualización de adaptación de información geográfica a dispositivos móviles. La investigación se extiende enriqueciendo la teoría cartográfica, así como los métodos en el ámbito de la información geográfica, comunicación en entornos móviles y los métodos de adaptación para la visualización cartográfica en los dispositivos móviles. Las soluciones cartográficas en un entorno móvil se centran en el uso de información geográfica en ambientes urbanos, siendo como principal objetivo comunicar en forma de aprendizaje (rutas, áreas forestales, etc.) o para explorar información geográfica mediante los dispositivos móviles. Se hace hincapié en el apoyo de las actividades cotidianas de los usuarios móviles, ofreciendo presentaciones de información no intrusiva tomando decisiones rápidas. La siguiente lista describe los objetivos generales:  Proporciona un marco de trabajo para la cartografía móvil y geovisualización adaptable.  Identifica los enlaces e interfaces para relacionar métodos de geovisualización. Los objetivos específicos incluyen:  Desarrollo de métodos de adaptación para geovisualización.  Demostrar el potencial del SVG para móviles y geovisualización adaptables.  Desarrollo de un prototipo que brinde servicios de geovisualización móvil. La adaptación se lleva a cabo en los componentes de las actividades relacionadas con los objetivos. Los usuarios demandan los servicios mediante solicitudes al servidor web consumiendo datos geoespaciales, dando como resultado un archivo en el lenguaje de marcado geográfico (GML), mismo que se transforma mediante el lenguaje de transformación de estilo extensible (XSLT) a un documento en formato vector gráfico PDA usando PoketSMIL WinCE HHC usando SVGBasic Player Celular móvil con SVGTiny Internet Aplicación multimedia personaliza da ServidorCliente móvil
  26. 26. Capítulo I Introducción Página 14 escalable (SVG). Las adaptaciones del documento SVG pueden ser manipulados mediante el modelo objeto-documento (DOM). Aunque el progreso de la tecnología en el campo de la computación móvil es significante y la investigación está dirigida a los móviles con información geográfica, son varios los problemas aun sin resolver y muchos conocimientos que se van adquiriendo al desarrollar soluciones móviles para el contexto que se describe a continuación:  Geovisualización. La visualización en los dispositivos móviles está limitado por el tamaño y resolución de la pantalla, la falta de poder de procesamiento, la memoria, la duración de la batería y el ancho de banda de la red móvil.  Usabilidad. El uso de las soluciones móviles se obstaculiza por el uso de mapas escaneados o la producción ilegible de mapas con resoluciones que no soportan los dispositivos móviles.  Lectura ilegible. La limitación de las pantallas pequeñas implica que no hay lugar para elementos auxiliares tales como un mapa leyenda, lo que hace que la lectura de mapas sea un proceso difícil.  Movilidad. La movilidad del usuario tiene muchas consecuencias, el uso de la información geográfica se ve afectada por los cambios de ubicación del usuario, las diferentes actividades, asimismo se tienen diferentes distracciones en un entorno público siendo rápidos los cambios de contexto haciendo más difícil las condiciones de uso. 1.6.6 gvSIG para dispositivos móviles gvSIG Mobile es una herramienta para dispositivos móviles, siendo sus características principales las siguientes: soporte de los formatos de imágenes más utilizados para almacenar datos geográficos, el acceso a diversas bases de datos, los servicios de mapas, manipulación de datos vectoriales y ráster. Tiene la funcionalidad de un visor/editor de cartografía con un módulo de GPS para la auto-localización de puntos de interés mediante servicios remotos [Montesinos, 2008]. En la Figura 1-8 se muestra la interfaz de usuario del sistema en el que se incorpora el concepto de grupo de barras de herramientas y un sistema de ayuda contextual. Figura 1-8 Interfaz de usuario de gvSIG Mobile
  27. 27. Capítulo I Introducción Página 15 Este proyecto es una extensión de gvSIG desktop que permite enviar datos a gvSIG Mobile, configurar los aspectos de visualización de capas, definir formularios personalizados y revisar las modificaciones realizadas por gvSIG Mobile, en la Figura 1-9 se muestra la sincronización de datos desde gvSIG desktop. Figura 1-9 Sincronización de datos desde gvSIG desktop 1.6.7 Sistema de Información Geográfica basado en SVG El Sistema de Análisis de Información Geográfica (GIAS), es un sistema autónomo que utiliza técnicas de gráfico renderizado para aplicaciones locales. Describe una estructura interna en la que se incluye la base de datos, los mecanismos de extracción de información, el tratamiento de datos y su mantenimiento. Se expande mediante el desarrollo de funciones para su uso en la Web a través de la utilización de los SVG. Demuestra que el SVG tiende a ser una herramienta de gran alcance, siendo un reto para la interfaz de programación de gráficos en la web, [Cabral, 2005]. GIAS fue desarrollado en la plataforma Borland Delphi 6, la arquitectura que proponen se muestra en la Figura 1-10, describiendo de manera general el sistema. La base de datos contiene información acerca de la ubicación real de toda la región en estudio, así como las imágenes geométricas presentable de la región. El uso del formato SVG permite representar tres tipos de objetos gráficos: formas de vectores (definidos por líneas rectas y curvas), imagen y texto. Los vectores de objetos tienen información sobre las curvas y líneas de una imagen, en lugar de información acerca de los pixeles que componen la misma. Se utiliza la técnica de la agrupación en capas, por lo que es posible tener en un dominio los elementos que tienen características similares.
  28. 28. Capítulo I Introducción Página 16 Figura 1-10 Arquitectura de GIAS En la figura anterior el módulo de “Administración y registro de datos” es el responsable de aplicar los intercambios y la manipulación de datos a través de la Web. El componente “Servidor de mapas” es utilizado con el fin de extraer información de la base de datos y generar datos en SVG (véase Figura 1-11) utilizando la información extraída, teniendo como resultado un mapa en formato SVG. Figura 1-11 Creación de archivo SVG 1.6.8 Procesando datos interoperables por Aplicaciones Geoespaciales Móviles En este proyecto se propone una arquitectura de servicio para integrar clientes móviles a una infraestructura de datos espaciales (SDI4 por siglas en inglés). Esta arquitectura permite proveer mapas y objetos geoespaciales acorde a los requerimientos del dispositivo móvil, apoya las fases locales (offline) y suministra documentos de contexto que contienen información de los servicios relevantes, [Brinkhoffi, 2008]. Observan que existen diferencias en sus interfaces de usuario y en su rendimiento tomando en cuenta las diversas categorías de dispositivos móviles, las plataformas y los sistemas operativos, Por lo que no se asume que los servicios web geoespaciales 4 SDI: Spatial Data Infrastructure
  29. 29. Capítulo I Introducción Página 17 puedan ser usadas como aplicaciones tradicionales. Es por ello que se adaptan los resultados de los servicios a las necesidades de los dispositivos móviles. Estos tratamientos se pueden hacer mediante: 1. Llamadas a los servicios SDI con un conjunto de parámetros para los requerimientos del cliente móvil y/o 2. Modificando los resultados de los servicios SDI para simplificar o procesar posteriormente mediante el móvil cliente. La Figura 1-12 representa la arquitectura que provee mapas y datos. Las flechas indican el flujo de datos. Para determinar los parámetros correctos para llamar a los servicios SDI y para procesar sus resultados, una base de datos para administrar el perfil de cada tipo de dispositivo. Figura 1-12 Arquitectura para integrar aplicaciones móviles especificando dispositivos al SDI El prototipo es desarrollado e implementado para la administración de desastres, dirigido a dispositivos móviles tales como PDA‟s o Tablet PCs. La aplicación móvil consiste de los siguientes módulos: el componente de visualización que consta de datos almacenados, sensores e interfaces de comunicación, la Figura 1-13 representa los principales componentes del prototipo.
  30. 30. Capítulo I Introducción Página 18 Figura 1-13 Principales componentes del prototipo del cliente móvil La estructura de datos del componente de visualización está basada en un documento SVG, en la Figura 1-14 se representan las capas que son mapeadas, en donde cada capa corresponde a un elemento imagen del documento SVG. El administrador de capas es el responsable de visualizar las texturas de las capas visibles en respuesta de eventos de los dispositivos de entrada como puede ser un dispositivo señalador, un ratón o un lápiz óptico. Figura 1-14 Representación y visualización de datos
  31. 31. Capítulo I Introducción 1.6.9 Tabla comparativa del estado del arte A continuación se muestra la Tabla 1-2, en donde se compara los trabajos relacionados con el proyecto de investigación. Se puede observar que todos los trabajos están enfocados a lo siguiente: al desarrollo de sistemas LBS, generar las rutas de los mapas, el medio de transmisión de datos mediante GPRS y HTTP. Una ventaja del proyecto es el envío de mensajería SMS obteniendo la respuesta por medio de conexión HTTP, teniendo como resultado un archivo en formato SVG-Tiny, que tiene la característica de mostrar mapas estáticos, en 3D, audio y video5 , otro punto a destacar es J2ME como lenguaje de desarrollo, esto nos permitió desarrollar el proyecto sin depender de algún software propietario, dando un enfoque heterogéneo al resultado que sean enviados a la mayoría de los dispositivos móviles. Tabla 1-2 Comparativa de los trabajos del estado del arte PROYECTO ORIENTADO A LBS LENGUAJE DE DESARROLLO GENERA RUTA SOPORTE DE MENSAJERIA MEDIO DE TRANSPORTE FORMATOS SMS MMS [ichiro,2002]  S-GXML   HTTP SVG-Tiny [Hampe, 2005]  No especifica  HTTP SVG-Tiny [Sabine, 2004]  Windows Mobile / RPML, XSLT   GPRS | HTTP XSLT [Scherp, 2004]  Windows Mobile / WFS, WMS, WMC   HTTP SMIL, SVG-Tiny [Reichembacher, 2004]  J2ME / GML  GPRS | UMTS, HTTP SVGB [Montesinos, 2008]  J2ME/ WMS, WFS  HTTP-WMS ECW, JPEG, PNG, GIF /SHP [Cabral, 2005]  DELPHI 6 / XML  HTTP SVG [Brinkhoffi, 2008]  VC++ NET  GPRS | HTTP- WMS SVG Proyecto de tesis  J2ME    GPRS | HTTP - WMS SVG-Tiny 5 http://www.w3c.es/Prensa/2006/nota060810_SVGTiny
  32. 32. Capítulo I Introducción Página 20 1.7 Organización del documento El documento de tesis se organizó en 6 capítulos cada uno de los cuales presenta la siguiente información: Capítulo II Marco Teórico. Describe los conceptos principales del tema de investigación que facilitarán la comprensión del presente trabajo. Capítulo III Análisis y Diseño. En este capítulo se presenta el análisis y diseño realizado para desarrollar el sistema. Para ello se describe la arquitectura, los diagramas de casos de uso, diagramas de actividad, diagramas de secuencia y los diagramas de clases. Capítulo IV Implementación. En este capítulo se describen las clases implementadas que muestran la funcionalidad del sistema. Capítulo V. Presenta las pruebas y los resultados obtenidos que permitieron verificar el funcionamiento de la aplicación web SketchMapServer de acuerdo a un plan de pruebas elaborado conforme al estándar IEEE 829-1998. Capítulo VI. Presenta las conclusiones, aportaciones y trabajos futuros de la investigación realizada en esta tesis, de acuerdo a los resultados obtenidos y experiencia adquirida. Anexos. Contiene el Análisis para representar puntos de interés, el estudio de plataformas móviles (Sistemas operativos y Lenguajes de programación), el Plan de Pruebas elaborado y un estudio del formato SVG.
  33. 33. CAPÍTULO II MARCO TEÓRICO En este capítulo se presentan los conceptos relevantes en el desarrollo del proyecto, lo que se está desarrollando en la misma área de investigación.
  34. 34. Capítulo II Marco teórico Página 22 2. Marco teórico 2.1 Mapa tipo croquis Mapa tipo croquis se define como una representación gráfica de la ubicación exacta de una dirección o lugar que se está localizando por medio de coordenadas o puntos de referencia, básicamente se utiliza para localizar una dirección en particular. Los puntos de interés que se muestran en el mapa sirven como referencia visual para orientar al usuario, presentándose la ruta con la información pertinente representada mediante símbolos y textos. Figura 2-1 Representación de un Mapa tipo croquis En la Figura 2-1 se representa un mapa tipo croquis en donde el punto inicial “A” parte de la calle Adolfo López Mateos doblando por la Úrsulo Galván para finalmente llegar a la calle Gustavo Díaz Ordaz donde se localiza el punto destino “B”, también se observa que en el trazado de la ruta se presentan puntos de referencia para orientar a las personas. 2.2 LBS. Servicios basados en localización Las NICTs (New Information and Communication Technologies, Tecnologías Nuevas de Información y Telecomunicación), describe a los LBS como una intersección entre: sistemas y dispositivos móviles, Internet y GIS (Geographic Information Systems, Sistemas de información geográfica) con base de datos espaciales, [Steiniger, 2006]. Figura 2-2 Áreas que conforman los LBS A B
  35. 35. Capítulo II Marco teórico Página 23 En la Figura 2-2 se observa que existen algunas características en común entre los LBS y los GIS, tales como el manejo de datos con referencia posicional y funciones de análisis espacial, las cuales responden preguntas como: ¿Dónde estoy…? ¿Qué está cerca de…? ¿Cómo puedo llegar a…? Sin embargo los LBS y los GIS tienen diferentes orígenes y grupos de usuarios. Los GIS han sido desarrollados durante varias décadas en base a aplicaciones de datos geográficos profesionales, mientras que los LBS surgieron recientemente por la evolución de servicios móviles públicos. En lo que se refiere a grupos de usuarios, los GIS pueden ser vistos como un sistema profesional y tradicional, destinado a usuarios con amplia experiencia en sistemas geográficos, además de que consumen extensos recursos de cómputo. En contraste los LBS se desarrollaron como servicios limitados para un gran número de usuarios no profesionales. La aplicaciones LBS operan con las restricciones del ambiente de cómputo móvil como baja potencia computacional, pantallas pequeñas, o limitaciones debidas al alto consumo de batería. 2.2.1 Componentes de los LBS Los elementos necesarios para el funcionamiento de los LBS se muestran en la Figura 2-3, [Magon, 2006]. Figura 2-3 Componentes básicos LBS Posicionamiento o localización. Se refiere a la forma de determinar la posición del dispositivo móvil. Existen distintas tecnologías de posicionamiento entre las que destacan las basadas en red y las basadas en dispositivos, Datos geográficos. Se refiere al GIS que funciona como una base de datos con información geográfica (datos alfanuméricos) que se encuentra asociada por un identificador común a los objetos gráficos de un mapa digital. De esta forma, señalando un objeto se conocen sus atributos e, inversamente, preguntando por un registro de la base de datos se puede saber su localización en la cartografía.
  36. 36. Capítulo II Marco teórico Página 24 Red de comunicaciones. Se refiere al medio de transporte de datos. La información de ubicación puede enviarse por medio de SMS o de datos utilizando GPRS. Centro de control. Es el administrador de los datos, recibe la información de ubicación, accede al GIS para poder satisfacer los requerimientos del usuario y envía la respuesta. 2.2.2 Funcionamiento A continuación se describe del funcionamiento de los sistemas basados en localización: 1. Se obtiene la posición del dispositivo móvil y se envía la solicitud, la cual contiene el objetivo de la búsqueda y la ubicación del usuario, ésta se envía a través de la red de comunicaciones a un determinado servidor de consultas contextuales. 2. El servidor tiene la tarea de intercambiar mensajes entre la red de comunicación e Internet. Encamina la solicitud a un servidor específico. El servidor guarda información acerca del dispositivo que ha solicitado la información. 3. El servidor de aplicaciones lee la solicitud y activa el servicio apropiado. 4. El servicio analiza nuevamente el mensaje y decide que información adicional necesita, además del criterio de búsqueda y posición de usuario. 5. El servicio encontrará la información necesaria que satisfaga la solicitud. 6. Teniendo toda la información necesaria, el servicio hará una consulta de ruteo, para obtener la respuesta a la solicitud. Una vez obtenida la respuesta esta se envía al usuario. Los resultados se pueden presentar al usuario ya sea como una lista de texto, o un dibujo en un mapa. Figura 2-4 Funcionamiento LBS 2.2.3 Clasificación Los LBS se pueden clasificar según las necesidades que satisfacen. En la Tabla 2-1 se resumen las necesidades que satisfacen los LBS, [Steiniger, 2006]. Posicionamiento GPS Red de comunicaciones Internet Servidor Envío de SMS BD Dispositivos móviles
  37. 37. Capítulo II Marco teórico Página 25 Tabla 2-1 Necesidades de los usuarios móviles Acción Preguntas Operaciones Orientación y localización. ¿Dónde estoy? ¿Dónde está…? Posicionamiento, geocodificación. Navegación a través de espacio, trazado de ruta. ¿Cómo puedo llegara? Posicionamiento, geocodificación, ruteo. Búsqueda de personas y objetos. ¿Qué hay cerca o de interesante…? Posicionamiento, geocodificación, cálculo de distancia y área, búsqueda de relaciones. Identificación y reconocimiento de personas u objetos. ¿Qué es? Directorio, selección, búsqueda temática o espacial. Verificación de eventos, determinación del estado de objetos. ¿Qué ocurre aquí, allá, etc.? Posicionamiento, cálculo de área, geocodificación, búsqueda de relaciones. En la Figura 2-5 se muestra la clasificación de los LBS según las necesidades que satisfacen. Figura 2-5 Clasificación de los LBS
  38. 38. Capítulo II Marco teórico Página 26 2.3 Sistema de información geográfica Los sistemas de información geográfica por sus siglas en inglés Geographic Information System(GIS), son una tecnología para el manejo de información geográfica. Son un conjunto de herramientas que permiten manejar eficientemente datos espaciales junto con sus características alfanuméricas asociadas. Otra definición es la siguiente: un software GIS se asemeja a un programa de base de datos, ya que analiza y relaciona información almacenada bajo la forma de registros, con una diferencia crucial: cada registro en una base de datos GIS contiene información que permite dibujar formas (normalmente un punto, una línea, o un polígono) también denominada información espacial [Quiñonez, 2007]. El objetivo primordial de un GIS es abstraer la complejidad del mundo real a una representación simplificada entendible para el lenguaje de las computadoras actuales. Este proceso tiene diversos niveles y comienza con la concepción de la estructura de una base de datos organizada generalmente en capas. En los GIS existen relaciones espaciales entre los objetos geográficos que el sistema no puede obviar; es lo que se denomina topología y se utiliza en la definición de las relaciones espaciales entre los objetos geográficos. Los sistemas de información geográfica se clasifican en dos categorías vectoriales y ráster que cuentan con características diferentes para su procesamiento y utilización. Los GIS representan toda una realidad en diversas capas, distinguidas principalmente en tres tipos: i. Puntos. Representan entidades únicas como: individuos, árboles, carros, ciudades y/o cualquier entidad que pueda representarse mediante un punto. ii. Líneas. Representan entidades como carreteras, calles, ríos etc. iii. Polígonos. Representan cualquier superficie que tenga un perímetro, por ejemplo: estados, municipios, países, colonias, cuadras etc. Las consultas espaciales se pueden realizar mediante operaciones geométricas definidas en [SFS, 2009], se obtiene información sobre objetos se encuentran cerca, la distancia entre ellos, que objetos se encuentran dentro de una geometría y la relación entre geometrías de distinta topología, en la Figura 2-6 se muestran las operaciones de geometrías sobre las entidades GIS. En las definiciones siguientes el término P se utiliza para referirse a dimensiones geométricas 0 (Points y MultiPoints), L se utiliza para referirse a una dimensión geometrías (LineStrings y MultiLineStrings) y A se utiliza para referirse a las geometrías en dos dimensiones (Polígonos y MultiPolygons).
  39. 39. Capítulo II Marco teórico Página 27 Figura 2-6 Operaciones de geometría Operación toque. Son relaciones entre dos geometrías a y b se aplica a los A/A, L/L, L/A, P/A y P/L de los grupos de relaciones, pero no a la relación P/P grupo. Operación cruce. La relación se aplica a los cruces de P/L, P/A, L/L y situaciones L/A. Operación en. La relación se aplica a las intersecciones de dos geometrías a y b resultando b contenido en a. Operación traslape. Se define entre dos geometrías para situaciones en las que se tengan A/A, L/L y P/P. 2.3.1 GIS Vectoriales Son GIS que utilizan vectores definidos por pares de coordenadas relativas a algún sistema cartográfico para la descripción de los objetos geográficos. Con un par de coordenadas y su altitud gestionan un punto, con dos puntos generan una línea y con una agrupación de líneas forman polígonos. En la Figura 2-7 se muestra cómo se estructura la información geográfica dentro de tablas en algún manejador de base de datos que permita el tratamiento de esta información [Ortiz, 2001].
  40. 40. Capítulo II Marco teórico Página 28 Figura 2-7 Representación de un mapa vectorial En el modelo de datos vectorial los objetos se describen como puntos, líneas o áreas (polígonos). Estos elementos existen como elementos geométricos no como objetos físicos. Este modelo es adecuado cuando trabajamos con objetos geográficos con límites bien establecidos, como pueden ser fincas, carreteras, puntos de interés etc. 2.3.2 GIS Raster Los Sistemas de Información Raster basan su funcionalidad en una relación de vecindad entre los objetos geográficos. Su funcionamiento se basa en dividir la zona en una retícula o malla de pequeñas celdas (pixel) y atribuir un valor numérico a cada celda como representación de su valor temático. Debido a que la malla es regular (el tamaño del pixel es constante) y se conoce la posición en coordenadas del centro de cada una de las celdas, se puede decir que todos los pixeles están georeferenciados [Ortiz, 2001]. Figura 2-8 Representación de un mapa ráster El inconveniente de estos sistemas es que a mayor número de filas y columnas en la malla (más resolución), existe mayor esfuerzo en el proceso de captura de la información Código de las celdas: 1 = Bosque 2 = Carretera 3 = Casa
  41. 41. Capítulo II Marco teórico Página 29 y mayor costo computacional a la hora de procesar la misma. La Figura 2-8 muestra la representación de éste tipo de GIS. Los datos de un mapa ráster se visualizan como una rejilla sobrepuesta sobre un terreno. Cada celda almacena un código que describe el terreno de una celda en particular. El modelo de datos ráster es útil en la descripción de objetos geográficos con límites difusos, por ejemplo: la dispersión de una nube de contaminantes, o los niveles de contaminación de un acuífero subterráneo, donde los contornos no son absolutamente nítidos; en esos casos, el modelo ráster es más apropiado que el vectorial. 2.4 Imágenes Gráficos Vectoriales Escalables (SVG) Como se explica en [SVG, 2009], SVG es un lenguaje para describir gráficos bidimensionales en XML. Soporta tres tipos de objetos gráficos: figuras vectoriales (por ejemplo rutas formadas por líneas rectas y curvas), imágenes y texto. Estos objetos se pueden agrupar, estilizar, transformar y componer en nuevos objetos previamente representados. SVG se utiliza en diversas áreas incluyendo gráficos Web, animaciones, interfaces de usuario, aplicaciones móviles, entre otros. Sus principales características son las siguientes [Devmobi, 2007]:  Forma compacta de representar gráficos vectoriales.  Son gráficos escalables, es decir, es posible aumentar o modificar su tamaño arbitrariamente sin pérdida de calidad.  Es un estándar abierto, es una recomendación de W3C (Wide Web Consortium).  Está basado en XML (Extensible Markup Language).  SVG se integra con otros estándares como DOM6 (Document Objetc Model) y XSL (Extensible Stylesheet Language). SVG surgió para cubrir las necesidades de diversos casos de uso para gráficos bidimensionales orientados a computadoras de escritorio; sin embargo, la industria móvil se unió al grupo de trabajo de W3C para especificar un perfil dirigido a dispositivos móviles. Estas demandas originaron inicialmente dos perfiles SVG: SVG Full y SVG Mobile. La especificación SVG Mobile está dirigida a dispositivos de recursos limitados y es parte de la plataforma 3GPP para la tercera generación de teléfonos móviles. Un único perfil móvil no es suficiente para una gran variedad de dispositivos debido a las distintas características en términos de velocidad de CPU, memoria y soporte de colores. Por esta razón, se definieron dos perfiles dirigidos al amplio rango de familias de dispositivos:  SVG Basic. Es un subconjunto estricto de SVG Full, es decir, los gráficos que se realizan en SVG Basic son compatibles con SVG Full, está dirigido a PDAs y dispositivos móviles de última generación con capacidades avanzadas. 6 Es un modelo computacional a través del cual los programas y scripts pueden acceder y modificar dinámicamente y en tiempo real el contenido, estructura y estilo de los documentos HTML y XML.
  42. 42. Capítulo II Marco teórico Página 30  SVG Tiny. Es un subconjunto estricto de SVG Basic, es decir, los gráficos que se realizan en SVG Tiny son compatibles con SVG Basic y Full, está dirigido a dispositivos móviles de capacidades limitadas. Figura 2-9 Perfiles SVG Los perfiles SVG se pueden mostrar como una pirámide que represente las capacidades computacionales de los dispositivos para los cuales está dirigido un perfil en específico así como las características SVG que soporta (ver Figura 2-9). En la parte alta y media de la pirámide se encuentra el conjunto de características de los teléfonos móviles y PDAs y en la base, el conjunto de características correspondientes a una computadora de escritorio. La principal diferencia entre SVG Tiny y SVG Basic es que SVG Tiny no proporciona soporte para scripts y definición de estilos. Esto para evitar desbordamiento de memoria al mantener el modelo de objeto del documento (DOM) en anexo D se describe de forma extensa el formato SVG en específico el perfil Mobile. 2.5 Mensajería SMS De acuerdo con la definición de [Roldán, 2005], el servicio de mensajes cortos SMS (Short Message Service) permite enviar mensajes compuestos por un máximo de 140 bytes (el número de caracteres depende de la codificación que se utilice). Un mensaje SMS se compone por una cabecera en la que se indican datos relativos al protocolo de transmisión del mensaje (dirección de origen, tipo de codificación, etc.) y el cuerpo del mensaje que contiene el texto que se transmite (ver Figura 2-10). 1120 bits Codificación de 7 bits: 160 caracteres (mensaje de texto latino). Codificación de 6 bits: 140 bytes (mensaje de datos). Codificación Unicode: 70 caracteres (mensaje de texto griego o árabe). Perfil MOBILE Perfil FULL DATOSCABECERA Figura 2-10 Estructura de un mensaje SMS.
  43. 43. Capítulo II Marco teórico Página 31 El servicio SMS emplea los canales de señalización y control de la red GSM. La comunicación a través de un mensaje SMS es una comunicación en tiempo diferido, es decir, que no existe ninguna conexión directa entre los dos extremos. De hecho, la red almacena el mensaje antes de enviarlo durante un corto espacio de tiempo (generalmente entre 0,5 y 2 s). Las aplicaciones más comunes de los SMS son las destinadas al público en general. Es posible clasificarlas en cuatro grandes grupos:  Información. Envío de información al usuario sobre algún tema en concreto como: horóscopo, eventos deportivos, noticias, clima, entre otros (requiere suscripción).  Personalización. Descarga de logos, melodías, fondos de pantalla, imágenes, fotos, etc.  Chat. Consiste en el intercambio de mensajes SMS.  Entretenimiento. El usuario que envía un SMS participa en un juego, concurso, sorteo, etc. 2.6 Mensajería MMS MMS (Multimedia Messaging System) es una evolución de SMS para enviar mensajes multimedia. MMS ofrece mayor flexibilidad en el contenido del mensaje ya que, además de mensajes de texto, soporta otro tipo de formatos (sonidos, animaciones, imágenes, etc.) e integra otros servicios de mensajería como el correo electrónico o los mensajes de voz. El usuario puede escribir el mensaje MMS desde su teléfono móvil, su computadora, su PDA o cualquier otro dispositivo con un cliente MMS instalado [Roldán, 2005]. El servicio MMS permite adjuntar archivos y como valor añadido y diferenciador permite utilizar presentaciones animadas. Esto es posible mediante la inclusión de un elemento de presentación llamado SMIL (Synchronized Multimedia Integration Language). El mensaje se puede componer por varias páginas consecutivas, denominadas slides, cada una con un tiempo de presentación que se determina al formar el mensaje (ver Figura 2-11). Cada slide contiene uno o varios de los siguientes campos: texto, imágenes (simples o animadas), sonido e incluso vídeo. Figura 2-11 Esquema de composición de páginas en un mensaje MMS.
  44. 44. Capítulo II Marco teórico Página 32 MMS es un estándar abierto, especificado por el Foro WAP (Wireless Application Protocol) y 3GPP (Third Generation Partnership Project). La especificación de 3GPP define la arquitectura de la red y funciones generales. La especificación del Foro WAP define la encapsulación de los mensajes y los protocolos de aplicación. Sin embargo, el estándar no especifica un tamaño máximo para un MMS. Esto es para asegurar la interoperabilidad futura y evitar limitaciones similares a las de los mensajes SMS. El tamaño del mensaje depende del operador, quien probablemente establezca un tamaño estandarizado para propósitos particulares de 100 ó 300 Kb [NokiaMMS, 2007].
  45. 45. CAPÍTULO III ANÁLISIS Y DISEÑO En este capítulo se presenta el análisis y diseño realizado para este proyecto de tesis. Para ello se describe la arquitectura, los diagramas de casos de uso, diagramas de actividad, diagramas de secuencia y los diagramas de clases.
  46. 46. Capítulo III Análisis y diseño Página 34 3. Análisis y diseño 3.1 Análisis Se describe la arquitectura del generador de mapas croquis desarrollado. Se presentan los diagramas de caso de uso, la definición de escenarios y los diagramas de actividad que corresponden a la fase de análisis del proyecto. 3.1.1 Arquitectura del generador de mapas croquis El generador de mapas croquis en formato SVG para dispositivos móviles permite satisfacer las peticiones de información del cliente considerando el perfil del dispositivo, es decir, se generarán los mapas de acuerdo a las características propias del dispositivo. En la Figura 3-1 se muestra la arquitectura donde se presentan los módulos implementados para el desarrollo del proyecto. Los componentes y tecnologías sobre las cuales se desarrolló esta plataforma son las siguientes:  Negocio2sms. Está relacionado con el proveedor del servicio que registra sus productos o servicios mediante una interfaz Web.  GW-SMS. Realiza la interacción con el cliente que demanda los servicios.  Geoserver. Servidor de mapas que provee los mapas cartográficos en diferentes formatos, los cuales se explotarán a través de servicios Web.  SketchMapServer. Realiza la generación del mapa SVG-Tiny realizado por capas que contienen información de los puntos de interés, ruta y los puntos de referencia.  Base de datos espacial. Proporciona toda la información al módulo que interactúa con el cliente y sirve para almacenar y registrar nuevos proveedores de servicios desde el módulo Negocio2sms. Figura 3-1 Arquitectura del generador de mapas croquis en un contexto de cliente/servidor El proceso para obtener un mapa tipo croquis en formato SVG-Tiny se describe a continuación en los siguientes pasos:
  47. 47. Capítulo III Análisis y diseño Página 35 1. Se realiza una petición a la aplicación Web SketchMapServer vía HTTP mediante un dispositivo móvil para obtener un mapa tipo croquis. 2. La aplicación Web SketchMapServer recibe e interpreta la petición enviada por el dispositivo móvil. 3. Se realizan consultas relacionales y espaciales a partir de los datos interpretados por la aplicación web. La consulta relacional se realiza para obtener el perfil del dispositivo móvil, mientras que las consultas espaciales son realizadas para obtener coordenadas georeferenciales del punto o los puntos de interés destino. 4. Se obtiene el área de interés mediante los puntos georeferenciales origen y destino, dicha área de interés se utiliza para realizar una petición WMS al servidor de mapas para obtener como respuesta una imagen en formato SVG v1.0 que contiene los polígonos que representan las manzanas delimitadas por las calles. La imagen SVG (Basic) v1.0 obtenida del servidor de mapas es convertido al formato SVG (Tiny) v1.1 el cual es compatible con los dispositivos móviles. 5. Se obtienen los nodos y las aristas mediante consultas espaciales, para ello se utiliza el área de interés obtenido en el punto anterior. A partir de los nodos y las aristas se genera el grafo del cual se obtiene la ruta origen-destino compuesta por la unión de nodos mediante las aristas. 6. Se realizan consultas de radio a la base de datos espacial para obtener los puntos de referencia de cada nodo que contiene la ruta obtenida. 7. Se agregan los elementos ruta y sus puntos de referencia a la imagen SVG-Tiny. 8. Por último se envía la imagen SVG-Tiny del mapa tipo croquis al dispositivo móvil en respuesta de la petición realizada vía HTTP. 3.1.2 Base de datos espacial Los Sistemas de Administración de Bases de Datos Espaciales (SDBMS) tienen como objetivo el proveer todos los servicios de los DBMS relacionales y una administración efectiva y eficiente de datos espaciales. Los requerimientos y técnicas que se necesitan para modelar objetos geográficos que tienen extensión, ubicación, operaciones geométricas (unión, intersección, resta, entre otros) y relaciones especiales son complejos, haciendo insuficientes los servicios que ofrecen los sistemas de bases de datos tradicionales. Los sistemas de base de datos espaciales cuentan con dos tipos de representaciones: 1. Objetos espaciales. Son entidades geográficas distribuidas en un espacio de representación que se pueden distinguir, consultar y manipular, por ejemplo ciudades, rutas, zonas de reforestación, etc. 2. Espacio. Describe el espacio en sí mismo, esto es que se quiere decir algo sobre cada punto del espacio, es utilizado para describir mapas temáticos como la división política de un país. El modelo en el que nos basamos es el estándar SQL de OpenGIS que contiene dos tipos de atributos: los atributos espaciales que son valores geométricos de dos dimensiones con interpolación lineal entre sus vértices y los atributos descriptivos. Las consultas espaciales en este proyecto de tesis se realizan en el SDBMS PostGIS, el cual es una extensión al DBMS PostgreSQL que permite el uso de objetos GIS
  48. 48. Capítulo III Análisis y diseño Página 36 (Geographic Information Systems). La especificación para SQL de características simples de OpenGIS define tipos de objetos GIS estándar, los cuales son manipulados por funciones y un conjunto de tablas de metadatos. Esta especificación tiene dos tablas de metadatos: SPATIAL_REF_SYS PK SRID AUTH_NAME AUTH_SRID SRTEXT PROJ4TEXT GEOMETRY_COLUMNS SRID F_TABLE_CATALOG F_TABLE_SCHEMA F_TABLE_NAME F_GEOMETRY_COLUMN COORD_DIMENSION TYPE Figura 3-2 Tablas de metadatos de la especificación OpenGIS Se describen las columnas de las tablas de los metadatos de la especificación OpenGIS que se muestran en la Figura 3-2: Tabla GEOMETRY_COLUMNS  F_TABLE_CATALOG, F_TABLE_SCHEMA, F_TABLE_NAME. Distingue totalmente la tabla de características que contiene la columna geométrica.  F_GEOMETRY_COLUMN. Nombre de la columna geométrica en la tabla de características.  COORD_DIMENSION. Dimensión espacial de la columna (2D o 3D).  SRID. Es una clave foránea que referencia SPATIAL_REF_SYS.  TYPE. Tipo de objeto espacial (POINT, LINESTRING, POLYGON, MULTYPOINT, GEOMETRYCOLLECTION). Para un tipo heterogéneo se usa el tipo GEOMETRY. Tabla SPATIAL_REF_SYS  SRID: Valor entero que identifica el sistema de referencia espacial.  AUTH_NAME: Nombre del estándar para el sistema de referencia. Por ejemplo: EPSG.  AUTH_SRID: Identificador según el estándar AUTH_NAME. En el ejemplo anterior es el id según EPSG.  SRTEXT: Una Well-know text 7 representación para el sistema de referencia espacial. Ejemplo: WKT para SRS.  PROJ4TEXT: Proj4 es una librería que usa PostGIS para transformar coordenadas. Esta columna contiene una cadena con definición de las coordenadas de Proj4 para un SRID dado. 7 WKT (Well-Know Text) es la codificación o sintaxis diseñada específicamente para describir objetos espaciales expresados de forma vectorial.
  49. 49. Capítulo III Análisis y diseño Página 37 PostGIS soporta los objetos GIS definidos por OpenGIS y el API de representación de la especificación OpenGIS pero no tiene varios de los operadores de comparación. A continuación se muestran unos ejemplos de la representación en modo texto: POINT(0 0 0) LINESTRING(0 0,1 1,1 2) POLYGON((0 0 0,4 0 0,4 4 0,0 4 0,0 0 0),(1 1 0,2 1 0,2 2 0,1 2 0,1 1 0)) MULTIPOINT(0 0 0, 1 2 1) MULTILINESTRING((0 0 0, 1 1 0, 1 2 1),(2 3 1,3 2 1,5 4 1)) MULTIPOLYGON(((0 0 0,4 0 0,4 4 0,0 4 0,0 0 0),(1 1 0,2 1 0,2 2 0,1 2 0,1 1 0)),(-1 -1 0 -1 -2 0,-2 -2 0,-2 -1 0,-1 -1 0)) GEOMETRYCOLLECTION(POINT(2 3 9),LINESTRING(2 3 4,3 4 5)) En los ejemplos se pueden ver características con coordenadas en 2D y 3D, las funciones force_2d() y force_3d() son para convertir una característica a 3D o 2D. Las consultas espaciales en este proyecto de tesis localizan puntos de interés a partir de una ubicación geoespacial, se obtiene la distancia de dos puntos geográficos y se obtiene un número finito de información de los puntos de referencia localizados en un área específica. La siguiente sentencia representa la forma de obtener puntos de interés a una determinada distancia de la ubicación georeferencial del dispositivo móvil. SELECT distance(s.the_geom, GeometryFromText(„POINT(Longitud Latitud)‟, -1))*100000 as distancia, s.nomservicio, col.descripcion, s.calle, s.numero, col.cp FROM servicios As s, categoria As c, colonia As col WHERE distance(s.the_geom, GeometryFromText(„POINT(Longitud Latitud)‟, -1))*100000 <= Distancia ORDER BY distancia Para la búsqueda de información en un contexto geoespacial se necesita tener un área de interés llamado Bounding Box (BBOX) que contenga información referente a datos geográficos. En esta área de interés existe información asociada a un mapa o un repositorio geoespacial. En la Figura 3-3 se muestra la representación de los puntos máximos y mínimos de un BBOX. . xMin xMax yMax yMin Figura 3-3 Representación de un BBOX
  50. 50. Capítulo III Análisis y diseño Página 38 En el contexto de los servicios basados en localización se encuentra información de las manzanas, calles, puntos de interés y puntos de referencia que representan instituciones públicas o privadas que prestan algún servicio a usuarios o instituciones. La siguiente sentencia SQL genera un BBOX definido por un punto georeferencial y una distancia radial. SELECT CAST(ST_Expand(ST_GeomFromText(„POINT(x y)‟), distance) AS BOX2D) Sin embargo, al utilizar esta área para realizar peticiones Web Map Service al servidor de mapas se obtiene un mapa con áreas innecesarias y un incremento en el tiempo para la generación de las rutas, ya que se obtiene información no pertinente para el usuario. Por ello se realiza un proceso para obtener el BBOX de búsqueda a partir de los puntos de interés. El procedimiento para generar el BBOX es el siguiente: i. Obtener puntos de interés mediante consulta a la base de datos espacial. ii. Comparar los valores georeferenciales de longitud de los puntos de referencia que se obtuvieron y la ubicación georeferencial del dispositivo móvil, con el fin de obtener los valores georeferenciales de longitud mínimo y máximo. iii. Comparar los valores georeferenciales de latitud de los puntos de referencia que se obtuvieron y la ubicación georeferencial del dispositivo móvil, con el fin de obtener los valores georeferenciales de latitud mínimo y máximo. iv. Generar el BBOX a partir de los datos obtenidos en los pasos ii y iii, el BBOX se presenta de la siguiente forma: (minLongitud minLatitud, maxLongitud maxLatitud). En la siguiente sentencia SQL se utiliza el BBOX generado para obtener las aristas que representan las calles. SELECT DISTINCT street.gid, sum(length(street.the_geom))*100000 as largo, numpoints(the_geom), astext(startpoint(street.the_geom)) as inicio, x(startpoint(street.the_geom)), y(startpoint(street.the_geom)), astext(endpoint(street.the_geom))as fin, x(endpoint(street.the_geom)), y(endpoint(street.the_geom)), sum(length(street.the_geom))*100000 as largo, astext(reverse(the_geom)) as geom_inverso FROM street WHERE street.the_geom && „BOX3D(xMin yMin, xMax yMax)‟::box3d GROUP BY street.the_geom,street.gid La siguiente sentencia SQL se utiliza para obtener los nodos que representan las intersecciones de las calles. SELECT DISTINCT nodos.gid as id, AsText(nodos.the_geom) as nodos, X(the_geom),Y(the_geom) FROM nodos WHERE nodos.the_geom && „BOX3D(xMin yMin, xMax yMax)‟::box3d ORDER BY id Los puntos de referencia se obtienen a partir de las consultas espaciales realizadas a los nodos que integran la ruta mínima. La siguiente sentencia SQL obtiene los puntos de referencia, en donde cada nodo es representado por una coordenada georeferencial

×