Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE ESTUDIOS SUPERIORES DEARAGÓN .. DESARROLLO DE APLICACIONES PARA CONOCER INFORMACIÓN SOBRE LA UBICACIÓN DE OBJETOS EN DISPOSITIVOS MÓVILES .. T E S S QUE PARA OBTENER El TíTULO DE: INGENIERO EN COMPUTACiÓN • P A' E S E NT A : CARLOS OMAR CHÁ VEZ SÁNCHEZ ASESOR: ING. ALEJANDRO RENÉ GONZÁLEZ PONCE MÉXICO, 2005. UNAM – Dirección General de Bibliotecas Tesis Digitales Restricciones de uso DERECHOS RESERVADOS © PROHIBIDA SU REPRODUCCIÓN TOTAL O PARCIAL Todo el material contenido en esta tesis esta protegido por la Ley Federal del Derecho de Autor (LFDA) de los Estados Unidos Mexicanos (México). El uso de imágenes, fragmentos de videos, y demás material que sea objeto de protección de los derechos de autor, será exclusivamente para fines educativos e informativos y deberá citar la fuente donde la obtuvo mencionando el autor o autores. Cualquier uso distinto como el lucro, reproducción, edición o modificación, será perseguido y sancionado por el respectivo titular de los Derechos de Autor. Agradecimientos Agradezco en forma especial a Alejandro González y Liliana Hernandez, quienes depositaron en mi su confianza y amistad. Sin duda alguna, sus consejos, experiencia, y sobre todo, su apoyo y paciencia, contribuyeron para llevar al término este trabajo. A mi Madre, por su amor, por su sacrificio y dedicación que ha puesto en su vida para que sus hijos tengan una educación y todas las oportunidades para salir adelante, por su apoyo incondicional y su fortaleza para enfrentar los momentos difíciles. A mi Padre, por su valioso ejemplo de esfuerzo, trabajo y constancia para el éxito de las metas. A mis hermanos, quienes han vivido conmigo mis ilusiones, mis desganas, mis tristezas y mis alegrías, mostrando en todo momento una paciente comprensión y un constante apoyo. Ya todos aquellos familiares y amigos que han sido parte de mi vida. A mis padres ... índice Introducci<m ........ ......... ... .... ..... •.. ........ ..... ... .. .. ... ......... ... ... .. ..... ... ... ... ......... .. ..... ..... ...... .... viii Capítulo 1. ¿Qué es un PDA? .. .... .... ......... ..... .. ... ... ....... .... ..... .... .. ..... .... .... .. ........ ..... ...... .. 13 1.1 Historia ..... ... ... ... ....... .... ................. ........... ...... ............... .... ... .......... ........ .. ............ .... ...... .. ........ 14 1.2 Características ........ ...... .......... ................. .. .. ...... .. ......... .......... ... ............... .. ...... ... .... .... ....... .. ... 15 1.3 PalmOS ...... ....... .......... ............ ............................................................................. ... .... .......... ... 20 1.3.1 Historia .................. ... .. ...... .. ............................ .... ........ .. ....... ......... .... ...... ..... ..... .. ..... .......... 21 1.4 Pocket PC ............................. ............. ........... ............. .... ...... ..... ....... ........... .. ...... .... .... ........ .. .. . 22 1.4.1 Historia ............ ........ ........... ......... ...... ..................... ..... ........ .. ...... ....... ... .... ................ .. ... ... 23 1.5 Selección de la plataforma ............. .. ..................... .. ........ ...... .. ...... .... .......................... .. .. .. ...... 25 Capítulo 2. Sistemas de información espaciaL .... ... .... .. .... ........ .. ........ ......... ... .... ........ ....... 26 2.1 ¿Qué es información espacial? ............. ...... .... .. ...................... .. ....... ..................... .. ................ 26 2.2 ¿Qué son Sistemas de información (S~? ................ .. .... .. ............... .... .................. .. ...... ........... 26 2.3 ¿Qué son Sistemas de información espacial (S/E) ? .............................................................. 27 2.4 Tipos de dato (atributos) .... .. ................................... : ......... .... .... .... .... ... ........................ .. .. ........ 29 2.5 Tipos de Formato .... ....... ....... ... ................. ........... .......... .... ... .............................. .................. .. . 30 2.5.1 Raster .............. ................. ........................ ... .. ................................ ............... ....... ............. 30 2.5.1.1 Representación de datos ............................... ...... .. ............ .. .... .. ...... .......................... 31 2.5.1 .2 Ventajas y desventajas ...................................................... .......... ...... .... .............. .. .... 33 2.5.2 Vector ... ... ... .... ..... ........... ... .... .. ...... ..... .. .. ............ ... ... ............. ........ ..... ... ...... .. ..... ... ... ......... 33 2.5.2.1 Representación de datos ... ........ ...... ............... ............................ ............. .. .... ......... .. . 35 2.5.2.2 Ventajas y desventajas .............. .. ......... ... ...... ........... .. ..... ........... ................ ............... 38 2.5.3 Comparación de los modelos raster y vector ................................ .. .............. .................. . 39 Capítulo 3. PalmOS: Características de la plataforma . .. ...... .. .... .. .......... ......... ...... .. ... .. ..... 42 3.1 Gestión de energía .. ... .. ....... ............ .. ............. ........... ...... .... .. ......... ....... ... ... ... : ..... ............. .. .... 42 3.2 Ejecución de aplicaciones .... ............. ......... .... .............. .. .......... .......................... .......... .... .. .. ... 43 3.3 Códigos de lanzam iento ............................................ .... ... ......... .... ..................... ..... ....... ....... .. 44 3.4 Gestión de eventos .... ......... ..... ..... .... .. ..... .... ... ..... ............ .. .. ... ....... ....... ...... ..... .. ... ..... ............ .. 44 3.5 Gestión de memoria ...... ................. ... ........................ .... .. ... .. .. ..... ..... ............... ..... .. ..... .... .... .... 45 3.6 Recursos .. ..... .... .. ..... .. .... .. ... ....... ......... ... .... .. .... ..... .... .......... ...... ............ ... ........... ..................... 46 3.7 Elementos de interfaz de usuario ................. .. ..................... .. .... ................... .. ............. .. .. ... .. ... 47 3.8 Comunicaciones .... .. .. ... .................... .................................................... ...... ........ ... .... .. .. .. ........ 53. 3.9 Intercambio de datos .... .. ................................... ............ .. ............... .. ... ... ........ .... ... ........ .......... 55 3.10 Reestablecimiento del dispositivo ...................... ... .... .. ...... .. ........ .. ...................... ... ........... .. .. 55 3.11 Versiones ..... ... ... ......... .... ............ ...................................... ..... ........... ........ ........ .......... ... ......... 56 Capítulo 4. Ambientes de desarrollo ...... ............................ .. .... .. ........... .... .. .... .............. ... . 60 4.1 Metrowerks CodeWarriror ......... ......... ............................ .. .... ... ... .... ...................... .. ..... ............. 61 4.2 PRC·Tools ..... .. .... .. .. ...... ... ... ........... ...... ........... ......... ... .. ........... ........... ............. .................. ..... 66 4.3 Felch DeveloperStudio .. ... ....... ... ... .. ...... .......... ....... .. .... ........ , ... ....... ..... ......... ......... ................. 68 4.4 Ambientes de desarrollo alternativos .: .. .. .. .. ......... ................... : .............. ..... .. ............ ....... ....... 69 4.4.1 Desarrollo basado en forms ...... .. ................ ..................................................................... 69 4.4.2 Desarrollo sobre los dispositivos PalmaS .. ............... .... .. ............................... .. .... ...... ...... 71 4.4.3 Otros lenguajes distintos a C .... .. .... ....................... .. ........ .. ............ .. ........ .............. .... .... ... 73 4.5 Selección del ambiente de desarrollo .......... ...................... .. .. .. .................................... ............ 75 Capítulo 5. Bases de datos ....... .. ..... ... ... ... ...... ... ... .... .. ....... ....... .. ..... .. ..... .. ...... .. ..... ... ........ 76 5.1 Bases de datos orientadas a registro .... ....................................... ...... ..................................... 77 5.2 Sistemas administradores de base de datos (DBMS) ............................................................. 78 5.2.1 Interfases de los sistemas administradores de bases de datos ...... .. ........ ...... ...... ......... .. 79 5.2.2 Bases de datos relacionales ... ............................................. .. ........... ................ ......... ....... 80 5.2.3 Bases de datos orientadas a objetos .. .. ...... ................... ........ .................. .. ...................... 81 5.3 Otras bases de datos .... .... ....... .. ..... ..... : ................. .... ..... .. ...................................................... . 82 5.4 Selección de la metodología de acceso de datos .. .... ......................................... .................... 82 5.5 Bases de datos en PalmOS .................. ........................ ...... .. .. .. ............ ....................... .. ........ . 83 5.5.1 Manejo de bases de datos ........................................... ... .. ............ .. ... .. .. ........................... 84 5.5.2 Manejo de registros ..... .... .............. .... .................... ... ....... ................................................ . 88 5.6 Aplicación de ejemplo ................................... .... ......... ................. .. .... ...... ........ ... ...................... 92 5.6.1 Definición de las estructuras de datos ...... .. ................ .. .......... .. .. ...................................... 92 5.6.2 Rutinas para la inicialización de la base de datos .... .......... .............................................. 93 Capítulo 6. Estructura de una aplicación .. .... ...... .. ... ... .. ... .......... .. ........ .. .. .. .... .. ... ... .. .......... 96 6.1 Rutina principal: PilotMain ......... .......................... ......... ... ... ........ ... ......... ... .. ........................... . 96 6.2 Rutina de il)icio: AppStart ................ .... ...... .. .. .. ........................... .. ............ .. .... ......................... 97 6.3 Rutina de cierre: AppStop .. .......... ...................................... ..................................................... 98 6.4 Bucle principal de eventos ........ ....... .. .............. .............. ..... .... ... ........ ...................................... 99 6.4.1 Cola y bucle de eventos de la aplicación .................... .. .. .. ................. .. .......................... 100 6.5 Manejadores de eventos de los elementos Form ............ .. ........ .. ...... .. .. ........ ...... .... ............. 103 6.6 Descripción de la aplicación de ejemplo ...... ........ ................................................................. 108 6.6.1 Instalación .... ............. .... ....... ..... .. ..... ........... .. ... .......... ............... .... ...... .. .... ...................... 108 6.6.2 Ejecución ................ ..... .. ... .... .. ........................................................................... ..... ..... ... 109 6.6.3 Vistas .... .. .... ......... ... ........ .. ... .. .... .. ... ............... .... ............. ....... .................... .. ...... ...... ...... . 109 Conclusiones ........... ... ..... ...................... .. ............ ... ..... ....... .............. ...... ..... ..... .... ........ .. 113 Glosario ...... ..... .... .... .. .. .... .... ... .... .... .... ... ............ ... ... .......... ............ .... ..... ... ........ ..... .... .. .. 115 Referencias ...................................................... ......... : ... ..... ..... .......... ..... .. .. .. ... ....... ........ 122 índice de Figuras Figura 1.1 Algunos tipos de PDA's ...................... .......... .. .. ............ .. ............................ ...... .. ............ 14 Figura 1.2 Vistas del teléfono inteligente Treo .... .. ............ .... .................. .. .......... .............. .. ............. 20 Figura 1.3 Dispositivos con sistema operativo Windows CE ............ .. .......... .... .. ............................ . 22 Figura 2.1 Representación lógica de un raster .................... .. .. ............................ .. ......... ................. 31 Figura 2.2 Representación digital de un raster ................ .................. .. .. .... ............ ............ ...... .. .... .. 32 Figura 2.3 Representación raster en formato Run-Iength .................... .. .. ........ .............................. 32 Figura 2.4 Representación lógica de un vector ............ .... .......................... .............. .. ................ .... . 34 Figura 2.5 Representación de una región mediante polígonos, arcos y nodos .. ...... .. ...... .. .. .. ........ 35 Figura 2.6 Representación digital de un vector ........................ .. .................................... .. .. ............. 36 Figura 2.7 Representación digital de un vector en formato Spaguetti ........ .............. ...... .. .. .... .... ..... 36 Figura 2.8 Representación digital de un vector mediante diccionario de vértices ........................... 37 Figura 2.9 Representación digital de un vector mediante formato DIME ............................ .... .. .... .. 37 Figura 2.10 Representación digital de un vector mediante formato arco/nodo .. .................... .. .. .. ... 38 Figura 2.11 Características de los formatos raster y vector ........ ...................... .. ............ ........ .. ...... 39 Figura 2.12 Tabla de propiedades de los formatos raster y vector .... ................ ...... ....................... 39 Figura 2.13 Imágenes en formato raster y vector ............................ ...................... ........................ .. 40 Figura 2.1 4 Representación de imágenes mediante la superposición entre raster y vector ........... 41 Figura 5.1 Ejemplo de un registro mediante una estructura en lenguaje C .............. ...................... 77 Figura 5.2 Código para la creación de una base de datos .............................................................. 85 Figura 5.3 Código para la apertura de una base de datos .......... .. ........ .. ............ .. ...... .......... .. .... .... 86 Figura 5.4 Código para el cierre de una base de datos .. .. .. ........ .. ................................ .......... ......... 87 Figura 5.5 Estructura para los registro de tipo Estación ........ ........ .... .................................... .... .... .. 92 Figura 5.6 Estructura para los registro de tipo Unea ........ .. .... .................. .............. ............. .. .. .. .. .. .. 92 Figura 5.7 Estructura para los registro de tipo Mapa ............ ................ .................................... .... ... 92 Figura 5.8 Rutina para agregar registros de tipo estación ........................ .................... .......... ......... 93 Figura 5.9 Rutina para agregar registros de tipo línea ...... ........ .. ............ ...... ........ ............ .............. 94 Figura 5.10 Rutina para agregar registros de tipo mapa ........ ...................... .. ................................. 94 Figura 6.1 Código de la rutina PalmPilot ........ ... ................... .................... ....................................... 97 Figura 6.2 Código de la rutina AppStart .............................. ........................ ........... .... ............. ..... .. .. 98 Figura 6.3 Código de la rutina AppStop .... ............................... .. .. ..... ........ .............. ... ... ........ ........... 98 Figura 6.4 Código de la rutina AppEventLoop .......... ........................................... ..................... ... .... 99 Figura 6.5 Modelo de un evento en el bucle de eventos .. .. .................... .. ............... ........ ... ..... .. .... .. 1 00 Figura 6.6 Código de la rutina AppHandleEvent... .. ......... .......................... ............... ....................... 102 Figura 6.7 Código del manejador de eventos de MainForm ........................................ .. .............. ... . 104 Figura 6.8 Código del manejador de eventos de EstacionesForm ... ..... ... ................... ..... ........ .. .. ... 105 Figura 6.9 Código del manejador de eventos de DetallesEstacionesForm ..................... ................ 106 Figura 6.10 Código del manejador de eventos de MapaForm .... ....... ......... ......... .. ................ ......... 1 07 Figura 6.11 Vistas de la instalación de una aplicación PalmOS .. .... .. ...... .. ............. ... ........... .......... . 1 08 Figura 6.12 Vista del escritorio PalmOS ................................. ........ ....... .................. ... .. ................... 109 Figura 6.13 Vista inicial de la aplicación del metro ..................... ..... ............ .................................... 109 Figura 6.1 4 Vista del mapa de la aplicación del metro .... ...... .................................. ................... ..... 110 Figura 6.15 Vista de la selección de una región en el mapa del metro ...... .. ......... ..... .................... 11 O Figura 6.16 Vista de la lista de las estaciones del metro ..... .... ............................ .... ..... ..... ..... ...... .. . 111 Figura 6.17 Vista de los detalles de las estaciones del metro .. .................... .......... ........ ..... .... ........ 111 I ·1 Introducción Nuestra sociedad actual está protagonizada por la imagen. El empleo de imágenes como recurso informativo es cada vez mayor en organizaciones y servicios de información de distintos ámbitos. Los Sistemas de Información Espacial son un tipo especializado de sistemas que se distinguen por su capacidad de gestionar información espacialmente referenciable y que permiten además su representación gráfica. Se dice que son herramientas, porque ayudan a la formación de elementos de juicio para la toma de decisiones luego que se han aprovechado sus funciones de captura, almacenamiento, refinamiento, análisis y visualización de la información. Las técnicas y procedimientos de digitalización y almacenamiento, junto al incremento de aplicaciones de gestión documental gráfica o multimedia, permiten reprantear la organización y recuperación en los servicios de documentación para integrar, en un mismo sistema, tal'}to el documento primario en forma de imágenes, como el secundario, su descripción, consultables mediante aplicaciones que permiten la búsqueda y selecQión de manera rápida y sencilla, ya sea remotamente, vía Internet, o localmente, en la pe. Los mapas son un medio natural para clasificar y presentar información relacionada a la localización de servicios. La gente usa mapas para navegar durante sus viajes y para preparar sus rutas. Más aun, los mapas explotan las capacidades de dos dimensiones de la visión humana y presentan la información en una forma compacta y de fácil comprensión. En la actualidad, debido a los avances en las comunicaciones modernas y en las tecnologías de la información, hay un esfuerzo incremental en el desarrollo de sistemas de ubicación espacial. Introducción ix El uso de computadoras y el acceso a recursos de información ha llegado a ser una parte necesaria en nuestro trabajo y vida diaria. Con la popularidad de las mini computadoras, como los PDAs, en el ambiente de negocios, y el incremento en las capacidades de procesamiento y de almacenamiento de estas, junto con la necesidad de tener al alcance de la mano información, corporativa y de propósito general, en todo momento y lugar, justifica llevar los sistemas que normalmente tienen cabida en la pe a estos dispositivos. El mundo esta dirigiéndose hacia la globalización y la movilidad. La noción del cómputo móvil y portátil' ha acelerado la evolución de teléfonos móviles, PDAs, e híbridos llamados teléfonos inteligentes. Como avanza la tecnología más atención ha sido dada hacia el suministro y desarrollo de servicios comerqiales de valor agregado en ambientes móviles. Un ejemplo de servicios de valor agregado son los servicios basados en la ubicación, los cuales se refieren a aplicaciones en dispositivos móviles que reaccionan a la selección de objetos referenciables2. Los dispositivos móviles permiten el acceso a datos y a otras aplicaciones en cualquier momento y cualquier lugar. Los datos pueden ser adquiridos, recuperados y sincronizados. De esta forma, la demanda de servicios y aplicaciones sobre dispositivos móviles se ha incrementado considerablemente. Ahora es posible tener una aplicación interactiva, actualizada, informativa y gráfica directamente en teléfonos y PDAs. Recientemente los dispositivos móviles basados en PalmOS han llegado a ser un vehículo popular para la distribución de la información y las aplicaciones para visualización de mapas basadas en PalmOS, están rápidamente envolviendo y adaptándose a este nuevo ambiente. Entre los campos que explotan esos avances en orden de proveer poderosos servicios están el turismo, la cultura y la educación. , El termino Portátil, cuando se describe hardware, significa pequeño y ligero. Oe tal forma que por computo portátil se refiere a dispositivos lo suficientemente pequeños para poder ser transportados por humanos. Estos incluyen notebooks, computadoras handheld, y POAs. 2 Por objeto referenciable se entiende a todo objeto, ffsico o abstracto (servicios), el cual tiene una ubicación en el espacio o puede ser representado espacialmente mediante una región en el caso de mapas bidimensionales. Introducción x El principal enfoque de este trabajo es el mostrar la utilidad que ofrece una aplicación referente a la ubicación y localización de servicios mediante la utilización de mapas, junto con la semántica de sus regiones en un dispositivo portátil basado en PalmOS. Ejemplificar la utilidad de dichos temas, mediante la implementación de una aplicación de ubicación basada en lenguaje e para sistema de transporte, metro, de la ciudad de México sobre un dispositivo PalmOS. Objetivos Objetivo general Proporcionar la teoría básica, útil para el desarrollo de una aplicación sobre servicios basados en su ubicación (LBS), mediante la utilización de mapas, junto con el significado de sus regiones en un dispositivo portátil basado en PalmOS y ejemplificar la utilidad de dichos servicios, mediante la . implementación de una aplicación, basada en lenguaje e, para el sistema de transporte 'metro' de la ciudad de México sobre un dispositivo PalmOS. Objetivos específicos Proporcionar la teoría necesaria para el desarrollo de servicios bas~dos en la ubicación y localización de información. Realizar una revisión teórica sobre las técnicas para el almacenamiento de mapas, e identificar las ventajas y desventajas de cada técnica. Introducción xi Mostrar los alcances y restricciones de la tecnología portátil, en especial los PDAs, como plataforma base para el desarrollo de nuevos servicios, detallando la plataforma líder en el mercado actual, PalmOS. - Dar una introducción a los ambientes de desarrollo existentes en el mercado para el desarrollo sobre la plataforma PalmOS.Ejemplificar la utilidad del servicio, mediante la implementación de una aplicación standalone2 de s~rvicios basados en su ubicación, basada en lenguaje C, para el sistema de transporte metro de la ciudad de México sobre un dispositivo PalmOS. Planteamiento del problema Llega a ser evidente, dadas las limitaciones de hardware de los dispositivos, que· la necesidad de información gráfica en un aplicación, implica tanto teléfonos y PDAs, que estén equipados con pantallas a color y poderosos CPUs. Es posible desarrollar aplicaciones basadas en la información espacial con funcionalidad avanzada y presentación grafica en dispositivos portátiles. Aunque dichos dispositivos tengan recursos limitados. Cada dispositivo móvil tiene distintas características en términos de procesamiento, memoria y soporte de color. En orden para desarrollar aplicaciones atractivas deben de satisfacerse al menos tres demandas críticas: primera, la demanda de funcionalidad. La aplicación debe satisfacer las necesidades del cliente, considerando la funcionalidad o crear una necesidad que el cliente no tenga ya. Segunda, la apariencia de la, por ejemplo, la representación gráfica, debe ser atractiva; por ejemplo, en una aplicación basada en la ubicación, la parte mas importante puede ser la presentación de mapas. Finalmente, está la capacidad de respuesta, es decir, la sensibilidad de la aplicación. Sin importar lo impresionante de la 2 Por aplicación standalone, se refiere a un programa de cómputo, que opera por si solo, es decir, no es usado como parte de otra aplicación, ni depende de otra aplicación para poder operar. ------ - - ------- Introducción xii funcional idad o la apariencia que la aplicación tiene, llega a ser in atractiva al cliente, si la capacidad de responder a los eventos generados por parte del usuario es lenta; por ejemplo, si toma varios minutos la visual ización de un mapa. Así, el aspecto de desempeño es extremadamente importante. La parte mas critica, es el desempeño y la sensibilidad de respuesta, provistas por la aplicación con datos gráficos. La información debe ser útil (de suficiente calidad, confiable y actual) y proporcionada de tal forma que fácilmente pueda ser encontrada y accedida. Capítulo 1 1. ¿Qué es un PDA? Un asistente digital personal, o PDA de sus siglas en ingles Personal Digital Asistant, es un dispositivo de mano o portátil, que originalmente fue . diseñado como organizador personal y en la actualidad combina características de computo, Internet (en algunos dispositivos), y de red. Las funciones básicas de cualquier PDA son: una libreta de citas (datebools), libreta de direcciones (addressbook), lista de tareas por hacer (tasklist), y una libreta para recados y anotaciones (memopad). Mientras que dichas características son de gran utilidad, lo que realmente hizo que los PDAs fueran tan populares, fue la capacidad de sincronización de información con la Pe. [1] Todos los PDAs tienen pantallas de LeO táctiles, las cuales responden al lápiz óptico o stylus y al dedo y en algunqs modelos la pantalla es a color. Todos tienen stylus, el cual es la forma usada para navegar en la pantalla y para introducir información usando reconocimiento de escritura (handwriting, HWR). En la actualidad se puede agregar teclado, así como otros accesorios (modem, dispositivos GPS, cámaras digital~s, etc.) (Figura 1.1). Capítulo 1. Que es un PDA? 14 Figura 1. 1 Algunos tipos de PDA's. 1.1 Historia Los PDAs han estado en el mercado desde 1990. Entre las primeras populares, se encuentra la Newton de Apple y la original Pa/m Pilot. Apple descontinuó la línea Newton en 1998, y Palrrf obtuvo de esta forma, la mayor parte del mercado. La ahora descontinuada Psion, fue también muy popular en esa época. Al tener Palm la popularidad, Microsoft decidió tomar una parte de ese mercado e introdujo la primer PDA con el sistema operativo WindowsCE, las cuales estuvieron disponibles en diseños de mini-Iaptops, y fueron conocidas como HPCs (handheld PCs). Estuvieron disponibles en el mercado en 1997; pero sus ventas fueron muy bajas debido a que eran poco portátiles y más complejas que las PDA con PalmOS. Aunque Psion tenía un diseño semejante, tenía más popularidad ya que tenía un sistema operativo confiable y amigable junto con un mejor teclado. En 1998 Y 1999 la primer PPC (Pa/m PC) con WindowsCE apareció en el mercado, y fueron más populares, ya que presentaban mayor portabilidad que las HPCs. Con Palm aun acaparando el mercado, en el 2000, Microsoft liberó un nuevo sistema operativo llamado PocketPC, el cual presentaba una mejor interfaz de usuario, y además requería generar menos eventos para obtener la información necesitada, y de esta forma comenzó 2 El termino Palm Computing, o algunas veces solo Palm, se usará para referirse a la compañia que inicialmente fabricó los primeros dispositivos PalmOS. Mientras que el termino PalmOS, o plataforma PalmOS, se referirá a cualquiera de los dispositivos dentro la gama de los PDAS que trabajan con el sistema operativo de Palm.(l) Capítulo 1. Que es un PDA? 15 a crecer. De cualquier forma, los PDAs con PocketPC están etiquetados por su alto costo en comparación con su contraparte de Palm, lo cual no les es benéfico. Los PDAs con PocketPC 2002, liberados en el mismo año (2002), mostraron mejoras en interfaz de usuario, mejor soporte para conexiones de red y un poderoso hardware, útil para juegos. Con la introducción de dichos dispositivos, PocketPC comenzó a incursionar seriamente en el mercado de los PDAs, todavía dominado por PalmOS. Aunque su costo aun era más elevado que Palm, ofrecían ya, pantallas a color, aplicaciones para MP3 y una variedad de opciones para red, características que Palm no ofrecía. Hoy en día, pueden obtenerse PDAs con PalmOS con aplicaciones MP3 (MP3 playe!}, visor de películas (movie playe!} y capacidad para red. PalmOS 5 es la ultima versión de PalmOS, y la actual versión de PocketPC es llamada Windows Mobi/2003 Second Edition. 1.2 Características 1.2.1 Sistema operativo El sistema operativo contiene instrucciones preprogramadas que indican al procesador que hacer. Los sistemas operativos usados por los PDAs no son tan complejos como aquellos usados por las PCs, al tener éstos menos instrucciones y ocupar menos memoria. Existen tres principales sistemas operativos compitiendo por el mercado de los PDAs: Palm Computing, de 3Com, es el fabricante del original organizador Pilot y su sistema operativo PalmOS es el líder en ventas dentro el mercado de los PDAs. Palm ha autorizado el uso de su sistema operativo a otros fabricantes como: Hanspring, Qualcomm, y TRG.tienen PDAs fabricados basados en PalmOS, y, se espera que Nokia y Sony se agreguen a este grupo en un futuro cercano. Varias compañías, incluyendo Compaq, Hewlett Packard, y Casio hacen la competencia de PDAs que corren sobre el sistema operativo PocketPC de Microsoft (formalmente llamado WindowsCE) , y son actualmente el segundo lugar en ventas dentro del mercado de los PDAs, después de PalmOS. Capítulo 1. Que es un POA? 16 Symbian es una empresa conjunta entre Psion, Nokia, Ericsson y Motorola, la cual produjo el sistema operativo EPOC, actualmente conocido como Symbian, el cual es usado sobre PDAs producidos por Psion, Ericsson, Nokia y Oregon Scientific. EPOC es el más popular de los sistemas operativos usados en Europa por su capacidad de manejar comunicaciones móviles. PalmOS ocupa menos memoria y corre más rápido y muchos usuarios lo prefieren por ser fácil de usar. PocketPC soporta gráficos, paquetes de Windows miniaturizados (Word, Exce~ , y otras aplicaciones (tales como programas de MP3 y MPEG). PocketPC requiere más memoria y es más lento, y a los usuarios les parece más complejo. En la actualidad PalmOS domina el mercado de las PDAs, aunque PocketPC, va en aumento. 1.2.2Microprocesador Como las computadoras de escritorio y portátiles estándar, los PDAs funcionan mediante procesadores. El microprocesador es el cerebro del PDA y coordina todas las funciones acorde a instrucciones programadas. Distinto de las computadoras de escritorio y portátiles, los PDAs usan microprocesadores pequeños y baratos, tales como el MC68328, conocido como Dragonball, de Motorola, el multiprocesador sin MIPS, o el SH7709a de Hitachi. Aunque esos microprocesadores tienden a ser mas lentos que el de una PC (16-75 MHz, comparados a mas de 1000 MHz en una Pe), son adecuados para las tareas que un PDA desempeña. Hoy en día las velocidades están entre 100MHz y 624MHz. Los beneficios de tamaño pequeño y precio bajo son más importantes que los de el costo de tener bajas velocidades. Generalmente PocketPC tiene procesadores más rápidos, ya que su sistema operativo requiere mas poder que el que es requerido por PalmOS. 1.2.3 Memoria Un PDA no tiene disco duro, en su lugar tiene memoria RAM y ROM, de la cual una porción es usada para almacenar programas y datos. Capítulo 1. Que es un PDA? 17 El área de la ROM no es volátil, lo que significa que no es borrada aun cuando se apague el dispositivo" En ella es donde el sistema operativo y los programas básicos (addressbook, calendar, memopad, etc.), que vienen de fabrica, son instalados. Los datos y cualquier programa que sean agregados posteriormente son almacenados en la RAM del dispositivo. Este enfoque tiene varias ventajas sobre una PC estándar. Cuando el PDA es encendido, todos los programas están disponibles al instante, por lo que no se tiene que esperar a que las aplicaciones sean cargadas. Cuando se hacen cambios a un archivo, ellos son almacenados automáticamente, de esta forma no se necesita explícitamente de un comando 'Guardar'. Y cuando el dispositivo es apagado, los datos están aun guardados, ya que el PDA se mantiene alimentado con una pequeña cantidad de energía suministrada por las baterías. Todos los PDAs usan memoria de estado sólid04; algunas usan RAM estática (SRAM)5 y algunas otras usan memorias Flash6• Aunque, en algunos modelos se incorporan formas de memoria removible. De cualquier forma, los programas adicionales requieren más memoria, así que modelos mOas avanzados usualmente incorporan más memoria. Generalmente los PDAs con PalmOS tienen 16 MB o más de RAM, mientras que PocketPC tienen de 32 a 64 MB de memoria. En modelos recientes de PDAs, la cantidad de memoria es actualizable (en el periodo de realización del presente trabajo). 1.2.4 Baterías Los PDAs funcionan con baterías. Algunos m<?delos usan baterías alcalinas (AAA), mientras otros usan baterías recargables (litio, níquel-cadmio o híbrido de níquel-metal). El tiempo de vida de una batería depende sobre el tipo de PDA y el tipo de tareas que éste realiza. Aquí se listan algunos de las cosas por las que puede agotarse una batería: 4 Tipo de memoria que no contiene partes físicas removibles, es decir, está compuesta en su totalidad por componentes electrónicos, tales como circuitos integrados. 5 Tipo de memoria mas rápida, confiable y menos volátil que la RAM dinámica (DRAM), pero requiere mas energía y es mas costosa. El termino estática se deriva del hecho de que no necesita ser refrescada (re energizada) constantemente para evitar la perdida de sus datos, como la DRAM. 6 Tipo de memoria EEPROM que permite ser borrada y reprogramada en bloques en vez de una byte a la vez. Capítulo 1. Que es un POA? 18 El sistema operativo. PocketPC requiere más poder en virtud de sus requerimientos mayores de memoria. Más memoria Pantalla de LCD a color Grabación de voz MP3player . El tiempo de vida de las baterías puede variar dependiendo el modelo de PDA y sus características. Muchos PDAs tiene sistemas de administración de poder para extender el tiempo de vida de las baterías. Aún, si las baterías están tan bajas como para poder encender el dispositivo (mostrará bastantes mensajes de precaución antes de que esto pase), habrá normalmente suficiente energía para mantener la RAM en el mismo estado. En el caso de que las baterías estén totalmente sin energía o que sean retiradas del dispositivo, se tendrá aproximadamente un minuto para reemplazarlas antes de que se pierda la carga completamente. En este punto, muchos PDAs perderían sus datos. Los PDAs pueden también venir con adaptadores CA. 1.2.5 Pantalla LeD Los PDAs tienen algún tipo de pantalla LCD. Distinto de las pantallas LCD para computadoras de escritorio o portátiles, las cuales son usadas únicamente como dispositivos de salida, los PDAs usan sus pantallas como dispositivo de entrada y salida. Las pantallas LCD de los PDAs son más pequeñas que las pantallas de computadoras portátiles. Las computadoras de mano (hand-held computers) generalmente tienen pantallas mas grandes que las computadoras tipo Palm (palm-sized computers). Las pantallas de los PDAs tienen las siguientes características: LCD, LCD realzado, o CSTN, de tamaño 160x160 para PalmOS y 320x240 para PocketPC Blanco y negro (escala de grises de 4 bits) o color(16 bits) aq Capitulo 1. Que es un PDA? 19 Pantalla de matriz pasiva o activa7• Las pantallas de matriz activa tienen mayor nitidez y son más fáciles de leer, aunque las de matriz pasiva utilizan menor energía Reflective o backlit (o backlight) . Las pantallas de tipo backlit son buenas para leer con luz baja. 1.2.6 Bahías de expansión Muchos de los POAs actuales. tienen bahías de expansión que pueden acceder a tarjetas de memoria o almacenamiento, y tarjetas de E/S (entrada/salida), tales como módem y tarjetas de red. PocketPC normalmente tiene ranuras SO y algunas veces CF. Los POAs de Palm y Hanspring tienen ranuras SO. Sony Clie tiene ranuras Memory Stick. Para Palm, se puede adquirir tarjetas de almacenamiento, Bluetooth y WiFi para ranuras SO. Para PocketPC, se pueden adquirir tarjetas de memoria, Bluetooth, WiFi y GPS. Las ranuras CF de PocketPC pueden aceptar tarjetas de almacenamiento, módulos de cámara digital, modems, ethernet alámbrico y WiFi. Para Clie, pueden adquirirse tarjetas Memory Stick de almacenamiento y Bluetooth. 1.2.7 Syncing La sincronización con la PC, permite tener la información contenida en el POA respaldada en la propia PC, incluso tener respaldo de cada una de las aplicaciones que han sido instaladas adicionalmente. Desde que PocketPC es hecho por Microsoft, puede ser sincronizado con MS Outlook para datos PIM y correo electrónico. También puede ser sincronizado con Excel y Word, además de leer archivos de estos tipos. 7 Pantalla de matriz pasiva en un tipo de pantalla de panel plano, que consiste de una rejilla cableada horizontal y verticalmente. En la intersección de cada rejilla hay un elemento LeO, el cual constituye un único pixel, este puede ser iluminado o apagado. Las pantallas de matriz activa, conocidas también como TFT, utilizan un transistor para controlar cada pixel. Las pantallas TFT tienen mayor calidad pero son más costosas que las de matriz pasiva. - Capítulo 1. Que es un PDA? 20 Por otra parte, PalmOS puede sincronizarse con el escritorio de Palm, el cual soporta completamente aplicaciones PIM de escritorio e incluso de Out/ook. Muchos PDAs de PalmOS tienen una aplicación la cual permite trabajar completamente con documentos de · MS Office, Word, Excel e incluso Power Point, y soporta características más avanzadas que las soportadas por las propias de Microsoft Pocket Word y Excel. PocketPC no puede sincronizarse con Mac. Éste puede ser sincronizado sólo con Windows. Aunque puede adquirirse por terceros el software de sincronización, no es del todo compatible, a diferencia de Palm, que puede ser sincrQnizado con Mac y Windows. 1.3 PalmOS Desde la introducción de la primer Palm Pilot en 1996, la plataforma PalmOS ha definido la tendenciay la expectativa para el cómputo móvil , desde la forma en que la gente usa los dispositivos portátiles (PDAs) como organizadores personales para uso de dispositivos de información móvil como herramienta de negocios, y aun la capacidad de acceder a la Internet o una base de datos corporativa central vía conexión inalámbrica. Palm Computing fue capaz de realizar la mezcla correcta de características para conseguir un Asistente Personal Digital (PDA) que es fácil de integrar a todo tipo de necesidad del usuario (Figura 1.2). Figura 1. 2 Vista de distintos ángulos del teléfono inteligente Treo 600 "---------------- --- - - l Capítulo 1. Que es un PDA? 21 1.3.1 Historia Palm computing fue fundada en 1992 y adquirida por U.S. Robotics in 1995. En 1996, Palm computing introduce los productos Pi/ot1000 y Pi/ot5000, dispositivos que encabezaron el resurgimiento de cómputo de los PD(l.s (handhled computing). En junio de 1997, Palm llegó a ser una subsidiaria de 3Com cuando U.S. Robotics fue adquirida por 3Com. Con la adquisición de Smartcode Tecnology, en febrero de 1999, Palm agregó capacidad de comunicaciones inalámbricas avanzadas a la plataforma PalmOS para abarcar el mercado de los dispositivos de comunicación móvil, como teléfonos celulares, dispositivos de mensajes, comunicadores de datos y teléfonos inteligentes. En septiembre de 1999, 3Com anunció planes de hacer a la subsidiaria Palm, una compañía independiente de comercio. De esta forma la compañía llegó a ser independiente en marzo de 2000, y fue comercializada con NASDAQ en el marcador de símbolos Palm (ticker symbol Palm). En octubre de 2003, los accionistas de Palm votaron por crear PalmSource, creadora del software de la plataforma PalmOS, como una compañía independiente y adquirió Handspring. La compañía combinada es conocida como PalmOne y es comercializada con NASDAQ en el marcador de símbolos Palm (ticker symbol Palm). Uniendo a Zire, Tungsten y Treo, la creación de PalmOne lanzó un nuevo, líder mas fuerte en el mercado de soluciones de hardware y software del computo portátil y de comunicaciones. Conocida por su único compromiso hacia una interfaz elegante y simple que es fácil de usar, la familia de productos PalmOne, fue construida para beneficio de los clientes. En la actualidad, la familia de productos consiste de la serie de handhelds de Zire y Tungsten y la rama de teléfonos inteligentes Treo. Dicha familia de productos está equipada con una suite de aplicaciones PIM, capacidad de transmisión por infrarrojo, calculadora, aplicaciones para notas y juegos. Éstas también vienen con el software de escritorio (desktop PIM), el HotSync local y el software <?e sincronización remota. Palm abrió su sistema, permitiendo a miles de desarrolladores la oportunidad para crear sofisticados y diversos programas específicos de Palm. Esto permitió realmente la expansión del sistema operativo de Palm (PalmOS), y por lo tanto el uso del dispositivo, lo . que hizo que Palm tomara el mercado de una forma bastante rápida. oaq Capítulo 1. Que es un PDA? 22 1.4 Pocket pe En 1996, Microsoft introdujo el más reciente miembro de la familia de sistemas operativos Windows: Windows CE. Windows CE es un sistema operativo pequeño, de 32 bits, independiente de la plataforma disponible para un amplio rango de aplicacio~es de hardware. [9] El enfoque inicial del sistema operativo Windows CE es un nuevo conjunto de dispositivos para el mercado de los handheld. Microsoft ha dado una nueva categoria de computadores llamado handheld PC. Esta nueva tecnología refleja el deseo de Microsoft para poner el handheld aparte de la actual generación de dispositivos PDA u organizadores personales. Un handheld PC corriendo Windows CE esta diseñado par ser una compañía móvil de la computadora de escritorio (PC corriendo un sistema operativo de la familia de Windows). Windows CE provee a los usuarios con una interfaz familiar, y soporta distintas formas de sincronización de datos entre el handheld PC y la PC de escritorio (Figura 1.3). Optlonal keyboard Nokeyboard Figura 1. 3 Dispositivos con sistema operativo WindowsCE G Capítulo 1. Que es un PDA? 23 1.4.1 Historia Los proyectos WinPad y Pulsar fueron los antecesores de Windows CE, pero dichos proyectos nunca salieron al mercado. [9] WinPad En 1992, Microsoft comenzó a trabajar sobre una versión compacta de Windows 3.1 que seria usada para producir computadoras handheld basadas en Windows. Como la Newton de Apple, WinPad no tenía teclado, pero empleaba tecnología de reconocimiento de escritura como medio de entrada. WinPad tenía la intención de ser una compañía de la PC de escritorio. Podría ser conectada a la PC de escritorio mediante cable serial. Una vez conectada, los datos podrían ser sincronizados entre los ambos dispositivos. Las aplicaciones para WinPad eran escritas en Visual Basic. Entre los factores que provocaron el abandono del proyecto fueron: Pulsar El precio estimado para el consumidor bastante alto La tecnología de reconocimiento de escritura empleada era propensa a errores y muy lenta En 1993, otro proyecto, llamado Pulsar, fue iniciado por el grupo de tecnología avanzada de Microsoft. El objetivo del proyecto Pulsar era crear un nuevo super-pager que permitiera comunicar a las personas con otras y con servicios sobre redes inalámbricas. Pulsar estaba orientado más a ser dispositivo del cliente, y no una herramienta para complementar a la PC de escritorio como WinPad. ... Capítulo 1. Que es un PDA? 24 El dispositivo de Pulsar era del tamaño de un pager grande y no tenia teclado. La entrada de datos del dispositivo era realizada a través de un teclado sobre la pantalla. La programación de aplicaciones para Pulsar era hecha con Visual Basic. Las primeras pruebas con usuarios revelaron que el tamaño pequeño del dispositivo y la falta de teclado eran serios inconvenientes. Pegasus A finales de 1994, Microsoft decidió combinar los dos dispositivos handheld dentro de un grupo, bajo el nombre código de Pegasus. Como en el proyecto WinPad, el objetivo general fue cre~r un dispositivo móvil que trabajara en compañía de una PC de escritorio. Otro de los objetivos del nuevo proyecto consistía en liberar el dispositivo con un costo suficientemente bajo ($500 USO), crear una plataforma apropiada para comunicaciones, y tener un ambiente de desarrollo abierto para construir aplicaciones para Pegasus. El proyecto Pegasus continuó a lo largo de 1995, eventualmente adoptando la interfaz de Windows95 y llegando a ser WindowsCE. Cerca de 1996, desarrolladores de hardware se asociaron al proyecto y comenzaron la creación de dispositivos prototipos. A finales de 1996, Microsoft anunció oficialmente el proyecto Pegasus, con el nombre de WindowsCE. WindowsCE En la actualidad WindowsCE es un sistemá de 32 bits, multitarea, multihilos, independiente de la plataforma, ofrece soporte para ActiveX y Java, conectividad LAN, entre otros. WindowsCE puede también ser usado en otros tipos de dispositivos. Los dispositivos pueden incluir algo simple como un teléfono o pager, o algo complejo tal como una tarjeta de navegación y un sistema de control en un automóvil. En general, WindowsCE es apropiado para distintos sistemas. Todo tipo de dispositivos con una pantalla como interfaz, es un posible candidato. Capítulo 1. Que es un PDA? 25 1.5 Selección de la plataforma Para el presente trabajo se decidió optar por la plataforma PalmOS, dado que entre las ventajas que tiene dicha plataforma en comparación con sus contrapartes se encuentran: PalmOS ocupa menos memoria pero corre más rápido Muchos usuarios lo prefieren por ser fácil de usar Ocupa menos memoria y poder de procesamiento lo que la hace más económica Ocupa la mayor parte del mercado actual de PDAs La habilidad de sincronización con la PC es posiblecon otros sistemas operativos distinto:; de Windows Existen distintos ambientes para desarrollo de aplicaciones. Que van desde herramientas simples y gratuitas, hasta sofisticados y costosos lOEs Las aplicaciones PalmOS pueden ser ejecutadas en cualquier dispositivo PalmOS con distinta versión de sistema operativo sin modificación alguna, ya sea PDA o teléfono inteligente, a diferencia de WindowsCE y Symbian, en los cuales no puede ser ejecutada una aplicación si no esta desarrollada para determinada versión del sistema operativo. Por lo tanto se enfocará en los dispositivos PalmOS, ya que a pesar que se cree que el mercado de los próximos años lo ocupará en su mayoría, PocketPC, PalmOS tiene mayor número de clientes en la actualidad. Capítulo 2 2. Sistemas de información espacial 2.1 ¿Qué es información espacial? La información espacial puede ser definida como todo tipo de información que tiene una ubicación en el espacio [10]. Un subconjunto de la información espacial2 con la cual mucha gente trata diariamente, es la información geográfica~ la cual es definida como la información que puede ser relacionada a una ubicación sobre la superficie de la tierra [10]. Comúnmente nos encontramos con este tipo de información, a través de mapas topográficos y turísticos, directorios de calles, y también en mapas de vegetación, mapas de límites de propiedad, entre otros. 2.2 ¿Qué son Sistemas de información (51)? Los sistemas de información son una colección de datos y herramientas para trabajar con tales datos, los cuales contienen datos en forma análoga acerca de un fenómeno en el mundo real, de tal forma que la represel)tación física de dicha información, los datos, constituyen el modelo de ese fenómeno [10]. Así, que la colección de datos, la base de 2 Espacial es un término usado aquí para referirse a datos de ubicación, para objetos posicionados en el espacio, no solo geográficamente, sino un término usado para el espacio en general. Capítulo 2. Sistemas de información espacial 27 datos, es un almacén físico de vistas variadas del mundo real representando nuestro conocimiento en un punto en el tiempo [10). Un sistema de información (SI) puede ser definido como un sistema maquina-usuario integrado para proveer información para soportar funciones de operación, gestión y toma de decisiones en una organización. A un nivel estructural, esto es hecho de un conjunto de componentes o subsistemas que capturan, procesan, almacenan, analizan, condensan, y diseminan información en distintas formas. 2.3 ¿Qué son Sistemas de información espacial (SIE)? Tradicionalmente, los sistemas de información están orientados al texto lo cual provee de información sobre reportes, documentos y toma de decisiones para todos los niveles en la jerarquía de una organización. Esto es caracterizado por modos de operación de entrada y salida basados en texto, enfocados principalmente sobre campos estructurados y texto libre. De cualquier forma, este estilo de sistemas de información, ha llegado a ser obsoleto en algunas áreas donde la información ya no es más basada en texto completamente, en vez de eso, está basada en una combinación de texto, audio, imágenes junto con su significado o la relación espacio-tiempo entre estos. Sistemas de información recientes (basados en el conocimiento, espaciales o visuales, multimedia, de investigación, etc.) pueden ser definidos como un sistema maquina- usuario integrado para proveer información interrelacionada, basada en el conocimiento, visual y multimedia, para soportar funciones de investigación y otras operaciones de gestión y toma de decisiones en una organización. Así, que un sistema de información espacial (SIE) es un conjunto de herramientas para representar vistas del mundo real mediante datos acerca de su ubicación [10). Los sistemas de información espacial son una tecnología para procesar datos espaciales, y las herramientas, las cuales pueden ser activadas mediante la pulsaciÓn de un botón o la escritura de un comando, representan funciones de procesamiento; por ejemplo, visualización de un mapa, mediadas de distancias, etc. Dichas herramientas trabajan Capítulo 2. Sistemas de información espacial 28 sobre alguna o toda la información almacenada de alguna forma sistemática en una base de datos. El desarrollo de sistemas de computadora para la manipulación de información espacial ha cambiado la percepción de la información y existe actualmente un enorme rango y cantidad de información mantenida en este tipo de sistemas. Entre los campos incluidos en los sistemas de información espacial están: Sistemas de información geográfica (Geographicallnformation Systems, GIS) Percepción remota (Remate Sensing) Fotografía aérea (A erial Photography) Imágenes satelitales (Satellite Imagery) Sistemas de posicionamiento global (Global Positioning Systems, GPS) Modelado en 3D (3D Modelling) Análisis temporal (Temporal Análisis) , entre otros. Los sistemas de información espacial están diseñados para la captura de información sobre ubicación, almacenamiento, análisis, manipulación y producción de imágenes o descripciones éstas como respuesta de salida. Un aspecto fundamental dentro de los sistemas de información espacial es la forma de almacenar la información. Las bases de datos de estos sistemas contienen datos de tipo gráfico y alfanumérico, integrados para formar una completa fuente de información. La exactitud y nivel de resolución son elementos importantes en el desarrollo de una base de datos de un SIE, y vienen determinados por el uso al que esté destinado el sistema; por ejemplo, sistemas diseñados para aplicaciones de ingeniería requerirán, en general, un alto nivel de exactitud y de una gran resolución, a diferencia de los pensados para planificaciones o guías que no requieren de ese alto nivel de exactitud de detalle, sobre todo teniendo en cuenta que los costos de acceso a las base de datos para visualización y búsquedas de información pueden incrementar enormemente. Los sistemas de información espacial deben ser capaces de almacenar información sobre: La geometría: que es la forma y ubicación de los objetos l Capítulo 2. Sistemas de información espacial 29 Los atributos: que es la información descriptiva conocida acerca de los objetos, normalmente mostrada con simbología y notación. 2.4 Tipos de dato (atributos) La generación de la base de datos inicial incluye la captura e integración de datos que generalmente proceden de fuentes diversas, las cuales a menudo presentan diferentes escalas y formatos que deben ser unificados. Una base de datos completamente integrada requiere de entidades de control y de referencia a las que se deben ajustar otras entidades. Los datos en un SIE, pueden ser clasificados en: gráficos y alfanuméricos. Cada uno de ellos tiene características específicas y diferentes requisitos para su eficaz almacenamiento, proceso y representación. Los datos gráficos son descripciones digitales de las entidades del plano, y suelen incluir las coordenadas, reglas y símbolos que definen los elementos cartográficos en un mapa. El SIS utiliza estos datos para generar un mapa o representación gráfica en una pantalla de ordenador o bien sobre papel. Los datos alfanuméricos son descripciones de las características de las entidades gráficas, y generalmente son almacenados en formatos convencionales para este tipo de información. La información alfanumérica y gráfica se encuentra completamente integrada, siendo esta integración, junto con la capacidad de gestión de ambos tipos de datos, lo que caracteriza a los Sistemas de Información Espacial. Para representar el mundo real en datos espaciales debemos hacer un proceso de abstracción. Las entidades del mundo real pueden ser abstraídas de diferentes formas, por ejemplo, como puntos, líneas, áreas (abstraccióngeométrica o cartográfica) o como imágenes (por ejemplo, fotografías) o como etiquetas (por ejemplo una dirección). Las abstracciones de los objetos del mundo real ahora deben ser representadas. Estas . representaciones pueden ser en formato vectorial, formato raster, por símbolos o por Capítulo 2. Sistemas de información espacial 30 textos, y, por último, señalar una de las características mas significativas de las entidades de datos espaciales, las relaciones existentes entre las mismas. 2.5 Tipos de Formato Un paso importante en el desarrollo de Sistemas de Información Espacial, consiste en convertir información gráfica en una forma que pueda ser leída por una computadora, mediante la descripción de la forma y ubicación de características sobre los objetos que componen una imagen. Existen dos métodos fundamentales para almacenar la información de una región en una forma digital: 2.5.1 Raster raster vector Raster es un método de almacenamiento, procesamiento y visualización de datos espaciales, donde cada región está dividida en filas y columnas, las cuales forman una estructura cuadricular de pequeñas celdas. Cada celda debe ser de forma rectangular, pero no necesariamente cuadrada. Cada celda dentro de ésta matriz, contiene coordenadas de ubicación así como un valor de atributo. La ubicación espacial de cada celda está implícita, contenida en el orden de la matriz, a diferencia de una estructura de vector la cual almacena la topología explícitamente. Las regiones conteniendo el mismo valor de atributo son reconocidas como semejantes, de cualquier forma, las estructuras de tipo raster no pueden identificar los bordes de tales áreas como polígonos. Los datos raster son una abstracción del mundo real donde los datos espaciales son expresados como una matriz de células o píxeles, con la posición espacial implícita en el orden de los píxeles (Figura 2.1). Con el modelo de datos raster, los datos espaciales no son continuos, sino divididos en unidades discretas, lo cual hace a los datos raster, .., Capítulo 2. Sistemas de información espacial 31 apropiados para cierto tipo de operaciones espaciales; por ejemplo, cubiertas o cálculo de áreas. Raster Figura 2. 1 En la parte baja se muestra una imagen antes de ser digitalizada. En la parte superior se muestra la misma imagen discretizada utilizando el foonato raster. Las estructuras raster pueden llevar al incremento de almacenamiento en ciertas situaciones, desde que estos almacenan cada célula en la matriz sin considerar si es cierta característica o espacio vacío. En las estructuras raster el píxeF es equivalente y usualmente referido como un elemento celda o celda de cuadricula. Píxel o celda se refiere a la más pequeña unidad de información disponible en una imagen o un raster. 2.5.1.1 Representación de datos Numeración exhaustiva En esta estructura cada píxel tiene su valor propio, de ahí que no hay compresión cuando valores semejantes .están encontrados (Figura 2.2). 3 Pixel es la contracción de las palabras en ingles 'picture elemenr. Comúnmente es utilizado para describir la unidad mínima de un dispositivo de visualización (por ejemplo un monitor) o de una imagen, al cual le puede ser asignado atributos, tales como un color. . - Capítulo 2. Sistemas de información espacial RepresentacioR raster Figura 2. 2 ~epresentación de una imagen digitalizada en formato raster. Codificación run-Iength pixel 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 62 63 64 32 valor A A A A O O O O A A A A A O O O O O O Si un raster contiene grupos de celdas con valores idénticos, este tipo de codificación puede comprimir su almacenamiento, ya que en vez de almacenar cada celda, cada componente almacena un valor y el número de celdas con ese valor. Si hay únicamente una celda, el almacenamiento se duplicara, pero para el caso de tres o más celc;las existe una reducción significativa. Esta técnica es en particular de utilidad para la codificación de imágenes monocromáticas o imágenes binarias (Figura 2.3). Líneas Valores 1 A, 4 O. 9 2 A, 6 O. 8' " 3 A. 4 O;. 5 a. s o. 's 4 A. 4 O. 11 5 A. 3 O, S C. 9 ' 6 O. 6 C. 6 o; .8 7 e, 6 o. 8 8 O, s Figura 2. 3 Representación de una imagen digitalizada en formato raster utilizando el método de codificación Run-/ength. En la figura de la derecha se muestra una imagen raster, mientras que en la figura de la izquierda, se muestra la codificación de dicha imagen. • Capítulo 2. Sistemas de información espacial 33 Quadtrees Uno de las técnicas más utilizadas consiste en dividir un mapa en una estructura jerárquica basada en el principio de descomposición recursiva del espacio en cuadrantes, resultando en una determinada estructura de árbol. Se emplea con el objeto de reducir espacio de almacenamiento y el tiempo de procesamiento. Cuando la descomposición es en octantes, el modelo se denomina Odree. 2.5.1.2 Ventajas y desventajas El modelo raster tiene una organización muy simple de los datos, lo cual permite realizar con gran facilidad ciertos procesos de análisis; por ejemplo la superposición de planos, muy fácil de programar mediante operaciones con matrices, ésta operación es computacional mente muy costosa cuando el formato es de tipo vectorial, se realizan muy rápidamente y automáticamente si el formato es de tipo raster, pero el resultado estará afectado de un error debido a la discretización (parte derecha de las imágenes en la Figura 2.13). Sus gráficos, aunque deficientes,. se pueden realizar con dispositivos baratos; por ejemplo, una impresora matricial. Sus inconvenientes son: el gran volumen de almacenamiento que requiere, la baja calidad de las representaciones gráficas y la dificultad de realizar análisis complejos sobre los gráficos, así, almacenados. Por último, el modelo raster, no reconoce explícitamente la existencia de objetos geográficos, y por tanto, en las aplicaciones en que sea esencial Su empleo, éste modelo no podrá ser utilizado. 2.5.2 Vector Vectores una estructura de datos, usada para almacenar datos espaciales (Figura 2.4). El modelo vectorial se basa en tres primitivas básicas: < Capítulo 2. Sistemas de información espacial el nodo: es la unidad básica para representar entidades con posición pero sin dimensión (al menos a la escala escogida) la línea o el arco: representa entidades de una dimensión y está restringido a línea recta en algunas implementaciones el polígono o área: se utiliza para representar las entidades bidimensionales. Figura 2. 4 En la parte baja, se muestra una imagen antes de ser digitalizada. En la parte superior se muestra la misma imagen discretizada utilizando el formato vector. 34 Los datos del vector están compuestos por líneas y arcos, qefinidos por valores numéricos, indicando puntos de inicio y fin en forma de coordenadas, denominados nodos (Figura 2.5). La ubicación de esos nodos y la estructura topológica son usualmente almacenadas explícitamente. Las características son definidas únicamente por sus bordes y Hneas curvas representadas como una serie de arcos unidos. El almacenamiento del vector implica el almacenamiento de la topología explicita, lo cual es costoso, de cualquier forma solo almacena aquellos puntos los cuales definen una característica y todo el espacio fuera de ella no es tomado en cuenta. i Capítulo 2. Sistemas de información espacial Polígono Arco Figura 2. 5 Representación de una región mediante un polígono, con nodos y arcos. 35 De acuerdo con las características de este modelo de datos, los objetos espaciales son representados explícitamente y, junto con las características espaciales, el aspecto temático es asociado. Existen distintas formas para organizar ésta doble base de datos (la espacial y la temática). Usualmente, los sistemas vectoriales están formadospor dos componentes: la que manipula los datos espaciales y la que manipula los datos temáticos. Este es el sistema de organización híbrido, ya que enlaza una base de datos relacional de los atributos topológicos con otra con los datos espaciales. 2.5.2.1 Representación de datos En el modelo basado en vector, las unidades básicas de información espacial son puntos, líneas y arcos, y polígonos (Figura 2.5). Cada una de dichas unidades está compuesta por series de uno o más puntos de coordenadas; por ejemplo, una línea es una colección de puntos relacionados, y un polígono es una colección de líneas relacionadas (Figura 2.6). - Capftulo 2. Sistemas de información espacial Mundo real Modelo digital e o··!l - -: - - -:- - - - - .i~) - +. -.:- ---- .vi • , Ix I--~-~. "'. - , - - -, - - - -- v II I v iii I Figura 2. 6 Representación de una imagen digitalizada en formato vector y su representación simbólica. Existen distintos modelos para manipular la información de un vector : 5 4 3 2 Lista de coordenadas 'spaguetti' (Figura 2.7) Diccionarios de vértices (Figura 2.8) DIME (Duallndependent Map Encoding) (Figura 2.9) Arco/nodo (Figura 2.10) 2 3 4 5 A, 6 ( Identificador del po!íqono v numero de vertices ) 1, 3 ( Coordenadas del primer vertice I 1.8, 2.6 2.8, 3 3.3, 4 3.2, 5.2 1, 5.2 1, 3 ( Coordenadas del primer vertice nuevameré ) B, 1 ( ldentilicador del polÍqono V numero de vertices I 4,4 C. 4 ( Identificador de la ~nea y número de vertices I 1,2 3.5,2 4.2, 2.7 5.2, 2.7 Figura 2. 7 Representación de la estructura tipo lista de coordenadas o 'spaguetti '. Algunas de laS ventajas y desventajas de están: Es simple Fácil de manejar Sin topología Bastante duplicado, de ahi que se necesita gran espacio de almacenamiento Usado comúnmente en CAC(Computer Assited Cartography) 1 36 I ~ Capítulo 2. Sistemas de información espacial 5 4 3 2 5 4 3 2 Anhiw1 Anhiw2 virote X y pOlígono A: i, ii, iii, iv, v, vi punto B: xi 1 3 linei C: vii, viii, ix, X ii 1.8 2.6 +8 xi iii 2.8 3 iv 3.3 4 v 3.2 5.2 vi 5.2 vi Vlñ vii 1 2 viii 3.5 2 Ix 4.2 2.1 2 3 4 5 x 5.2 2.7 xi 4 4 Figura 2. 8 Representación de la estructura diccionario de vértices. Entre sus características están: sin topología sin duplicado Anbiw1 virote X y +8 ii 1.8 2.6 xi iii 2.8 iv 3.3 4 v 3.2 5.2 vi 5.2 vii viii vii 2 viii 3.5 2 ix 4.2 2.7 x 5.2 2.7 xi 4 4 2 3 4 5 ~ polígono def pOlígono izq del virtite iII virtite a externo A ii peti .... sepIeII6Ds b externo A iii A a.b, c,d,e,f e externo A iii iv d externo A iv v e externo A v vi f externo A vi i 9 externo externo vii viii h externo externo vii i ix i externo externo ix. x Figura 2. 9 Representación de la estructura DIME. Entre sus características están: Desarrollado por US Bureau de Census Los nodos (intersecciones de las líneas) son identificados por códigos Asigna un código direccional de la forma de un 'nodo inicial' y 'nodo final' Direcciones de calles y coordenadas UTM están explícitamente definidas para cada enlace 37 1 I Capítulo 2. Sistemas de información espacial 38 Archivo 1. Coordenadas de nodos y Vér1icH para todos los arcos arco de nodo véttice a_nodo 5 1 3.2,5.2 1,5.2 1,3 2 1,3 1.8, 2.6 2.8, 3 3.3, 4 3.2,5.2 3 1, 2 3.5,24.2,2.7 5.2, 2.7 4 An:hlvo 2. ToPO~ gra de areos 3 arco de nodo a_nodo der "polígono q...Jlolígono 1 1 2 Extemo A 2 2 1 A Externo . 2 3 3 4 Extemo Extemo Arehlvo 4. Tope ogIa de nodos 2 3 4 5 Nodo Arcos 1 1, 2 2 1, 2 3 3 4 4 5 5 Figura 2. 10 Representación de la estructura arco/nodo. 2.5.2.2 Ventajas y desventajas El detalle con el que se almacenan las relaciones es un compromiso entre la eficiencia del proceso y el modelo preciso de la realidad. Los procedimientos de análisis en este modelo son más laboriosos, pero más precisos que en el modelo raster, ya que con llevan la resolución analítica de intersecciones entre arcos, la determinación de áreas y la evaluación de posiciones relativas entre elementos diferentes (punto/polígono, puntollínea, etc.). Los atributos no espaciales son almacenados en una base de datos alfanuméricos interrelacionada con la base de datos espaciales, ofreciendo con ello posibilidades muy distintas de las del modelo raster. Éste modelo es mucho más parecido a la percepción humana del espacio que la ofrecida por los modelos raster, y en parte, por ello tiene mas variantes y más dificultades añadidas. Está más de acuerdo con la cartografía tradicional y, por ello, resulta más intuitiva. Pero la principal ventaja de este modelo respecto del modelo raster, es su capacidad para expresar las relaciones espaciales existentes entre las entidades, esto es, l I I I I Capítulo 2. Sistemas de información espacial 39 la información topológica, que es la que dota al modelo, de la semántica necesaria para representar el conocimiento territorial (parte izquierda de las imágenes en la Figura 2.13). 2.5.3 Comparación de los modelos raster y vector En las Figuras 2.11 y 2.12, se muestran dos tablas comparativas de las propiedades que ofrecen los formatos raster y vector, así como de sus características. Espacio continuo . Integración Discontinuo \1 X ------ -'-- ---'---;¡-·-- x --· --_ .. _~---- -~-_ .. _-_._--_._----- .... - --- - X \1 --'--------- Figura 2. 11 Tabla de características de los formatos "de representación, raster y vector. - Atto volumen de datos Bajo volumen de datos Visualización lenta ----- VISualización rápid~ __ . _____ . __ _ No tiene información de atributos ---..,.---P-ued- e-a-Im-ace- n-ar-in-:fo- rm- aoo..'c· ·c-n de atributos .-----._------- ______ ~~_s agradable a la~~t~ _____ .____ ____ Menos agradable a la vista _______ . Detallegra.!i~alt<:.. _____ . ____________ ~lIeg~b~~_._._._ Figura 2. 12 Tabla comparativa entre los formatos de representación, raster y vector. Capitulo 2. Sistemas de información espacial 40 Recomendaciones para el empleo correcto de los formatos raster y vector : Usar el formato vectorial para la realización de gráficos y mapas precisos (parte izquierda de las imágenes en la Figura 2.13). Usar el formato vectorial para análisis de redes (cableados eléctricos y telefónicos, rutas de transporte, etc.). Para la superposición y combinación de planos es más rápido y barato el modelo raster. Usar el método raster cuando se trabaja con representaciones y simulaciones de superficies (parte derecha de las imágenes en la Figura 2.13). Utilizar el formato raster y vectorial en combinación cuando es necesario representar líneas con precisión (vectorial) y superficies rellenas (raster) (Figuré! 2.14). Disponer de algoritmos de conversión de vectorial-raster y viceversa. Recordar que se pueden editar simultáneamente datos raster y vectoriales. Figura 2. 13 En las figuras se muestra la comparación visual de la representación raster (parte derecha de cada imagen), y vectorial (parte izquierda de cada imagen) de un mapa para descripción de calles y avenidas en una ciudad. Capítulo 2. Sistemas de información espacial Figura 2. 14 En las imágenes de arriba, se muestra la utilización hibrida de la representación raster y vector, mediante la superposición de éstas. .., 41 Capítulo 3 3. PalmOS: Características de la plataforma. 3.1 Gestión de energía PalmOS esta diseñado para minimizar el uso de la energía, a diferencia de las pe de escritorio que tienen características de ahorro de energía para evitar altos costos de energía eléctrica, en los dispositivos PalmOS la eficiencia de ahorro de energía está enfocada en extender el tiempo de vida de la batería. PalmOS administra para extender la pequeña cantidad de energía disponible a semanas de operación normal, lo cual es realmente sorprendente considerando que el dispositivo nunca es apagado. PalmOS suministra la energía en distintos subterminos.El botón de encendido/apagado únicamente cambia el dispositivo a modo de baja energía y a modo normal o activo. La energía nunca debe ser totalmente apagada, ya que la memoria junto con otros elementos requiere del suministro de una pequeña cantidad de energía para su funcionamiento. Esto es principalmente importante en el caso de la memoria, debido a que el dispositivo almacena las aplicaciones y datos permanentes en RAM, la cual perdería sus datos si el dispositivo es dejado sin energía. La forma en la que PalmOS ahorra batería es mediante la administración de energía basada en sus modos de ejecución (runníng modes). Un dispositivo Palm tiene tres modos de operación [2)[3)[7]: l Capítulo 3. PalmOS: Características de la plataforma. 43 1. S/eep mode. ocurre cuando no hay actividad alguna de parte del usuario sobre el dispositivo para una cierta cantidad de ' minutos. Por omisión son dos minutos, se está en este modo de ejecución cuando el dispositivo es apagado usando el botón de encendido/apagado. En este estado, el procesador, la pantalla, y otro hardware no reciben energía, pero lo que es la memoria, el reloj, y algunos circuitos de bajo nivel son mantenidos con energía. Oprimiendo el botón de encendido/apagado restaura el procesador y el demás hardware. 2. Doze mode. Ocurre cuando un aplicación esta en espera de entrada de datos de parte del usuario. El reloj del procesador esta activo pero sin ejecutar instrucciones, hasta que una interrupción de hardware indica la actividad del usuario, lo cual hace que el dispositivo salga de este modo. Mucho del tiempo que esta en ejecución una aplicación es perdido en este estado. 3. Running mode. Ocurre cuando el procesador esta ejecutando instrucciones. Durante este modo se consume mucha energía, así que el dispositivo de~e regresar lo mas rápido posible a Doze mode para conservar la energía de las baterías. 3.2 Ejecución de aplicaciones PalmOS tiene un kernel multitareas 1• De cualquier forma, el gestor de aplicaciones (U/AS, User /ntarface Application She/~ que muestra la interfaz de usuario, puede ejecutar solo una aplicación a la vez. Normalmente la aplicación en ejecución es llamada como una 1 Multitarea es la capacidad de ejecutar más de una tarea al mismo tiempo, una tarea se refiere a un programa. Los términos multitarea y multiprocesamiento son frecuentemente usados sin distinción, aunque multiprocesamiento implica que mas de un CPU este envueHo. En multitarea, solo un CPU esta envuelto, pero cambia de un programa a otro tan rápido que da la apariencia de ejecutar todos los programas al mismo tiempo. Existen dos tipos de muHitarea: preventivo y cooperativo. En multitarea preventivo, el sistema operativo asigna porciones de tiempo de CPU a cada programa. En multitarea cooperativo, cada programa puede controlar el CPU el tiempo que sea necesario. Si en programa no esta utilizando el CPU, éste puede permitir que otros programas lo utilicen temporalmente. l I Capítulo 3. PalmOS: Características de la plataforma. 44 subrutina. El UIAS obtiene nuevamente el control hasta que la aplicación en ejecución es terminada [3]. Ciertas llamadas en una aplicación pueden causar que el sistema operativo lance una nueva tarea. Un ejemplo de ello, es cuando la aplicación de sincronización (HotSync) inicia otra tarea conjunta al UlAS, la cual manipula la comunicación serial con la pe. La tarea de comunicación serial tiene una prioridad más baja que la de la tarea principal de interfaz de usuario, lo cual le permite al usuario interrumpir la comunicación generando algún evento, ya sea oprimiendo un botón físico o m~diante la generación de un evento en la pantalla del dispositivo. 3.3 Códigos de lanzamiento Cuando el sistema lanza una aplicación, llama a una función llamada PilotMain y le pasa un parámetro conocido como código de lanzamiento. Dicho código puede indicar a la aplicación que inicie y muestre su interfaz de usuario, en dicho caso iniciara su bucle de eventos y procesara la cola de eventos. Este tipo de inicio es llamado lanzamiento normal. Un código de lanzamiento puede indicar a la aplicación ejecutar una tarea pequeña sin mostrar la interfaz su usuario, y salir. Cuando una aplicación recibe otro código de lanzamiento distinto del lanzamiento normal, pasa el control a otra función en la aplicación que es ejecutada fuera del bucle de eventos. 3.4 Gestión de eventos Una aplicación PalmOS es un manejador de eventos, recibiendo eventos del sistema operativo y atendiéndolos o delegándolos al sistema nuevamente. Una estructura de eventos describe el tipo de evento que ha sido generado, así como información referente a tal evento. Durante un lanzamiento normal, la ejecución pasa al bucle de eventos de la aplicación, el cual recupera los eventos de la cola y los despacha de acuerdo al tipo de evento. i Capítulo 3. PalmOS: Características de la plataforma. 45 El bucle de eventos delega muchos de los eventos al sistema operativo, ya que el sistema tiene facilidades para tratar con tareas comunes, tales como mostrar menús o determinar que botón fue seleccionado. Una aplicación normal se mantendrá en el bucle'de eventos hasta que reciba un evento indicando el cierre de la aplicación, punto en el cual el bucle de eventos pasara el control a otra función para que inicie las operaciones de limpieza y prepare al programa para ser cerrado. 3.5 Gestión de memoria La RAM Y la ROM de un dispositivo PalmOS residen en un modulo de memoria llamado tarjeta (card). Originalmente era una tarjeta física que el usuario podía reemplazar fácilmente para actualizar la cantidad de memoria disponible, o para intercambiar el sistema operativo y las aplicaciones en la ROM por nuevas versiones. De cualquier forma, una tarjeta es ahora, una abstracción lógica usada por PalmOS para describir un área de memoria usada para contener ROM y RAM, Y es referida como tarjeta cero (card O), aunque en la actualidad pueden tener mas de una tarjeta de memoria (card1, card2, etc). PalmOS esta construido sobre una arquitectura de 32 bits. Las direcciones de memoria son de 32 bits de largo, dando al sistema operativo un total de 4GB de espacio de direcciones en el cual almacenar datos y código. La RAM en PalmOS esta dividida en dos áreas separadas: RAM dinámica y RAM de almacenamiento. La RAM dinámica provee un espacio para almacenamiento temporal de variables globales y otros datos que no requieren persistenCia entre las ejecuciones de una aplicación. La RAM de almacenamiento es usada en la misma forma en la que una pe utiliza el disco duro; provee almacenamiento permanente para aplicaciones y datos. l Capítulo 3. PalmOS: Características de la plataforma. 46 3.5.1 RAM dinámica Toda el área dinámica de la RAM del dispositivo es usada para implementar el heap dinámico. Un heap es un área contigua de memoria que administra y contiene a su vez pequeñas unidades de memoria, las cuales son llamadas chunks. Un chunk es un área contigua de memoria entre 1 byte y poco menos de 64 KB (65 528 bytes para ser precisos) de tamaño. Todos los datos son almacenados en chunks. 3.5.2 RAM de almacenamiento El área que no esta dedicada al heap dinámico está dividido en un número de heaps de almacenamiento. El tamaño y el número de heaps de almacenamiento dependen de la versión de sistema operativo y de la cantidad de RAM disponible en el dispositivo. Los chunks de memoria en un heap de almacenamiento son llamados records. Cada record es parte de una base de datos que es implementada por el gestor de datos de . PalmOS. Una base de datos es una lista de chunks de memoria y alguna información sobre la base de datos (encabezado). El gestor de datos ~rovee funciones para crear, abrir, cerrar y borrar bases de datos, así como funciones par manipulación de records dentro de dichas bases de datos. Dado que la
Compartir