Professional Documents
Culture Documents
RESUMEN ............................................................................................................. 3
1.
INTRODUCCIN ...................................................................................... 4
2.
2.1.
2.2.
2.3.
2.4.
2.5.
3.
4.
4.1.
MODELADO........................................................................................................... 40
4.2.
4.3.
5.
6.
7.
CONCLUSIONES .................................................................................... 92
8.
BIBLIOGRAFA.................................................................................................. 94
REFERENCIAS ................................................................................................... 96
ANEXO I - ENTORNO DEL USUARIO............................................................ 97
NDICE DE FIGURAS
Figura 1- Segmentos del sistema de satlites ............................................................ 6
Figura 2- Constelacin de satlites ........................................................................... 7
Figura 3 - Segmento de control................................................................................. 8
Figura 4- Posicionamiento mediante esferoides ........................................................ 9
Figura 5- Composicin de la seal L1 y L2 ............................................................ 15
Figura 6- Funcionamiento DGPS............................................................................ 18
Figura 7- Garmin eTrex.......................................................................................... 19
Figura 8- Conector GPS - PC mediante puerto serie ............................................... 21
Figura 9- Imagen FUGAWI ................................................................................... 36
Figura 10- Imagen OziExplorer.............................................................................. 37
Figura 11- Imagen Trackmaker .............................................................................. 37
Figura 12- Imagen Waypoint +............................................................................... 38
Figura 13- Sistema de servidores DNA................................................................... 39
Figura 14- Actor..................................................................................................... 41
Figura 15- Casos de uso ......................................................................................... 42
Figura 16- Diagrama de clases ............................................................................... 43
Figura 19- Diagrama de secuencia del caso de uso identificarse ............................. 44
Figura 20- Diagrama de secuencia del caso de uso iniciar GPS............................... 45
Figura 21- Diagrama de secuencia del caso de uso parar GPS ................................ 46
Figura 22- Diagrama de secuencia del caso de uso introducir waypoints ............. 48
Figura 23- Diagrama de secuencia del caso de uso introducir rutas......................... 50
Figura 24- Diagrama de secuencia del caso de uso ver waypoints comunes......... 52
Figura 25- Diagrama de secuencia del caso de uso ver waypoints propios........... 53
Figura 26- Diagrama de secuencia del caso de uso ver rutas comunes .................... 55
Figura 27- Diagrama de secuencia del caso de uso ver rutas propias....................... 56
Figura 28- Diagrama de secuencia del caso de modificar waypoint ..................... 57
Figura 29- Diagrama de transicin de estados del objeto GPS ................................ 59
Figura 30- Representacin lgica de la Base de Datos ............................................ 62
Figura 31- Representacin fsica de la Base de Datos ............................................. 63
II
III
IV
de
Tecnologas
de
la
Informacin
las
RESUMEN
En este proyecto se aborda el diseo y desarrollo de un Sistema Gestor de
Posicionamiento Global por Satlite, en la forma de una aplicacin clienteservidor,
que proporcione acceso al mayor nmero de usuarios posibles. Adems, tambin se
incluir la posibilidad de funcionamiento en la forma de aplicacin centralizada, sin
un entorno cliente.
En todos los desarrollos o antecedentes analizados en este proyecto, la idea
predominante es la de disponer de una aplicacin y nicamente compartir los datos
entre usuarios mediante ficheros, generados con la informacin de posicionamiento
para su transmisin. Por otro lado, las Bases de Datos (en adelante BD) con puntos o
rutas de posicionamiento global por satlite, en ingls Global Positioning System (en
adelante GPS) consultadas, no permiten una transferencia de la informacin
directamente desde el receptor GPS. Las herramientas ms completas nicamente
permiten la transferencia de ficheros generados a partir de otros programas.
El sistema resultante de este proyecto, desarrollado bajo una interfaz web usando
tecnologa Distributed interNet Aplications (en adelante DNA), permite un acceso
directo del receptor GPS a una BD compartida entre todos los usuarios de la
aplicacin. La tecnologa DNA proporciona en todo momento un servidor virtual de
web, otro de aplicacin y un tercero de datos, aun cuando los tres sean el mismo
fsicamente o, por ejemplo, el servidor de datos est distribuido entre varias
mquinas para balancear la carga de trabajo.
Por tanto, el desarrollo del presente proyecto aporta, de una forma conjunta y
consistente, justamente lo carente en el resto de las aplicaciones analizadas, es decir,
el acceso a una BD centralizada de puntos y rutas GPS que permita la comunicacin
directa con el receptor y que proporcione un alto grado de integridad, ciertos niveles
de seguridad, y, entre otros, un adecuado entorno de visualizacin, tanto en 2D como
en 3D.
PALABRAS CLAVE
GPS (Global Positioning System), NAVSTAR (NAVigation SysTem And Ranging),
servicios SPS (Simple Positioning System) y servicios PPS (Precise Positioning
System), UTC (Universal Time Coordinated), DNA (Distributed interNet
Aplications), Com +
1. INTRODUCCIN
Las tcnicas de posicionamiento y navegacin por satlite y por GPS, han
evolucionado de manera vertiginosa desde su aparicin, traspasando los fines para
los que en un principio fueron diseadas y llegando a utilizarse en aplicaciones que
ni se imaginaron en el momento de su desarrollo. Los avances en el mundo de las
comunicaciones y de los sistemas electrnicos, los que han permitido que estas
tcnicas lleguen a todo tipo de usuarios, traspasando la pequea comunidad militar o
cientfica para las que fueron diseadas. Aunque el posicionamiento global por
satlite naci con fines militares, continuamente se le estn encontrando nuevos usos
civiles.
La tecnologa GPS puede ser utilizada en cualquier lugar, menos en aquellos en los
cuales es imposible recibir seal, como por ejemplo dentro de edificios, subterrneos
o bajo el agua. En el aire, los GPS son utilizados para la navegacin area, tanto en
aeronutica militar como en aviacin comercial y general. En el mar, los GPS
tambin son utilizados por aficionados a la nutica, pescadores y marinos
profesionales. Las aplicaciones terrestres en cambio estn ms diversificadas. La
comunidad cientfica, por ejemplo, utiliza la tecnologa GPS para obtener datos de
posicin y tiempo muy precisos.
Los usos recreativos del GPS son casi tan numerosos como el nmero de deportes.
Para citar algunos, podemos decir que las unidades GPS son bastante populares entre
los ciclistas, escaladores, cazadores, motociclistas, etc. Cualquiera que precise
mantener un registro o control de su ubicacin o posicin geogrfica, encontrar su
camino quizs en medio de condiciones hostiles o saber la direccin y velocidad en
que se desplaza puede sacar provecho de los beneficios del Sistema de
Posicionamiento Global.
La aplicacin presentada abordar el diseo de un sistema para tratar y procesar los
datos proporcionados por los actuales sistemas de posicionamiento global,
mejorando considerablemente las posibilidades de este campo. El desarrollo de este
tipo de sistemas es altamente complejo, al integrar, en un mismo desarrollo,
2.1.
El sistema NAVSTAR GPS, al igual que cualquier otro sistema de satlites, est
constituido por tres segmentos:
1. Segmento espacial
2. Segmento de control
3. Segmento de usuario
similares.
NAVSTAR GPS
GLONASS
Departamento de Defensa
Compaa Impulsora
Gobierno Ruso
Tipo de rbita
Frecuencias
Mtodo de acceso
Vida til Aprox.
24 en 6 planos orbitales
24 en 6 planos orbitales
Inclinacin 63
Inclinacin 64.8
Periodo de 12h
Banda L
Banda L
L1 = 1.57542 GHz
L1 = 1.609 GHz
L2 = 1.2276 GHz
L2 = 1.251 GHz
CDMA ( Espectro
CDMA ( Espectro
Esparcido)
Esparcido)
7,5 aos
7,5 aos
generar
ecuacin
de
esferoide.
interseccin
esferoides
la
un
La
de
los
generados
Aunque el clculo de
los retardos temporales
entre 3 de los satlites
y
Figura 4- Posicionamiento mediante esferoides
el
receptor
GPS
proporcionan un punto
en el espacio (Xi, Yi,
Zi), esta situacin exigira una precisin extraordinaria y una gran estabilidad de los
relojes, tanto del satlite como del receptor. Si bien los satlites cumplen estas dos
condiciones, puesto que incorporan un reloj atmico, este no es el caso de la gran
mayora de los receptores. La solucin a este problema introduce una nueva
incgnita en el sistema de ecuaciones debido a la diferencia existente entre el reloj
del satlite y el reloj del usuario, lo que conlleva a la utilizacin de un cuarto satlite
como mnimo.
La suposicin de que el sistema GPS se basa en distancias es ahora falsa , tal y como
se ha visto en el clculo de la distancia. En realidad no se miden distancias sino
pseudodistancias.
Supongamos:
[0]
entonces
[1]
R i = T c
[2]
R i = Tmedido c
Donde Ri es la pseudodistancia
Siendo T el tiempo transcurrido entre que la seal parte del satlite hasta que
llega al receptor, Tmedido la diferencia de tiempo entre el reloj atmico del satlite
y el reloj del receptor; y c la constante de la velocidad de la luz.
Suponiendo que:
[3]
Tmedido = T +
[4]
R i = ( T + ) c
R i = ( T c ) + ( c )
[5]
R i = R i + ( c )
10
[6]
R i = R i - ( c )
Como las coordenadas de cada satlite son conocidas, se tienen cuatro ecuaciones,
una por satlite, de la forma siguiente:
[7]
(X i U X ) 2 + (Yi U Y ) 2 + (Z i U Z ) 2 = (R i c 2
Siendo i =1 ... 4, (Xi, Yi, Zi) las coordenadas reales del satlite i en el momento de
enviar la seal.
Con las cuatro ecuaciones, 1 por cada satlite, se genera un sistema de ecuaciones
con cuatro incgnitas que proporciona una nica solucin.Si existen mas de cuatro
satlites visibles, se calculan las pseudodistancias respecto a todos ellos, obteniendo
as un sistema con ms ecuaciones que incgnitas, simplificando considerablemente
el clculo de la posicin.
Tanto el cdigo C/A como el cdigo P pueden ser utilizados para el clculo de las
pseudodistancias entre el satlite y el usuario; sin embargo, el cdigo P est
normalmente cifrado. Cuando est cifrado, el cdigo P se denomina cdigo Y. Sobre
estos dos cdigos, el cdigo C/A y el cdigo P (o Y si est cifrado), se superpone el
11
mensaje de navegacin del GPS. Este mensaje proporciona informacin tal como la
hora del satlite, los datos orbitales precisos de cada satlite (a partir de ahora
efemrides) o los datos relacionados con los parmetros orbitales de toda la
constelacin de satlites.
2.2.
SERVICIOS GPS
El acceso al servicio PPS est controlado mediante dos sistemas que incorporan
tcnicas criptogrficas, Disponibilidad Selectiva, en ingls Selective Avaliability
(a partir de ahora SA) y tcnicas de autenticacin de anti-spoofing(en adelante AS). La tcnica SA se usa para reducir la precisin de la posicin GPS, la velocidad e
incluso el tiempo a los usuarios no autorizados. El sistema A-S opera introduciendo
un error pseudoaleatorio dentro de la seal del satlite y permanece activo en todos
los satlites con el fin de proteger la seal de una posible intromisin o modificacin
en los datos de la misma.
12
Los receptores PPS pueden utilizar tanto el cdigo P como el C/A, o bien los dos a la
vez. El mayor nivel de fiabilidad se alcanza con los cdigos P de las dos seales L1 y
L2 conjuntamente. Aun cuando un receptor est diseado para soportar el servicio de
posicionamiento preciso, normalmente se utiliza el cdigo C/A para establecer la
comunicacin con los satlites.
2.3.
Para analizar las caractersticas de las seales emitidas desde los satlites, se han de
estudiar tres aspectos:
El cdigo C/A
El cdigo P(Y)
El cdigo C/A est compuesto por una seal de ruido de 1023 bits pseudoaleatorios
(PRN) con una frecuencia de 1.023 MHz. La longitud corta de la secuencia del
cdigo C/A est diseada para permitir al receptor una rpida adquisicin de la seal
del satlite que incluye la seal con el cdigo P. Cada satlite GPS tiene asignada
una secuencia PRN diferente, seleccionada de entre un grupo de cdigos
denominados Gold codes. Estos cdigos estn diseados para minimizar la
probabilidad de que el receptor GPS confunda un cdigo con otro. El cdigo C/A
slo es transmitido junto con la seal L1. Este cdigo no est cifrado y est
disponible para todos los receptores GPS.
13
El cdigo P (o bien cdigo Y si est cifrado) es una seal PRN con una frecuencia de
reloj de 10.23 MHz y un periodo de 267 das. Cada uno de los satlites GPS tiene
asociado un nico segmento de 7 das, el cual se reinicia cada medianoche del
domingo, asignando secuencias semanales distintas a cada satlite. El cdigo P est
normalmente cifrado con la finalidad de proteger la seal. El cdigo P es transmitido
por cada satlite tanto en la seal L1 como en la L2.
La seal de datos enviada por el satlite, de una frecuencia de 50Hz, est superpuesta
tanto sobre el cdigo P(Y) como sobre el cdigo C/A. El mensaje de navegacin
incluye datos nicos del satlite emisor y ciertos datos comunes a todos los satlites.
Los mensajes del satelite contienen la siguiente informacin:
El mensaje de navegacin est formado por 25 tramas de datos, cada una compuesta
de 1500 bits. A su vez, cada una de ellas est formada de 5 subtramas de 300 bits. En
una seal con una frecuencia de 50 Hz, recibir una subtrama le lleva 6 segundos, 30
segundos para recibir la trama entera y 12,5 minutos en recibir todo el mensaje. Las
subtramas uno, dos y tres de cada trama tienen el mismo formato, lo que permite al
receptor GPS recibir la informacin crtica del satlite emisor cada 30 segundos. La
14
subtrama N 1 contiene la informacin sobre el modelo para corregir los errores del
reloj, as como parmetros sobre la precisin y el funcionamiento del satlite emisor.
La segunda y la tercera subtramas contienen informacin precisa de la rbita del
satlite emisor, parmetros necesarios para el clculo de la posicin exacta del
satlite, que se utilizan para obtener la pseudodistancia entre el satlite y el receptor.
Las subtramas cuarta y quinta varan en cada uno de las 25 tramas, y contienen la
informacin comn a todos los satlites y los datos menos crticos para el receptor
GPS.
2.4.
Continuos
Secuenciales
Multiples
Diferenciales
15
Un receptor secuencial fija los satlites mediante uno o dos canales hardware. El
sistema fija un satlite detrs de otro y los combina cuando la pseudodistancia a los
cuatro satlites est calculada. Estos receptores GPS son los ms econmicos. En
contrapartida no son capaces de operar a grandes velocidades y poseen el sistema de
fijacin de satlites ms lento del mercado.
Dentro de los receptores secuenciales se distinguen dos tipos:
Receptores monocanal
Receptores bicanal
16
17
La idea principal del sistema DGPS se basa en el hecho de que los satlites estn
situados a una gran altura 20200 Km. Ante esta situacin, el tiempo que tarda la
seal en llegar a dos puntos cualesquiera situados a una distancia considerable entre
si, por ejemplo 200 Km, debera contener el mismo error de medicin.
terrestres
referencia
de
(bases
pertenecientes a la Guardia
Costera de los EEUU y a
agencias
que
internacionales
establecen
estaciones
alrededor
sus
de
en
lugar
de
calcular su posicin de nuevo, establece el tiempo de travesa (TC) para cada uno de
los satlites que tiene a la vista y los compara con el tiempo proporcionado por cada
satlite (TS). La diferencia entre el TC y el TS se conoce como Error de correccin
(EC). Cuando un receptor GPS con tecnologa DGPS fija los satlites, la estacin de
referencia transmite el EC con el fin de corregir los errores en las medidas del
receptor.
18
2.5.
GARMIN ETREX
La empresa Garmin ofrece una extensa documentacin sobre los protocolos que
utilizan sus productos.
19
Blazer 12
Garmin 12
Garmin eTrex
100
500
500
4 caracteres
6 caracteres
6 caracteres
Batera externa
Bateras
I/0 computadora
No
Capacidad DGPS
No
Waypoints
Nombres
Salida de texto. Transmisin de salida en formato ASCII con datos tales como la
localizacin o la velocidad, pero no permite ningn tipo de entrada.
20
Entrada RTCM. Soporte para la entrada de datos en formato RTMC SC-104 sin
necesidad del uso de una radiobaliza.
21
Todas las sentencias enviadas en formato estndar NMEA tienen dos primera letras
de prefijo las cuales definen el perifrico que utilizan esa sentencia (para los
receptores GPS, este prefijo es GP). Estos dos caracteres estn seguidos por tres
letras que definen el contenido de la sentencia. Adicionalmente a las existentes, el
estandar NMEA permite a los fabricantes la definicin de sentencias propias. Todas
las sentencias nuevas debern comenzar con el carcter p seguido de una letra que
identifique al fabricante. Ademas, todas las sentencias enviadas empiezan con un $
y terminan con una secuencia de retorno de carro/fin de lnea. El formato NMEA
incluye todos los datos necesarios separados mediante comas en forma ASCII.
GGA
123519
4807.038,N
22
01131.000,E
Longitud 11 31.000 E
Calidad de la recogida
0 = invalido
1 = GPS
2 = DGPS
08
0.9
545.4
46.9
Vaco
Vaco
*42
los datos
23
La versin actual del estndar NMEA es la llamada 0182 Versin 2. Este estndar
define que la transmisin se debe hacer a 4800 baudios. Diversas versiones anteriores
del estndar NMEA requieren diferentes velocidades de transmisin, as la versin
0182 requiere 1200 baudios y la 0183 Versin 1.5, solo aceptada por algunos
receptores de la marca Garmin, transmite a una velocidad de 9600 baudios.
GPBOD
GPGLL
GPGSA
GPGSV
GPRTE
GPWPL
PGRMZ Altitud
PSLIB
HCHDG Datos de salida del comps ( Soportado por Garmin eTrex Summit )
El protocolo Garmin est pensado para comunicarse con sistemas de la gama Garmin
GPS. La interfaz con el GPS soporta una transferencia bidireccional de waypoints,
rutas, puntos GPS, waypoints de proximidad y el estado de la constelacin de
24
Nmero de byte
ID del paquete
3 hasta n-4
Notas
Carcter 16 del
cdigo ASCII
Identifica el tipo de
paquete
Solo el tamao del
paquete de datos , es
decir n-7 bytes
0 hasta 255 bytes
Complemento a 2 de
n-3
Checksum
n-2
n-1
Fin de texto
25
Con este proceso se permite que el carcter DLE se pueda utilizar como delimitador
de los paquetes. A menos que se confirme lo contrario, el dispositivo que recibe un
paquete debe enviar un nuevo paquete de ACK o NAK hacia el dispositivo emisor,
indicando si el paquete fue o no correctamente recibido. Normalmente el dispositivo
transmisor no emite ningn otro paquete hasta que se recibe el paquete ACK o NAK.
El paquete ACK tiene un identificador igual al carcter 6 del cdigo ASCII, mientras
que el paquete NAK tiene por identificador el carcter 21. Cualquiera de los dos
paquetes contiene un entero de 8 bits que determina el paquete de datos al cual
referencian.
Carcter
ASCII
Carcter
ASCII
ID_Date_Time
ID_Rte_Wpt_Data
30
ID_ACK_Byte
ID_Almanac_Data
31
ID_Position_Data
ID_Trk_Data
34
26
ID_Command_Data 10
ID_Wpt_Data
35
ID_Xfer_Cmplt
12
ID_Pvt_Data
51
ID_Prx_Wpt_Data
19
ID_Protocol_Array
253
ID_NAK_byte
21
ID_Product_Rqst
254
ID_Records
27
ID_Product_Data
255
ID_Rte_Hdr
29
Tabla 5- Paquetes bsicos del protocolo Garmin
Todos los GPS estn diseados para transmitir los datos relativos al receptor, tales
como el modelo, versin de software instalado, etc.
La Tabla 6 muestra la secuencia de paquetes correspondiente al protocolo de
transmisin:
N
0
1
Direccin
Host GPS
Host GPS
Pid_Product_Rqst
Pid_Product_Data
Product_data_type
27
Option
Public
Public
Public
Public
Explicit
Product_ID
Software_Version
Product_Description_1
Product_Description_2
As
As
As
As
Integer
Integer
String
String
Esta seccin describe la manera de hacerle llegar al receptor GPS las necesidades del
usuario. Todos los GPS admiten como mnimo un protocolo de comandos, sin
embargo, no tienen por que responder a todos. Un comando enviado a un GPS que
no soporta el protocolo por el cual se est comunicando nicamente ser ignorado.
La nica diferencia entre los distintos protocolos de comandos son los valores del
identificador de operacin.
Hay que recordar que cualquiera de los dos lados de la comunicacin (GPS o
computadora) pueden hacer una peticin de transferencia de datos, por lo que la
aplicacin que se est comunicando con el GPS deber considerar tambin las
peticiones del receptor.
28
N
0
Direccin
Equipo 1Equipo 2
Pid_command_Data
Command_Id_Type
El paquete 0 contiene los datos necesarios para indicar el comando requerido, esos
datos estn codificados en un nico entero de 16 bits conforme a la Tabla 8
Operacin
Valor
Comentario
CMD_Reset_Transfer
CMD_Transfer_Alm
CMD_Transfer_Posn
Transferir la posicin
CMD_Transfer_Prx
CMD_Transfer_Rte
CMD_Transfer_Time
Transferir la hora y el da
CMD_Transfer_Trk
CMD_Transfer_Wpt
MD_Turn_Off_Pwr
CMD_Start_Pvt_Data
49
CMD_Stop_Pvt_Data
50
29
Direccin
Equipo 1Equipo 2
Pid_Records
Records_type
Equipo 1Equipo 2
Pid_Wpt_Data
D108_Wayp_Type
Equipo 1Equipo 2
Pid_Wpt_Data
D108_Wayp_Type
n-2
Equipo 1Equipo 2
Pid_Wpt_Data
D108_Wayp_Type
n-1
Equipo 1Equipo 2
Pid_Xfer_Cmplt
Command_Id_Type
El primer y el ltimo paquete son los de inicio y fin estndar. El primero de los
paquetes se compone de un nico entero de 16 bits que representa el nmero de
paquetes de datos que se envan a continuacin (sin contar con el paquete
Pid_Xfer_Cmplt). El ltimo de los paquetes tambin contiene un nico entero, que se
corresponde con el cdigo de operacin que se acaba de completar.
30
As
As
As
As
As
As
As
As
As
As
As
As
As
As
As
As
As
As
Byte
Byte
Byte
Byte
Integer
Byte
Semicircle_Type
Single
Single
Single
String * 2
String * 2
String * 51
String * 51
String * 31
String * 25
String * 51
String * 51
Entre los datos suministrados por el receptor, los ms destacables son el smbolo
(Smbl), un entero que representa el icono suministrado por el receptor; la altitud
(Alt), el nombre (Ident), una cadena de caracteres de hasta 51 caracteres; el
comentario (comment) y la posicin del waypoint representada mediante dos
enteros largos de 32 bits cada uno. Se define el tipo Semicrculo como:
31
Nombre del
Direccin
paquete
Equipo 1Equipo 2
Pid_Records
Records_type
Equipo 1Equipo 2
Pid_Trk_Data
D301_Trk_Point_Type
Equipo 1Equipo 2
Pid_Trk_Data
D301_Trk_Point_Type
n-2
Equipo 1Equipo 2
Pid_Trk_Data
D301_Trk_Point_Type
n-1
Equipo 1Equipo 2
Pid_Xfer_Cmplt
Command_Id_Type
El primer y el ultimo paquete son los de inicio y fin estndar. El resto de los paquetes
contienen datos del GPS con el formato D301_Trk_Point_Type definido a
continuacin:
Private Type
posn
Time
Alt
Dpth
new_trk
End Type
D301_Trk_Point_Type
As Semicircle_Type
As Long
As Single
As Single
As Boolean
32
Direccin
Equipo 1Equipo 2
Pid_Date_Time_Data D600_Date_Time_Type
Private Type
month
day
year
hour
minute
second
End Type
D600_Date_Time_Type
As Byte
As Byte
As Integer
As Integer
As Byte
As Byte
El protocolo Position, velocity and time (en lo sucesivo PVT) se utiliza para
transmitir desde el GPS a la computadora, en tiempo real, los datos de posicin,
tiempo y velocidad del receptor GPS. Esta informacin se transmite desde el receptor
una media de una vez por segundo. El envo de datos en tiempo real se inicializa con
CMD_Start_Pvt_Data y se finaliza mediante el envo de un paquete de comandos
con el identificador CMD_Stop_Pvt_Data.
33
El envo de los paquetes ACK y NAK es opcional para cada receptor. De forma
contraria a la de otros protocolos, el receptor GPS no retransmitir un paquete PVT
aunque reciba un NAK de la computadora. Este protocolo realiza esta funcin para
preservar la continuidad y el orden de los datos.
N
0
Direccin
Host GPS
As Single
As Single
34
Cabe destacar que el campo alt (altitud) representa la altitud sobre el elipsoide WGS
84. Para hallar la altura respecto al nivel del mar, se debe sumar el campo alt con el
campo msl_hght (altura del elipsoide WGS 84 sobre el nivel del mar).
El campo tow (time of web) informa sobre el nmero de segundos desde el comienzo
de la semana actual que empieza a las 12 A.M del domingo. El campo day_number
informa sobre el numero de das desde el 31 de diciembre de 1989 hasta el da de
inicio de la semana actual. El campo pos_type identifica el tipo de muestra que ha
sido tomada. Si el valor est entre 0 y 1 la muestra no es vlida, si est comprendido
entre 2 y 3, es una muestra normal, si el valor es 4 o 5, la muestra es diferencial
35
Una tercera generacin de aplicaciones para los GPS, entre la que se incluira el
desarrollo del presente proyecto, son aquellas que permiten almacenar los datos del
receptor para posteriormente tratarlos en, por ejemplo, aplicaciones topogrficas.
36
OziExplorer V3.9 [OZIE-02] permite definir las rutas y los waypoints sobre un
mapa y transferirlos posteriormente al receptor GPS .
datos a la
37
Waypoint + [WAYP-02], aplicacin que aun siendo de las pocas que no tienen
una representacin grfica de la informacin, se mantiene gracias a que el
formato de almacenamiento se ha convertido en un estndar usado por la mayora
de los grandes programas de representacin grfica de los datos GPS.
Una
38
minuto. Otro beneficio derivado de utilizar una aplicacin cliente-servidor, es que los
datos son compartidos entre todos los usuarios del web, lo cual permite crear un
catlogo de rutas y waypoints disponible para cualquier usuario.
Cliente
Servidor Web
Servidor de aplicacin
Servidor de datos
4. METODOLOGA DE DESARROLLO
39
Para poder trabajar sobre un entorno web, lo ms normal es utilizar HTML, DHTML
o XHTML, combinados con distintos OCX o applets.
La principal problemtica con la que nos encontramos, son las restricciones que tanto
el propio HTML (o variantes), como el navegador imponen para preservar la
seguridad del propio equipo cliente.
4.1.
MODELADO
40
4.1.1. ACTOR
41
<<extend>>
Ver Wayp propios
<<extend>>
Visual izar Waypoints
<<uses>>
<<extend>>
<<extend>>
Visualizar rutas
<<uses>>
<<uses>>
Ver rutas comunes
Introducir rutas
<<uses>>
Usuario
<<uses>>
Identificarse
<<uses>>
Introducir Waypoints
<<uses>>
Modificar Waypoints
42
La vista esttica es la base del UML. Los elementos de la vista esttica de un modelo
son los conceptos significativos en una aplicacin, incluyendo conceptos del mundo
real, conceptos abstractos, conceptos de implementacin, conceptos de computacin
y todo tipo de conceptos del sistema.
La vista esttica captura la estructura del objeto. Un sistema orientado a objetos
unifica la estructura de datos y caractersticas del comportamiento en una sola
estructura de objeto. La vista esttica incluye todo lo concerniente a las estructuras
de datos tradicionales, as como la organizacin de las operaciones sobre los datos.
Waypoints
GPS
Puerto
Tipo
0..*
Download_way p()
Download_tracks()
Iniciar reloj()
Id_way point
Nombre
Descripcion
Simbolo
Comentario
Fichero
Nombre
Tamao
Tipo
1 0..*
Ficheros_way point()
Aadir()
0..*
Puntos GPS
0..*
Latitud
Longitud
Altura
Velocidad
Tiempo
Rutas
Nombre
Id_ruta
Mostrar rutas usuario()
Mostrar rutas()
Grabar()
0..*
1..*
Datos inicio-f in()
Datos punto()
Grabar()
0..*
1
0..1
Imagen
usuario
id usuario
Nombre
Apellidos
Mostrar datos()
1
Imagen 2D
Crear Latitud-Longitud()
Crear Altura()
Mostrar()
Imagen 3D
0..1
session
Crear()
Mostrar()
IdUsuario
Comprobar()
43
Interface
Usuario
Session
: Usuario
login + pswd
Verificar
[id_usuario]
Grabar_usuario
44
El caso de uso comienza cuando el usuario una vez autenticado, requiere que se
establezca la comunicacin con el receptor GPS. El caso de uso finaliza en el
momento que el sistema recibe el primer mensaje por parte del GPS. Una vez
iniciado el caso de uso, el usuario debe introducir el puerto de comunicacin , para
posteriormente inicializar la conexin con el receptor. Finalizado este proceso, la
interfaz realizar la llamada al objeto GPS que activar la comunicacin a la vez que
inicializa el reloj interno.
Interface
GPS
: Usuario
Seleccionar_puerto
Inicializar GPS
Inicializar ( puerto)
Activar Reloj
45
Interface
GPS
: Usuario
Parar GPS
Stop ( puerto )
Desactivar Reloj
46
El caso de uso comienza cuando el usuario determina que desea transferir todos los
waypoints de su receptor a la computadora. El caso de uso termina en BD.
Cuando el usuario requiere al sistema que se transmitan todos los datos del receptor
al sistema, la interfaz le comunica al objeto GPS que inicialice la transmisin de
todos los waypoints. Con el retorno del control al usuario, se muestran todos los
waypoint transferidos y se indica al usuario que determine cuales de ellos desea
introducir en la BD.
Una vez seleccionados, tras seleccionar la opcin de insertar en la BD, se comprueba
cual es el usuario actualmente conectado, insertando los waypoint seleccionados.
Para que un waypoint este guardado en la base de datos, hay que insertar los valores
del punto GPS en si mismo y despus enlazarlo con el waypoint. Si se omite
cualquiera de los dos pasos , el waypoint no se grabar correctamente.
El diagrama de secuencia de introducir waypoint se muestra en la Figura 22.
47
Interface
GPS
Session
Waypoint
Punto GPS
: Usuario
Introducir waypoints
download_wayp
*Seleccionar wayp
Insertar en BD
Comprobar
[Id Usuario]
*Grabar
Grabar
48
El caso de uso comienza cuando el usuario determina que desea transferir todos los
puntos almacenados en su receptor a la computadora. El caso de uso termina en el
momento que el ltimo punto de la ultima ruta es transferido con xito y ha sido
grabado en la BD.
Cuando el usuario decide introducir en la BD la totalidad o bien parte de las rutas
almacenadas en el receptor, la interfaz hace la llamada al objeto GPS requiriendole el
envo de todos los puntos de las rutas. Cuando el control vuelve al usuario, las rutas
han sido separadas y se muestra al usuario nicamente el punto inicial y el punto
final de la ruta en cuestin.
49
Interface
GPS
Session
Rutas
Punto GPS
: Usuario
Introducir rutas
download_tracks
*Seleccionar rutas
Insertar en BD
Comprobar
[Id Usuario]
*Grabar
*Grabar
50
El caso de uso comienza cuando el usuario requiere visualizar todos los waypoints
almacenados en la BD. El caso de uso termina cuando el usuario visualiza los datos.
Cuando se inicia el caso de uso, la interfaz muestra los datos de cada uno de los
waypoints que se encuentren en la base de datos, as como los datos del punto
asociado con cada waypoint.
De forma opcional, el usuario puede requerir visualizar otros datos, lo cual hara que
se mostrasen, los datos de el waypoint seleccionado, los datos del punto asociado,
los datos de los ficheros asociados al waypoint seleccionado y los datos del usuario
que grabo el waypoint en nuestra BD.
El diagrama de secuencia se muestra en la Figura 24
Cuando se inicia el caso de uso, la interfaz muestra los datos de cada uno de los
waypoints que son propiedad del usuario actual, as como los datos del punto
asociado con cada waypoint.
De forma opcional, el usuario puede requerir visualizar ms datos, lo cual hara que
se mostrasen, los datos de el waypoint seleccionado, comprobndose previamente
el usuario actual, los datos del punto asociado y los datos de los ficheros asociados
al waypoint.
El diagrama de secuencia se muestra en la Figura 25
51
Interface
Usuario
Waypoint
Punto GPS
Fichero
: Usuario
Ver Waypoint
*Mostrar_Waypoints
Datos_punto
Datos_punto
Ficheros_waypoint
Mostrar datos
Figura 24- Diagrama de secuencia del caso de uso ver waypoints comunes
52
Interface
Session
Usuario
Waypoint
Punto GPS
Fichero
: Usuario
Ver Waypoint
Comprobar
[id usuario]
Mostrar datos
*Mostrar_Waypoints_usuario
Datos_punto
Mostrar datos
Mostrar_waypoints_usuario
Datos_punto
Ficheros_waypoint
Figura 25- Diagrama de secuencia del caso de uso ver waypoints propios
53
El caso de uso comienza cuando el usuario requiere visualizar todas las rutas
almacenadas en la BD
Cuando el usuario determina que quiere ver las rutas, el objeto rutas recoge los
puntos de inicio y fin de cada ruta, los datos del propietario y los muestra en la
interfaz.
El caso de uso comienza cuando el usuario requiere visualizar todas sus rutas
almacenadas en la BD.
Cuando el usuario determina que quiere ver las rutas, lo primero que se hace es
comprobar el usuario activo y luego se recogen los datos de las rutas.
54
Interface
Usuario
Rutas
Punto GPS
Imagen 3D
Imagen 2D
: Usuario
Ver rutas
Mostrar rutas
Datos inicio-fin
Mostrar datos
[opcion] Ver 2D y 3D
Crear
Crear Latitud-Longitud
Crear Altura
Figura 26- Diagrama de secuencia del caso de uso ver rutas comunes
55
Interface
Session
Usuario
Rutas
Punto GPS
Imagen 3D
Imagen 2D
: Usuario
Ver rutas
Comprobar
[id usuario]
Mostrar datos
Datos inicio-fin
[opcion] Ver 2D y 3D
Crear
Mostrar
Crear Latitud-Longitud
Mostrar
Crear Altura
Mostrar
Figura 27- Diagrama de secuencia del caso de uso ver rutas propias
56
4.1.4.10.
WAYPOINT
El caso de uso comienza cuando el usuario necesita modificar o ampliar los datos
asociados a un waypoint, como por ejemplo aadir un fichero o darlo de baja.
Cuando se requiere modificar datos, se nos muestran los datos del waypoint (caso
de uso ver waypoint), y se nos proporciona la posibilidad de modificar los datos o
bien aadir ficheros asociados al waypoint. Si se decide modificar, los valores
actuales se graban en el objeto waypoints y se devuelve el control al usuario.
Interface
: Usuario
Waypoints
Fichero
Modificar
Modificar
aadir
57
Una transicin conecta siempre dos estados. Cuando un objeto est en un estado, es
sensible a los eventos correspondientes a las transiciones que salen del mismo.
Una transicin que deja un estado define la respuesta de un objeto en ese estado a la
ocurrencia de un evento. En general, la transicin tiene un evento que la activa, una
condicin de guarda, una accin y un estado destino.
Se definen cuatro estados para el objeto GPS, apagado, esperando por datos,
recibiendo datos o transmitiendo datos.
El estado transmitiendo datos comprende a todas las situaciones en las que el objeto
est transmitiendo, siendo estas, transmitiendo el tipo de receptor, transmitiendo la
hora, transmitiendo la lista de waypoints y transmitiendo la lista de puntos GPS.
58
Encendido
Esperando
Apagado
Recibiendo
Transmitendo
4.2.
DB01TB01
Tabla con los usuarios de la aplicacin.
db010010 (Entero)
db010020 (Char(50))
db010030 (Char(50))
db010040 (Entero)
db010050 (Char(50))
59
DB02TB01
Tabla de las rutas almacenadas en la aplicacin.
db020010 (Entero)
Identificador de la ruta.
db020020 (dd/mm/aaaa)
db020030 (Char(50))
Nombre de la ruta.
db020040 (Entero)
DB03TB01
Tabla de relacin entre las rutas y los puntos que la componen.
db030010 (Entero)
db030020 (Entero)
db030030 (Real)
db030040 (Real)
DB04TB01
Tabla con los puntos GPS.
db040010 (Real)
db040020 (Real)
db040030 (Real)
db040040 (Entero)
db040060 (Real)
60
DB05TB01
Tabla con los datos de los waypoints
db050010 (Entero)
Identificador de waypoint
db050020 (Char(100))
db050030 (Real)
db050040 (Real)
db050050 (Real)
db050060 (Entero)
db050070 (char(50))
DB10TB01
Tabla con los ficheros asociados a cada waypoint.
db100010 (Entero)
db100020 (Char(100))
db100030 (Entero)
Nmero secuencial.
db100040 (Entero)
61
62
63
4.3.
LENGUAJES Y HERRAMIENTAS
<HTML>
<HEAD>
<TITLE>
</TITLE>
</HEAD>
<BODY>
</BODY>
</HTML>
64
4.3.2. VBSCRIPT
Como tanto el Visual Basic Script ( en adelante VBScript) y Java Script ( en adelante
JScript) son lenguajes de script totalmente vlidos, y, en a ciertos niveles, casi
parejos, se decidi utilizar el VBScript, para proporcionar un aspecto de globalidad a
la aplicacin. Por lo tanto, los componentes de comunicacin, el gestor de BD e
incluso la tecnologa aplicada al proyecto es propiedad de Microsoft. Por lo tanto es
una buena pauta a seguir el unificar todos los herramientas utilizadas bajo este tipo
de plataformas.
65
Con la finalidad de adaptar el Visual Basic a su ejecucin sobre web, fue necesario
restringir algunas de sus instrucciones:
No
puede
usar
las
instrucciones
condicionales
DoEvents,
66
Cuando se incluye dentro de una pgina HTML cdigo en script, es cierto que se le
proporciona cierto nivel de dinamismo aunque con la potencia que ofrece el
VBScript, las pginas son estticas, es decir, siempre es la misma pgina la que
muestra los mismos datos en el mismo orden. Si se quiere obtener una aplicacin
sobre web, con acceso a datos, o con una lgica ms o menos complicada, se necesita
incorporar una interfaz comn de salida, en ingls Common Gateway Interfaz (en lo
sucesivo CGI) o de una tecnologa como la de paginas activas en el servidor, en
ingls Active Server Pages ( a partir de ahora ASP).
Tal y como se ha comentado, el sistema englobara toda la aplicacin sobre el entorno
Microsoft, con lo que las opciones quedan reducidas a utilizar CGI con Visual Basic
o bien paginas ASP. El hecho de que los CGI sean compilados y se tenga que
recompilar con cada modificacin, apunta a la idoneidad de desarrollar el cdigo
servidor en ASP.
La facilidad para conectar las pginas ASP con BD y, extraer y mostrar los datos de
la misma en el navegado de una forma dinmica, es la razn principal de su extenso
uso en Internet. Mediante los drivers de conexin a datos, Open Data Base
Conectivity (a partir de ahora ODBC), las pginas ASP se pueden conectar con BD
SQL, Access, Oracle, o cualquier otro gestor de bases de datos que disponga del
driver adecuado.
Para poder procesar una pgina ASP no existe ninguna restriccin especial en el lado
cliente de la comunicacin, ya que el navegador nicamente recibe pginas HTML,
por tanto se pude utilizar cualquier navegador existente (Internet Explorer o
Netscape Comunicator). Sin embargo el servidor de pginas ASP requiere tener
67
instalado la librera ASP.dll para poder interpretar el cdigo ASP de las pginas. En
la actualidad unicamente los servidores de web Internet Information Server 3.0 o
superior, y el Personal Web Server ambos de Microsoft contienen el software
necesario para proporcionar servicio ASP. En el caso de plataformas Unix existen
servidores que aadindoles software adicional pueden procesar pginas ASP,
como por ejemplo el servidor web Chilisoft, el Instant ASP o bien el Apache,
aunque ste ltimo slo soporta ASP codificado bajo Perl.
Para que el interprete ASP reconozca cdigo ASP, ste tiene que estar enmarcado
por los tags <% en el inicio, y %> al final del cdigo..
Adems de los cdigos HTML habituales una pgina ASP puede contener cdigo
script con el fin de aadir dinamismo a las pginas finales. Este cdigo script
puede estar escrito tanto en Vbscript como en JScript.
En una pgina ASP se puede declarar dentro del cdigo propio de ASP variables con
el fin de mejorar la legibilidad del cdigo. En ASP todas las variables son de tipo
Variant, por lo cual lo nico que se tiene que hacer es determinar el nombre y
dimensionarlo:
<%
dim saludo
saludo = Hola, buenos das
%>
Al igual que en Visual Basic, no es necesario declarar todas las variables, pero es una
buena prctica. Para asegurar que todas las variables que se usen tengan que estar
declaradas se puede incluir la instruccin Option Explicit dentro del cdigo
ASP y as, de esta forma, se nos avisar de las variables no declaradas con un error.
68
<%
Option explicit
dim saludo
saludo = Hola, buenos das
%>
Los objetos ASP son programas compilados e instalados en el servidor que han sido
programados para realizar un conjunto de operaciones fcilmente accesibles por las
pginas. Estas operaciones se denominan mtodos.
Las pginas ASP proporcionar un modelo de objetos que facilita el uso del lenguaje
ASP. Estos objetos son:
Objeto Application
Nombre
Eventos
Application_OnEnd
Descripcin
Se ejecuta al terminar la
ejecucin del servidor web
Se ejecuta cuando entra por
Application_OnStart
Mtodos
Lock
69
Unlock
Contents.Remove
Contents.RemoveAll
Desbloquea el objeto
Elimina un tem especifico de
la coleccin Contents
Elimina todos los tems de la
coleccin Contents
Contiene los tem aadidos al
Colecciones
StaticObjects
Contents
Objeto ASPError
Nombre
Propiedades
ASPcode
ASPDescription
Descripcin
Cdigo de error
Descripcin del cdigo de
error
Cadena que indica si se trata
Category
70
Description
File
Line
Number
Source
Objeto Session
Cuando un usuario invoca por primera vez cualquiera de los ficheros de una
aplicacin se le asigna un objeto Session. Este objeto ser utilizado por la aplicacin
para almacenar, compartir y recibir informacin del usuario. Por defecto, el objeto
ser destruido despus de 20 minutos de inactividad, aunque puede configurarse un
tiempo diferente, siendo una buena idea reducirlo si el servidor tiene una carga
elevada, a fin de que libere los recursos asignados al usuario cuanto antes.
Nombre
Propiedades
CodePage
LCID
Descripcin
El cdigo de caracteres usado
Identificador de zona para
definir los formatos de fecha,
71
Eventos
Session_Onstart
Session_OnEnd
Mtodos
Abandon
Contents.Remove
Contents.RemoveAll
Colecciones
Contents
Identificador de la sesin
Tiempo de inactividad para
destruir la sesin
Ocurre justo antes de crear el
objeto Session
Se ejecuta cuando se elimina
la sesin
Dar por terminada la sesin
Elimina un tem especifico de
la coleccin Contents
Elimina todos los tems de la
coleccin Contents
tems aadidos al objeto
Session
Contiene los tem aadidos al
StaticObjects
Objeto Request
72
Nombre
Propiedades
TotalBytes
Mtodos
BinaryRead (count)
Colecciones
ClientCertificate
Cookies
Form(Elemento)
QueryString
(Elemento)
ServerVariables
Descripcin
Nmero total de bytes
enviados por el cliente al
servidor en el cuerpo de la
llamada http
Datos que han sido enviados al
servidor desde el cliente a
partir de un formulario. El
parmetro count indica el
numero de bytes a leer.
Esta coleccin tiene utilidad si
estamos escribiendo una
aplicacin que utiliza el
protocolo Secure Socket
Layers (SSL)
La coleccin Cookies asigna
datos a un fichero existente, y
si ste no existe, crea uno
nuevo donde almacena estos
datos
Elementos de un formulario
usando el mtodo post, donde
Elemento es el nombre del
elemento del formulario que se
quiere recibir desde el
navegador
Los elementos del formulario
usando el mtodo get
Esta coleccin contiene el
valor de las variables de
entorno del servidor
73
Objeto Response
Buffer
CacheControl
Charset
ContentType
Expires
ExpiresAbsolute
IsClientConnected
Status
Colecciones
Cookies
Mtodos
AddHeader
Descripcin
Indica si la pgina HTML se
enviara una vez acabado la
traduccin ASP o bien se
enviar a la vez que se traduce.
Esta propiedad permite a los
servidores proxy guardar en
su cache una copia de la
respuesta ASP
Define la tabla de caracteres a
usar durante la codificacin de
la pgina.
Esta propiedad especifica el
tipo de contenido del request
HTTP
Indica el nmero de minutos
que deben transcurrir antes de
que la copia de la respuesta en
las caches del navegador sea
eliminada.
Igual que la anterior pero
define una fecha y horas
exactas para ser eliminada
Con esta propiedad se puede
saber si el cliente continua
conectado al servidor desde la
ltima vez que la aplicacin
escribi algo en la pantalla
Esta propiedad especifica el
valor de la lnea de estado
HTTP devuelta por el servidor.
Asigna los valores a los
ficheros temporales del
navegador ( cookies )
Este mtodo permite aadir
una nueva cabecera a la
respuesta http
74
AppendToLog
BinaryWrite
Clear
End
Flush
Redirect
Write
Objeto Server
Nombre
Propiedades
ScriptTimeOut
Mtodos
CreateObject
Execute
GetLastError
Descripcion
Esta propiedad especifica el
tiempo, medido en segundos,
disponible por una pgina o
script para ejecutarse.
Crea instancias de los objetos
en el servidor
Permite llamar desde una
pgina ASP a otra pgina ASP
Devuelve el ltimo error de
una pgina ASP
75
HTMLEncode
MapPath
Transfer
URLEncode
Ya que toda la aplicacin estar soportada por entornos Microsoft, el servidor de web
tendr que ser o bien Personal Web Server (a partir de ahora PWS) de NT 4.0 o
bien el IIS de Microsoft Windows 2000 y posteriores. La razn para utilizar el IIS es
su capacidad para soportar lenguaje ASP, tal y como acabamos de comentar,
unicamente los servidores de Web propios de Microsoft tienen incluido entre su
cdigo fuente el software necesario para tratar ASP.
Los problemas principales tanto del IIS como del PWS es su falta de seguridad frente
a virus (tipo RedCode o Nimda) y ante ataques de hackers informticos. De
todas formas se trabaja para corregir estos problemas. En la pagina oficial de
Microsoft [MICR-02] existen diversos parches y consejos para minimizar los
riesgos.
76
El IIS 5 incluye soporte para los ltimos estndares usados en Internet. Implementa
el protocolo HTTP 1.1, compresin HTTP, SSL 3.0, CGI, y el servicio WebDAV que
permite la gestin remota del contenido de un directorio en un servidor web.
Una aplicacin de tres capas es aquella cuya funcionalidad se pueden dividir en tres
capas lgicas:
Capa de presentacin.
Capa de aplicacin.
Capa de datos.
77
Es muy importante destacar que, a pesar de que los componentes residen en este
nivel, uno de los servicios que proporcionan al usuario es la capacidad de ejecutar
funciones de aplicacin.Aunque la lgica de aplicacin se encapsula en componentes
la capa de aplicacin, los componentes de la capa de presentacin permiten al
usuario tener acceso a todos los procesos.
78
Los componentes de la capa de aplicacin tambin nos sirven para evitar que el
usuario tenga acceso directo a la Base de Datos. Las tareas de negocio que ejecutan
estos componentes, como escribir registros, imprimir listados, etc. quedan definidas
por los requisitos de la aplicacin. Por lo tanto, una buena razn para dividir la lgica
de aplicacin en componentes, es la probabilidad de que dicha lgica cambie,
teniendo que rescribir el cdigo de la aplicacin. De este modo, se rescribe
nicamente el componente correspondiente a la lgica de negocio afectada.
79
Capa de datos
La capa de datos incluye las tpicas tareas de gestin de datos: altas, bajas,
modificaciones, etc. La clave est en que las funciones de aplicacin no se
implementen aqu. Aunque un componente de la capa de datos es responsable de la
gestin de las peticiones realizadas por un objeto de aplicacin, no lo es de
implementar los papeles de negocio.
Una vez definidos los entornos y la metodologa de trabajo ser necesario estudiar el
modo de trabajo del usuario final. El usuario necesitar que la aplicacin se conecte
con el receptor GPS con la finalidad de realizar la transferencia de datos. El
problema con el cual nos encontramos es que mediante los mtodos descritos hasta el
momento, HTML, VBScript, ASP, es imposible acceder al equipo cliente. Esta
limitacin, integrada en el propio HTML y en el navegador, est concebida para
proteger el equipo cliente de ciertas actividades de los usuario de la red. Para
solventar este problema existen varias soluciones, definir la comunicacin sobre un
plugin para el navegador, o crear un componente OCX que se comunique con el
receptor GPS desde el propio navegador. La primera de las soluciones es quiz la
ms elegante, pero requerir que el usuario final instale el plugin en su maquina
despus de cada modificacin, caracterstica poco deseada. Crear un componente
OCX e incluirlo en las pginas, provoca una cierta lentitud al cargar las pginas, ya
80
que a priori se carga y se instala en el sistema con cada acceso. El sistema ActiveX
de Microsoft evita esto ltimo e incluso proporciona la ventaja de controlar la
versin de los componentes que en caso de no tener la versin adecuada, reinstala el
OCX sin necesidad de ninguna accin por parte del usuario, excepto la de dar su
autorizacin.
81
Los mdulos tienen unas caractersticas de autonoma propia. Por tanto, debe ser
cdigo binario (compilado) que sea capaz de definir cuando iniciar y cuando
terminar su ejecucin.
Hay que tener en cuenta que en estos momentos, unicamente pueden visualizarse
pginas con controles ActiveX mediante Microsoft Internet Explorer 3.x o
superior. Se deber esperar a las prximas versiones del navegador de Netscape
para poder utilizarlo con dichos controles. Alternativamente, se puede usar el
plugin de la empresa NCompass Labs Inc., que permite usar controles ActiveX
desde Navigator.
La estructura del tag de insercin de objetos ActiveX en el codigo HTML, en
la forma <OBJECT..> ....... </OBJECT>, es:
<OBJECT ID=......
CLASSID=...
CODEBASE=...
ALIGN=...
BORDER=...
WIDTH=...
HEIGHT=...
<PARAM NAME=... VALUE=...>
...
</OBJECT>
82
donde:
Campo
Descripcin
Un identificador nico que sirve para referenciar los
ID
ClassID
Codebase
Width y Height
Align
Border
Parmetros
4.3.7. VRML
A mayores de las imgenes generadas por el OCX, la aplicacin muestra los datos de
la ruta en un entornos tres dimensiones. Para la creacin de esta representacin se
estudiaron diversos productos, aunque el nico viable resulto ser el VRML debido
principalmente a su sencillez, a lo rpido que se transmite y a que nicamente
requiere de un pequeo plugin para poder verse.
83
VRML son las siglas de Virtual Reality Modeling Languaje, es decir lenguaje de
modelado de realidad virtual. A diferencia del HTML, donde se marcan o etiqueta el
texto para formatearlo, en el VRML se disean
objetos tridimensionales y su
Ante el amplio apoyo recibido en dicha conferencia y junto a la ayuda ofrecido por la
publicacin periodica revista Wired, se estableci una lista de correo con el objetivo
de conseguir una primera especificacin del lenguaje.
84
Sin embargo se observ que los mundos estticos no satisfacan todas las
necesidades para las cuales haba sido creado
VRML 2.0 permite interactuar con el mundo virtual, sin embargo no es posible
interactuar con otros usuarios que estn accediendo a ese mismo mundo. Living
85
Mdulo de comunicaciones
Mdulo de visualizacin
86
Modulo
negocio
Modulo de
acceso a BD
Modulo de
visualizacin
Modulo de
comunicacin
CLIENTES
Figura 32- Mdulos del sistema
87
En
el
mdulo
de
comunicaciones,
los
objetos
GPS_GARMIN,
CONTROL_FTP
Puerto
Descripcin
Identifica el puerto de donde se
recogen los datos
Mtodos
Estado
Inicializa_gps(puerto)
Termina_gps(puerto)
Cierra la comunicacin en el
puerto indicado
Get_product_data(puerto)
Get_waypoint_data(puerto)
Get_track_data
88
Todas las funciones devuelven una cadena de caracteres con los datos en formato
XML, con lo que se consigue una cierta independencia de la implementacin, y un
gran portabilidad a otros entornos.
Nombre
Mtodos
Subir_fichero(txtFileLocal,
txtFileRemote,
txtUsuario,
sobreescribir)
Descripcin
Envia el fichero txtFileLocal
txtServidor, al
servidor
de
FTP
El
campo
sobrescribir determina si se
sobrescribe el fichero en el
destino.
Tabla 21- Propiedades y mtodos del OCX control_FTP
89
Nombre
Propiedad
Color_fondo
Descripcin
Marca el color del fondo de
la imagen. Por defecto es
blanco.
Color_punto
Tipo_bmp
Mtodos
Carga (datos )
Se genera el archivo de
imagen seleccionado con los
datos. Estos datos tienen que
estar formateados en XML.
90
O Caurel (Lugo)
Ruta y posicionamiento de la cueva Tara do Tarelo
Ruta y posicionamiento de la cueva Chan do lindeiro
Murcia
Asturias
Cantabria
Como ltimo punto de la validacin sealar que el director del proyecto abandono la
aplicacin que utilizaba habitualmente, el Waypoint + , sustituyndolo por el
presente desarrollo.
91
7. CONCLUSIONES
En los ltimos aos se ha observado un fuerte crecimiento en las reas de aplicacin
de los sistemas de posicionamiento global por satlite, y su diversificacin a todo
tipo de usuarios.
Con esto en mente, el presente proyecto aporta una potente herramientas para el
tratamiento de los datos en un entorno cliente-servidor. Adems, el uso de sistemas
gestores de BD aporta todo tipo de funcionalidades: generacin de vistas, integridad
de los datos, consistencia, niveles de seguridad,
Se puede concluir que la aplicacin resultante de este proyecto, cubre con creces las
necesidades iniciales de los usuarios.
Como es lgico, todo proyecto o sistema es un ente en continua evolucin. Entre las
posibles alternativas de futuro, destacan las posibilidades relacionadas con la
visualizacin 3D de las rutas sobre mapas topogrficos, permitiendo la visualizacion
92
a tamao real desde un entorno de realidad virtual. En este mbito, se abre todo un
mundo de posibilidades del entorno de sistemas inmersivos e iterativos y su
aplicacin en los sistemas de posicionamiento por satelite.
8. GLOSARIO DE TRMINOS
A-S
Banda L
C/A
Death Lock
DLL
Efemrides
HOW
(Hand Over World) Valor que marca la diferencia de ngulo entre las
dos seales que componen la seal GPS.
NAVSTAR
NMEA
ODBC
PVT
SA
93
TTFF
UTC
Waypoint
Punto en el camino
BIBLIOGRAFA
Sistemas de posicionamiento global por satlite
[1] Navstar
GPS.
http://www.tel.uva.es/~jpozdom/telecomunicaciones/
portadagps.html. 2002
[2] GPS Support center. http://www.spacecom.af.mil/usspace/gps_support/. 2002
[3] Documentos
de
inters
para
GPS.
http://www.uco.es/~bb1rofra/
documentos.html. 2002
[4] Descripcin tcnica del GPS. http://dique1.ls.fi.upm.es/cuco/Documentos/
desgps.html. 2002
[5] Sistema de localizacin por satlite. http://www.eveliux.com/articulos/
gps01.html. 2002
[6] Mundo GPS. http://www.mundogps.com/. 2002
[7] GPS el sistema de posicionamiento global. http://www.nautigalia.com/gps/.
2002
[8] Jose Antonio Pardias Garca: GPS: Sistema de Posicionamiento Global.
Universidad de Santiago de Compostela. 1998
[9] El receptor GPS. http://members.tripod.com/~isolmar/gps.htm. 2002
[10]
94
[13] F. Lahaye, P. Collins, P. Heroux, M. Daniels, J.Popelar. Innovation Monitoring GPS Receiver and Satellite Clocks in Real Time: A Network
Approach.. GPS World Vol.12, No.11, pag 44, 2001
UML
[14] James Rumbaugh, Ivar Jacobson, Grady Booch: El lenguaje unificado de
modelado. Manual de referencia. Addison Wesley. 1999
[15] UML-Resource page. http://www.omg.org/technology/uml/. 2002
Herramientas y lenguajes
[16] Formato HTML. http://sestud.uv.es/manual.esp/indice.htm . 2002
[17] Herramientas de desarrollo. http://www.auladigital.com/. 2002
[18] Programacin en Visual Basic. http://www.terra.es/personal/jrcabrera/. 2002
[19] J. Bobadilla, A. Alcocer, S. Alonso, A. Gutierrez: HTML Dinmico, ASP y
Javascript a travs de ejemplos. Ra-Ma. 1999
[20] ASP. http://www.ayudaasp.com. 2002
[21] Chris Ullman, Ollie Cornes, Juan T. Libre, Chris Goode: Beginning
ASP.NET Using VB.NET. VRAX. 2000
[22] Baltazar Birnios, Mariano Birnios, Baltazer Birnios : MS Visual Basic 6.0.
MP Ediciones. 2000
[23] WEB 3D. http://www.wmaestro.com/web3d/. 2002
[24] VRML. http://www.iaz.com/iaz/cad/curso_vrml/welcome.html. 2002
[25] Windows DNA: Informacin. http://www.iespana.es/helpdna/prdnaart.htm.
2002
[26] MSDN en lnea. http://www.microsoft.com/latam/msdn/articulos/1999/09/
art04/. 2002
[27] Documentacin sobre DNA. http://www.terra.es/personal/jrcabrera/dna/
dna.htm. 2002
[28] Sten Sundblad, Per Sundblad, Sten : Designing for Scalability with
Microsoft Windows DNA. Microsoft Press. 2000
95
REFERENCIAS
[GART-02]
[JOGM-02]
Software
JOGMAN
http://www.mundogps.com/mundogps/
descarga/software/jogman.zip. 2002
[COMP-02]
descarga/software/lockCompass.zip. 2002
[SPEE-02]
Software
SpeedTrap
http://www.mundogps.com/mundogps/
[OZIE-02]
Software
OziEXPLORER
http://homepage.powerup.com.au/
~oziexp2/esp/oziexp_esp.html. 2002
[TRAK-02]
[WAYP-02]
[MICR-02]
96
Configuraciones previas
Para poder utilizar correctamente la aplicacion es necesario modificar la
configuracin de seguridad del Internet Explorer (a partir de ahora IE) para que
permita que los componentes ActiveX, insertados en la aplicacin, puedan ser
utilizados sin problemas.
En el men de Herramientas de la barra superior del IE, seleccionamos la opcin
Opciones de Internet
97
98
Manejo de la aplicacin
99
En ese momento el sistema nos comunicar el modelo y versin del receptor GPS
conectado mediante un mensaje emergente.
100
En esta pantalla se seleccionan las rutas a insertar en la base de datos con los datos
correspondientes. Si se quiere aadir los puntos de inicio y fin de una ruta como
waypoint, se deber marcar la opcin correspondiente.
Cuando el usuario est seguro de lo que quiere insertar, solo tenemos que pulsar
sobre Enviar datos.
Desde la pantalla actual se puede acceder a las rutas almacenadas por el usuario en la
BD o a todas las rutas almacenadas en el sistema, pulsando sobre Ver rutas usuario
o Ver todas las rutas respectivamente.
101
102
103