gvSIG: Avanzando Juntos

Slides:



Advertisements
Presentaciones similares
Chat para Ciclope Astro Facultad de Informática Universidad Politécnica de Madrid SISTEMAS INFORMÁTICOS 2 de Julio de 2008 Hélène Doumenc
Advertisements

Chat para Ciclope Astro Facultad de Informática Universidad Politécnica de Madrid SISTEMAS INFORMÁTICOS 30 de Junio de 2008 Hélène Doumenc
Migración de informes de Oracle Reports 6i a IReport en el Escritorio de Tramitación de la Consejería de Salud de la Junta de Andalucía Dpto. Informática.
Proyecto ROOTVE V2: Control de versiones con Subversion Grupo de Investigación y Desarrollo en Seguridad de la Información - GIDSI.
CICLOPE WEATHER Monitorización de datos meteorológicos y gestión de alertas para un observatorio astronómico ● 22 de julio de 2009 UNIVERSIDAD POLITÉCNICA.
GvSIG_des_2.x_d: Curso de desarrolladores de gvSIG Desktop v 2.x Introducción Novedades de desarrollo en gvSIG 2.0
GvSIG_des_2.x_d: Curso de desarrolladores de gvSIG Desktop v 2.x Proyectos y paquetes Novedades de desarrollo en gvSIG 2.0
Ciclope Astro - Foro Facultad de Informática Universidad Politécnica de Madrid SISTEMAS INFORMÁTICOS 13 de Marzo de 2008 Álvaro PANTOJA CASERO
Taller 4 Novedades vectoriales en gvSIG 1.9 Victoria Agazzi Coordinadora área testeo
Hojas electrónicas Curso de Nivelación. Capitulo IV Software de aplicación Hojas Electrónicas Macros - Introducción  Si hay tareas de Microsoft Excel.

COMUNICACIÓN Y TIC Ángela Espinosa Hayler Peñaranda.
Opciones del Package Manager. - Create new package: Me permite crear un nuevo paquete - Write new specification files for all installed, locally generated.
Administración de Sistemas Gestores de Bases de Datos.
TEMA: PSP (Personal Software Process) ANALISIS DE SISTEMAS I ING. EDGAR RAUL MOLINA INTEGRAMTES: HANNSEL E. CORDON AC JESSICA IDALMY KRESS FREDERIC HESTIB.
CURSO BÁSICO Microsoft Excel MPE: Saraí A. Lara Palacios.
PROGRAMACIÓN ORIENTADA A OBJETOS SEGUNDA UNIDAD: “CLASES, OBJETOS Y MÉTODOS” IRVING YAIR SALAS CHÁVEZ ING. EN SISTEMAS COMPUTACIONALES - ITSLP.
MICROSOFT ACCESS. Definición de una Base de Datos: un programa que permite gestionar y organizar una serie de datos. Por ejemplo, para la gestión de los.
Nombre José Francisco Luna Jurado Matricula Asignatura
Clases y Objetos.
Gestión de Compras.
Programación Avanzada
Artículos Unidades de medida
Clases y Objetos.
SEGURIDAD SQL Usuarios, privilegios y perfiles.
¿Qué es una consulta? En bases de datos, una consulta es el método para acceder a los datos en las bases de datos. Con las consultas se puede modificar,
Herencia Implementación en Java.
Programación Orientada a Objetos
“POLIMORFISMO PARAMETRICO”
Programación Orientada a Eventos
ANDREA DEL MAR MARIN CAMELO
Exception Object Throwable Error Exception Runtime Exception.
BASES DE DATOS.
Introducción a programación web Martin Esses
Patrones de Diseño Agustín J. González ElO329.
DOCUMENTO FUNCIONAL Versión 1.0 GIM ANDROID 2014
Introducción a programación web Martin Esses
UN DISPARADOR O TRIGGER es un procedimiento que se ejecuta cuando se cumple una condición establecida al realizar una operación. Es una rutina autónoma.
Google docs.
Elementos avanzados en GDevelop
DOCUMENTO FUNCIONAL Versión 1.0 GIM ANDROID 2015
EDWIN SANTIAGO YACELGA MALDONADO SANGOLQUÍ – ECUADOR 2016
Programación orientada a objetos
Soporte temporal en gvSIG
Interfaces Gráficas de Usuario
TÓPICOS AVANZADOS DE PROGRAMACIÓN
Herencia en C#.
FACTORY METHOD Creación a nivel de clases.
Programación Orientada a Objetos
Conceptos Relacionados Unidad I. Parte A.
Taller de certificación Internacional
Conceptos básicos de.NET Explorar el entorno de desarrollo Crear un proyecto Visual Basic.NET Use Visual Studio.NET Acceso a datos Depurar e implantar.
Customización en ADempiere
Diseño de una Base de datos
Introducción a Access Juan Alberto Sigüenza Escuela Técnica Superior de Informática.
Presentación SIC-CEIC v3.1
Class adapter.
Hoja de recopilación y/o recopilación de datos
“ENTORNO DE TRABAJO DE ACCESS 2010” ACTIVIDAD DE ADQUISICIÓN DEL CONOCIMIENTO GRISEIDY CLARIBEL VELAZQUEZ RUIZ GPO:423.
Normalmente emparejamos tablas que están relacionadas entre sí y una de las columnas de emparejamiento es clave principal, pues en este caso, Cuando una.
Lenguajes del lado del cliente
ESTRUCTURA DE SISTEMAS OPERATIVOS Carbajal Rojas karla.
INTRODUCCIÓN A DISEÑO Objetivos del curso. Definición de PowerPoint. Que podemos hacer en PowerPoint. Definición de Presentación. Principios de un buen.
PROGRAMACIÓN ORIENTADA A OBJETOS ING. HEMERSON VILLACORTA M.
Patrones de Diseño Agustín J. González ElO329.
BASE DE DATOS (Parte N°1) Docente: Lic. David I. López Pérez.
MICROSOFT ACCESS. Definición de una Base de Datos: un programa que permite gestionar y organizar una serie de datos. Por ejemplo, para la gestión de los.
Estructura de los Sistemas Operativos
Clases abstractas e interfaces
Transcripción de la presentación:

