Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Silo - Tips - Desarrollo de Un Sistema Gestor de Rutas de PDF
Silo - Tips - Desarrollo de Un Sistema Gestor de Rutas de PDF
INFORMÁTICA DE XESTIÓN
RESUMEN ............................................................................................................. 3
1. INTRODUCCIÓN ...................................................................................... 4
4.1. MODELADO........................................................................................................... 40
7. CONCLUSIONES .................................................................................... 92
BIBLIOGRAFÍA.................................................................................................. 94
REFERENCIAS ................................................................................................... 96
I
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
ÍNDICE DE FIGURAS
Figura 1- Segmentos del sistema de satélites ............................................................ 6
Figura 2- Constelación de satélites ........................................................................... 7
Figura 3 - Segmento de control................................................................................. 8
Figura 4- Posicionamiento mediante esferoides ........................................................ 9
Figura 5- Composición de la señal 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 transición de estados del objeto GPS ................................ 59
Figura 30- Representación lógica de la Base de Datos ............................................ 62
Figura 31- Representación física de la Base de Datos ............................................. 63
II
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
III
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
IV
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
1
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
2
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
RESUMEN
El sistema resultante de este proyecto, desarrollado bajo una interfaz web usando
tecnología Distributed interNet Aplications (en adelante DNA), permite un acceso
directo del receptor GPS a una BD compartida entre todos los usuarios de la
aplicación. La tecnología DNA proporciona en todo momento un servidor virtual de
web, otro de aplicación y un tercero de datos, aun cuando los tres sean el mismo
físicamente o, por ejemplo, el servidor de datos esté distribuido entre varias
máquinas 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 comunicación
directa con el receptor y que proporcione un alto grado de integridad, ciertos niveles
de seguridad, y, entre otros, un adecuado entorno de visualización, tanto en 2D como
en 3D.
PALABRAS CLAVE
3
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
1. INTRODUCCIÓN
Las técnicas de posicionamiento y navegación por satélite y por GPS, han
evolucionado de manera vertiginosa desde su aparición, traspasando los fines para
los que en un principio fueron diseñadas 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 electrónicos, los que han permitido que estas
técnicas lleguen a todo tipo de usuarios, traspasando la pequeña comunidad militar o
científica para las que fueron diseñadas. Aunque el posicionamiento global por
satélite nació con fines militares, continuamente se le están encontrando nuevos usos
civiles.
La tecnología GPS puede ser utilizada en cualquier lugar, menos en aquellos en los
cuales es imposible recibir señal, como por ejemplo dentro de edificios, subterráneos
o bajo el agua. En el aire, los GPS son utilizados para la navegación aérea, tanto en
aeronáutica militar como en aviación comercial y general. En el mar, los GPS
también son utilizados por aficionados a la náutica, pescadores y marinos
profesionales. Las aplicaciones terrestres en cambio están más diversificadas. La
comunidad científica, por ejemplo, utiliza la tecnología GPS para obtener datos de
posición y tiempo muy precisos.
Los usos recreativos del GPS son casi tan numerosos como el número 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 ubicación o posición geográfica, encontrar su
camino quizás en medio de condiciones hostiles o saber la dirección y velocidad en
que se desplaza puede sacar provecho de los beneficios del Sistema de
Posicionamiento Global.
La aplicación presentada abordará el diseño 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,
4
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
5
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
El sistema NAVSTAR – GPS, al igual que cualquier otro sistema de satélites, está
constituido por tres segmentos:
1. Segmento espacial
2. Segmento de control
3. Segmento de usuario
6
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
7
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
8
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
Aunque el cálculo de
los retardos temporales
entre 3 de los satélites
y el receptor GPS
proporcionan un punto
Figura 4- Posicionamiento mediante esferoides
en el espacio (Xi, Yi,
Zi), esta situación exigiría una precisión extraordinaria y una gran estabilidad de los
relojes, tanto del satélite como del receptor. Si bien los satélites cumplen estas dos
condiciones, puesto que incorporan un reloj atómico, este no es el caso de la gran
mayoría de los receptores. La solución a este problema introduce una nueva
incógnita en el sistema de ecuaciones debido a la diferencia existente entre el reloj
del satélite y el reloj del usuario, lo que conlleva a la utilización de un cuarto satélite
como mínimo.
La suposición de que el sistema GPS se basa en distancias es ahora falsa , tal y como
se ha visto en el cálculo de la distancia. En realidad no se miden distancias sino
pseudodistancias.
9
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
Supongamos:
entonces
Siendo “ ∆T ” el tiempo transcurrido entre que la señal parte del satélite hasta que
llega al receptor, “ ∆Tmedido ” la diferencia de tiempo entre el reloj atómico del satélite
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
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
[6] R i = R i’ - ( • c )
Como las coordenadas de cada satélite son conocidas, se tienen cuatro ecuaciones,
una por satélite, 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 satélite “i” en el momento de
enviar la señal.
Con las cuatro ecuaciones, 1 por cada satélite, se genera un sistema de ecuaciones
con cuatro incógnitas que proporciona una única solución.Si existen mas de cuatro
satélites visibles, se calculan las pseudodistancias respecto a todos ellos, obteniendo
así un sistema con más ecuaciones que incógnitas, simplificando considerablemente
el cálculo de la posición.
Tanto el código C/A como el código P pueden ser utilizados para el cálculo de las
pseudodistancias entre el satélite y el usuario; sin embargo, el código P está
normalmente cifrado. Cuando está cifrado, el código P se denomina código Y. Sobre
estos dos códigos, el código C/A y el código P (o Y si está cifrado), se superpone el
11
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
mensaje de navegación del GPS. Este mensaje proporciona información tal como la
hora del satélite, los datos orbitales precisos de cada satélite (a partir de ahora
efemérides) o los datos relacionados con los parámetros orbitales de toda la
constelación de satélites.
El acceso al servicio PPS está controlado mediante dos sistemas que incorporan
técnicas criptográficas, “Disponibilidad Selectiva”, en inglés Selective Avaliability
(a partir de ahora SA) y técnicas de autenticación de “anti-spoofing”(en adelante A-
S). La técnica SA se usa para reducir la precisión de la posición GPS, la velocidad e
incluso el tiempo a los usuarios no autorizados. El sistema A-S opera introduciendo
un error pseudoaleatorio dentro de la señal del satélite y permanece activo en todos
los satélites con el fin de proteger la señal de una posible intromisión o modificación
en los datos de la misma.
12
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
Los receptores PPS pueden utilizar tanto el código P como el C/A, o bien los dos a la
vez. El mayor nivel de fiabilidad se alcanza con los códigos P de las dos señales L1 y
L2 conjuntamente. Aun cuando un receptor esté diseñado para soportar el servicio de
posicionamiento preciso, normalmente se utiliza el código C/A para establecer la
comunicación con los satélites.
El código C/A está compuesto por una señal de ruido de 1023 bits pseudoaleatorios
(PRN) con una frecuencia de 1.023 MHz. La longitud corta de la secuencia del
código C/A está diseñada para permitir al receptor una rápida adquisición de la señal
del satélite que incluye la señal con el código P. Cada satélite GPS tiene asignada
una secuencia PRN diferente, seleccionada de entre un grupo de códigos
denominados “Gold codes”. Estos códigos están diseñados para minimizar la
probabilidad de que el receptor GPS confunda un código con otro. El código C/A
sólo es transmitido junto con la señal L1. Este código no está cifrado y está
disponible para todos los receptores GPS.
13
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
El código P (o bien código Y si está cifrado) es una señal PRN con una frecuencia de
reloj de 10.23 MHz y un periodo de 267 días. Cada uno de los satélites GPS tiene
asociado un único segmento de 7 días, el cual se reinicia cada medianoche del
domingo, asignando secuencias semanales distintas a cada satélite. El código P está
normalmente cifrado con la finalidad de proteger la señal. El código P es transmitido
por cada satélite tanto en la señal L1 como en la L2.
La señal de datos enviada por el satélite, de una frecuencia de 50Hz, está superpuesta
tanto sobre el código P(Y) como sobre el código C/A. El mensaje de navegación
incluye datos únicos del satélite emisor y ciertos datos comunes a todos los satélites.
Los mensajes del satelite contienen la siguiente información:
El mensaje de navegación 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 señal 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 información crítica del satélite emisor cada 30 segundos. La
14
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
subtrama Nº 1 contiene la información sobre el modelo para corregir los errores del
reloj, así como parámetros sobre la precisión y el funcionamiento del satélite emisor.
La segunda y la tercera subtramas contienen información precisa de la órbita del
satélite emisor, parámetros necesarios para el cálculo de la posición exacta del
satélite, que se utilizan para obtener la pseudodistancia entre el satélite y el receptor.
Las subtramas cuarta y quinta varían en cada uno de las 25 tramas, y contienen la
información común a todos los satélites y los datos menos críticos para el receptor
GPS.
15
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
16
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
17
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
La idea principal del sistema DGPS se basa en el hecho de que los satélites están
situados a una gran altura 20200 Km. Ante esta situación, el tiempo que tarda la
señal en llegar a dos puntos cualesquiera situados a una distancia considerable entre
si, por ejemplo 200 Km, debería contener el mismo error de medición.
18
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
19
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
20
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
• Entrada RTCM. Soporte para la entrada de datos en formato RTMC SC-104 sin
necesidad del uso de una radiobaliza.
• RTMC/NMEA. Permite la entrada de datos mediante el estándar RTMC SC-104
a la vez que permite una salida de datos en formato NMEA 0183 versión 2.0.
• RTMC/texto. Soporte para la entrada de datos en formato RTMC SC-104 y salida
en formato texto.
21
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
Todas las sentencias enviadas en formato estándar NMEA tienen dos primera letras
de prefijo las cuales definen el periférico que utilizan esa sentencia (para los
receptores GPS, este prefijo es GP). Estos dos caracteres están seguidos por tres
letras que definen el contenido de la sentencia. Adicionalmente a las existentes, el
estandar NMEA permite a los fabricantes la definición de sentencias propias. Todas
las sentencias nuevas deberán comenzar con el carácter “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 línea. El formato NMEA
incluye todos los datos necesarios separados mediante comas en forma ASCII.
GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*42
22
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
23
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
La versión actual del estándar NMEA es la llamada 0182 Versión 2. Este estándar
define que la transmisión se debe hacer a 4800 baudios. Diversas versiones anteriores
del estándar NMEA requieren diferentes velocidades de transmisión, así la versión
0182 requiere 1200 baudios y la 0183 Versión 1.5, solo aceptada por algunos
receptores de la marca Garmin, transmite a una velocidad de 9600 baudios.
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 constelación de
24
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
25
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
Con este proceso se permite que el carácter 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 ningún otro paquete hasta que se recibe el paquete ACK o NAK.
El paquete ACK tiene un identificador igual al carácter 6 del código ASCII, mientras
que el paquete NAK tiene por identificador el carácter 21. Cualquiera de los dos
paquetes contiene un entero de 8 bits que determina el paquete de datos al cual
referencian.
26
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
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
Todos los GPS están diseñados para transmitir los datos relativos al receptor, tales
como el modelo, versión de software instalado, etc.
La Tabla 6 muestra la secuencia de paquetes correspondiente al protocolo de
transmisión:
27
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
Option Explicit
Public Product_ID As Integer
Public Software_Version As Integer
Public Product_Description_1 As String
Public Product_Description_2 As String
Esta sección describe la manera de hacerle llegar al receptor GPS las necesidades del
usuario. Todos los GPS admiten como mínimo 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 operación.
Hay que recordar que cualquiera de los dos lados de la comunicación (GPS o
computadora) pueden hacer una petición de transferencia de datos, por lo que la
aplicación que se esté comunicando con el GPS deberá considerar también las
peticiones del receptor.
28
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
El paquete 0 contiene los datos necesarios para indicar el comando requerido, esos
datos están codificados en un único entero de 16 bits conforme a la Tabla 8
29
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
El primer y el último paquete son los de inicio y fin estándar. El primero de los
paquetes se compone de un único entero de 16 bits que representa el número de
paquetes de datos que se envían a continuación (sin contar con el paquete
Pid_Xfer_Cmplt). El último de los paquetes también contiene un único entero, que se
corresponde con el “código de operación” que se acaba de completar.
30
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
Entre los datos suministrados por el receptor, los más destacables son el símbolo
(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 posición del “waypoint” representada mediante dos
enteros largos de 32 bits cada uno. Se define el tipo Semicírculo como:
31
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
Nombre del
N Dirección Tipo del paquete
paquete
0 Equipo 1ÍEquipo 2 Pid_Records Records_type
1 Equipo 1ÍEquipo 2 Pid_Trk_Data D301_Trk_Point_Type
2 Equipo 1ÍEquipo 2 Pid_Trk_Data D301_Trk_Point_Type
… … … …
n-2 Equipo 1ÍEquipo 2 Pid_Trk_Data D301_Trk_Point_Type
n-1 Equipo 1ÍEquipo 2 Pid_Xfer_Cmplt Command_Id_Type
El primer y el ultimo paquete son los de inicio y fin estándar. El resto de los paquetes
contienen datos del GPS con el formato D301_Trk_Point_Type definido a
continuación:
32
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
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 posición,
tiempo y velocidad del receptor GPS. Esta información se transmite desde el receptor
una media de una vez por segundo. El envío de datos en tiempo real se inicializa con
CMD_Start_Pvt_Data y se finaliza mediante el envío de un paquete de comandos
con el identificador CMD_Stop_Pvt_Data.
33
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
El envío 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 función para
preservar la continuidad y el orden de los datos.
34
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
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 número 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 días desde el 31 de diciembre de 1989 hasta el día 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 válida, si está comprendido
entre 2 y 3, es una muestra normal, si el valor es 4 o 5, la muestra es diferencial
35
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
Una tercera generación de aplicaciones para los GPS, entre la que se incluiría el
desarrollo del presente proyecto, son aquellas que permiten almacenar los datos del
receptor para posteriormente tratarlos en, por ejemplo, aplicaciones topográficas.
36
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
• Tracmaker V11.3 [TRAK-02], que aún siendo uno de los primeros programas en
aparecer y sin tener una apariencia espectacular, se ha hecho con un amplio
sector de los usuarios, que además de poder transferir sus datos a la
computadora, permite añadir imágenes de fondo, proporcionando un mayor
realismo a la representación.
37
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
• Waypoint + [WAYP-02], aplicación que aun siendo de las pocas que no tienen
una representación gráfica de la información, se mantiene gracias a que el
formato de almacenamiento se ha convertido en un estándar usado por la mayoría
de los grandes programas de representación gráfica de los datos GPS.
38
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
minuto. Otro beneficio derivado de utilizar una aplicación cliente-servidor, es que los
datos son compartidos entre todos los usuarios del web, lo cual permite crear un
catálogo de rutas y “waypoints” disponible para cualquier usuario.
4. METODOLOGÍA DE DESARROLLO
39
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
Para poder trabajar sobre un entorno web, lo más normal es utilizar HTML, DHTML
o XHTML, combinados con distintos OCX o applets.
La principal problemática 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
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
4.1.1. ACTOR
41
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
<<extend>>
<<extend>>
<<uses>>
Ver rutas comunes
Introducir rutas
<<uses>>
Usuario
Iniciar transmision GPS <<uses>> Identificarse
<<uses>>
Introducir Waypoints
<<uses>>
Modificar Waypoints
42
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
Waypoints
Id_way point
GPS Nombre Fichero
Puerto Descripcion Nombre
Tipo 1 Simbolo Tamaño
0..*
Comentario Tipo
Download_way p() 1 0..*
Download_tracks() Mostrar way points usuario() Ficheros_way point()
Iniciar reloj() Mostrar way points() Añadir()
Grabar()
1 Modif icar()
0..*
Puntos GPS
0..*
Latitud
Rutas
Longitud
Nombre Altura
Id_ruta Velocidad
Tiempo
Mostrar rutas usuario() 0..* 1..*
Mostrar rutas() Datos inicio-f in()
Grabar() Datos punto()
1 Grabar()
0..*
1
0..1
Imagen usuario
id usuario
Nombre
Apellidos
1
Mostrar datos()
Imagen 2D
Imagen 3D 0..1
session
Crear Latitud-Longitud()
Crear() IdUsuario
Crear Altura()
Mostrar()
Mostrar()
Comprobar()
43
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
[id_usuario]
Grabar_usuario
44
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
El caso de uso comienza cuando el usuario una vez autenticado, requiere que se
establezca la comunicación 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 comunicación , para
posteriormente inicializar la conexión con el receptor. Finalizado este proceso, la
interfaz realizará la llamada al objeto GPS que activará la comunicación a la vez que
inicializa el reloj interno.
Interface GPS
: Usuario
Seleccionar_puerto
Inicializar GPS
Inicializar ( puerto)
Activar Reloj
45
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
Interface GPS
: Usuario
Parar GPS
Stop ( puerto )
Desactivar Reloj
46
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
47
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
Introducir waypoints
download_wayp
*Seleccionar wayp
Insertar en BD
Comprobar
[Id Usuario]
*Grabar
Grabar
48
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
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
envío 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 cuestión.
49
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
Introducir rutas
download_tracks
*Seleccionar rutas
Insertar en BD
Comprobar
[Id Usuario]
*Grabar
*Grabar
50
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
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 haría 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 más datos, lo cual haría que
se mostrasen, los datos de el “waypoint” seleccionado, comprobándose 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
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
*Mostrar_Waypoints
Datos_punto
Ficheros_waypoint
Mostrar datos
Figura 24- Diagrama de secuencia del caso de uso ver “waypoints” comunes
52
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
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
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
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
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
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
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
Mostrar datos
[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
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
El caso de uso comienza cuando el usuario necesita modificar o ampliar los datos
asociados a un “waypoint”, como por ejemplo añadir 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 añadir ficheros asociados al “waypoint”. Si se decide modificar, los valores
actuales se graban en el objeto “waypoints” y se devuelve el control al usuario.
57
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
Una transición 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 transición que deja un estado define la respuesta de un objeto en ese estado a la
ocurrencia de un evento. En general, la transición tiene un evento que la activa, una
condición de guarda, una acción 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
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
Encendido
Esperando
Apagado
Recibiendo Transmitendo
DB01TB01
Tabla con los usuarios de la aplicación.
• db010010 (Entero) Identificador del usuario.
• db010020 (Char(50)) Nombre del usuario.
• db010030 (Char(50)) Apellidos del usuario
• db010040 (Entero) Número de accesos de los usuarios.
• db010050 (Char(50)) Contraseña del usuario.
59
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
DB02TB01
Tabla de las rutas almacenadas en la aplicación.
• db020010 (Entero) Identificador de la ruta.
• db020020 (dd/mm/aaaa) Fecha de toma de la ruta.
• db020030 (Char(50)) Nombre de la ruta.
• db020040 (Entero) Identificador del usuario que grabó la
ruta en la DB. (Clave foránea)
DB03TB01
Tabla de relación entre las rutas y los puntos que la componen.
• db030010 (Entero) Número de secuencia del punto dentro
de la ruta.
• db030020 (Entero) Identificador de la ruta. Clave foránea
• db030030 (Real) Latitud del punto GPS. Clave foránea
• db030040 (Real) Longitud del punto GPS. (Clave
foránea)
DB04TB01
Tabla con los puntos GPS.
• db040010 (Real) Latitud del punto GPS.
• db040020 (Real) Longitud del punto GPS.
• db040030 (Real) Altura del punto GPS.
• db040040 (Entero) Color del punto GPS.
• db040050 (dd/mm/aaaa hh:mm:ss) Hora en la que se tomo el punto.
• db040060 (Real) Profundidad del punto GPS. Es cero si
el punto GPS se encuentra por encima
del nivel del mar.
60
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
DB05TB01
Tabla con los datos de los “waypoints”
• db050010 (Entero) Identificador de “waypoint”
• db050020 (Char(100)) Comentario del “waypoint”.
• db050030 (Real) Latitud del punto GPS. Clave foránea
• db050040 (Real) Longitud del punto GPS. (Clave
foránea)
• db050050 (Real) Identificador del usuario que grabo el
“waypoint”. (Clave foránea)
• db050060 (Entero) Símbolo del “waypoint”.
• db050070 (char(50)) Nombre del “waypoint”.
DB10TB01
Tabla con los ficheros asociados a cada “waypoint”.
• db100010 (Entero) Identificador de “waypoint”. (Clave
foránea)
• db100020 (Char(100)) Nombre real del fichero.
• db100030 (Entero) Número secuencial.
• db100040 (Entero) Identificador del usuario que grabo el
fichero.
61
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
62
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
63
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
64
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
4.3.2. VBSCRIPT
Como tanto el Visual Basic Script ( en adelante VBScript) y Java Script ( en adelante
JScript) son lenguajes de “script” totalmente válidos, y, en a ciertos niveles, casi
parejos, se decidió utilizar el VBScript, para proporcionar un aspecto de globalidad a
la aplicación. Por lo tanto, los componentes de comunicación, el gestor de BD e
incluso la tecnología 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
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
Con la finalidad de adaptar el Visual Basic a su ejecución sobre web, fue necesario
restringir algunas de sus instrucciones:
• No existen tipos de datos, el VBScript utiliza únicamente el tipo de datos
Variant para almacenar la información.
• No existen las constantes. Normalmente se emulan las constantes mediante el uso
de variables. Para distinguir entre una variable y una constante se utilizan normas
de programación, por ejemplo, escribir las constantes completamente en
mayúsculas y las variables utilizando mayúsculas para la primera letra de cada
palabra dentro del nombre de la variable.
• No acepta caracteres que no se encuentren en código ASCII.
• No permite instanciar objetos. Por el contrario, el propio “script” ofrece una
colección de objetos, entre los que destacan los objetos siguientes:
• Window : Representa la ventana activa del navegador y es el mas alto de la
jerarquía.
• Document : Representa el documento activo.
• Form : Este objeto se refiere a un formulario empleado en el documento.
• Location : Contiene la URL de la página actual
• Navigator : Representa al navegador actual.
• History : Representa el historial de las páginas visitadas en la sesión actual.
66
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
La facilidad para conectar las páginas ASP con BD y, extraer y mostrar los datos de
la misma en el navegado de una forma dinámica, es la razón principal de su extenso
uso en Internet. Mediante los “drivers” de conexión a datos, “Open Data Base
Conectivity” (a partir de ahora ODBC), las páginas 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 página ASP no existe ninguna restricción especial en el lado
cliente de la comunicación, ya que el navegador únicamente recibe páginas HTML,
por tanto se pude utilizar cualquier navegador existente (Internet Explorer o
Netscape Comunicator). Sin embargo el servidor de páginas ASP requiere tener
67
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
instalado la librería ASP.dll para poder interpretar el código ASP de las páginas. 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 añadiéndoles “software” adicional pueden procesar páginas ASP,
como por ejemplo el servidor “web Chilisoft”, el “Instant ASP” o bien el “Apache”,
aunque éste último sólo soporta ASP codificado bajo “Perl”.
Para que el interprete ASP reconozca código ASP, éste tiene que estar enmarcado
por los tags “<%” en el inicio, y “%>” al final del código..
Además de los códigos HTML habituales una página ASP puede contener código
“script” con el fin de añadir dinamismo a las páginas finales. Este código “script”
puede estar escrito tanto en Vbscript como en JScript.
En una página ASP se puede declarar dentro del código propio de ASP variables con
el fin de mejorar la legibilidad del código. 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 días”
%>
Al igual que en Visual Basic, no es necesario declarar todas las variables, pero es una
buena práctica. Para asegurar que todas las variables que se usen tengan que estar
declaradas se puede incluir la instrucción “Option Explicit” dentro del código
ASP y así, de esta forma, se nos avisará de las variables no declaradas con un error.
68
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
<%
Option explicit
dim saludo
saludo = “Hola, buenos días”
%>
Los objetos ASP son programas compilados e instalados en el servidor que han sido
programados para realizar un conjunto de operaciones fácilmente accesibles por las
páginas. Estas operaciones se denominan métodos.
Las páginas ASP proporcionar un modelo de objetos que facilita el uso del lenguaje
ASP. Estos objetos son:
Objeto Application
Nombre Descripción
Se ejecuta al terminar la
Eventos Application_OnEnd
ejecución del servidor web
Se ejecuta cuando entra por
Application_OnStart primera vez un usuario en la
aplicación web
Bloquea el objeto application
Métodos Lock para todos los usuarios excepto
el que ejecuta el método Lock
69
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
Objeto ASPError
Nombre Descripción
Propiedades ASPcode Código de error
Descripción del código de
ASPDescription
error
Cadena que indica si se trata
de un error interno de ASP, del
Category
lenguaje de secuencia de
comandos o de un objeto
70
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
Objeto Session
Cuando un usuario invoca por primera vez cualquiera de los ficheros de una
aplicación se le asigna un objeto Session. Este objeto será utilizado por la aplicación
para almacenar, compartir y recibir información del usuario. Por defecto, el objeto
será destruido después 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 Descripción
Propiedades CodePage El código de caracteres usado
Identificador de zona para
LCID
definir los formatos de fecha,
71
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
Objeto Request
72
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
Nombre Descripción
Número total de bytes
enviados por el cliente al
Propiedades TotalBytes
servidor en el cuerpo de la
llamada http
Datos que han sido enviados al
servidor desde el cliente a
Métodos BinaryRead (count) partir de un formulario. El
parámetro count indica el
numero de bytes a leer.
Esta colección tiene utilidad si
estamos escribiendo una
Colecciones ClientCertificate aplicación que utiliza el
protocolo Secure Socket
Layers (SSL)
La colección Cookies asigna
datos a un fichero existente, y
Cookies si éste no existe, crea uno
nuevo donde almacena estos
datos
Elementos de un formulario
usando el método post, donde
Elemento es el nombre del
Form(“Elemento”)
elemento del formulario que se
quiere recibir desde el
navegador
QueryString Los elementos del formulario
(“Elemento”) usando el método get
Esta colección contiene el
ServerVariables valor de las variables de
entorno del servidor
Tabla 16- Objeto Request
73
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
Objeto Response
74
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
Objeto Server
Nombre Descripcion
Esta propiedad especifica el
tiempo, medido en segundos,
Propiedades ScriptTimeOut
disponible por una página o
“script” para ejecutarse.
Crea instancias de los objetos
Métodos CreateObject
en el servidor
Permite llamar desde una
Execute
página ASP a otra página ASP
Devuelve el último error de
GetLastError
una página ASP
75
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
Ya que toda la aplicación 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 razón 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
código 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” informáticos. 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
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
El IIS 5 incluye soporte para los últimos estándares usados en Internet. Implementa
el protocolo HTTP 1.1, compresión HTTP, SSL 3.0, CGI, y el servicio WebDAV que
permite la gestión remota del contenido de un directorio en un servidor web.
Una aplicación de tres capas es aquella cuya funcionalidad se pueden dividir en tres
capas lógicas:
• Capa de presentación.
• Capa de aplicación.
• Capa de datos.
77
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
Capa de presentación
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 aplicación.Aunque la lógica de aplicación se encapsula en componentes
la capa de aplicación, los componentes de la capa de presentación permiten al
usuario tener acceso a todos los procesos.
78
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
Los componentes de la capa de aplicación también 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 aplicación. Por lo tanto, una buena razón para dividir la lógica
de aplicación en componentes, es la probabilidad de que dicha lógica cambie,
teniendo que rescribir el código de la aplicación. De este modo, se rescribe
únicamente el componente correspondiente a la lógica de negocio afectada.
79
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
Capa de datos
La capa de datos incluye las típicas tareas de gestión de datos: altas, bajas,
modificaciones, etc. La clave está en que las funciones de aplicación no se
implementen aquí. Aunque un componente de la capa de datos es responsable de la
gestión de las peticiones realizadas por un objeto de aplicación, no lo es de
implementar los papeles de negocio.
Una vez definidos los entornos y la metodología de trabajo será necesario estudiar el
modo de trabajo del usuario final. El usuario necesitará que la aplicación 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 métodos descritos hasta el
momento, HTML, VBScript, ASP, es imposible acceder al equipo cliente. Esta
limitación, 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 comunicación 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
más elegante, pero requerirá que el usuario final instale el plugin en su maquina
después de cada modificación, característica poco deseada. Crear un componente
OCX e incluirlo en las páginas, provoca una cierta lentitud al cargar las páginas, ya
80
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
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
versión de los componentes que en caso de no tener la versión adecuada, reinstala el
OCX sin necesidad de ninguna acción por parte del usuario, excepto la de dar su
autorización.
81
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
• Los módulos tienen unas características de autonomía propia. Por tanto, debe ser
código binario (compilado) que sea capaz de definir cuando iniciar y cuando
terminar su ejecución.
• El código generado ha de tener la capacidad de interactuar con otros módulos
ActiveX y, o, ejecutables finales. En las bases del estándar OLE, se definen dos
niveles: servidor y cliente. Un servidor es aquel que recibe peticiones de los
clientes, ejecuta las operaciones pertinentes y devuelve datos procesados. Un
cliente puede acceder a los datos de un a aplicación servidora y gestionar su
información como si de datos propios se tratara.
• La actualización del código de un control ActiveX no debe suponer una
reprogramación de las aplicaciones clientes (aquellas que lo utilicen).
Hay que tener en cuenta que en estos momentos, unicamente pueden visualizarse
páginas con controles ActiveX mediante “Microsoft Internet Explorer 3.x” o
superior. Se deberá esperar a las próximas 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 inserción 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
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
donde:
Campo Descripción
Un identificador único que sirve para referenciar los
ID parámetros y acceder a los valores de propiedades,
cuando se trabaje con código “script”, “Java” u otros
Contiene la clave del control ActiveX que ha de
ClassID
registrarse en la computadora cliente.
Indica, en forma de una cadena URL, en que lugar se
encuentra el control ActiveX. Si no se especifica nada,
Codebase
se supone que se encuentra en el URL base del
documento.
Fija el ancho y le alto que ocupará el control ActiveX
Width y Height
en la página html.
Align Fija el modo de alinear el control en la página html.
Fija el tipo de borde que aparecerá en el contorno de
Border
Control Actives
Aquí se fijan las propiedades (properties)
Parámetros
características del control ActiveX.
4.3.7. VRML
A mayores de las imágenes generadas por el OCX, la aplicación muestra los datos de
la ruta en un entornos tres dimensiones. Para la creación de esta representación se
estudiaron diversos productos, aunque el único viable resulto ser el VRML debido
principalmente a su sencillez, a lo rápido que se transmite y a que únicamente
requiere de un pequeño “plugin” para poder verse.
83
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
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 diseñan objetos tridimensionales y su
comportamiento, lo cual requiere una mayor planificación desarrollo de las páginas.
Se entenderá por Realidad Virtual aquel espacio en tres dimensiones desarrollado y
simulado mediante computadora. En estos mundos virtuales el usuario podrá
adentrarse, eligiendo entre varias perspectivas, e interactuar con objetos del modelo.
Esta tecnología es cada vez más accesible para el usuario medio, debido a que los
equipos son cada vez más potentes.
Ante el amplio apoyo recibido en dicha conferencia y junto a la ayuda ofrecido por la
publicación periodica revista Wired, se estableció una lista de correo con el objetivo
de conseguir una primera especificación del lenguaje.
84
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
Sin embargo se observó que los mundos estáticos no satisfacían todas las
necesidades para las cuales había sido creado
VRML 2.0 permite interactuar con el mundo virtual, sin embargo no es posible
interactuar con otros usuarios que estén accediendo a ese mismo mundo. Living
85
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
Después de estudiar los sistemas más conocidos como “SQL server”, “Oracle”, se
aprecia que, para las necesidades reales de la aplicación, cualquiera de estos
productos era demasiado potente. Una vez determinadas estas necesidades se llego a
la conclusión de que un gestor de bases de datos de nivel medio, era suficiente, como
todo el proyecto se está basando en herramientas del entorno Microsoft, se establece
como idóneo el uso de Microsoft Access 2000, que sin llegar a ser un gestor de bases
de datos excesivamente potente, cumple las necesidades iniciales. Considerando la
necesidad de que en un futuro fuese necesario modificar el gesto de bases de datos
por otro más potente, se decidió realizar todos los accesos mediante ODBC a través
de una librería dll de acceso a datos. De esta forma en el caso de que fuese necesario
modificar el gestor de BD, únicamente habria que modificar el ODBC y la DLL de
acceso a datos.
86
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
Servidor de Modulo
aplicación negocio
Modulo de
acceso a BD Modulo de
visualización
Modulo de
comunicación
CLIENTES
87
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
88
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
Todas las funciones devuelven una cadena de caracteres con los datos en formato
XML, con lo que se consigue una cierta independencia de la implementación, y un
gran portabilidad a otros entornos.
Nombre Descripción
Métodos Subir_fichero(txtFileLocal, Envia el fichero txtFileLocal
txtFileRemote, txtServidor, al servidor de FTP
txtUsuario, txtPassword,, txtServidor con el nombre de
sobreescribir) txtFileRemote, accediendo al
servidor con el txtUsuario y
txtPassword. El campo
sobrescribir determina si se
sobrescribe el fichero en el
destino.
89
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
Nombre Descripción
Propiedad Color_fondo Marca el color del fondo de
la imagen. Por defecto es
blanco.
Color_punto Marca el color del trazado.
Por defecto es negro.
Tipo_bmp Determina el tipo de imagen
que se crea. Si el valor es 0
se genera la ruta en plano. Si
es 1, se genera el trazado de
la altura.
Métodos Carga (datos ) Se genera el archivo de
imagen seleccionado con los
datos. Estos datos tienen que
estar formateados en XML.
90
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
91
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
7. CONCLUSIONES
En los últimos años se ha observado un fuerte crecimiento en las áreas de aplicación
de los sistemas de posicionamiento global por satélite, y su diversificación 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. Además, el uso de sistemas
gestores de BD aporta todo tipo de funcionalidades: generación de vistas, integridad
de los datos, consistencia, niveles de seguridad, …
Se puede concluir que la aplicación resultante de este proyecto, cubre con creces las
necesidades iniciales de los usuarios.
Como es lógico, todo proyecto o sistema es un ente en continua evolución. Entre las
posibles alternativas de futuro, destacan las posibilidades relacionadas con la
visualización 3D de las rutas sobre mapas topográficos, permitiendo la visualizacion
92
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
a tamaño 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
aplicación en los sistemas de posicionamiento por satelite.
8. GLOSARIO DE TÉRMINOS
A-S (Anti-Spofing) Código para cifrar los datos de la señal GPS.
Banda L Rango de frecuencias entre los 1 GHz y 2 GHz . Asignado
principalmente a la telefonía móvil y las emisiones digitales de audio
a nivel mundial.
C/A (Coarse /Acquisition) Código de adquisición grueso. Componente de
la señal producida por los satélites GPS.
Death Lock Interbloqueo. Circunstancia que se da cuando un servicio acapara un
recurso y queda esperando por otro, mientras que otro servicio que
acapara el segundo está esperando por el primero.
DLL (Dinamic Link Library) Librería de acceso dinámico
Efemérides Parámetros orbitales precisos de cada satélite.
HOW (Hand Over World) Valor que marca la diferencia de ángulo entre las
dos señales que componen la señal GPS.
NAVSTAR (Navigation System and ranging) Sistema de navegación y
determinación de alcance
NMEA Nacional Marine Electronic Association
ODBC (Open DataBase connectivity) Objeto de conexión a base de datos
PVT (Position, Velocity, Time) Siglas con las que se conoce a la unión de
estos tres datos.
SA (Selective Availability) Disponibilidad selectiva. Error introducido en
la señal del satélite GPS.
93
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
TTFF (Time to fix first) Tiempo que tarda un receptor GPS en recibir la
primera posición de los satélites.
UTC (Universal time coordinated) Tiempo universal coordinado base
uniforme para medir la hora en cada zona del mundo.
Waypoint Punto en el camino
BIBLIOGRAFÍA
Sistemas de posicionamiento global por satélite
[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 interés para GPS. http://www.uco.es/~bb1rofra/
documentos.html. 2002
[4] Descripción técnica del GPS. http://dique1.ls.fi.upm.es/cuco/Documentos/
desgps.html. 2002
[5] Sistema de localización por satélite. 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 Pardiñas García: “GPS: Sistema de Posicionamiento Global”.
Universidad de Santiago de Compostela. 1998
[9] El receptor GPS. http://members.tripod.com/~isolmar/gps.htm. 2002
[10] Tecnología GPS. http://www.uco.es/~bb1rofra/. 2002
[11] Garmin Internacional. http://www.garmin.com/. 2002
[12] R.B. Langley. “Innovation: Smaller and Smaller - The Evolution Of The GPS
Receiver”. GPS World. Vol.11, No.4, pag 54, 2000
94
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
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] Programación en Visual Basic. http://www.terra.es/personal/jrcabrera/. 2002
[19] J. Bobadilla, A. Alcocer, S. Alonso, A. Gutierrez: “HTML Dinámico, ASP y
Javascript a través 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: Información. http://www.iespana.es/helpdna/prdnaart.htm.
2002
[26] MSDN en línea. http://www.microsoft.com/latam/msdn/articulos/1999/09/
art04/. 2002
[27] Documentación 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
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
REFERENCIAS
[GART-02] Software GRATRIP . http://www.gartrip.de/. 2002
[JOGM-02] Software JOGMAN http://www.mundogps.com/mundogps/
descarga/software/jogman.zip. 2002
[COMP-02] Software Lockcompass http://www.mundogps.com/mundogps/
descarga/software/lockCompass.zip. 2002
[SPEE-02] Software SpeedTrap http://www.mundogps.com/mundogps/
descarga/software/ SpeedTrap.zip. 2002
[FUGA-02] Software FUGAWI. http://www.fugawi.com/. 2002
[OZIE-02] Software OziEXPLORER http://homepage.powerup.com.au/
~oziexp2/esp/oziexp_esp.html. 2002
[TRAK-02] Software TrackMaker. http://www.gpstm.com/. 2002
[WAYP-02] Software Waypoint+. http://www.tapr.org/~kh2z/Waypoint/. 2002
[MICR-02] Coorporacion Microsoft . http://www.microsoft.com/. 2002
96
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
Configuraciones previas
Para poder utilizar correctamente la aplicacion es necesario modificar la
configuración de seguridad del Internet Explorer (a partir de ahora IE) para que
permita que los componentes ActiveX, insertados en la aplicación, puedan ser
utilizados sin problemas.
En el menú de “Herramientas” de la barra superior del IE, seleccionamos la opción
“Opciones de Internet …”
97
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
98
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
Manejo de la aplicación
99
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
En ese momento el sistema nos comunicará el modelo y versión del receptor GPS
conectado mediante un mensaje emergente.
100
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
En esta pantalla se seleccionan las rutas a insertar en la base de datos con los datos
correspondientes. Si se quiere añadir los puntos de inicio y fin de una ruta como
“waypoint”, se deberá marcar la opción 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
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
102
SISTEMA GESTOR DE RUTAS DE POSICIONAMIENTO GLOBAL POR SATÉLITE
103