CERTAMEN 03 SISTEMAS DE INFORMACIÓN GEOGRÁFICA INFORME PROYECTO GRUPO 05 “PALETA DE SÍMBOLOS” “Diseño y programación de paleta de símbolos que se pueda leer desde un directorio, que permita opciones de tamaño, que sea factible colocar alias a los símbolos y que la paleta se pueda incorporar a OpenJump” Nombres: - Andrés Aranda - Juan Manzor - Jorge Riquelme Grupo: - 5 Procedimiento empleado para la implementación respectiva La implementación de la paleta de símbolos se llevo a cabo a través de una serie de pasos, los cuales consisten en contar con las herramientas respectivas para desarrollar el proyecto, ya sea el código fuente de OpenJump, así como también con una herramienta IDE(Integrated Development Enviroment) tal como Eclipse o Netbeans, para este caso se utilizó Eclipse, y la solución fue desarrollada bajo el sistema operativo Linux. Debido a que OpenJump se encuentra programado en JAVA esto permite que sea posible desarrollar el proyecto en cualquier sistema operativo, generando un archivo de extensión “jar” que puede ser colocado dentro de la carpeta respectiva en OpenJump en cualquier plataforma que ya cuente con alguna versión relativamente actual de JRE(JAVA Runtime Enviroment). Se procedió a crear una carpeta (“paletasig”), la cual sería la contenedora de las imágenes que posteriormente serían parte de los símbolos, mediante la lectura de esta carpeta y de los archivos que se encuentran dentro de ella, se procede a reconocer su formato y llevarlo a su forma nativa en JAVA, luego se procede a construir la paleta mediante la creación de una pequeña ventana, en la cual se cargan las imágenes en pequeños cuadro similares a íconos, ahora se procede a la programación de los procedimientos que permiten clickear y generar los distintos cambios que permiten asociar los símbolos a los puntos en la cuadricula, cuando esto sucede, se procede a crear una nueva instancia de un símbolo, el cual tiene atributos tales como tamaño y alias. Junto con esto para incorporar la paleta a OpenJump se procedió a crear un ícono identificativo que permitiera distinguirlo en el menú, y se crea en el momento de la carga de OpenJump un elemento del menú en el cual se encontrará localizado el ícono respectivo así como una pequeña leyenda que permitirá la carga en pantalla de la paleta de símbolos. Los símbolos leídos desde la carpeta se encuentran en formato imagen, por lo cual basta con agregar las imágenes y hacer las modificaciones respectivas al código fuente, para que se pueda agregar un mayor número de simbologías. Cuando el proyecto ya se encuentra terminado se debe proceder a generar el archivo de extensión “jar” que se podrá colocar en la carpeta “lib/ext” de OpenJump para que sea reconocida por la aplicación y pueda ser utilizada. Investigación La investigación realizada consistió en obtener el código fuente de OpenJump, el cual fue analizado para comprender el funcionamiento del programa, en cuanto a layers, features, y styles, los que resultaron ser de vital importancia para el desarrollo del proyecto. También se procedió a obtener la documentación oficial, tanto de usuario así como también la que se encuentra para los desarrolladores lo que ayudó de sobremanera a comprender el sistema de trabajo, cabe mencionar que no es mucha la información relativa que existe para los desarrolladores, más allá de la que se puede encontrar en la documentación oficial o en la wiki del proyecto. Esto dificulta el desarrollo de plugins para la aplicación ya que al momento de querer mas información no existe una mayor fuente de datos para ello. Se procedió a la investigación del formato de archivos SHP o Shapefiles, el cual es un formato propietario que se encuentra abierto, en sus inicios fue creado especialmente para aplicaciones desarrolladas por la empresa ESRI, la cual es una empresa que se dedica a la comercialización de Software de Información Geográficos, pero en la actualidad es utilizado por una serie de otros software tales como OpenJump, debido a que se encuentra muy bien documentado y además debido al peso que los software de la empresa ESRI tienen en el mercado. Este tipo de formato se utiliza principalmente para el intercambio de archivos relacionados con SIGs y es de carácter vectorial, por lo cual no sufre deformaciones frente a cambios al momento de la visualización. También se procedió a indagar más sobre algunos métodos y objetos propios de OpenJump que permitieran realizar el trabajo. Por lo que la documentación y la ayuda que presta eclipse fueron de gran utilidad. Estructura de la información y datos utilizados La información utilizada para este tipo de problema, se encuentra en formato de imagen, se deben utilizar principalmente imágenes en formato PNG debido a que no existe perdida de información por compresión y junto con esto se pueden modificar fácilmente las imágenes ya que se mantienen las capas nativas. Junto con esto se debe tener clara la estructura de ‘layers’, ‘features’ y ‘styles’, los cuales son aquellos que permiten el desarrollo de este proyecto. Más allá de estos tipos de datos, y de las imágenes que deben ser proporcionadas en el formato requerido, no existen mayores estructuras para la información, ya que solo el símbolo tiene asociado una imagen, una etiqueta y un tamaño. Procedimiento de funcionamiento a) Requerimientos operacionales Para el correcto desarrollo de la aplicación se debe contar con un computador acorde a las necesidades de un programador JAVA, el cual deberá tener instalado alguna versión del JDK (Java Development Kit), así como también una versión de Eclipse, se debe contar con el código fuente de OpenJump y la documentación oficial, junto con algunos enlaces a la wiki de desarrollo. b) Requerimientos para el usuario El usuario de OpenJump debe contar con un sistema basado en un sistema operativo Windows 2000 en adelante o alguna distribución de Linux actual, para ambos casos será necesario contar una versión reciente de la máquina virtual de java (JRE), y que en cuanto a hardware cuente con al menos 256MB RAM, un Procesador Pentium 3 o superior equivalente, además se debe tener instalado OpenJump. Junto con esto el usuario de la paleta debe tener un conocimiento de nivel medio en el manejo de Windows, así como también en el manejo de la aplicación misma, lo que permitirá que el usuario pueda interactuar de mejor forma con el plugin. c) Manual de instalación La instalación de la paleta generada es bastante simple, para esto se debe contar primero con OpenJump, el cual puede ser bajado por cualquier persona desde la dirección http://sourceforge.net/projects/jump-pilot/ en ella se pueden encontrar las versiones tanto para Windows como para Linux, para su instalación y ejecución se debe contar con alguna versión de “Java Runtime Enviroment” que también puede ser descargado directamente de la pagina de SUN (http://www.sun.com). Cumpliendo con estos requisitos se debe proceder a abrir la carpeta en donde fue instalado OpenJump, luego se debe acceder a la carpeta “lib” y luego a “ext” en ella se debe pegar el archivo “paletasig.jar” que se proporciona y en mismo nivel se debe copiar también la carpeta “paletasig” que es aquella que contiene las imágenes la cual es proporcionada con el archivo “paletasig.jar”. Posterior a esto se debe cerrar OpenJump en el caso de que se encontrara abierto y luego se debe proceder a iniciarlo nuevamente, la paleta será compilada automáticamente y quedará disponible para su uso desde este momento. d) Manual de operación Para utilizar la paleta primero se debe proceder a la instalación de la misma, luego se debe abrir OpenJump y se podrá apreciar en el menú “Vista” el símbolo correspondiente con el mensaje ”Ventana paleta SIG”, se debe clickear sobre él para abrir la ventana con los símbolos que ya están cargados en el sistema. Para agregarlos a la cuadrícula basta con dibujar un punto sobre la posición en que se desea agregar el símbolo y luego con la paleta abierta se debe clickear sobre el icono en el menú, para luego seleccionar la imagen respectiva, después de hacer esto, se debe presionar sobre el punto dibujado y esto provocará que se agregue el símbolo respectivo. Si se desea cambiar la imagen basta con seleccionar lo requerido de la paleta y luego volver a clickear sobre el punto que se desea actualizar.