gvSIG: Avanzando Juntos Transformaciones gvSIG: Avanzando Juntos http://www.gvsig.gva.es http://www.gvsig.org Jorge Piera Llodrá Iver T.I. jpiera@gvsig.org

Índice de la Presentación Definición de transformación. 1.1. Transformaciones a nivel de DAL. 1.2. Transformaciones a nivel de aplicación. El wizard de las transformaciones. 2.1. Uso del wizard. 2.2. Creación de un nuevo wizard.

Índice de la Presentación Las transformaciones. 3.1. Creación de una transformación. 3.2. Los panelas asociados a la transformación.

Índice de la Presentación Definición de transformación. 1.1. Transformaciones a nivel de DAL. 1.2. Transformaciones a nivel de aplicación. El wizard de las transformaciones. 2.1. Uso del wizard. 2.2. Creación de un nuevo wizard.

Definición de Transformación

Definición de Transformación COL1 COL2 COL3 COL1 COL2 COL3 COL4

Definición de Transformación El tema de eventos El tema de eventos transforma un origen de datos con dos columnas con las corrdenadas X e Y en un origen de datos con una geometría de tipo Point. Transformación: Tema de Eventos X Y X ATT Y Geometry X Y ATT 1.0 1.0 1.0 1.0 feli Point(1.0, 1.0) 1.0 1.0 feli 2.0 3.0 2.0 zcum 3.0 Point(2.0, 3.0) 2.0 3.0 zcum 7.0 7.0 7.0 7.0 ple Point(7.0, 7.0) 7.0 7.0 ple 8.0 3.0 8.0 3.0 sus Point(8.0, 3.0) 8.0 3.0 sus 8.0 9.0 8.0 9.0 ana Point(8.0, 9.0) 8.0 9.0 ana

Índice de la Presentación Definición de transformación. 1.1. Transformaciones a nivel de DAL. 1.2. Transformaciones a nivel de aplicación. El wizard de las transformaciones. 2.1. Uso del wizard. 2.2. Creación de un nuevo wizard.

Transformaciones a nivel de DAL Las transformaciones se aplican a nivel de DataStore (aunque de momento, sólo son utilizables a nivel de FeatureStore). Se puede aplicar más de una transformación sobre un mismo almacén de datos. Lo que se hace es “crear una vista del almacen”, sin que sea posible modificarlo.

Transformaciones a nivel de DAL La interfaz FeatureStoreTransform es la que deben implementar todas las transformaciones. Se aplica a nivel de FeatureStore. Una transformación deberá básicamente hacer dos cosas: Definir el FeatureType de salida. Aplicar la transformación a una Feature concreta.

