Herramientas Personales
Usted está aquí: Inicio Desarrollo Guía de extensiones (versión desarrollo) Plugins Raster Tools Funcionalidades Salvar a raster Extensión de gvSIG
Acciones de Documento

Extensión de gvSIG

por Victor AcevedoÚltima modificación 10/06/2008 16:51

Paso de parámetros

El dialogo de salvar a raster es lanzado desde un botón en la barra de herramientas de gvSIG. Cuando se ejecuta este se añade una Tool a la vista de gvSIG para la selección del área a salvar con el ratón. Cuando se acaba la selección se crea el dialogo SaveRasterDialog. Este es lanzado desde SaveRasterListener. En su creación le pasará las coordenadas que se hayan seleccionado y la lista de capas que intervienen en el recorte. Desde esta lista de capas es de donde se extraerá la información para crear el raster de salida.

Incremento de la tarea

Para la barra de progreso utilizamos el objeto IncrementableTask de la librería libUIComponents. Este es un componente general para visualizar el incremento de una tarea. Tiene un interfaz IIncrementable con los métodos necesarios para actualizar el panel de incremento. IncrementableTask consultará las funciones de IIncrementable cada 100ms. En este caso el proceso de calculo de recorte debe implementar este interfaz y ser pasado a IncrementableTask en su creación.

Desde el proceso de recorte (SaveRasterProcess) capturaremos los eventos de la ventana de incremento para poder responder a la acción de cancelado del proceso. Para esto, nuestro CuttingProcess implementa el interfaz IncrementableListener que tiene los métodos para dar respuesta a este y otros eventos.

Modificación de parámetros del driver

El driver proporciona un objeto WriterParam que contendrá los valores por defecto de inicialización del driver de escritura escogido. Este objeto tiene valores en forma de propiedad = valor. Estos pueden ser modificados por la aplicación cliente y reasignados en el momento de crear el driver de escritura. Salvar a raster lanza un dialogo que está en libUIComponents que interpreta de forma automática las propiedades venidas desde el driver de escritura colocando un componente (caja de texto, slider, check, ...) dependiendo del tipo de propiedad. Este componente es generico y puede crearse para cualquier caso en el que se necesite modificación de propiedades. El evento del lanzamiento del cuadro de propiedades es capturado y gestionado en SaveRasterDialogListener.

Proceso de calculo

Una vez seleccionada el área el usuario acepta la operación. Acto seguido se obtienen los parámetros de salvado con el objeto WriterParams y se crea el renderizador RasterizerLayer. Este será el encargado de servirle los datos al driver de escritura a medida que los vaya solicitando. Su fuente de datos serán las capas que se pasaron por parámetro. Después del renderizador ya se puede crear el proceso de escritura. SaveRasterProcess es un Thread al que se le pasarán los parámetros, el renderizador, el nombre del raster de salida y las dimensiones y coordenadas de salida. Con estos datos se lanza el dialogo de incremento y se pone en marcha el proceso. El evento de aceptación del proceso de salvado es capturado y gestionado en SaveRasterDialogListener.

« Enero 2009 »
Do Lu Ma Mi Ju Vi
123
45678910
11121314151617
18192021222324
25262728293031
 

Hecho con Plone CMS, el Sistema de Gestión de Contenidos de Fuentes Abiertos

Este sitio cumple con los siguientes estándares: