Beruflich Dokumente
Kultur Dokumente
Director de tesis:
Dr. Juan Gabriel Gonzlez Serna
Co-Director de tesis:
Dr. Hugo Estrada Esquivel
Jurado:
Dr. Javier Ortiz Hernndez Presidente
Dra. Azucena Montes Rendn Secretario
Dr. Jos Antonio Zarate Marceleo Vocal
Dr. Juan Gabriel Gonzlez Serna Vocal Suplente
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.
TABLA DE CONTENIDO
i
CAPTULO III ANLISIS Y DISEO __________________________________ 33
3. Anlisis y diseo _____________________________________________ 34
3.1 Anlisis________________________________________________________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 aplicacin mvil 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 peticin HTTP _________________________________ 48
3.1.4.4 Caso de uso: Enviar peticin HTTP ___________________________________ 49
3.1.5 Casos de uso de la aplicacin web SketchMapServer ________________________ 50
3.1.5.1 Casos de uso general______________________________________________ 50
3.1.5.2 Caso de uso: recibir peticin HTTP ___________________________________ 51
3.1.5.3 Caso de uso: Interpretar peticin 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
ii
4.5 Enviar mapa SVGTiny ____________________________________________94
CAPTULO V PRUEBAS Y RESULTADOS ____________________________ 95
5. Pruebas y resultados__________________________________________ 96
5.1 Realizacin de las pruebas _______________________________________96
5.2 Evaluacin de los resultados _____________________________________102
CAPTULO 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 Anlisis para representar puntos de inters ________________ 110
ANEXO B Estudio de plataformas mviles __________________________ 119
ANEXO C Plan de pruebas _______________________________________ 131
ANEXO D Scalable Vector Graphics (SVG) __________________________ 152
REFERENCIAS _________________________________________________ 163
iii
Listado de figuras
Figura 1-1 Usuarios de dispositivos mviles por cada 100 habitantes _______________________ 4
Figura 1-2 Representacin del servicio de rutas ________________________________________ 8
Figura 1-3 Procedimiento para generar la ruta del mapa _________________________________ 9
Figura 1-4 Segmento de ruta presentado va Web _____________________________________ 11
Figura 1-5 Descripcin de ruta _____________________________________________________ 11
Figura 1-6 Navegacin 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 Sincronizacin de datos desde gvSIG desktop _______________________________ 15
Figura 1-10 Arquitectura de GIAS __________________________________________________ 16
Figura 1-11 Creacin de archivo SVG _______________________________________________ 16
Figura 1-12 Arquitectura para integrar aplicaciones mviles especificando dispositivos al SDI ___ 17
Figura 1-13 Principales componentes del prototipo del cliente mvil _______________________ 18
Figura 1-14 Representacin y visualizacin de datos ___________________________________ 18
Figura 2-1 Representacin de un Mapa tipo croquis ____________________________________ 22
Figura 2-2 reas que conforman los LBS ____________________________________________ 22
Figura 2-3 Componentes bsicos LBS ______________________________________________ 23
Figura 2-4 Funcionamiento LBS____________________________________________________ 24
Figura 2-5 Clasificacin de los LBS _________________________________________________ 25
Figura 2-6 Operaciones de geometra _______________________________________________ 27
Figura 2-7 Representacin de un mapa vectorial ______________________________________ 28
Figura 2-8 Representacin de un mapa rster ________________________________________ 28
Figura 2-9 Perfiles SVG __________________________________________________________ 30
Figura 2-10 Estructura de un mensaje SMS. __________________________________________ 30
Figura 2-11 Esquema de composicin de pginas 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 especificacin OpenGIS ___________________________ 36
Figura 3-3 Representacin de un BBOX _____________________________________________ 37
Figura 3-4 Algoritmo de Dijkstra ____________________________________________________ 40
Figura 3-5 Representacin del rea de inters ________________________________________ 40
Figura 3-6 Aristas y nodos del rea de inters ________________________________________ 41
Figura 3-7 Grafo con los nodos inferidos _____________________________________________ 41
Figura 3-9 Diagrama de flujo del proceso de obtencin 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 aplicacin 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 peticin HTTP ______________________ 48
Figura 3-17 Diagrama de actividad del caso de uso: CU2 Construir peticin 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
iv
Figura 3-20 Diagrama general de casos de uso de la aplicacin SketchMapServer ___________ 50
Figura 3-21 Diagrama de caso de uso: CU4 Recibir peticin HTTP ________________________ 51
Figura 3-22 Diagrama de actividad del caso de uso: CU4 Recibir peticin HTTP _____________ 51
Figura 3-23 Diagrama de caso de uso: CU5 Interpretar peticin HTTP _____________________ 52
Figura 3-24 Diagrama de actividad del caso de uso: CU5 Interpretar peticin 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 conexin 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 obtencin del mapa SVG ______________________ 66
Figura 3-40 Diagrama de secuencia para la obtencin 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 obtencin del dispositivo mvil _________________ 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 mnima _________________________ 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 Recepcin de la peticin HTTP. ___________________________________________ 79
Figura 4-2 Interpretacin de la peticin HTTP _________________________________________ 79
Figura 4-3 Conexin a la base de datos Postgres ______________________________________ 80
Figura 4-4 Conexin a la extensin PostGIS de la base de datos Postgres __________________ 80
Figura 4-5 Ejemplo de conexin a la base de datos ____________________________________ 81
Figura 4-6 Obtencin del perfil del dispositivo mvil ____________________________________ 82
Figura 4-7 Obtencin de los puntos de inters ________________________________________ 83
Figura 4-8 Obtencin de los puntos de referencia ______________________________________ 84
Figura 4-9 Obtencin del mapa SVGTiny ____________________________________________ 86
Figura 4-10 Generacin y obtencin del rea de inters (BBOX) __________________________ 87
Figura 4-11 Obtencin del mapa SVG _______________________________________________ 88
Figura 4-12 Conversin SVG a SVGTiny _____________________________________________ 89
Figura 4-13 Obtencin de la ruta ___________________________________________________ 90
Figura 4-14 Conversin de coordenadas georeferenciales a pixeles _______________________ 91
v
Figura 4-15 Ejemplo para convertir coordenadas georeferenciales a pixeles _________________ 92
Figura 4-16 Mtodos de elementos que se agregan al mapa SVGTiny _____________________ 93
Figura 4-17 Mtodos para agregar datos al mapa SVGT ________________________________ 94
Figura 4-18 Enviar el mapa SVGT al dispositivo mvil __________________________________ 94
Figura 5-1 Parmetros de conexin para el MBDR PostgreSQL __________________________ 97
Figura 5-2 Parmetros de conexin de la extensin PostGIS SBLAGWMMS ________________ 97
Figura 5-3 Interpretacin del mensaje recibido ________________________________________ 97
Figura 5-4 Perfil del dispositivo mvil ________________________________________________ 98
Figura 5-5 Proceso de obtencin del mapa imagen en consola ___________________________ 99
Figura 5-6 Mapa obtenido ________________________________________________________ 99
Figura 5-7 Representacin de la ruta en nodos ________________________________________ 99
Figura 5-8 Visualizacin de la ruta mediante Netbeans ________________________________ 100
Figura 5-9 Obtencin de los POR(Point of Reference - puntos de referencia) _______________ 100
Figura 5-10Visualizacin del proceso de una peticin del servicio de taxis. _________________ 101
Listado de tablas
Tabla 1-1 Costos de mensajera de las telefnicas en Mxico, 2009 ________________________ 5
Tabla 1-2 Comparativa de los trabajos del estado del arte _______________________________ 19
Tabla 2-1 Necesidades de los usuarios mviles _______________________________________ 25
Tabla 3-1 Descripcin del caso de uso: CU1 Configurar RMS ____________________________ 44
Tabla 3-2 Descripcin del caso de uso: CU1.1 Crear RMS _______________________________ 45
Tabla 3-3 Descripcin del caso de uso: CU1.2 Leer RMS _______________________________ 46
Tabla 3-4 Descripcin del caso de uso: CU1.3 Actualizar RMS ___________________________ 47
Tabla 3-5 Descripcin del caso de uso: CU2 Construir peticin HTTP ______________________ 48
Tabla 3-6 Descripcin del caso de uso: CU3 Enviar trama _______________________________ 49
Tabla 3-7 Descripcin del caso de uso: CU4 Recibir peticin HTTP ________________________ 51
Tabla 3-8 Descripcin del caso de uso: CU5 Interpretar peticin HTTP _____________________ 52
Tabla 3-9 Descripcin del caso de uso: CU6.1 Obtener perfil del dispositivo mvil ____________ 53
Tabla 3-10 Descripcin del caso de uso: CU6.2.1 Obtener mapa SVG _____________________ 55
Tabla 3-11 Descripcin del caso de uso: CU 6.2.2 Convertir SVG a SVGTiny ________________ 56
Tabla 3-12 Descripcin del caso de uso: CU6.2.3 Generar ruta ___________________________ 57
Tabla 3-13 Descripcin del caso de uso: CU6.2.4 Obtener puntos de referencia ______________ 58
Tabla 3-14 Descripcin del caso de uso: CU6.2.5 Agregar datos al SVGTiny ________________ 59
Tabla 3-15 Descripcin del caso de uso: CU7 Enviar mapa SVGTiny ______________________ 61
Tabla 3-16 Descripcin de los paquetes de la aplicacin SketchMapServer. _________________ 62
Tabla 3-17 Comparacin de los repositorios de dispositivos mviles _______________________ 75
Tabla 3-18 Descripcin de las de la base de datos MobileDevice _________________________ 76
Tabla 5-1 Evaluacin de resultados ________________________________________________ 102
vi
GLOSARIO
API Application Programming Interface. Interfaz de programacin de
aplicacin. Es el conjunto de funciones y procedimientos que ofrece cierta
librera para ser utilizado por otro software como una capa de abstraccin.
Representa una interfaz de comunicacin entre componentes de software.
BDE Base de Datos Espacial. Provee todos los servicios de los Sistemas
manejadores de bases de datos relacionales y una administracin efectiva
y eficiente de datos espaciales
CDMA Code Division Multiple Access. El acceso mltiple por divisin de cdigo o
CDMA es un trmino genrico para varios mtodos de multiplexacin o
control de acceso al medio basados en la tecnologa de espectro
extendido (spread spectrum). Generalmente se emplea en
comunicaciones inalmbricas (por radiofrecuencia), aunque tambin
puede usarse en sistemas de fibra ptica o de cable.
JSR Java Specification Request. Son documentos formales que describen las
especificaciones y tecnologas propuestas para que sean aadidas a la
plataforma Java.
Mapa croquis Se define como una representacin grfica de la ubicacin exacta de una
direccin o lugar que se est localizando por medio de coordenadas o
puntos de referencia, bsicamente se utiliza para localizar una direccin
en particular. Los puntos de inters que se muestran en el mapa sirven
como referencia visual para orientar al usuario, presentndose la ruta con
la informacin pertinente representada mediante smbolos y textos.
MIDP Mobile Information Device Profiles. Perfil para dispositivos mviles de
informacin.
Shapefile Formato de archivo de tipo vectorial con extensin .shp desarrollado por la
empresa Esri para la representacin de la informacin a travs de
geometras y un sistema de referencia espacial.
WMS Servicio de Mapas en Web (Web Map Service por sus siglas en ingls) es
una especificacin definida por la OGC caracterizada por ser un servicio
que provee mapas a travs de la Web. Estos mapas tienen como fuente
de informacin datos vectoriales y rster.
1. Introduccin
Actualmente las interacciones con las aplicaciones mviles son limitadas por las
restricciones propias de los dispositivos, teniendo los desarrolladores el reto de disear
sistemas de mapas para dispositivos mviles, tomando en consideracin las restricciones
conocidas para desarrollar aplicaciones de utilidad y de gran impacto en los usuarios.
Las restricciones de los dispositivos incluyen las limitaciones del tamao de pantalla que
muestra el contenido de mapas descritos por un conjunto de datos, el bajo ancho de
banda para la transmisin 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 diseo, interaccin y
elaboracin de modelos de los servicios de mapas mviles se han incrementado,
dominando los estilos de presentacin en los dispositivos mviles, as como las diversas
formas de adaptacin y comunicacin entre los mismos.
La comunicacin a travs de dispositivos mviles ha mostrado un crecimiento interesante
como resultado de la facilidad de manejo, la reduccin del costo y la disponibilidad de
servicios, abarcando un sector importante en la sociedad. Como resultado del crecimiento
en el uso de dispositivos mviles han surgido nuevas tecnologas y servicios basados en
la ubicacin del usuario, es decir, servicios basados en localizacin (LBS pos sus siglas
en ingls), [LBSWiki, 2009].
Cabe sealar que las aplicaciones implementadas son apoyadas por servicios web, as
como la mayora de las investigaciones realizadas a la fecha estn enfocadas a los
sistemas de navegacin utilizando dispositivos GPS (Global Positioning System)
[GPSWiki, 2009] para la transmisin de datos georeferenciales, desarrollando con ello
aplicaciones LBS.
Se propone una innovadora combinacin de tecnologas de informacin dependiente de la
ubicacin del usuario, para ofrecer un nuevo tipo de servicios multimedia mvil de valor
agregado. El estudio muestra que los nuevos servicios mviles se pueden desarrollar
utilizando informacin sobre la localizacin.
En la investigacin de los servicios que prestan los principales proveedores de tecnologa
mvil, se puede observar que este trabajo de investigacin abarc todos los servicios con
los que se cuenta actualmente en Mxico.
El resultado de las consultas realizadas por el usuario es un mapa de tipo croquis en
formato vector escalable grfico tiny [SVG, 2009], se utilizaron conexiones HTTP para
brindar el servicio de envo y recepcin, el resultado es un archivo en formato SVG-Tiny
que contiene un mapa tipo croquis que muestra los resultados de la bsqueda contextual,
la parte innovadora de este trabajo es la adopcin de mtodos para identificar el perfil del
dispositivo celular y en funcin de sus capacidades se genera un mapa a la medida.
1
El concepto de renderizar en campo de los grficos por computadora define el proceso de creacin de
imgenes sintticas.
Pgina 2
Captulo I Introduccin
1.2 Objetivo
Generacin de mapas tipo croquis en formato SVG-Tiny considerando informacin del
perfil del dispositivo, aplicando tcnicas de destilado para eliminar informacin geogrfica
no pertinente para el usuario, utilizando el esquema de mensajes de tipo
solicitud/respuesta mediante mensajera de SMS as como conexiones basadas en
HTTP/GRPS.
2
API para la Gestin de Mapas de Navegacin en Dispositivos Mviles Mediante el Sistema GPS y
Mensajera SMS/MMS. Desarrollado en el Laboratorio de Sistemas Distribuidos de Cenidet.
Pgina 3
Captulo I Introduccin
AO MILES DE USUARIOS
1990 63.9
1991 160.9
1992 312.6
1993 386.1
1994 571.8
1995 688.5 72.3
1996 1,021.9 70.3
1997 1,740.8
1998 3,349.5 62.6
1999 7,731.6
2000 14,077.9 52.6
2001 21,757.6
2002 25,928.3 45.1
2003 30,097.7
2004 38,451.1
36.3
2005 47,141.0
2006 55,395.5 29.1
2007 66,559.5 25.4
2008 p/ 75,303.5 21.6
ago-09 78,257.3
14.2
8.0
3.5
0.1 0.2 0.4 0.4 0.6 0.8 1.1 1.8
jun-09
1991
1990
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008 p/
Pgina 4
Captulo I Introduccin
1.4 Antecedentes
Se describen tres proyectos que se consideran antecedentes de este trabajo de tesis que
fueron desarrollados en CENIDET durante el perodo 2005-2008, los cuales se describen
a continuacin:
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 mviles para procesar
consultas dependientes/independientes de la ubicacin de un usuario de dispositivos
mviles, utilizando mensajera de SMS y el sistema de posicionamiento global.
Pgina 5
Captulo I Introduccin
Banco
CCamion
Cine
Farmacia
Hospital
Restaurante
SMercado
NPOI (retorna el punto de inters ms cercano a la posicin del dispositivo mvil,
basado en una bsqueda por radio predefinido).
POI (regresa las palabras claves de los puntos de inters cercanos a la posicin
del dispositivo mvil en un radio de 20 a 30 metros).
WIA (retorna la calle y colonia donde se encuentra el dispositivo mvil).
RCORTA (regresa la ruta para llegar al servicio definido por la palabra clave
enviada desde la posicin actual del dispositivo).
3
Es una especificacin para redes inalmbricas de rea personal (WPANs) que hace posible transmitir
voz y datos entre distintos dispositivos mediante un enlace por radiofrecuencia segura y globalmente
libre.
Pgina 6
Captulo I Introduccin
Los servicios basados en localizacin (LBS) as como los mapas de navegacin, son
aplicaciones cada vez ms comunes en los dispositivos mviles. Es posible
coleccionar datos y atributos geoespaciales para resolver necesidades de ubicacin y
orientacin de los usuarios. Se desarroll una API para dispositivos mviles que
permite visualizar e interactuar con informacin georeferencial representada como
puntos de inters sobre un mapa vectorial SVG que se podr obtener va un mensaje
MMS o una conexin HTTP/GPRS. Busca aprovechar la tecnologa actual de los
dispositivos mviles como Smartphones y PocketPCs para proporcionar servicios de
localizacin a los usuarios en un momento determinado, ya sea de manera textual o
grfica.
1.5.2 Limitaciones
Slo se muestran los puntos de referencia que cumplan con la condicin de
bsqueda del camino generado.
El medio para enviar la respuesta es va HTTP.
La aplicacin cliente est limitado a los dispositivos mviles que soporten
como mnimo la configuracin Java CLDC 1.1 (JSR 179) y el perfil MIDP 2.0
(JSR 118).
Los dispositivos mviles 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).
Pgina 7
Captulo I Introduccin
Pgina 8
Captulo I Introduccin
Bsqueda de ruta
Datos de la ruta
Obtener nodo y enlazarlo con
una ruta
ID Nodo, ID Enlace
S-GXML
Datos espaciales Obtener nodo relativo con una
ruta
Pgina 9
Captulo I Introduccin
Basado en ello se determinaron los posibles objetos de adaptacin. Siendo los siguientes
subconjuntos los se ajustan al proceso:
Visualizacin
o Diseo del mapa
o Seccin del mapa
o Escala del mapa o Cantidad
o Generalizacin del mapa o Clasificacin
o Dimensin o Nivel de detalle
o Elementos grficos o rea geogrfica
Geo informacin Interfaz de usuario
Pgina 10
Captulo I Introduccin
Desarrollaron un lenguaje de marcado llamado RPML (Route Plan Markup Language) que
les permite entregar combinaciones de diferentes modalidades (texto, grfico, y
eventualmente tambin voz). El mecanismo mencionado de segmentacin produce
estructuras RPML como estructura de salida, a su vez usan XLST para entregar una ruta
completa va Web (ver Figura 1-4), mientras que la Palm permite hacer exploracin
interactiva paso a paso de la descripcin cuando los usuarios realizan la tarea de
navegacin como se muestra en la Figura 1-5.
Pgina 11
Captulo I Introduccin
Los medios de comunicacin son pertinentes a las limitaciones tcnicas del dispositivo
mvil y de acuerdo al entorno del usuario, tal como ubicacin, hora del da, el clima, o el
ruido. En lo que respecta a la ubicacin, el usuario recibe slo la presentacin multimedia
de la vista. Adems, si el entorno durante una visita de la ciudad es demasiado ruidoso,
los medios de comunicacin audibles no son seleccionados para la presentacin, slo los
medios de comunicacin visual.
La aplicacin 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 aadiendo lugares de
inters turstico en el mapa.
Se desarrollaron generadores de SMIL, SVG, y HTML en el contexto de presentaciones
multimedia, considerando la limitacin de los dispositivos mviles por medio de la
determinacin de los perfiles que son especialmente diseados para uso en dispositivos
mviles.
Pgina 12
Captulo I Introduccin
La adaptacin 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 geogrfico (GML), mismo que se transforma mediante el lenguaje de
transformacin de estilo extensible (XSLT) a un documento en formato vector grfico
Pgina 13
Captulo I Introduccin
escalable (SVG). Las adaptaciones del documento SVG pueden ser manipulados
mediante el modelo objeto-documento (DOM).
Aunque el progreso de la tecnologa en el campo de la computacin mvil es significante
y la investigacin est dirigida a los mviles con informacin geogrfica, son varios los
problemas aun sin resolver y muchos conocimientos que se van adquiriendo al
desarrollar soluciones mviles para el contexto que se describe a continuacin:
Geovisualizacin. La visualizacin en los dispositivos mviles est limitado por el
tamao y resolucin de la pantalla, la falta de poder de procesamiento, la
memoria, la duracin de la batera y el ancho de banda de la red mvil.
Usabilidad. El uso de las soluciones mviles se obstaculiza por el uso de mapas
escaneados o la produccin ilegible de mapas con resoluciones que no soportan
los dispositivos mviles.
Lectura ilegible. La limitacin de las pantallas pequeas implica que no hay lugar
para elementos auxiliares tales como un mapa leyenda, lo que hace que la lectura
de mapas sea un proceso difcil.
Movilidad. La movilidad del usuario tiene muchas consecuencias, el uso de la
informacin geogrfica se ve afectada por los cambios de ubicacin del usuario,
las diferentes actividades, asimismo se tienen diferentes distracciones en un
entorno pblico siendo rpidos los cambios de contexto haciendo ms difcil las
condiciones de uso.
Pgina 14
Captulo I Introduccin
Este proyecto es una extensin de gvSIG desktop que permite enviar datos a gvSIG
Mobile, configurar los aspectos de visualizacin de capas, definir formularios
personalizados y revisar las modificaciones realizadas por gvSIG Mobile, en la Figura 1-9
se muestra la sincronizacin de datos desde gvSIG desktop.
Pgina 15
Captulo I Introduccin
4
SDI: Spatial Data Infrastructure
Pgina 16
Captulo I Introduccin
puedan ser usadas como aplicaciones tradicionales. Es por ello que se adaptan los
resultados de los servicios a las necesidades de los dispositivos mviles. Estos
tratamientos se pueden hacer mediante:
1. Llamadas a los servicios SDI con un conjunto de parmetros para los
requerimientos del cliente mvil y/o
2. Modificando los resultados de los servicios SDI para simplificar o procesar
posteriormente mediante el mvil cliente.
La Figura 1-12 representa la arquitectura que provee mapas y datos. Las flechas indican
el flujo de datos. Para determinar los parmetros 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 mviles especificando dispositivos al SDI
Pgina 17
Captulo I Introduccin
Pgina 18
Captulo I Introduccin
SOPORTE DE
ORIENTADO LENGUAJE DE GENERA MENSAJERIA MEDIO DE
PROYECTO FORMATOS
A LBS DESARROLLO RUTA TRANSPORTE
SMS MMS
ECW, JPEG,
J2ME/
[Montesinos, 2008] WMS, WFS HTTP-WMS PNG, GIF
/SHP
DELPHI 6 /
[Cabral, 2005] XML HTTP SVG
GPRS | HTTP-
[Brinkhoffi, 2008] VC++ NET WMS
SVG
GPRS | HTTP -
Proyecto de tesis J2ME WMS
SVG-Tiny
5
http://www.w3c.es/Prensa/2006/nota060810_SVGTiny
Captulo I Introduccin
Pgina 20
CAPTULO II
MARCO TERICO
En este captulo se presentan los conceptos relevantes en el desarrollo del proyecto, lo
que se est desarrollando en la misma rea de investigacin.
Captulo II Marco terico
2. Marco terico
2.1 Mapa tipo croquis
Mapa tipo croquis se define como una representacin grfica de la ubicacin exacta de
una direccin o lugar que se est localizando por medio de coordenadas o puntos de
referencia, bsicamente se utiliza para localizar una direccin en particular. Los puntos de
inters que se muestran en el mapa sirven como referencia visual para orientar al usuario,
presentndose la ruta con la informacin pertinente representada mediante smbolos y
textos.
En la Figura 2-1 se representa un mapa tipo croquis en donde el punto inicial A parte de
la calle Adolfo Lpez Mateos doblando por la rsulo Galvn para finalmente llegar a la
calle Gustavo Daz Ordaz donde se localiza el punto destino B, tambin se observa que
en el trazado de la ruta se presentan puntos de referencia para orientar a las personas.
Pgina 22
Captulo II Marco terico
En la Figura 2-2 se observa que existen algunas caractersticas en comn entre los LBS y
los GIS, tales como el manejo de datos con referencia posicional y funciones de anlisis
espacial, las cuales responden preguntas como: Dnde estoy? Qu est cerca
de? Cmo puedo llegar a?
Sin embargo los LBS y los GIS tienen diferentes orgenes y grupos de usuarios.
Los GIS han sido desarrollados durante varias dcadas en base a aplicaciones de datos
geogrficos profesionales, mientras que los LBS surgieron recientemente por la evolucin
de servicios mviles pblicos. 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 geogrficos, adems de que consumen extensos recursos de
cmputo.
En contraste los LBS se desarrollaron como servicios limitados para un gran nmero de
usuarios no profesionales. La aplicaciones LBS operan con las restricciones del ambiente
de cmputo mvil como baja potencia computacional, pantallas pequeas, o limitaciones
debidas al alto consumo de batera.
Pgina 23
Captulo II Marco terico
2.2.2 Funcionamiento
A continuacin se describe del funcionamiento de los sistemas basados en localizacin:
1. Se obtiene la posicin del dispositivo mvil y se enva la solicitud, la cual contiene
el objetivo de la bsqueda y la ubicacin del usuario, sta se enva a travs 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 comunicacin e
Internet. Encamina la solicitud a un servidor especfico. El servidor guarda
informacin acerca del dispositivo que ha solicitado la informacin.
3. El servidor de aplicaciones lee la solicitud y activa el servicio apropiado.
4. El servicio analiza nuevamente el mensaje y decide que informacin adicional
necesita, adems del criterio de bsqueda y posicin de usuario.
5. El servicio encontrar la informacin necesaria que satisfaga la solicitud.
6. Teniendo toda la informacin necesaria, el servicio har una consulta de ruteo,
para obtener la respuesta a la solicitud. Una vez obtenida la respuesta esta se
enva al usuario.
Los resultados se pueden presentar al usuario ya sea como una lista de texto, o un dibujo
en un mapa.
Servidor
Posicionamiento
Internet
GPS
BD
Envo de SMS
Red de
comunicaciones
Dispositivos mviles
2.2.3 Clasificacin
Los LBS se pueden clasificar segn las necesidades que satisfacen. En la Tabla 2-1 se
resumen las necesidades que satisfacen los LBS, [Steiniger, 2006].
Pgina 24
Captulo II Marco terico
En la Figura 2-5 se muestra la clasificacin de los LBS segn las necesidades que
satisfacen.
Pgina 25
Captulo II Marco terico
Pgina 26
Captulo II Marco terico
Operacin toque. Son relaciones entre dos geometras 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 relacin P/P grupo.
Operacin cruce. La relacin se aplica a los cruces de P/L, P/A, L/L y situaciones L/A.
Operacin traslape. Se define entre dos geometras para situaciones en las que se
tengan A/A, L/L y P/P.
Pgina 27
Captulo II Marco terico
En el modelo de datos vectorial los objetos se describen como puntos, lneas o reas
(polgonos). Estos elementos existen como elementos geomtricos no como objetos
fsicos. Este modelo es adecuado cuando trabajamos con objetos geogrficos con lmites
bien establecidos, como pueden ser fincas, carreteras, puntos de inters etc.
Pgina 28
Captulo II Marco terico
6
Es un modelo computacional a travs del cual los programas y scripts pueden acceder y modificar
dinmicamente y en tiempo real el contenido, estructura y estilo de los documentos HTML y XML.
Pgina 29
Captulo II Marco terico
SVG Tiny. Es un subconjunto estricto de SVG Basic, es decir, los grficos que se
realizan en SVG Tiny son compatibles con SVG Basic y Full, est dirigido a
dispositivos mviles de capacidades limitadas.
Perfil
MOBILE
Perfil
FULL
Los perfiles SVG se pueden mostrar como una pirmide que represente las capacidades
computacionales de los dispositivos para los cuales est dirigido un perfil en especfico
as como las caractersticas SVG que soporta (ver Figura 2-9). En la parte alta y media de
la pirmide se encuentra el conjunto de caractersticas de los telfonos mviles y PDAs y
en la base, el conjunto de caractersticas 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 definicin 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 especfico el perfil Mobile.
CABECERA DATOS
1120 bits
Codificacin de 7 bits: 160 caracteres (mensaje de texto latino).
Pgina 30
Captulo II Marco terico
Pgina 31
Captulo II Marco terico
Pgina 32
CAPTULO III
ANLISIS Y DISEO
En este captulo se presenta el anlisis y diseo 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.
Captulo III Anlisis y diseo
3. Anlisis y diseo
3.1 Anlisis
Se describe la arquitectura del generador de mapas croquis desarrollado. Se presentan
los diagramas de caso de uso, la definicin de escenarios y los diagramas de actividad
que corresponden a la fase de anlisis del proyecto.
3.1.1 Arquitectura del generador de mapas croquis
El generador de mapas croquis en formato SVG para dispositivos mviles permite
satisfacer las peticiones de informacin del cliente considerando el perfil del dispositivo,
es decir, se generarn los mapas de acuerdo a las caractersticas propias del dispositivo.
En la Figura 3-1 se muestra la arquitectura donde se presentan los mdulos
implementados para el desarrollo del proyecto. Los componentes y tecnologas 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 interaccin con el cliente que demanda los servicios.
Geoserver. Servidor de mapas que provee los mapas cartogrficos en diferentes
formatos, los cuales se explotarn a travs de servicios Web.
SketchMapServer. Realiza la generacin del mapa SVG-Tiny realizado por capas
que contienen informacin de los puntos de inters, ruta y los puntos de
referencia.
Base de datos espacial. Proporciona toda la informacin al mdulo que interacta
con el cliente y sirve para almacenar y registrar nuevos proveedores de servicios
desde el mdulo Negocio2sms.
Pgina 34
Captulo III Anlisis y diseo
El modelo en el que nos basamos es el estndar SQL de OpenGIS que contiene dos tipos
de atributos: los atributos espaciales que son valores geomtricos de dos dimensiones
con interpolacin lineal entre sus vrtices y los atributos descriptivos.
Las consultas espaciales en este proyecto de tesis se realizan en el SDBMS PostGIS, el
cual es una extensin al DBMS PostgreSQL que permite el uso de objetos GIS
Pgina 35
Captulo III Anlisis y diseo
SPATIAL_REF_SYS GEOMETRY_COLUMNS
PK SRID SRID
AUTH_NAME F_TABLE_CATALOG
AUTH_SRID F_TABLE_SCHEMA
SRTEXT F_TABLE_NAME
PROJ4TEXT F_GEOMETRY_COLUMN
COORD_DIMENSION
TYPE
Tabla SPATIAL_REF_SYS
SRID: Valor entero que identifica el sistema de referencia espacial.
AUTH_NAME: Nombre del estndar para el sistema de referencia. Por ejemplo:
EPSG.
AUTH_SRID: Identificador segn el estndar AUTH_NAME. En el ejemplo anterior
es el id segn EPSG.
SRTEXT: Una Well-know text 7 representacin para el sistema de referencia
espacial. Ejemplo: WKT para SRS.
PROJ4TEXT: Proj4 es una librera que usa PostGIS para transformar
coordenadas. Esta columna contiene una cadena con definicin de las
coordenadas de Proj4 para un SRID dado.
7
WKT (Well-Know Text) es la codificacin o sintaxis diseada especficamente para describir objetos
espaciales expresados de forma vectorial.
Pgina 36
Captulo III Anlisis y diseo
PostGIS soporta los objetos GIS definidos por OpenGIS y el API de representacin de la
especificacin OpenGIS pero no tiene varios de los operadores de comparacin. A
continuacin se muestran unos ejemplos de la representacin 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 caractersticas con coordenadas en 2D y 3D, las funciones
force_2d() y force_3d() son para convertir una caracterstica a 3D o 2D.
Las consultas espaciales en este proyecto de tesis localizan puntos de inters a partir de
una ubicacin geoespacial, se obtiene la distancia de dos puntos geogrficos y se obtiene
un nmero finito de informacin de los puntos de referencia localizados en un rea
especfica.
La siguiente sentencia representa la forma de obtener puntos de inters a una
determinada distancia de la ubicacin georeferencial del dispositivo mvil.
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
xMin xMax
yMax
yMin
Pgina 37
Captulo III Anlisis y diseo
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
generacin de las rutas, ya que se obtiene informacin no pertinente para el usuario. Por
ello se realiza un proceso para obtener el BBOX de bsqueda a partir de los puntos de
inters. El procedimiento para generar el BBOX es el siguiente:
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 mnima. La siguiente sentencia SQL obtiene los puntos de
referencia, en donde cada nodo es representado por una coordenada georeferencial
Pgina 38
Captulo III Anlisis y diseo
Pgina 39
Captulo III Anlisis y diseo
21 fin_mientras
22 //Se comprueba que el vrtice elegido es el de menor distancia al origen
23 l=k
24 mientras k < nodoProcesadoTamao hacer
25 si nodoProcesado[k] y caminoMinimo[l] > caminoMinimo[k] entonces
26 l=k
27 fin_si
28 fin_mientras
29 nodoProcesado[l]=falso
30 k=1
31 //Se actualizan las distancias
32 mientras k < nodoProcesadoTamao hacer
33 si nodoProcesado[k] y caminoMinimo[k] > caminoMinimo[l]+grafo[l][k] entonces
34 caminoMinimo[k]=caminoMinimo[l]+grafo[l][k]
35 fin_si
36 fin_mientras
37 fin_mientras
Figura 3-4 Algoritmo de Dijkstra
a b
ii. El rea de inters que se obtiene se utiliza para obtener las aristas que
representan las calles y los nodos que representan las intersecciones de calles,
para ello se realizan una consultas espaciales a las tablas street y nodos de la
Pgina 40
Captulo III Anlisis y diseo
BDE. En la Figura 3-6(a) se muestran las aristas, en (b) se muestran los nodos y
en (c) se observa la integracin de las aristas y los nodos.
a b c
iv. Se desarroll una clase en Java con mtodos y datos temporales que permiten el
almacenamiento de datos temporales. En una matriz bidimensional llamada grafo
se almacenan las longitudes de las calles. Los ndices de la matriz representan los
nodos terminales de cada arista, por lo que cada nodo tiene asociado una etiqueta
numrica nica.
v. Finalmente se aplica el algoritmo de Dijkstra, el mtodo obtenerRutaCorta recibe
los parmetros para ejecutar el algoritmo. Al final retorna una lista que representan
los nodos que representan la ruta. Los valores de la lista sirven para buscar en las
geometras en los vectores temporales que retornan la ruta ms corta del nodo
origen al destino como se muestra en la Figura 3-8.
Pgina 41
Captulo III Anlisis y diseo
Origen
Destino
Pgina 42
Captulo III Anlisis y diseo
uc SketchM...
Configurar RMS
Construir peticin
HTTP
Dispositiv o Mv il
8
Mobile Information Device Profile (MIDO) define el ambiente de ejecucin estndar para aplicaciones Java
que se ejecutan en telfonos celulares.
Pgina 43
Captulo III Anlisis y diseo
Figura 3-12 Diagrama de actividad del caso de uso: CU1 Configurar RMS
Pgina 44
Captulo III Anlisis y diseo
act CrearRMS
Inicio
No
Excepcin RecordStore correct o
Si
Agregar registro
Si
Aadir mas registros
No
Fin
Figura 3-13 Diagrama de actividad del caso de uso: CU1.1 Crear RMS
Pgina 45
Captulo III Anlisis y diseo
act LeerRMS
Inicio
Si
No Si
Excepcin Leido correctamente Leer otro registro
No
Cerrar el registro de
almacenamiento
Fin
Figura 3-14 Diagrama de actividad del caso de uso: CU1.2 Leer RMS
Pgina 46
Captulo III Anlisis y diseo
act ActualizarRMS
Inicio
Agregado Si
Excepcin Actualizar ms registros
correctamente
No
Fin
Figura 3-15 Diagrama de actividad del caso de uso: CU1.3 Actualizar RMS
Pgina 47
Captulo III Anlisis y diseo
uc ConstruirPeticionHTTP
Construir peticin
HTTP
Dispositiv o Mv il
act ConstruirPeticionHTTP
Inicio
Crear dato
No
Excepcin Dato compatible
Si
Si
No
Crear peticin
Fin
Figura 3-17 Diagrama de actividad del caso de uso: CU2 Construir peticin HTTP
Tabla 3-5 Descripcin del caso de uso: CU2 Construir peticin HTTP
Pgina 48
Captulo III Anlisis y diseo
uc Env iarTrama
Env iarTrama
Dispositiv o mv il
Inicio
No
Excepcin Conexin
establecida
Trama
Env iar trama enviada Terminar proceso
No
Fin
Figura 3-19 Diagrama de actividad del caso de uso: CU3 Enviar trama
Pgina 49
Captulo III Anlisis y diseo
uc GeneralSketchMapSer...
Interpretar peticin
HTTP
Serv idor
Generar mapa SV GT
Pgina 50
Captulo III Anlisis y diseo
uc RecibirPeticionHTTP
Recibir peticin
HTTP
Serv idor
act RecibirPeticionHTTP
Inicio
No
Servidor Web
ejecutandose
Si
Excepcin
No
Peticin correcta
Si
Fin
Figura 3-22 Diagrama de actividad del caso de uso: CU4 Recibir peticin HTTP
Tabla 3-7 Descripcin del caso de uso: CU4 Recibir peticin HTTP
Pgina 51
Captulo III Anlisis y diseo
Poscondiciones:
Escenario de xito 1. Se ejecuta la aplicacin web SketchMapServer.
2. Se esperan peticiones HTTP.
3. Se reciben las peticiones HTTP
4. Terminar proceso.
Escenario de fracaso 1. Se ejecuta la aplicacin web SketchMapServer.
2. Error al ejecutar la aplicacin.
3. Se lanza excepcin.
4. Terminar proceso.
Escenario de fracaso 1. Se ejecuta la aplicacin web SketchMapServer.
2. Se esperan peticiones HTTP
3. Se reciben las peticiones HTTP.
4. Error en la recepcin de la peticin.
5. Se lanza excepcin.
6. Terminar proceso
Incluye:
Suposiciones:
uc InterpretarPeticionHTTP
Interpretar peticin
HTTP
Serv idor
Tabla 3-8 Descripcin del caso de uso: CU5 Interpretar peticin HTTP
Pgina 52
Captulo III Anlisis y diseo
5. Terminar proceso.
Suposiciones:
act InterpretarPeticionHTTP
Inicio
No Peticin
Excepcin correct a
Si
No Trama
Leer peticin
vlida
Si
Obtener datos
Fin
Figura 3-24 Diagrama de actividad del caso de uso: CU5 Interpretar peticin HTTP
Tabla 3-9 Descripcin del caso de uso: CU6.1 Obtener perfil del dispositivo mvil
Pgina 53
Captulo III Anlisis y diseo
Actores: Servidor.
Descripcin: Obtener perfil del dispositivo mvil.
Precondiciones: 1. Peticin HTTP interpretada
Poscondiciones:
Escenario de xito 1. Se abre conexin a postgres.
2. Se consulta compatibilidad del dispositivo mvil.
3. Se obtiene el perfil del dispositivo mvil.
4. Se cierra la conexin a postgres.
5. Terminar proceso.
Escenario de fracaso 1. Se abre conexin a postgres.
2. Error: conexin a postgres cerrada.
3. Se lanza excepcin.
4. Terminar proceso.
Escenario de fracaso 1. Se abre conexin a postgres.
2. Se consulta compatibilidad del dispositivo mvil.
3. No existe compatibilidad con la aplicacin.
4. Se lanza excepcin.
5. Terminar proceso.
Incluye:
Suposiciones:
act ObtenerPerfilDispositi...
Inicio
No
Conexin
abierta
Si
Consultar dispositiv o
Excepcin mv il
No Si
Obtener perfil del
Encontrado
dispositiv o mv il
Fin
Figura 3-26 Diagrama de actividad del caso de uso: CU6.1 Obtener perfil del dispositivo
La Figura 3-27 muestra el caso de uso CU6.2 Crear imagen SVGTiny. Describen las
funciones bsicas para generar la imagen SVGTiny.
Pgina 54
Captulo III Anlisis y diseo
Tabla 3-10 Descripcin del caso de uso: CU6.2.1 Obtener mapa SVG
Pgina 55
Captulo III Anlisis y diseo
6. Terminar proceso.
Incluye:
Suposiciones:
act ObtenerMapaSVG
Inicio
Excepcin
Realizar peticin WMS al serv idor
de mapas con los parmetros del
dispositiv o mv il y el BBOX
No No
Servidor de Mapas
Obtener Mapa SVG
activo
Fin
Figura 3-28 Diagrama de actividad del caso de uso: CU6.2.1 Obtener mapa SVG
Tabla 3-11 Descripcin del caso de uso: CU 6.2.2 Convertir SVG a SVGTiny
Pgina 56
Captulo III Anlisis y diseo
Inicio
Obtener imagen SVG Crear obj eto SAX de Obtener el elemento root y
lectura Crear elemento root del
la lista de sus propiedades
SVGT y su Namespace
El Namespace es http://www.w3.org/2000/svg.
Namespace de referencias es http://www.w3.org/1999/xlink Leer atributo del elemento
root SVG
El docType del archivo SVG es
-//W3C//DTD SVG 1.1 Tiny//EN","http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd
Agregar atributo ledo del
Los atributos que identifican al archivo SVG Tiny son los siguientes: SVG al elemento root SVGT
Version = 1.1
baseProfile=Tiny
viewBox= 0 0 x y
No
Agregar docType y el
elemento rootSVGT al
documento
Fin
Figura 3-29 Diagrama de actividad del caso de uso: CU6.2.2 Convertir SVG a SVGTiny
Pgina 57
Captulo III Anlisis y diseo
Inicio
No Exist e nodo
Excepcin adyacente Vi
Si
Si
Di >(Da+distancia(a, vi)) Di = Da + distancia(a, v i)
No
Da es nodo final No
Si
Fin
Figura 3-30 Diagrama de actividad del caso de uso: CU6.2.3 Generar ruta
Tabla 3-13 Descripcin del caso de uso: CU6.2.4 Obtener puntos de referencia
Pgina 58
Captulo III Anlisis y diseo
5. Terminar proceso
Escenario de fracaso 1. Abrir conexin Postgis.
2. La conexin no se establece correctamente.
3. Lanzar excepcin.
4. Terminar proceso.
Escenario de fracaso 1. Abrir conexin Postgis.
2. Consultar a la BDE areas radiales en base a las coordenadas
georeferenciales de cada nodo de la ruta generada
3. No existe Punto de inters.
4. Lanzar excepcin.
5. Terminar proceso.
Incluye:
Suposiciones:
act ObtenerPuntosReferencia
Inicio
Si
Exist en Puntos de Obtener datos del punto
inters de referencia
No
Existe otro punt o Si
de referencia
No
Fin
Figura 3-31 Diagrama de actividad del caso de uso 6.2.4 Obtener puntos de referencia
Tabla 3-14 Descripcin del caso de uso: CU6.2.5 Agregar datos al SVGTiny
Pgina 59
Captulo III Anlisis y diseo
5. Validar ruta.
6. Leer puntos de la ruta.
7. Agregar los elementos lnea al SVGTiny.
8. Leer punto de referencia
9. Validar punto de referencia
10. Obtener puntos de referencia.
11. Agregar elemento punto y texto al SVGTiny
12. Crear archivo SVGTiny.
13. Terminar proceso.
Incluye:
Suposiciones:
Figura 3-32 Diagrama de actividad del caso de uso: CU6.2.5 Agregar datos al SVGTiny
Pgina 60
Captulo III Anlisis y diseo
Serv idor
Inicio
No
Excepcin Flujo de salida Env iar mapa SVGT
abierto
No
SVGT enviado
Fin
Figura 3-34 Diagrama de actividad del caso de uso: CU7 Enviar mapa SVGTiny
Tabla 3-15 Descripcin del caso de uso: CU7 Enviar mapa SVGTiny
Pgina 61
Captulo III Anlisis y diseo
5. Terminar proceso
Incluye:
Suposiciones:
3.2 Diseo
El proyecto del generador de mapas croquis en formato SVGTiny consta de 4 paquetes,
mismos que se describen en la Tabla 3-16, la Figura 3-35 muestra el diagrama general
de los paquetes desarrollados. El nombre de los paquetes se asign siguiendo las
recomendaciones descritas en el artculo Estructura de paquetes [SG, 2005]
Tabla 3-16 Descripcin de los paquetes de la aplicacin SketchMapServer.
PAQUETE DESCRIPCIN
mx.edu.cenidet.gateway.database Contiene las clases que implementan las conexiones a la
base de datos postgres y la extensin a Postgis.
mx.edu.cenidet.gateway.maps Contiene las clases que generan los datos para crear las
capas de la imagen SVG-Tiny (mapa, ruta y puntos
referencia).
mx.edu.cenidet.gateway.maps.coordinates Contiene las clases que convierten coordenadas
Georeferenciales a UTM y viceversa, asimismo se obtiene la
distancia entre dos puntos y su punto medio.
mx.edu.cenidet.gateway.servlet Este paquete consta de las clases que reciben y responden
las peticiones HTTP.
mx.edu.cenidet.gateway.utils Contiene clases necesarias para la obtencin de los
directorios, conversin de coordenadas georeferenciales a
pixeles.
mx.edu.cenidet.gateway.mobiledevice Este paquete tiene las clases que contiene el perfil del
dispositivo mvil.
mx.edu.cenidet.gateway.routing Contiene las clases del algoritmo de ruta.
mx.edu.cenidet.gateway.SVGTiny Es el paquete donde estn las clases que convierten la
imagen SVG a SVG-Tiny y los mtodos para aadirle
nuevas capas.
Figura 3-35 Diagrama general de paquetes del generador de mapas croquis SVGTiny
Pgina 62
Captulo III Anlisis y diseo
Pgina 63
Captulo III Anlisis y diseo
postgres. Los mtodos que proporciona esta clase permiten abrir y cerrar una
conexin al servidor de datos Postgres.
Postgis. Los mtodos que proporciona esta clase permiten abrir y cerrar una
conexin especficamente a la extensin a la base de datos espacial Postgis.
Usuario. Esta clase contiene los datos del usuario.
RegistroUsuarioDAO. Los mtodos de esta clase consultan a la base de datos la
existencia del usuario, en caso contrario se agrega.
La aplicacin Web obtiene del archivo de configuracin los datos necesarios para formar
la URL de conexin. Se abre la conexin y se realizan las consultas a la base de datos
relacional o espacial, si la consulta se realiza con xito se obtienen los datos y se cierra la
conexin. El diagrama de secuencia de este proceso se muestra en la Figura 3-37.
Pgina 64
Captulo III Anlisis y diseo
pkg maps
Pgina 65
Captulo III Anlisis y diseo
MapImage. Los mtodos que proporciona esta clase permiten realizar peticiones al
servidor de mapas obteniendo la URL de la clase DataWebMapService, genera
una imagen SVG temporal.
DataMapImage. La funcin de esta clase es construir el rea de peticin al
servidor de mapas (BBOX) de acuerdo al punto georeferencial origen.
DataMapRoute. Esta clase representa la ruta a generar y hace referencia a la
conversin de las coordenadas georeferenciales a pixeles.
MapRoute. Permite generar la ruta y se agrega al tipo de dato DataMapRoute.
MapRouteDAO. Los mtodos que contiene esta clase realizan consultas a la BDE
para obtener el grafo del cual se generar la ruta.
MapPOR. Representa los puntos de referencia de la ruta.
MapPORDAO. Esta clase realiza consultas a la BDE de los puntos de referencia
de cada nodo georeferencial de la ruta y se agregan al tipo de dato MapPOR.
La aplicacin realiza una bsqueda de los puntos de inters a la BDE, mismos que
tomar como etiqueta de destino para generar la ruta, los resultados obtenidos se
agregan a DataPointOfInterest.
Para obtener el mapa SVG se realiza una consulta a la BDE para generar el rea de
bsqueda (BBOX) que servir para crear la URL del WMS, a continuacin se realiza la
peticin al servidor de mapas mediante WMS y se obtiene el mapa.
El diagrama de secuencia del proceso mencionado se muestra en la Figura 3-39.
Pgina 66
Captulo III Anlisis y diseo
consultas a la BDE para obtener los nodos y aristas agregndolos al dato de tipo
DataMapRoute.
Posteriormente se genera el grafo del cual se obtiene la ruta, los puntos georeferenciales
de la ruta son convertidos a pixeles y se retorna la ruta a la aplicacin. Se procede a
obtener los puntos de referencia de cada nodo que integra la ruta mediante consultas a la
base de datos espacial, la informacin obtenida se agrega al tipo de dato MapPOR y se
retorna a la aplicacin SketchMapServer.
Figura 3-40 Diagrama de secuencia para la obtencin de los datos del SVGTiny
Pgina 67
Captulo III Anlisis y diseo
pkg Coordinates
Pgina 68
Captulo III Anlisis y diseo
Pgina 69
Captulo III Anlisis y diseo
DataMobileDev ice
+ getIdDevice() : String
+ isExist() : boolean
property get MobileDev iceDAO
+ getBrand() : String
+ getCLDC_1_1() : String
+ getHeight() : int + getDataMobileDevice() : DataMobileDevice
+ getHeightDisplay() : String + main(String[]) : void
+ getHeightResolution() : String -dmd + MobileDeviceDAO()
+ getMIDP_2_0() : String + MobileDevices() : ArrayList<DataMobileDevice>
+ getModel() : String + printData() : void
+ getReceiveMMS() : String + printDataMobileDevice(ArrayList<DataMobileDevice>, int) : void
+ getRelease() : String + SearchMobileDevice(String, String) : boolean
+ getSendMMS() : String
+ getSizeMaxMMS() : String
+ getSystem() : String
+ getTypeBrowser() : String
+ getVersionTypeBrowser() : String
+ getWidth() : int
+ getWidthDisplay() : String
+ getWidthResolution() : String
En la Figura 3-46 se muestra el proceso de obtencin del perfil del dispositivo mvil. Para
obtener el perfil del dispositivo mvil la clase MobileDeviceDAO realiza consultas a la
BDR y agrega el perfil a DataMobileDevice si el dispositivo mvil cumple con las limitantes
de la aplicacin cliente.
Pgina 70
Captulo III Anlisis y diseo
En la figura Figura 3-48 se muestra el proceso que genera la ruta mnima, en donde se le
manda un mensaje a la clase AlgoritmoRuta para generar la ruta mnima, para ello es
Pgina 71
Captulo III Anlisis y diseo
necesario obtener los nodos y aristas contenidas en la BDE, siendo a partir de estos datos
la creacin del grafo que se le aplicar el AlgoritmoRuta, se retorna la ruta mnima una
vez terminado el proceso.
Pgina 72
Captulo III Anlisis y diseo
pkg s...
SV GToSV GT ElementSV GT
Arrow Direction
+ ArrowDirection()
+ calculaAngulo() : double
+ calculaDistancia(float, float, float, float) : double
+ calculaPuntoMedio() : double[]
+ setLinea(float, float, float, float) : void
Pgina 73
Captulo III Anlisis y diseo
3.3.2 DeviceAtlas
Es una completa base de datos de dispositivos mviles, construida a partir de diversas
fuentes en las que se incluyen los fabricantes y los operadores de de la red, haciendo de
esta base de datos la ms completa. Las actualizaciones de las caractersticas de los
dispositivos mviles recientes ayudan a los desarrolladores en tecnologa mvil adaptar y
optimizar el contenido para diversos dispositivos mviles.
La informacin contenida en DeviceAtlas est compuesta las siguientes caractersticas:
Nombre del dispositivo. Contiene la marca y el modelo del dispositivo mvil.
Hardware.
Explorador web. Indica el tipo del explorador y su versin.
Pgina 74
Captulo III Anlisis y diseo
Para adquirir una copia de la base de datos DeviceAtlas es necesario adquirir la licencia
con un determinado costo, sin embargo se puede acceder a la versin Web la cual es
gratuita, [Deviceatlas, 2008].
En la Tabla 3-17 se puede notar que los tres repositorios contienen informacin de los
dispositivos mviles, los repositorios completos de DeviceMine y DeviceAtlas tienen un
determinado costo para adquirir la licencia, caso contrario del repositorio xml de WURLF
que es de fcil acceso al ser un proyecto libre y consta de una gran diversidad de
caractersticas de los dispositivos mviles.
Uno de los objetivos de esta tesis es desarrollar una aplicacin que sea compatible con
los dispositivos mviles, teniendo en consideracin el perfil MIDP 2.1 y la configuracin
CLDC 1.1 de java, ya que se utilizarn caractersticas especficas de cada dispositivo
mvil, con el fin de desarrollar mapas ad-hoc dependiendo del tamao de la pantalla del
dispositivo mvil.
Dado lo anterior es necesario contar con una base de datos, el cual debe contener las
caractersticas de los dispositivos mviles. Los datos que contiene la base de datos
MobileDevice son obtenidos del archivo wurfl.xml, en la Figura 3-51 se muestra el
diagrama relacional de la base de datos MobileDevice. En la tabla 3.18 se describen en
forma breve el objetivo de las relaciones.
Pgina 75
Captulo III Anlisis y diseo
Relacin Descripcin
mobile_device Contiene informacin bsica del dispositivo mvil: nmero del
dispositivo, marca, modelo y el id relacionado con las otras tablas.
product_info Esta tabla tiene informacin del dispositivo mvil (marca, modelo,
sistema operativo,).
display Esta tabla contiene informacin del tamao de la pantalla e imagen
soportado por los dispositivos mviles.
image_format Contiene informacin de los diferentes formatos de imagen que pueden
ser soportados por el dispositivo mvil.
product_info
j2meid Esta tabla indica las caractersticas soportadas por los dispositivos
is_transcoder
character varying(50)
boolean
FK_MOBILE_D_REFERENCE_PRODUCT_
4. Implementacin
En este apartado se muestran segmentos de cdigo que describen la funcionalidad de la
aplicacin Web SketchMapServer. El desarrollo de la aplicacin se desarroll bajo las
siguientes descripciones tcnicas de la plataforma de desarrollo:
IDE Netbeans 6.8 Beta
Java 2 Enterprise Edition versin 1.5
Java Micro Edition SDK 3.0
Manejador de base de datos PostgreSQL 8.3
Extensin PostGIS para PostgreSQL versin 1.3
Servidor web Apache Tomcat versin 6.0
Servidor de mapas Geoserver versin1.7
Sistema Operativo Windows Vista Home Edition
1 package mx.edu.cenidet.gateway.servlets;
2
3 public class servletSketchMap extends HttpServlet {
4 String categoria, mapa,distancia, longitud, latitud,trama;
5 String user, password;
6 RegistroUsuarioDAO regUser;
7 PrintWriter out;
8 protected void processRequest(HttpServletRequest request, HttpServletResponse response)
9 throws ServletException, IOException {
10
11 response.setContentType(text/html;charset=UTF-8);
12 out = response.getWriter();
13 Document doc = new Document();
14
15 Main croquis = new Main();
16 try {
17 trama = request.getParameter(trama);
18 user = request.getParameter(user);
19 password = request.getParameter(password);
20
21 regUser = new RegistroUsuarioDAO();
22 if(regUser.BuscarUsuario(user, password)){
23 croquis.generateSketchMap(trama);
24 if(croquis.getDataPointOfInterest().getNumReg()>0){
25 doc = croquis.getMap();
26 }else{
27 //Error
28 }
29 }
30 }catch(Exception e){
31 e.printStackTrace();
32 }finally {
Pgina 78
Captulo IV Implementacin
33 error(croquis);
34 out.close();
35 }
36 }
37 protected void doGet(HttpServletRequest request, HttpServletResponse response)
38 throws ServletException, IOException {
39 processRequest(request, response);
40 }
41 }
Figura 4-1 Recepcin de la peticin HTTP.
Pgina 79
Captulo IV Implementacin
2 {
3 public Connection getConexionPostgres()
4 {
5 if(conPostgres != null)
6 return conPostgres;
7 url = jdbc:postgresql:// + servidor + : + puerto + / + bdMobile;
8 try{
9 Class.forName(org.postgresql.Driver);
10 conPostgres = DriverManager.getConnection(url, usuario, password);
11 return conPostgres;
12 }
13 catch(Exception exception){
14 System.out.println(Error al conectarse: + exception.toString());
15 }
16 return null;
17 }
18 }
Figura 4-3 Conexin a la base de datos Postgres
1 import java.io.PrintStream;
2 import java.sql.*;
3
4 public class Postgis
5 {
6 public Connection getConexionPostGIS()
7 {
8 if(conPostGIS != null)
9 return conPostGIS;
10
11 url = jdbc:postgresql:// + servidor + : + puerto + / + baseDatos;
12 try{
13 Class.forName(org.postgresql.Driver);
14 conPostGIS = DriverManager.getConnection (url, usuario, password);
((org.postgresql.PGConnection)conPostGIS).addDataType(geometry,
15 org.postgis.PGgeometry);
16 ((org.postgresql.PGConnection)conPostGIS).addDataType(box3d,org.postgis.PGbox3d);
17
18 return conPostGIS;
19 } catch(Exception exception){
20 System.out.println(Error al conectarse: + exception.toString()); }
21 return null;
22 }
23 }
Figura 4-4 Conexin a la extensin PostGIS de la base de datos Postgres
La Figura 4-5 muestra un ejemplo de conexin a la base de datos espacial descrita por los
siguientes pasos:
1. Se instancia un objeto de la clase Postgis.
2. Se inicializan las variables, se obtienen los datos de la configuracin del archivo de
configuracin.
3. Se crea un objeto de tipo Connection al cual se le asigna la conexin Postgis
mediante el mtodo instanciado pg.getConexionPostGIS, mostrado en la lnea 11.
4. Se llevan a cabo las consultas.
Pgina 80
Captulo IV Implementacin
1 import java.io.InputStream;
2 import java.sql.Connection;
3
4 public class generarMapaCroquis {
5
6 public datosPuntoFinal buscandoDestinos()
7 {
8 //Se realiza la conexion a Postgis
9 Postgis pg = new Postgis();
10 pg.Inicializar();
11 Connection cn = pg.getConexionPostGIS();
12
13 //Se crea el objeto para realizar consultas a la base de datos
14 cbd = new consultaBaseDatos();
15 //Se crea el objeto que contendr los puntos destinos
16 dpf = new datosPuntoFinal();
17
18 //Se identifica la ciudad y el estado a ubicar el punto destino
19 if (cbd.buscarIdCiudad(cn, estado, municipio)){
20 dpf = cbd.buscarPuntoFinal(cn, dpf, dm);
21 }
22 return dpf;
23 }
24
25 }
Figura 4-5 Ejemplo de conexin a la base de datos
Pgina 81
Captulo IV Implementacin
17 AND m.id=pi.id +
18 AND j.id=pi.id +
19 AND m.receiver=t +
20 AND j.j2me_midp_2_0=t +
21 AND j.j2me_cldc_1_1=t;
22 strSQL = SELECT + + FROM + + WHERE;
23
24 ResultSet rs = s.executeQuery(strSQL);
25 rs.next();
26
27 dmd.setIdDevice(rs.getString(1));
28 dmd.setBrand(rs.getString(2));
29 dmd.setModel(rs.getString(3));
30 dmd.setWidth(rs.getInt(4));
31 dmd.setHeight(rs.getInt(5));
32 dmd.setHeightResolution(rs.getString(6));
33 dmd.setWidthResolution(rs.getString(7));
34 dmd.setWidthDisplay(rs.getString(8));
35 dmd.setHeightDisplay(rs.getString(9));
36 dmd.setTypeBrowser(rs.getString(10));
37 dmd.setVersionTypeBrowser(rs.getString(11));
38 dmd.setSystem(rs.getString(12));
39 dmd.setRelease(rs.getString(13));
40 dmd.setReceiveMMS(rs.getString(14));
41 dmd.setSendMMS(rs.getString(15));
42 dmd.setSizeMaxMMS(rs.getString(16));
43 dmd.setMIDP_2_0(rs.getString(17));
44 dmd.setCLDC_1_1(rs.getString(18));
45
46 if (dmd.getIdDevice().length()>0){
47 found=true;
48 }else
49 found = false;
50 }
51 catch (SQLException sqlexception){
52 found=false;
53 }
54 }
55 return found;
56 }
Figura 4-6 Obtencin del perfil del dispositivo mvil
Pgina 82
Captulo IV Implementacin
6 try{
7 SELECT = SELECT AsText(the_geom), X(the_geom), Y(the_geom), distance(s.the_geom,
GeometryFromText(POINT( + poi.LeeLongitudG() + + poi.LeeLatitudG() + ), -
1))*100000 as distancia, s.nomservicio, col.descripcion, s.calle, s.numero, col.cp;
8 FROM = FROM servicios As s, categoria As c, colonia As col;
9 WHERE = WHERE distance(s.the_geom, GeometryFromText(POINT( + poi.LeeLongitudG()
+ + poi.LeeLatitudG() + ), -1))*100000 <= + poi.LeeDistancia() + AND
s.idcategoria = c.idcategoria And col.idestado = + idEstado + AND col.idmunicipio
= + idMunicipio + AND col.idcolonia = s.colonia and s.idcategoria = ( +
AUXstrSQL +) + ORDER BY distancia;
10 strSQL = SELECT + + FROM + + WHERE;
11 ResultSet rs1 = s.executeQuery(strSQL);
12
13 for (int i=0; i<dpoi.getNumReg();i++){
14 rs1.next();
15
16 dpoi.setPoint(rs1.getString(1));
17 dpoi.setXPoint(rs1.getString(2));
18 dpoi.setYPoint(rs1.getString(3));
19 dpoi.setDistance(rs1.getString(4));
20 dpoi.setNameService(rs1.getString(5));
21 dpoi.setDescription(rs1.getString(6));
22 dpoi.setStreet(rs1.getString(7));
23 dpoi.setNumber(rs1.getString(8));
24 dpoi.setCode(rs1.getString(9));
25 }
26 dpoi.setEstado(state);
27 dpoi.setMunicipio(city);
28
29 }
30 }catch(SQLException sqlexception){}
31 }
32 }
Figura 4-7 Obtencin de los puntos de inters
Pgina 83
Captulo IV Implementacin
En la Figura 4-9 se muestra la clase Main, esta clase permite instanciar clases para
obtener los mtodos que realizan la funcionalidad de los puntos mencionados
anteriormente.
1 package mx.edu.cenidet.gateway.mmsserver;
2 public class Main {
3 public Main(){}
4
5 public void generateSketchMap(String trama){
6 message = new Mensaje();
7 try {
8 .
9 if(dpoi.getNumReg()>0){
10 // Generar el rea de bsqueda BBOX
11 .
12 dmi.setGeoPOI(poi.LeeDistancia());
13 dmi.printBBOX();
14
15 // 1. Obtener el mapa imagen svg
16 mi = new MapImage();
17 mi.generateMap(md.getDataMobileDevice(),dmi.getBBOX());
18 dwms = mi.getWMS();
19
20 // 2. Conversion de svg a svgt
21 svgt = convertSVGT(mi.getFileInputStreamMap());
22 for(int i=0; i< dpoi.getNumReg();i++){
23 // 3. Obtener ruta de los puntos de interes
24 mr = new MapRoute();
25 DataPointOfInterest DatoPOI = poiDAO.getDataPointOfInterest();
26
27 mr.createRouteLayer(poi,md.getDataMobileDevice(), DatoPOI.getXPoint(i),
28 DatoPOI.getYPoint(i), dmi.getBOX3D());
29
30 dmr = mr.getDataMapRoute();
31 route = mr.getRouteGeospatial();
32
33 // 4. Obtener Puntos de Referencia
34 mPOR = new MapPOR();
35 //Existen punntos de referenca?
36
37 if(mPOR.createPORLayer(mr.getDataMapRoute(),poi,poiDAO.getDataPointOfInterest())){
38 numLayer = numLayer+1;
39 POR = mPOR.getPOR();
40 dmr.setPORGeoespatial(POR);
41 dmr.PORGeoespatial(dmd, dmi.getBOX3D());
42
43 // 5. Convertir las coordenadas georefenciales a pixeles
44 dmr.setRouteGeoespatial(getRouteGeospatial());
45 String ruta = dmr.convertGeoRefToPixel(dmd, dmi.getBOX3D());
46
47 dmr.setPORGeoespatial(getPOR());
Pgina 85
Captulo IV Implementacin
El BBOX9 forma parte esencial en este proyecto, ya que es el rea de inters donde se
realiza todo el procesamiento para la obtencin del mapa. Esta rea delimita lo siguiente:
a. rea a mostrar de la ciudad, es decir el croquis sin informacin que se
obtiene del servidor de mapas.
b. Delimita la red de calles para obtener el grafo del cual se obtendr la ruta.
c. Los puntos obtenidos de la ruta sern esenciales para la obtencin de los
puntos de referencia en el rea descrito por el BBOX.
9
BBOX(Bounding Box): Es un rectngulo orientado por lneas x-y, contiene un conjunto de datos geogrficos
especificado por dos coordenadas: xmin, ymin and xmax, ymax.
Pgina 86
Captulo IV Implementacin
17 }
18
19 if(x.get(i) > x.get(i+1) && x.get(i)>xMax){
20 xMax = x.get(i);
21 }else if(x.get(i+1)>xMax){
22 xMax = x.get(i+1);
23 }
24
25 if(y.get(i) < y.get(i+1) && y.get(i)<yMin){
26 yMin = y.get(i);
27 }else if(y.get(i+1)<yMin){
28 yMin = y.get(i+1);
29 }
30
31 if(y.get(i) > y.get(i+1) && y.get(i)>yMax){
32 yMax = y.get(i);
33 }else if(y.get(i+1)>yMax){
34 yMax = y.get(i+1);
35 }
36 }
37
38 xMin=xMin 0.0010;
39 xMax=xMax + 0.0010;
40 yMin=yMin 0.0010;
41 yMax=yMax + 0.0010;
42 }
43 public String getBBOX(){
44 return xMin+,+yMin+,+xMax+,+yMax;
45 }
46 }
Figura 4-10 Generacin y obtencin del rea de inters (BBOX)
En la Figura 4-11 se muestra el mtodo que obtiene el mapa SVG del servidor de mapas
es necesario contar con una URL que realice la peticin mediante WMS. Por ello se crea
la URL con los parmetros mostrados en las lneas del 6 a la 17 (URL del servidor,
peticin getMap, formato del mapa, tamao del mapa, transparencia, SRS y el BBOX) que
requiere el servidor de mapa para dar una respuesta. Posteriormente en las lneas de la
17 a la 34 se muestra cmo se procesa el mapa que el servidor da como respuesta de la
peticin WMS realizada.
Pgina 87
Captulo IV Implementacin
JDOM se utiliza para la conversin del mapa SVG que se obtiene del servidor de mapas a
SVG-Tiny, para ello se crearon dos objetos uno para lectura y el otro para escritura. El
primero se encarga de leer las lneas de la imagen SVG y se aaden a un nuevo
elemento root. La caracterstica principal de los SVGTiny es que cuentan con dos
atributos: versin 1.1 y baseProfile tiny, dichos atributos son agregados a la etiqueta svg
del SVGTiny y se muestran en las lneas del 17 a la 19. En la lnea 49 se aaden al
elemento childLayerMap los hijos del elemento root contenidos en el SVG, que
posteriormente son ingresados al rootSVGT (lneas 57,58), finalmente en la lnea 61 se
aade al documento SVGTiny los elementos rootSVGT y su docType.
Pgina 88
Captulo IV Implementacin
Pgina 89
Captulo IV Implementacin
8
9 //Se obtienen los nodos
10 mrDAO.obtainDBNodes(poi, Longitud, Latitud, BOX3D);
11
12 //Detectando nodos finales y generando grafo
13 mrDAO.identifyingFinalNodes();
14 mrDAO.generatingGraph();
15
16 //Ejecutando algoritmo de ruta con el grafo generado
17 AlgoritmoRuta ar = new AlgoritmoRuta();
18 int n = mrDAO.getNumberNodes();
19 for(int i = 0; i <= n; i++)
20 {
21 ar.addNodo(new Nodo( + i));
22 }
23
24 double [][] grafo = mrDAO.getGrafo();
25 for(int i=0;i<=n;i++)
26 for(int j=0;j<=n;j++){
27 if(grafo[i][j]!=9999999){
28 ar.addArista(new Arista(ar.getNodo(i),ar.getNodo(j),grafo[i][j]));
29 }
30 }
31
32 ArrayList al=ar.obtenerRutaCorta(ar.getNodo(getPOrigen()),ar.getNodo(getPDestino()));
33
34 layerRuta=MULTILINESTRING((;
35 layerRuta=layerRuta+mrDAO.getPuntoI(0)+ +mrDAO.getPuntoI(1);
36
37 layerRuta=layerRuta+));
38 }
Figura 4-13 Obtencin de la ruta
Las coordenadas georeferenciales pueden ser positivas y negativas por lo que no pueden
ser representados en los dispositivos mviles, dichas coordenadas son convertidas a
pixeles mapeando el BBOX y la resolucin del dispositivo mvil, la clase que realiza la
conversin se muestra en la Figura 4-14, los mtodos getX y getY retornan las
coordenadas en pixeles.
Pgina 90
Captulo IV Implementacin
17 yMin = nuevaYMax;
18 yMax = nuevaYMin;
19 }else{
20 yMin = nuevaYMin;
21 yMax = nuevaYMax;
22 }
23 }
24
25 public void setMapa(int nuevoAncho, int nuevoAlto){
26 // Se rechazan valores de 0 o negativos
27 if (nuevoAncho < 1) return;
28 if (nuevoAlto < 1) return;
29
30 ancho = nuevoAncho;
31 alto = nuevoAlto;
32 }
33
34 public int getX (double x){
35 int xPixel;
36 xPixel = (int)((x - xMin)/(xMax - xMin)*ancho);
37 return xPixel;
38 }
39
40 public int getY (double y){
41 int yPixel;
42 yPixel = (int)(alto - (y - yMin)/(yMax - yMin)*alto);
43 return yPixel;
44 }
45 }
Figura 4-14 Conversin de coordenadas georeferenciales a pixeles
Cabe sealar que las coordenadas se analizan si son efectivamente los mnimos y
mximos, en su defecto se ordenan cambiando las posiciones de los valores. Lo siguiente
es ingresar los pixeles que soporta el dispositivo mvil, para ello se ingresan los
parmetros como se muestra en la siguiente sentencia:
setMapa(Ancho, Alto)
Los pixeles que soporta el dispositivo mvil se extraen de la clase DataMobileDevice que
contiene el perfil del dispositivo mvil. Una vez realizado lo anterior, se ingresan las
coordenadas que se desean convertir llamando al mtodo getX getY respectivamente.
Pgina 91
Captulo IV Implementacin
6 System.out.println(c.getX(-99.2237));
7 System.out.println(c.getY(18.90667));
8 }
Figura 4-15 Ejemplo para convertir coordenadas georeferenciales a pixeles
La clase ElementSVGT contiene mtodos que son utilizados para representar las rutas y
los puntos de inters y referencia. Tales elementos son:
Line. Representa las lneas de la ruta.
Circle. Representa la ubicacin de un punto de inters y un punto de referencia.
Text. Representa el nombre del punto de inters y un punto de referencia.
Estos elementos son consumidos por los mtodos que contiene la clase mostrada en la
Figura 4-16, las cuales son:
dibujarLinea. Se presenta en las lneas 3 a la 37, en donde se agregan al
documento SVGTiny mediante mtodos de la librera JDOM, se puede observar en
las lneas 19 a la 30 que se agrega la direccin de dicha lnea siempre y cuando
sea mayor a 10mts.
dibujarPunto. Se presenta en las lneas 39 a la 75, en donde son agregados el
punto y texto que representan ya sea un punto de inters o un punto de referencia.
Pgina 92
Captulo IV Implementacin
33 catch(Exception e){
34 e.printStackTrace();
35 System.out.println(Error en dibujarLinea(): + e.getMessage());
36 }
37 }
38 .
39 public void dibujarPunto(Document doc, Element element, float x, float y, String idPunto, String
etiqueta, String idTexto){
40 this.doc = doc;
41 Element elemento1 = null, elemento2 = null;
42 Document documento = doc.getDocument();
43 Element root = (Element) documento.getDocument().getRootElement();
44 String namespace = root.getNamespaceURI();
45
46 try {
47 elemento1 = new Element(circle, namespace);
48 if(etiqueta != null && !etiqueta.equals())
49 elemento2 = new Element(text,namespace);
50 }
51 catch(Exception e){
52 e.printStackTrace();
52 System.out.println(Error en dibujarPunto(): + e.getMessage());
54 }
55
56 elemento1.setAttribute(cx, x+);
57 elemento1.setAttribute(cy, y+);
58 elemento1.setAttribute(r, 2.0f+);
59 elemento1.setAttribute(fill-opacity, 0.5f+);
60 elemento1.setAttribute(stroke-width, 0.5f+);
61 elemento1.setAttribute(fill, red);
62 elemento1.setAttribute(stroke, black);
63 element.addContent(elemento1);
64
65 if(etiqueta != null && !etiqueta.equals()) {
66 elemento2.addContent(etiqueta);
67 elemento2.setAttribute(x, x+5+);
68 elemento2.setAttribute(y, (y-2)+);
69 elemento2.setAttribute(font-size, 5+);
70 elemento2.setAttribute(font-family, Verdana);
71 elemento2.setAttribute(fill,#0A2A0A);
72 elemento2.setAttribute(stroke-width,0.4);
73 element.addContent(elemento2);
74 }
75 }
76 ..
77 }
Figura 4-16 Mtodos de elementos que se agregan al mapa SVGTiny
A su vez que los mtodos dibujarPunto y dibujarLinea son llamados por el mtodo
AgregarCapa. Dichos mtodo se muestra en la Figura 4-17, en donde los elementos que
se agregan se localizan en las lneas 21 y 36.
1 public void agregarCapa(Document doc, String route, String pois, int numLayer, double distance){
2 this.doc = doc;
3 Document documento = doc.getDocument();
4 Element root = (Element) documento.getDocument().getRootElement();
5 String namespace = root.getNamespaceURI();
6 cont = cont + 1;
Pgina 93
Captulo IV Implementacin
7
8 Element element = new Element(g,namespace);
9 element.setAttribute(id, capa+numLayer);
10 .
11 puntosxy = obtenerPuntos(route);
12 .
13 try {
14 if(puntosxy.size()%2 == 0) {
15 for(i=0; i<points-1; i++) {
16
17 x1 = Float.parseFloat(strX1);
18 y1 = Float.parseFloat(strY1);
19 x2 = Float.parseFloat(strX2);
20 y2 = Float.parseFloat(strY2);
21 dibujarLinea(doc, element, x1, y1, x2, y2);
22 }
23 }
24
25 puntitos.removeAllElements();
26 interpretaTrama(pois);
27 int size = puntitos.size()/3;
28
29 String strEtiq, idPunto, idTexto;
30
31 indice1 = -1;
32 for(int j =0; j<size; j++) {
33
34 idPunto = Punto + contador;
35 idTexto = Texto + contador;
36 dibujarPunto(doc,element, x1, y1, idPunto, strEtiq, idTexto);
37 contador++;
38 }
39 root.addContent(element);
40 }
41 catch(Exception e){
42 System.out.println(Error en agregarCapa(): + e.getMessage());
43 }
44 }
Figura 4-17 Mtodos para agregar datos al mapa SVGT
1 try{
2 PrintWriter out;
3 Document doc = new Document();
4 XMLOutputter outXML=new XMLOutputter(Format.getPrettyFormat());
5 outXML.output(doc,out);
6 System.out.println(Enviado con xito!!!);
7 }catch(Exception e){
8 e.printStackTrace();
9 }
Figura 4-18 Enviar el mapa SVGT al dispositivo mvil
Pgina 94
CAPTULO V
PRUEBAS Y RESULTADOS
En este captulo se presentan los resultados de las pruebas realizadas al Generador de
mapas croquis en formato SVG-Tiny para dispositivos mviles.
Captulo V Pruebas y resultados
5. Pruebas y resultados
El documento de plan de pruebas se denomin SBLAGWMMS y se encuentra en el anexo
A. El plan de pruebas se organiz en orden secuencial segn las recomendaciones del
estndar IEEE 829-1998 [IEEE829, 2009].
El objetivo es desarrollar un generador de mapas tipo croquis en formato SVG-Tiny
identificando el perfil del dispositivo mvil, utilizando la pasarela Gateway SMS para
identificar el tipo de consulta que ser procesado para dar respuesta mediante una
imagen en formato SVG-Tiny.
La descripcin del identificador es:
SBL AGW MMS XX XX
Identificador de caso de prueba
Identificador del grupo de pruebas
Mensaje Multimedia
Gateway
Servicios basados en localizacin
Pgina 96
Captulo V Pruebas y resultados
Pgina 97
Captulo V Pruebas y resultados
Pgina 98
Captulo V Pruebas y resultados
Pgina 99
Captulo V Pruebas y resultados
Pgina 100
Captulo V Pruebas y resultados
a b c
d e f
Observaciones: El archivo SVGTiny es creado mediante los datos obtenidos (el mapa,
Pgina 101
Captulo V Pruebas y resultados
Pgina 102
CAPTULO VI
CONCLUSIONES
En este captulo se exponen las conclusiones a las que se llegaron al desarrollar el
presente proyecto de tesis. Se mencionan tambin las aportaciones y trabajos futuros.
Captulo VI Conclusiones
6.1 Conclusiones
Las tecnologas de sistemas de informacin geogrfica almacenan y despliegan
informacin que puede ser relacionada con lugares, es decir, informacin que tiene una
ubicacin geogrfica en conjunto con el GPS y Servicios Web son utilizados para la
localizacin de puntos de inters del usuario y los puntos de referencia que sirven de
gua para llegar al destino desde un origen especfico, en este caso de las coordenadas
del dispositivo mvil.
Las bases de datos, los servidores de aplicacin y los servidores de mapas son
esenciales en los sistemas de informacin geogrfica. Los GIS en los dispositivos mviles
tienen restricciones, dichas restricciones limitan el tamao de la pantalla que muestra el
contenido de mapas descritos por un conjunto de datos, el ancho de banda bajo para la
transmisin de datos que son utilizados para renderizar los mapas y el pobre poder
computacional para procesar los datos.
Es por ello que se considera una base de datos relacional que contiene las caractersticas
de la mayora de los dispositivos mviles, teniendo mayor posibilidad para realizar
software ad-hoc al dispositivo mvil de acuerdo a su perfil.
El formato SVG-Tiny para la representacin de imgenes en los dispositivos mviles ha
tomado un gran auge, por tal motivo es considerado en este proyecto, sin duda est
desplazando los formatos JPG, GIF y PNG entre los ms utilizados. La utilizacin del
SVG-Tiny en los dispositivos mviles se lleva a cabo por la versatilidad de adaptarse a
diferentes tipos de representaciones visuales y el peso del archivo es mnimo, adems de
ser capaz de soportar animaciones grficas y de texto. Los servidores de mapas generan
archivos SVG en versiones 1.0, siendo una limitante la incompatibilidad de algunas
propiedades al ser manipuladas por el dispositivo mvil, por ello se realiza la conversin
desde la aplicacin servidor, de igual forma las rutas se aaden al archivo mediante
capas, siendo la habilitacin de las capas el nico proceso que se realiza en el dispositivo
mvil con el archivo SVG-Tiny.
Los Sistemas Basados en Localizacin pueden ser representados en pantallas pequeas
de los dispositivos mviles que soporten la configuracin de Java CLDC 1.1 y el perfil
MIDP 2.0 mediante imgenes en formato SVG-Tiny por su versatilidad de uso,
compatibilidad con gran nmero de dispositivos mviles y la independencia de la
resolucin con respecto a los grficos sin degradarse al aumentar o disminuir el tamao
de la imagen.
Los algoritmos de generacin de ruta corta, ptima y con flujos bidireccionales son muy
utilizados por sistemas LBS, en esta tesis se consider en esencia el algoritmo de Dijkstra
para obtener la ruta mnima que est en funcin del nmero total de nodos y el nmero de
respuestas requeridas, de igual forma los puntos de referencia son obtenidos en un radio
no mayor de 10 metros.
Por ltimo, se pudo constatar que se pueden representar mapas con contenidos
geoespaciales para dispositivos mviles, gracias a las especificaciones de la OGC y W3C
Pgina 104
Captulo VI Conclusiones
6.2 Aportaciones
Se cre la aplicacin web SketchMapServer que permite:
o Generar una ruta de un punto origen a un destino.
o Obtener los puntos de referencia localizados en la ruta generada.
o Convertir una imagen SVG-Basic(versin 1.0) recibido mediante WMS del
servidor de mapas a una imagen SVG-Tiny (versin 1.1)
o Aadir capas al mapa SVG-Tiny, las capas constan de la ruta y los puntos
de referencia. Para representar la ruta se aaden elementos de tipo lnea y
los puntos de referencia se representan con elementos de tipo crculo y
texto.
Se desarroll la aplicacin SketchMapv4 para el dispositivo mvil con el perfil
MIDP 2.0 y configuracin CLDC 1.1. Dicha aplicacin realiza peticiones HTTP a la
aplicacin web SketchMapServer para obtener un mapa de tipo croquis en formato
SVG-Tiny.
Esta aplicacin fue probada en el dispositivo Nokia N97 y en el emulador default
Java Micro Edition SDK 3.0 de Netbeans 6.8.
Pgina 105
Captulo VI Conclusiones
Otro de los problemas encontrados fue el no tener la red de calles de las ciudades
de Mxico, ya que en un inicio no se podan realizar pruebas del algoritmo de ruta,
para solventar este problema se crearon manualmente dos archivos Shapefile
llamados street.shp y nodos.shp con la herramienta GIS TatukGIS. Una vez
teniendo la red de calles se realizaron pruebas de ruta, se obtuvieron diversos
grafos incompletos puesto que slo se tenan los nodos de las intersecciones del
rea de bsqueda, aunado a ello se obtuvieron resultados errneos al no tener los
nodos finales de todas las calles, se resolvi infiriendo dichos nodos mediante un
proceso de anlisis automtico de las geometras del rea de bsqueda.
Con respecto a la compatibilidad del formato SVG que se obtiene del servidor de
mapas el cual es SVG-Basic se llev a cabo una conversin de dicho formato al
SVG-Tiny, ya que existen algunas propiedades que no soporta el SVG-Tiny.
En un principio el proceso para enviar el resultado al dispositivo mvil va HTTP
era muy tardado, se realizaron los siguientes procesos:
o Los datos se enviaban por bloques, es decir, se enviaba el mapa SVG-
Tiny, el punto de inters y los puntos de referencia por separado, teniendo
el dispositivo mvil un alto costo de procesamiento al momento de aadir
los datos recibidos a la imagen.
o La informacin de las rutas (puntos de inters, ruta y los puntos de
referencia) se aade en un archivo XML, primero se enva el mapa SVG,
despus el archivo XML y al final se aaden las rutas a la imagen SVG en
el dispositivo mvil, teniendo un retraso al momento de presentar en
pantalla las localizaciones encontradas.
o Finalmente se realiza todo el procesamiento en el servidor de aplicaciones,
es decir, las rutas (lneas de calles y puntos de referencia) encontradas por
el algoritmo se agregan al mapa SVG-Tiny mediante capas, por lo que el
procesamiento de la informacin en el dispositivo mvil disminuye
considerablemente.
Pgina 106
Captulo VI Conclusiones
10
Un mapa axial es aquel que contiene un conjunto de lneas que pasan cada espacio convexo para hacer los
enlaces lineales. El termino de lnea axial es definido como la lnea ms larga que puede ser dibujado en un
punto arbitrario en el espacio, [Turner, 2003].
Pgina 107
Captulo VI Conclusiones
6.5 Publicaciones
Se logr la publicacin de un artculo en el VII Congreso Internacional sobre Innovacin y
Desarrollo Tecnolgico, celebrado en Cuernavaca, Morelos del 7 al 9 de octubre del 2009.
El artculo se denomina:
Metodologa para la obtencin de Mapas tipo Croquis en formato SVG-Tiny identificando
perfiles de celulares.
Pgina 108
ANEXOS
ANEXO A
Anlisis para representar puntos
de inters
Se presenta un anlisis de las posibles combinaciones que se puedan realizar para
representar puntos de inters, dependiendo del dispositivo mvil y lo que desea el
usuario.
Anexo A. Anlisis para representar puntos de inters
Smbolos
Esta representacin es una de las ms utilizadas en los mapas de navegacin por la
interoperabilidad con el usuario, puesto que es ms fcil la ubicacin de puntos de inters
mediante simbologa asimilada a la vida cotidiana como son: la representacin de
restaurantes mediantes tenedores, cruz roja por una cruz, etc., haciendo de este tipo uno
de los ms representativos y por mucho en gusto por los usuarios en comparacin con la
representacin en texto. Se puede apreciar en la siguiente figura su respectivo ejemplo.
Pgina 111
Anexo A. Anlisis para representar puntos de inters
Imagen
Las representaciones de los puntos de inters hoy en da han dado un gran avance, al
encontrarse con las imgenes de los puntos de inters, eliminando la ambigedad de la
ubicacin de los mismos, haciendo de ello una opcin demasiado til facilitando la visin
del usuario.
Representaciones de ruta
La esencia de los puntos de inters no son de gran relevancia si no se cuenta con algn
elemento que complemente su conceptualizacin, es por ello que se presentan las rutas
como parte fundamental de los croquis, haciendo de ello un anlisis de las
representaciones que se pueden tener como herramienta de ayuda al usuario en su
bsqueda del sitio de inters, entre ellos se encuentran los siguientes: texto, lneas,
flechas unidireccionales, rbol, audio y video.
Texto
Esta representacin describe mediante un listado la ruta a seguir consecuentemente,
haciendo referencia de forma explcita la ubicacin origen, los caminos a seguir asimismo
el destino como fin de la ruta.
Pgina 112
Anexo A. Anlisis para representar puntos de inters
Lneas
Una de las representaciones que contiene ambigedad en el trazo de la ruta es
justamente el de lneas, ya que no presenta sentido de direccin del camino a seguir,
teniendo como apoyo los puntos de inters que se presentan en cualquiera de sus tipos.
Es una manera de representar la ruta, pero es sin duda un mtodo que ha sido
reemplazado por las flechas unidireccionales.
Flechas unidireccionales
Las flechas unidireccionales es la evolucin de las lneas sin direccin, hoy en da es sin
duda una de las representaciones ms utilizadas de una ruta, es mediante lneas de
direccin (flechas indicadoras), el cual sigue el mismo tpico que las lneas de partir
desde el punto origen hacia el destino.
Pgina 113
Anexo A. Anlisis para representar puntos de inters
rbol
Esta representacin suele ser un poco ms compleja, para utilizarla es necesario
aprender cierta simbologa para poder determinar la ruta a seguir, es posible decir que es
la versin aumentada de la representacin de la ruta mediante texto, teniendo como
aadidura las simbologas.
A continuacin se presentan los caracteres que son antepuestos a la descripcin del
proceso de la ruta a seguir:
CARCTER DE DESCRIPCIN
DESCRIPCIN
C Comienzo de la ruta
I Doblar a la izquierda
D Doblar a la derecha
T Trmino de la ruta
Tabla A.1 Descripcin de los caracteres utilizados en el rbol
Tambin se describen los smbolos que se utilizan para representar las direcciones de las
calles a seguir, as como la representacin de los puntos de inters, vase
SMBOLO DESCRIPCIN
Ruta recta
| Tramo de ruta
Ruta a la izquierda
Ruta a la derecha
Punto de inters
Tabla A.2 Descripcin de los smbolos utilizados en el rbol
Hay dos variantes en la representacin de rutas: audio y video, los cuales estn
revolucionando hoy en da la navegacin de mapas en diferentes enfoques, entre los que
se pueden notar, guas tursticas, GPS para automviles, entre otros.
Pgina 114
Anexo A. Anlisis para representar puntos de inters
Audio
El audio es uno de los servicios ms comunes hoy en da, se presenta como una
alternativa para dar a conocer la ruta que se desea, es ms funcional para los
conductores sin dejar de lado a los peatones. Es uno de los medios de comunicacin ms
efectivos que existe entre un dispositivo y el usuario, ya que mientras se est realizando
alguna actividad con la vista, queda el sentido auditivo para saber la ubicacin deseada.
Video
El sentido de la vista es indispensable para saber en dnde nos encontramos, es por ello
que el video toma parte importante en este trabajo, el video es un la herramienta ms
eficaz y preciso que existe hoy en da, en la revelacin del camino que se desea llegar,
mediante rutas representadas con algunos tipos descritos con anterioridad, y la
conjuncin con el audio hacen de ello la herramienta perfecta para la ubicacin de lugares
de inters del usuario.
Representaciones de entorno
La representacin del entorno debe ser clara, precisa y concisa puesto que es el elemento
primordial en la representacin de los mapas. Imagnese mostrar las caractersticas de la
zona de alguna provincia, el suelo, vegetacin, fauna, urbano, entre otros.
En este proyecto se busca la localizacin de puntos de inters de un usuario, el cual debe
de representarse en mapas tipo croquis con la ubicacin deseada.
Mapas
Los mapas en su esencia son de diferentes tamaos y diversificados en sus diferentes
clasificaciones, esto dependiendo de la utilizacin del mismo. Los mapas que se utilizarn
son de tipo urbano, el cual debe contener: nombre de la calle, sentido de las calles como
caractersticas principales, para que sea manipulada esta informacin en el traslape con
otras capas que servirn para mostrar informacin pertinente en la ubicacin de la ruta a
seguir as como los puntos de inters que se encuentren en el camino a seguir.
Pgina 115
Anexo A. Anlisis para representar puntos de inters
Mapas 3D
Este tipo de entornos est empezando a emerger, ya que no se puede implementar en
cualquier pas puesto que todava no existen, sin embargo se analiza teniendo
implementado como una opcin ms en la representacin del entorno necesario para la
localizacin de sitios de inters.
Y sus respectivas formas de representacin, en la tabla A.3 se muestran cada uno de los
tipos de representacin, en las primeras tres columnas se tienen las representaciones de
los puntos de inters, las dos ltimas columnas la representacin del entorno, asumiendo
que las filas son las representaciones de las rutas.
Pgina 116
Anexo A. Anlisis para representar puntos de inters
Pgina 117
Anexo A. Anlisis para representar puntos de inters
Resultados extraordinarios
Los resultados extraordinarios se presentan cuando el usuario desea saber los puntos de
inters de alguna forma ms precisa, para ello los puntos de inters se traslapan,
obteniendo el resultado ptimo en la localizacin del sitio de inters del usuario.
Nota: Se describen slo los resultados ptimos, puesto que se puede tener solamente la
unin de algn tipo de representacin de rutas, con dos representaciones de puntos
inters cualesquiera que stos sean y alguna representacin de entorno, ya sea un mapa
plano o bien un mapa en 3D.
Pgina 118
ANEXO B
Estudio de plataformas mviles
Se presenta un estudio de las diversas plataformas que interactan con los dispositivos
mviles, mostrndose los sistemas operativos y las tecnologas de desarrollo.
Anexo B. Estudio de plataformas mviles
Pgina 120
Anexo B. Estudio de plataformas mviles
Kernel. Es el ncleo que proporciona el soporte necesario para acceder a los diversos
elementos del hardware. Los principales servicios ofrecidos por el kernel a las capas
superiores de la pila de software son los siguientes:
Drivers para el hardware.
Acceso y administracin de la memoria.
Sistema de archives.
Administracin de procesos.
Descrito lo anterior es necesario tomar en cuenta la base sobre la que se instalarn las
aplicaciones, a continuacin se presentan los sistemas operativos ms utilizados en la
actualidad como son: Symbian, Windows Mobile, Linux.
1.1 Symbian
Es un sistema operativo diseado especficamente para dispositivos mviles que
funcionan en un espacio pequeo con escasos recursos de memoria y administra de
manera eficiente la energa.
En la siguiente figura se muestran las empresas que hicieron posible el surgimiento de
Symbian para sus dispositivos mviles con capacidad de procesamiento de datos.
Pgina 121
Anexo B. Estudio de plataformas mviles
Pgina 122
Anexo B. Estudio de plataformas mviles
XMLDOM, Generic Access Network (UMA) para algunos pases, .Net Framework v2, SQL
Server Compact Edition, formatos Office 2007.
Mantiene mejoras en funcin de seguridad, en la cual existe una funcin de borrado
remoto por robo o prdida del equipo, incluyendo encriptacin en los datos y en las
tarjetas de memoria, [MWM, 2008].
En el desarrollo de las aplicaciones se realiza mediante los lenguajes de programacin
visuales C++, C# y Basic .Net respectivamente. Se pueden tomar y manipular las
variables de las caractersticas de los dispositivos mviles, tales como los grficos, GPS,
contactos, mensajes, audio, seguridad, entre otras. Tambin se pueden establecer
conexiones de red mediante ncleo (TCP/IP, Socket, IPV6, etc.), remoto (RAPI, VoIP) o
wireless (Bluetooth, Infrared, WiFi). Se cuenta con emuladores de dispositivos, diferentes
aplicaciones, depuracin entre otras caractersticas no menos importantes.
Se espera la llegado del Windows Mobile 7 en el 2009, la nueva versin del sistema
operativo para mviles incluir soporte para pantallas multitctiles, una tienda de
aplicaciones centralizada e interfaces grficos ms cuidados e intuitivos. Al igual que
Google, Microsoft licenciar el sistema operativo para todo tipo de telfonos y en todo tipo
de formatos. Los habr con pantalla grande y panormica, con teclado Qwerty, en formato
barra y concha, [Mundo, 2009].
1.3 Mobile Linux
La estrategia est basada en software abierto, haciendo que el usuario tenga una gran
experiencia en este tipo de plataformas. Por lo que se busca explorar al mximo los
dispositivos mviles y los servicios que aceleran el uso de los dispositivos mviles para
el uso de llamadas o envos de mensajes, sistemas basados en localizacin, utilizacin
de internet, entre otras caractersticas. Entre los ms representativos se presentan
algunos sistemas operativos lanzados al mercado de los dispositivos mviles.
1.4 MOTOMAGX
Es un sistema operativo desarrollado por Motorola, incorporando tecnologas abiertas
para encontrar nuevos niveles de flexibilidad y soporte de las aplicaciones que se
encuentren sobre dispositivos mviles de Motorola. Soporta aplicaciones desarrolladas
en J2ME, con planes para introducir ambientes de desarrollo en aplicaciones de WebUI
y Linux.
Contiene ms de 200 caractersticas con una arquitectura basada en una plataforma
abierta y modular, apoya a las aplicaciones propias y de terceros. Contiene una
innovadora interfaz de usuario con tecnologa que permite utilizar un lpiz o dedos para
realizar la navegabilidad sobre el entorno.
1.5 MAEMO
Es un sistema operativo para dispositivos Tablet Internet Nokia, originalmente se llam
Internet tablet OS. Es similar a los sistemas operativos de la competencia, puesto que
tiene en pantalla el inicio como punto central que a partir del cual se pueden acceder a
todas las aplicaciones y configuraciones.
Pgina 123
Anexo B. Estudio de plataformas mviles
2 Tecnologas mviles
2.1 J2ME
Plataforma Java, Micro Edition (Java ME) es una coleccin de tecnologas y
especificaciones para crear una plataforma que se ajuste a los requisitos para
dispositivos mviles, tales como productos de consumo, dispositivos embebidos, y los
dispositivos mviles avanzados. Es una coleccin de tecnologas y especificaciones
que pueden ser combinados para crear un completo entorno de ejecucin de Java
especficamente para adaptarse a las necesidades de un dispositivo o de mercado.
Entre los componentes principales del J2ME se encuentran los siguientes:
Connected Device Configurations
Connected Limited Device Configurations
Mobile Information Device Profiles
Pgina 125
Anexo B. Estudio de plataformas mviles
Con la configuracin y los perfiles de la aplicacin difiere del API disponible en el perfil. El
entorno de CLDC y MIDP suele ser lo que la mayora de los dispositivos mviles de hoy
se llevan a cabo mediante un MIDlet.
Perfiles
Un perfil complementa una configuracin agregando clases adicionales que proporcionan
caractersticas apropiadas para un tipo particular de dispositivo o para un segmento del
mercado especfico. Las configuraciones J2ME tienen asociados uno o ms perfiles.
Mobile Information Device Profile (MIDP). Este perfil agrega conexin a redes,
componentes de interfaz de usuario y almacenamiento local en CLDC. Se dirige
Pgina 126
Anexo B. Estudio de plataformas mviles
La figura B.6 muestra una visin general de los componentes de la tecnologa Java ME y
cmo se relacionan con las otras tecnologas Java.
2.2 ANDROID
Android es una plataforma de programacin de software para dispositivos mviles que
incluye un sistema operativo, middleware y aplicaciones clave. Google tiene el SDK de
Pgina 127
Anexo B. Estudio de plataformas mviles
Android contiene un ncleo Linux que incluye muchos de los drivers para telfonos
mviles, no diferencia entre las aplicaciones desarrolladas y las bsicas del telfono,
permite acceder a las funciones principales de los dispositivos mviles mediante
llamadas a API estndar, asimismo combina la informacin de internet con datos del
telfono, como contactos o ubicaciones geogrficas, tambin su SDK ejecuta
aplicaciones Android como un emulador de dispositivos y herramientas avanzadas de
depuracin. Esta plataforma provee de varios frameworks y en la actualidad est muy
enfocada a trabajar con servicios web.
Caractersticas
Las caractersticas con las que cuanta el SDK android son las siguientes:
Framework de aplicaciones que permite el rehso y reemplazo de componentes.
Mquina virtual Dalvik optimizada para dispositivos mviles para requerir poca
memoria y est diseada para permitir ejecutar varias instancias de la mquina
virtual simultneamente.
Navegador integrado basado en el motor open source Web Kit, el cual es un
framework para aplicaciones que funciona como base para el navegador web
Safari y Google Chrome, que facilita la inclusin de gran parte de las
funcionalidades de Safari en las aplicaciones.
Grficos optimizados, con una librera de grficos 2D; grficos 3D basado en la
especificacin OpenGL ES 1.0 (aceleracin de hardware).
SQLite para almacenamiento de datos estructurados.
Soporte para medios con formatos comunes de audio, video e imgenes planas
(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
Telefona GSM (dependiente del hardware)
Bluetooth, EDGE, 3G, y WiFi (dependiente del hardware)
Cmara, GPS, brjula, y acelermetro (dependiente del hardware)
Ambiente rico de desarrollo incluyendo un emulador de dispositivo, herramientas
para depurar, perfiles de memoria y rendimiento, y un plugin para el IDE Eclipse.
Touch screen
Cualquier aplicacin sobre el dispositivo mvil puede ser reemplazado o
extendido.
Las aplicaciones pueden aadirse a la web fcilmente mediante HTML, Javascript
y hojas de estilo.
Pueden tenerse aplicaciones corriendo en paralelo, mientras corren detrs, otra
aplicacin puede notificar producir notificaciones.
Pgina 128
Anexo B. Estudio de plataformas mviles
Arquitectura de Android
Pgina 129
Anexo B. Estudio de plataformas mviles
Runtime de Android
Android incluye un ser de libreras base que proveen la mayor parte de las
funcionalidades disponibles en las libreras base del lenguaje de programacin
Java. Cada aplicacin Android corre su propio proceso, con su propia instancia de
la mquina virtual Dalvik. Dalkiv ha sido escrito de forma que un dispositivo puede
correr mltiples mquinas virtuales de forma eficiente. Dalkiv ejecuta archivos en
el formato Dalvik Executable (.dex), el cual est optimizado para memoria
mnima. La Mquina Virtual est basada en registros, y corre clases compiladas
por el compilador de Java que han sido transformadas al formato .dex por la
herramienta incluida dx.
Kernel Linux
Android depende de un Linux versin 2.6 para los servicios base del sistema como
seguridad, gestin de memoria, gestin de procesos, stack de red, y modelo de
drivers. El kernel tambin acta como una capa de abstraccin entre el hardware y
el resto del stack de software.
Windows CE est ligado fuertemente a Windows Vista, Windows Live, Microsoft Orrice y
Exchange 2007. Las especificaciones que soporta entre otras son las siguientes:
Pgina 130
ANEXO C
Plan de pruebas
Plan de pruebas de la aplicacin SBLAGWMMS
Anexo C. Plan de pruebas
1.1 Introduccin
Este documento define el plan de pruebas que permite la verificacin del sistema
SBLAGWMMS (Servicios Basados en Localizacin a Gateway MMS).
El software desarrollado consta de la integracin de diversas tecnologas tales como:
transferencia de informacin va HTTP, tecnologa de posicionamiento a travs de GPS
(Global Positioning System, Sistema de Posicionamiento Global) [Gps, 2009],
peticiones a servidor de mapas Geoserver y el uso de base de datos espaciales.
El documento se encuentra organizado en orden secuencial segn las
recomendaciones del estndar IEEE 829-1998 [IEEE829, 2009] y se definen los
apartados de la siguiente manera:
1.3 Descripcin del plan de pruebas: en este apartado se indica lo que se va a
probar, los elementos necesarios para las pruebas as como la planificacin y
resolucin de posibles incidencias.
1.4 Casos de pruebas: en este apartado se muestran los distintos grupos de pruebas
que se van a realizar.
1.5 Procedimiento de pruebas: se describe cada uno de los grupos de prueba y
casos de prueba que se han establecido.
1.6 Informe de pruebas: en este punto se recogen los resultados de las pruebas
realizadas, observaciones y comentarios que surjan en el desarrollo de la prueba.
1.2 Objetivo
Desarrollar un generador de mapas tipo croquis en formato SVG-Tiny identificando el
perfil del dispositivo mvil, utilizando la pasarela Gateway SMS para identificar el tipo
de consulta que ser procesado mediante un mensaje SMS.
Pgina 132
Anexo C. Plan de pruebas
1.3.3 Enfoque
El tipo de pruebas y mediciones que se realizan al software SBLAGWMMS son
principalmente factibilidad y funcionabilidad. Las peticiones y respuestas que se
procesan son enfocadas a la tecnologa de servicios basados en localizacin sobre
mensajera SMS y MMS.
Las peticiones provienen de un dispositivo mvil, interactuando con la aplicacin
cliente del proyecto que utiliza la API SMS/MMS para el desarrollo de la aplicacin
SBL, como envo un mensaje corto y en respuesta un archivo multimedia.
Pgina 134
Anexo C. Plan de pruebas
Software Descripcin
J2SE versin 1.5 posterior Lenguaje de programacin
IDE Netbeans 6.5.x posterior Entorno de desarrollo de la aplicacin
API Java Comunicaciones API para la comunicacin serial a travs de Java.
API SMS/MMS API para el desarrollo de aplicaciones LBS
DBMS PostgreSQL 8.3.x Sistema manejador de base de datos
posterior
PostGIS 1.3.x posterior Extensin espacial para el manejador de base de
datos PostgreSQL
Conector JDBC Postgres API para la conexin a la base de datos a travs de
Java
Apache Tomcat Servidor de aplicaciones
Geoserver Servidor de mapas
Geotools Libreras para acceder al servidor de mapas por
medio de los estndares WMS, WFS.
1.3.9 Responsabilidades
Toda la responsabilidad de las pruebas recae totalmente en el autor de la tesis.
Caracterstica Descripcin
Configuraciones y conexiones Define los casos de prueba para verificar la correcta
configuracin de los parmetros a utilizar por para
la conexin a la base de datos y el servidor de
mapas.
Recepcin e interpretacin de la Define la informacin recibida para la interpretacin
informacin de la informacin proveniente del dispositivo mvil..
Generacin del mapa Define los casos de prueba para la obtencin del
mapa.
Pgina 135
Anexo C. Plan de pruebas
Configuraciones y conexiones
PRUEBA DESCRIPCIN
SBLAGWMMS-01-01 Configuracin y conexin con la base de datos relacional
SBLAGWMMS-01-02 Configuracin y conexin con la base de datos espacial
Pruebas SBLAGWMMS-02
Recepcin e interpretacin de la informacin
PRUEBA DESCRIPCIN
SBLAGWMMS-02-01 Recepcin e interpretacin de mensajes
Pruebas SBLAGWMMS-03
Generacin del mapa
PRUEBA DESCRIPCIN
SBLAGWMMS-03-01 Obtencin del perfil del dispositivo
SBLAGWMMS-03-02 Obtencin del mapa imagen
SBLAGWMMS-03-03 Generacin y obtencin de la ruta destino
SBLAGWMMS-03-04 Obtencin de los POR (Point of Reference)
Pruebas SBLAGWMMS-04
Envo de la informacin
PRUEBA DESCRIPCIN
SBLAGWMMS-04-01 Enviar el archivo SVG-Tiny que contiene el mapa croquis
mediante HTTP
Para los casos de prueba contenidos en este grupo se utilizan los siguientes
elementos:
IDE Netbeans 6.8,
Java 2 Enterprise Edition versin 1.5,
manejador de base de datos PostgreSQL 8.3,
extensin PostGIS para PostgreSQL versin 1.3 y
sistema operativo Windows Vista Home Edition
1.5.1.4.3 Proceso
1. Establecer los parmetros de conexin a la base de datos en el archivo
de propiedades confPostgres y las libreras que permitirn procesar
datos geomtricos.
2. Ejecutar la aplicacin
3. Observar los resultados
1.5.1.4.4 Resultado esperado
Observar y mantener la conexin a la base de datos y verificar que se cuenta
con el acceso a ella en la aplicacin.
1.5.2 SBLAGWMMS-02 Recepcin e interpretacin de la informacin
1.5.2.1Propsito
Verificar que la recepcin de la informacin se realice de manera correcta de
acuerdo a los criterios de bsqueda que se reciban de la peticin del cliente mvil,
as como la correcta interpretacin de la informacin que proviene del dispositivo.
1.5.2.2 Entorno de prueba
Para la ejecucin de este grupo de pruebas son necesarias las interacciones de
un dispositivo mvil que realiza la peticin, el mdem GSM que recibir la
peticin y el software SBLAGWMMS.
1.5.2.3 SBLAGWMMS-02-01 Recepcin e interpretacin de mensajes
1.5.2.3.1 Propsito
Obtener e interpretar la informacin de los mensajes de texto que son
enviados al servidor mediante el dispositivo mvil para su procesamiento.
1.5.2.3.2 Entorno de prueba
Se realizan en la computadora que contiene el servidor de base de datos,
mdem GSM y el software SBLAGWMMS.
1.5.2.3.3 Proceso
1. Verificar que el software SBLAGWMMS se est ejecutando, en caso
contrario iniciar su ejecucin.
2. Enviar la peticin desde el dispositivo mvil hacia el servidor.
3. Se lee el mensaje que se ha recibido y se extraen los datos de la
informacin recibida.
4. Esperar la llegada de la peticin y leer la informacin recibida.
Pgina 138
Anexo C. Plan de pruebas
Pgina 139
Anexo C. Plan de pruebas
Pgina 140
Anexo C. Plan de pruebas
Pgina 141
Anexo C. Plan de pruebas
CATEGORA: PASTELERA
Resultado: OK
Pgina 142
Anexo C. Plan de pruebas
Pgina 143
Anexo C. Plan de pruebas
CATEGORA: GYM
Resultado: OK
CATEGORA: ESCUELAS
Resultado: OK
Pgina 144
Anexo C. Plan de pruebas
CATEGORA: FARMACIAS
Resultado: OK
Pgina 145
Anexo C. Plan de pruebas
CATEGORA: HOTELES
Resultado: OK
CATEGORA: BANCOS
Resultado: OK
Pgina 146
Anexo C. Plan de pruebas
CATEGORA: AUTOBUSES
Resultado: OK
Pgina 147
Anexo C. Plan de pruebas
CATEGORA: CINE
Resultado: OK
Pgina 148
Anexo C. Plan de pruebas
CATEGORA: HOSPITAL
Resultado: OK
Pgina 149
Anexo C. Plan de pruebas
CATEGORA: RESTAURANTES
Resultado: OK
Pgina 150
Anexo C. Plan de pruebas
CATEGORA: SUPERMERCADOS
Resultado: OK
Pgina 151
ANEXO D
Scalable Vector Graphics (SVG)
Describe ejemplos para aadir puntos de inters y puntos de referencia a una imagen
SVG Tiny versin 1.1.
Anexo D. Scalable Vector Graphics (SVG)
SVG significa, Scalable Vector Graphics, una gramtica XML para el desarrollo de
grficos vectoriales, en un espacio de nombre XML. Scalable significa que incrementa o
disminuye uniformemente. Los grficos SVG pueden ser desplegados en forma
independiente de la resolucin de pantalla, tambin pueden ser magnificados para la
observacin de detalles.
Los vectores grficos contienen objetos geomtricos, tales como, lneas y curvas, estos
dan gran flexibilidad, comparados con formatos como PNG o JPG, donde la informacin
esta almacenada para cada pixel del grfico.
SVG se escribe en texto plano, lo que abre posibilidades de generar grficas en tiempo
real para distintos terminales, incluida, la telefona celular y una multitud de aplicaciones
que manejan mapas, como las medio ambientales.
Pgina 153
Anexo D. Scalable Vector Graphics (SVG)
Los perfiles del SVG especifican la definicin de tipo de documento XML SVG del archivo.
En la siguiente tabla se describen los diferentes tipos y versiones de SVG que pueden ser
manipulados por un dispositivo mvil.
Versin Descripcin
SVG 1.0 Adecuados para archivos SVG que se van a ver en un ordenador de
SVG 1.1 sobremesa. SVG 1.1 es la versin completa de la especificacin SVG, de
la que SVG Tiny 1.1, SVG Tiny 1.1 Plus, SVG Tiny 1.2, y SVG Basic 1.1
son subconjuntos.
SVG Basic 1.1 Adecuado para archivos SVG que se van a ver en dispositivos con
necesidades medias de alimentacin, como los dispositivos porttiles.
Tenga en cuenta que no todos los dispositivos porttiles admiten el perfil
SVG Basic. Por lo tanto, seleccionar esta opcin no garantiza que el
archivo SVG se podr ver en todos los dispositivos porttiles. SVG Basic
no admite recorte no rectangular ni determinados efectos de filtro SVG.
SVG Tiny 1.1 Adecuados para archivos SVG que se van a ver en dispositivos pequeos
SVG Tiny 1.1+ como telfonos mviles. Tenga en cuenta que no todos los telfonos
Pgina 154
Anexo D. Scalable Vector Graphics (SVG)
mviles admiten los perfiles SVG Tiny y SVG Tiny Plus. Por lo tanto,
seleccionar alguna de estas opciones no garantiza que el archivo SVG se
podr ver en todos los dispositivos pequeos.
SVG Tiny 1.2 Adecuado para archivos SVG que se van a ver en varios dispositivos,
desde PDA y mviles, hasta equipos porttiles y de escritorio.
La extensin de una imagen SVG, independientemente del perfil del que se trate es svg.
El tipo de MIME de estos grficos es image/svg+xml.
Para hacer frente a esta gama de familias de dispositivos se definen dos perfiles. El
primero SVG Tiny (SVGT) es adecuado para los dispositivos mviles muy restringidos,
mientras que el segundo perfil SVG Basic (SVGB) est dirigido a dispositivos mviles de
nivel superior.
Para garantizar la interoperabilidad entre contenido compatible con los distintos perfiles se
especifica un subconjunto de propiedades de SVGB los tenga tambin SVGT. En la figura
D.2 se muestran los perfiles SVG.
Pgina 155
Anexo D. Scalable Vector Graphics (SVG)
Perfil MOBILE
Perfil FULL
La relacin de poder de computacin entre los tres tipos de dispositivos (celulares, {PDA,
SmarthPhone}, computadoras porttiles) se ve muy similar a una pirmide. La parte
superior de la pirmide es el conjunto de las familias de los telfonos mviles con
caractersticas limitadas. Estas caractersticas estn disponibles en una PDA teniendo
caractersticas ms avanzadas que son en s mismos todos los disponibles en una
computadora de escritorio o porttil siendo ms avanzados. As, un telfono mvil todo lo
que puede hacer es factible por una PDA, y todo lo factible de un PDA es factible por una
computadora. Por lo tanto, se decidi que SVG Tiny sera un subconjunto estricto de SVG
Basic, por s misma un subconjunto estricto de SVG Full, [XMLcom, 2004]. En la siguiente
tabla se muestran los tipos de datos que soporta el perfil mvil.
Pgina 156
Anexo D. Scalable Vector Graphics (SVG)
SVGB y SVGT soportan el atributo viewBox, y las restricciones de los valores del atributo
preserveAspectRadio.
Shapes
SVGB y SVGT soportan el atributo path, excepto las curvas elpticas, tambin soportan
las formas bsicas (rectngulos, crculos, elipses, lneas, poli lneas y polgonos).
Texto
SVGB y SVGT representan texto con los caracteres Unicode, permite seleccionar el texto
y operaciones de portapapeles. SVGT no soporta texto en el path.
Gradientes y patrones
SVGB soporta colores slidos, gradientes, patrones y colores personalizados. SVGT solo
soporta colores slidos.
Efectos de filtrado
SVGB soporta un subconjunto de efectos de filtros. SVGT no soporta.
Interactividad
SVGB y SVGT soportan eventos con animaciones declaradas.
Enlaces
SVGB y SVGT soportan la activacin de hipervinculos de contenidos SVG a otros
recursos Web.
Script
SVGT no soporta los script. SVGB permite los script que incluyen caractersticas de SVG
1.1.
Animacin
Ambos soportan las animaciones. SVGT slo admite animacin declarativa.
Pgina 157
Anexo D. Scalable Vector Graphics (SVG)
Elemento path
Los elementos path son tiles para crear vistas profesionales en documentos SVG, siendo
los tag ms difciles de codificar a mano. Se pueden crear cualquier tipo de imgenes que
se pueden visualizar en diferentes aplicaciones. En la tabla D.1 se muestran los atributos
que pueden ser utilizados por el elemento path y en la tabla D.2 se describen los
comandos que pueden ser utilizados, el path se define con el atributo d separados con
comandos y coordenadas.
Tabla D.1 Atributos del elemento Path
Atributo Descripcin
d Define el path con un conjunto de comandos
Pgina 158
Anexo D. Scalable Vector Graphics (SVG)
Elemento g
El elemento g permite la agrupacin de las etiquetas, siendo la forma primaria de los
documentos SVG que estn estructurados. Las capas en SVG se representan por medio
del elemento g, el cual tiene la funcin de agrupar varios elementos. Elementos fuera y
dentro de un grupo son tratados de manera idntica y no hay lmite a la profundidad de la
agrupacin.
Elemento defs
El elemento defs se utilizan para definir elementos SVG sin que se muestren en pantalla.
Cosas como los gradientes y patrones en SVG deben ser predeclarados y referenciados
con el fin de utilizar dentro del cuerpo del SVG. As pues, la etiqueta de defs se utiliza
para contener elementos de referencia en otras partes del documento SVG a travs de
URIs.
Elemento use
El elemento use utiliza una URI referenciada para la opcin g, svg o de otro tipo
(rectngulo, circulo, texto, etc.) con un atributo id nico y replicarlo. Este objeto replicado,
como elemento de g utiliza cualquier atributo de presentacin aplicado a la etiqueta use
como valores por default. La copia es slo una referencia a la original por lo que slo
existe en los elementos contenidos en defs. Cualquier cambio de la copia no afecta a la
original puesto no es parte del documento.
Ejemplos
A continuacin se presenta un grfico que representa el logo de OXXO.
Pgina 159
Anexo D. Scalable Vector Graphics (SVG)
0.195-0.333-0.438l0,0
13 c0-0.241,0.149-0.438,0.333-
0.438h16.622C30.101,11.25,30.25,11.446,30.25,11.688L30.25,11.688z/>
14 <path fill=#F4DB27 d=M29.97,18.062c0,0.242-0.149,0.438-0.333,0.438H13.015c-0.184,0-0.333-
0.195-0.333-0.438l0,0
15 c0-0.241,0.149-0.438,0.333-
0.438h16.622C29.82,17.625,29.97,17.821,29.97,18.062L29.97,18.062z/>
16 <text transform=matrix(1 0 0 1 12.5425 17.167) fill=#FBFBFB font-family=OldgateLaneOutline
font-size=6>OXXO</text>
17 </g>
18 </defs>
19 <g id=capa0>
20 <use xlink:href=#oxxo transform=translate(5 5) rotate(0) translate(-12.96 -12.45) />
21 </g>
22 </svg>
Figura D.3 Cdigo SVG que representa el logo de OXXO
En la figura D.3 se muestra el cdigo SVG que representa el logo de OXXO, primero se
definen los elementos en las lneas 9 al 18, posteriormente se agrupan elementos
contenidos en el elemento g que tiene oxxo como valor del id, declarando dentro ste los
elementos path y texto para construir el logo. Para que sea utilizado esta declaracin se
utiliza el elemento use que hace referencia al grupo de elementos llamado #oxxo. La
figura D.4 representa la visualizacin del ejemplo.
A continuacin se muestra en la figura D.5 el cdigo SVG que visualiza una ruta y puntos
de referencia tal y como se puede ver en la figura D.6. La seccin seleccionada en gris
muestra las definiciones de los logos de cada punto de referencia, se observa que cada
logo es un conjunto de elementos contenidos en elementos g. Las referencias a los
logos se representan mediante el elemento use seleccionados en azul. Cabe sealar
que realiza una copia exacta y se puede manipular sin modificar el logo original declarado
en defs.
Pgina 160
Anexo D. Scalable Vector Graphics (SVG)
Pgina 161
Anexo D. Scalable Vector Graphics (SVG)
Pgina 162
REFERENCIAS
[Cabral, 2005] Igor Pinheiro de Sales Cabral1,Jorge Henrique Fernandes2, Luiz Marcos Garcia
Gonalves1, 1Universidade Federal do Rio Grande do Norte, 2Universidade de
Braslia, 2008; gvSIG para dispositivos mviles;
http://marte.dpi.inpe.br/col/ltid.inpe.br/sbsr/2004/11.18.18.17/doc/2067.pdf, 2005,
ltima consulta: Septiembre 2008
[deeGree, 2009] deeGree, 2009. Sitio oficial de deeGree. [En lnea]. http://www.deegree.org/.
Consultado en Enero 2009.
[deviceatlas, 2008] Device Atlas. Mobile Device Intelligence. http://deviceatlas.com/ , 2008, ltima
consulta: Diciembre 2008
[Devmobi, 2007] SVG & Mobile | dev.mobi. 2007. Dev.mobi Internet Made Mobile. [En lnea]
http://dev.mobi/article/svg-mobile. Consultaso en abril de 2008.
[DelaRosa, 2009] De la Rosa Antonio, Senso Jose A.; Universidad de Granada; Dualidad texto-
imagenen SVG: nuevas posibilidades para la descripcin de la informacin grfica,
diciembre 2009.
[GvSIG, 2009] gvSIG, 2009. Sitio oficial de gvSIG. [En lnea]. http://www.gvsig.gva.es/. Consultado
en Enero 2009.
[Hampe, 2005] Mark Hampe1 and Volker Paelke2; Institute of Cartography and Geoinformatics,
University of Hannover Appelstrae; Adaptive maps for mobile applications,
Referencias
http://www.ikg.uni-
hannover.de/publikationen/publikationen/2005/hampe_mobilemaps2005.pdf, 2005;
ltima consulta: Septiembre 2008
[Ichiro,2002] Hashiba Ichiro Ohba Toshifumi; NAKAI Akifumi, Ntt Data Corporation, 2002;
Development of Route Map Service for Mobile Phone based on G-XML,
http://www.cartesia.org/articulos/g-xml/GISA(English)Final.doc; ltima consulta:
Septiembre 2008
[IEEE289, 2009] IEEE Standard for Software Test Documentation, Software Engineering Technical
Committee of the IEEE Computer Society, ISBN 0-7381-1444-8
[Kosmo, 2009] Kosmo, 2009. Sitio oficial de kosmo. [En lnea]. http://www.opengis.es/. Consultado
en Enero 2009.
[Magon, 2006] Magon Ajay, Shukla Reena, LBS the ingredients and the alternatives. Gis
Development. Disponible en:
http://www.gisdevelopment.net/technology/lbs/techlbs006.htm ltima consulta: Junio
2009.
[Mapserver, 2009] Mapserver, 2009. Sitio oficial de Mapserver. [En lnea]. http://mapserver.org/.
Consultado en Febrero 2009.
[Montesinos, 2008] Miguel Montesinos Lajara, Javier Carrasco Marimn; PRODEVELOP, 2008;
Adaptive Visualisation of Geographic Information on Mobile Devices;
http://www.sigte.udg.es/jornadassiglibre/uploads/file/Comunicaciones/4(1).pdf;
ltima consulta: Septiembre 2008
[Negrete, 2004] Negrete Lpez Gustavo A., Rdrguez Ortega Benjamn; Universidad de las Americas
Puebla; Arquitectura hbrida de acceso y visualizacin de datos. [En lnea]
http://catarina.udlap.mx/u_dl_a/tales/documentos/lis/negrete_l_ga/ ; ltima consulta:
Diciembre 2009
[openLayers, 2009] openLayers, 2009. Sitio oficial de openLayers. [En lnea]. http://openlayers.org/.
ltima consulta: Febrero 2009.
Pgina 164
Referencias
[XMLcom, 2004] XML.com: Going Mobile with SVG: Standards. OReilly Media, Inc. [En lnea].
http://www.xml.com/pub/a/2004/06/16/mobilesvg.html, ltima consulta: Diciembre
2009
[Ortiz, 2001] Ortiz Gabriel. Tipos de SIG y modelos de datos. Un artculo introductorio para
entender las bases de los SIG. http://recursos.gabrielortiz.com/index.asp?Info=012.
ltima consulta: Junio 2009
[QGIS, 2009] Quantum GIS, 2009. Sitio Oficial de Quantum GIS. [En lnea]. http://www.qgis.org/.
Consultado en Enero 2009.
[Roldn, 2005] Roldn David. Comunicaciones inalmbricas. Mxico: Editorial Alfaomega, 2005
[Sabine, 2004] Sabine Geldof y Robert Dale; IMPROVING ROUTE DIRECTIONS ON MOBILE
DEVICES; Centre for Language Technology Macquarie University, Australia, 2004;
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.14.6150; ltima consulta:
Septiembre 2008
[Scherp, 2004] * Ansgar Scherp, Susanne Boll; OFFIS, Oldenburg, University of Oldenburg;
mobileMM4U framework support for dynamic personalized multimedia content on
mobile systems, 2004; http://medien.informatik.uni-
oldenburg.de/pubs/SB_mobileMM4U_TAMoCO_2004.pdf; ltima consulta:
Septiembre 2008
[SG, 2005] Rodrguez Rams Estructura de paquetes Revista Software Guru. Marzo-Abril
2005.
Pgina 165
Referencias
[Steiniger, 2006] Steiniger Stefan, Neun Moritz, Alistair Edwardes Foundations of Location Based
Services, Departamento de Geografa, Universidad de Zurich, Suiza. 2006
[SVG, 2009] Moblie SVG Profiles: SVG Tiny, http://www.w3.org/TR/SVGMobile/, ltima consulta:
junio 2009
[Victoria, 2008] Victoria Rincon Claudia, API para la gestin de mapas de navegacin en
dispositivos mviles mediante el GPS y mensajera SMS/MMS, cenidet 2008
Pgina 166