Transformaciones a nivel de DAL Se aplican a nivel de Feature El proceso de transformaciones iterará sobre el FeatureStore y aplicará la transformación Feature a Feature. Transformación COL1 COL2 COL3 COL1 COL2 COL3 COL4

Transformaciones a nivel de DAL El API de FeatureStoreTransform sirve para poder aplicar la transformación de forma genérica. Cada transformación particular se tiene que inicializar con los parámetros que necesite.

Transformaciones a nivel de DAL Tema de eventos: EventThemeTransform Se necesitan 3 parámetros para generar un tema de eventos: Nombre del campo que contiene la X. Nombre del campo que contiene la Y. Nombre para la nueva columna (opcional). Transformación X Y ATT X Y X ATT Y Geometry 1.0 1.0 feli 1.0 1.0 1.0 feli 1.0 Point(1.0, 1.0) 2.0 3.0 zcum 2.0 3.0 2.0 zcum Point(2.0, 3.0) 7.0 7.0 ple 7.0 7.0 7.0 ple Point(7.0, 7.0) 8.0 3.0 sus 8.0 3.0 8.0 sus Point(8.0, 3.0) 8.0 9.0 ana 8.0 9.0 8.0 ana Point(8.0, 9.0)

Transformaciones a nivel de DAL Añadir una transformación a un almacén: EventThemeTransform transform = new EventThemeTransform(); transform.initialize(featureStore, “geometry”, “X”, “Y”) ); store.getTransforms().add(transform);

Transformaciones a nivel de DAL Los parámetros que necesita la transformación para aplicarse pueden ser otros almacenes de datos, como por ejemplo en Join. La clase JoinTransform implementa esta transformación. X Y ATT ATT Z T 1.0 1.0 1 6 1.0 4 2.0 3.0 2 7 3.0 5 7.0 7.0 3 1 7.0 7 8.0 3.0 4 3 3.0 6 8.0 9.0 5 5 9.0 9

Índice de la Presentación Definición de transformación. 1.1. Transformaciones a nivel de DAL. 1.2. Transformaciones a nivel de aplicación. El wizard de las transformaciones. 2.1. Uso del wizard. 2.2. Creación de un nuevo wizard.

Transformaciones a nivel de aplicación Para poder ser utilizadas a nivel de aplicación las transformaciones se tienen que registrar utilizando algún mecanimo de registro. EventThemeTransform Registro JoinTransform

Transformaciones a nivel de aplicación Cada transformación se tiene que inicializar con unos parámetros concretos, por lo que necesita un formulario concreto.

Transformaciones a nivel de aplicación Se ha definido un mecanismo que permite registrar tanto las transformaciones como el interface de usuario que las configura. EventThemeTransform + GUI Registro JoinTransform + GUI

Transformaciones a nivel de aplicación Para poder aplicar las transformaciones de forma genérica, se ha creado un wizard.

Transformaciones a nivel de aplicación Para poder aplicar las transformaciones de forma genérica, se ha creado un wizard.

Transformaciones a nivel de aplicación DataTransformLocator: Se trata del locator de la librería. Nos proporciona los servicios de localización del DataTransformManager a usar por la librería. DataTransformManager: Se trata del punto que nos da acceso al API de transformaciones en gvSIG. A partir de él podemos realizar realizar básicamente dos operaciones: Gestionar el wizard de transformaciones. Gestionar las transformaciones.

Transformaciones a nivel de aplicación Para obtener la instancia de manager hay que ejecutar el siguiente código: DataTransformManager transformManager = DataTransformLocator. getDataTransformManager();

Índice de la Presentación Definición de transformación. 1.1. Transformaciones a nivel de DAL. 1.2. Transformaciones a nivel de aplicación. El wizard de las transformaciones. 2.1. Uso del wizard. 2.2. Creación de un nuevo wizard.

El wizard de las transformaciones Implementa el interface DataTransformWizard. Se puede acceder al wizard de las transformaciones desde cualquier punto de la aplicación ejecutando: DataTransformWizard transformWizard = transformManager.createWizard();

El wizard de las transformaciones Tiene que devolver una IWindow que gvSIG sea capaz de dibujar. IWindow window = transformWizard.getWindow(); PluginServices.getMDIManager(). addWindow(window);

Índice de la Presentación Definición de transformación. 1.1. Transformaciones a nivel de DAL. 1.2. Transformaciones a nivel de aplicación. El wizard de las transformaciones. 2.1. Uso del wizard. 2.2. Creación de un nuevo wizard.

Creación de un nuevo wizard Se puede reemplazar el wizard por defecto de gvSIG por otro nuevo wizard. Para ello, hay que crear una clase que extienda de DataTransformWizard y registrarla: transformManager. registerDataTransformManager( MyDataTransformManager.class);

Creación de un nuevo wizard Los paneles personalizados necesitan información del wizard.

Creación de un nuevo wizard Además de ofrecernos un interfaz de usuario (IWindow), el wizard deberá ser capaz de: Proporcionar una transformación de entre todas las transformaciones registradas que hay que aplicar. Proporcionar un DataStore se entre todos los que tiene la aplicación para ejecutar la transformación. Proporcionar algunos métodos de control para poder gestionar el wizard (p.e: habilitar el botón siguiente)

Índice de la Presentación Las transformaciones. 3.1. Creación de una transformación. 3.2. Los panelas asociados a la transformación.

Las transformaciones Al hablar de transformaciones a nivel de aplicación nos estamos refiriendo a transformación a nivel de DAL + GUI. La clase que implementa una transformación a nivel de aplicación es DataTransformGui. Este interfaz proverá al wizard de transformaciones de toda la información que necesita para poder ser seleccionada y poder aplicarse.

Las transformaciones getName() getDescription()

Las transformaciones getPanels()

createFeatureStoreTransform Las transformaciones createFeatureStoreTransform

Índice de la Presentación Las transformaciones. 3.1. Creación de una transformación. 3.2. Los panelas asociados a la transformación.

Creación de una nueva transformación Primero hay que crear una transformación a nivel de DAL. Posteriormente hay que crear una clase que implemente el interfaz DataTransformGui que: Devuelva el nombre y la descripción de la transformación. Aporte los paneles personalizados de la transformación. Cree la transformación a partir de un FeatureStore.

La transformación tiene que heredar de DataTransformGui. Las transformaciones Para registrar las transformaciones tenemos que utilizar el DataTransformManager. La transformación tiene que heredar de DataTransformGui. transformManager.registerDataTransform( MyDataTransform.class);

Creación de una nueva transformación El tema de eventos Se ha creado una transformación particular a nivel de aplicación para el tema de eventos: EventThemeTransformGui Para ello se ha creado un panel (EventThemeTransformPanel) personalizado, que tiene métodos para recoger toda la información que necesita el tema de eventos.

Creación de una nueva transformación El tema de eventos

Creación de una nueva transformación Creación de la transformación private EventThemeTransformPanel panel; public FeatureStoreTransform createFeatureStoreTransform( FeatureStore featureStore){ EventThemeTransform transform = new EventThemeTransform(); transform.initialize(featureStore, panel.getGeometryName(), panel.getXName(), panel.getYName()); return transform; }

Índice de la Presentación Las transformaciones. 3.1. Creación de una transformación. 3.2. Los panelas asociados a la transformación.

Los paneles asociados a la transformación Los paneles que aporta una transformación deben implementar el interfaz DataTransformWizardPanel. getJPanel() getPanelTitle()

Los paneles asociados a la transformación Los paneles internos del el wizard, tendrán una referencia al DataTransformWizard. Podrán configurarlo mediante el método setApplicable().

Los paneles asociados a la transformación Los paneles definen eventos para poder configurarse en función de la acción de wizard que se esté ejecutando: updatePanel(): se ejecuta cuando el wizard llega a la posición que ocupa un panel. nextPanel(): se ejcuta cuando el wizard avanza al siguiente panel. lastPanel(): se ejecuta cuando el wizard retrocede al panel anterior.

Conclusiónes Existen transformaciones a nivel de DAL que se puede crear para cambiar la forma de visualizar un origen de datos. Existen transformaciones a nivel de aplicación que están formadas por una transformación a nivel de DAL + GUI. Transformación a nivel de aplicación DAL Transform + GUI

Conclusiónes Las transformaciones a nivel de aplicación se tienen que registrar en gvSIG para poder ser utilizadas. Las transformaciones se aplicarán sobre cualquier origen de datos que gvSIG sea capaz de manejar.

gvSIG. Geographic Information System of the Valencian Government Copyright (C) 2007-2009 Infrastructures and Transports Department of the Valencian Government (CIT) This file is free documentation; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.