[Gvsig_desarrolladores] RV: Herramienta impresión por lotes

David Alda Fernandez de Lezea dalda en ikt.es
Mar Feb 2 08:59:43 CET 2010


Se me ha olvidado comentar que estamos desarrollando con gvSIG 1.1.2.

Gracias.

Hola, 

Estamos intentando desarrollar una herramienta de impresión por lotes, es decir, tenemos un parcelario y queremos generar una serie de imágenes a partir de cada parcela representada en la vista. Para ello nuestra idea es generar las imágenes con el siguiente código:

			View view = (View)PluginServices.getMDIManager().getActiveWindow();
			FLayer capa = view.getMapControl().getMapContext().getLayers().getLayer("public.vinedos");
			capa.getMapContext().addLayerDrawingListener(this);

			FLyrVect vect = (FLyrVect)capa;

			DefaultJDBCDriver drv = (DefaultJDBCDriver)vect.getSource().getDriver();

			drv.getLyrDef().setWhereClause("WHERE PROVINCIA=1 AND MUNICIPIO=39 AND POLIGONO=2 AND PARCELA=267 AND RECINTO=1");
			
			try {
				capa.reload();
			} catch (DriverIOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
			//Con esto seleccionamos lo que hemos filtrado y hacemos un zoom a esa parcela
			ViewSelectionControls vsc = new ViewSelectionControls();
			ThemeControls tc = new ThemeControls();
			vsc.execute("INVERT_SELECTION");
			tc.execute("ZOOM_SELECT");
			vsc.execute("INVERT_SELECTION");

...

public void afterLayerDraw(LayerDrawEvent e) throws CancelationException {
		// TODO Auto-generated method stub
		
		View view = (View)PluginServices.getMDIManager().getActiveWindow();
		BufferedImage img = view.getMapControl().getImage();
		img = ((View) PluginServices.getMDIManager().getActiveWindow()).getImage();
		String pathName = "c:\\kk.png";
		
		File f = new File(pathName);
		try {
			Export.saveImageJimi(f, img);
		} catch (Exception exc) {
			// TODO Auto-generated catch block
			exc.printStackTrace();
		}
	}

Cuando lo ejecutamos así, con una referencia a una parcela, funciona bien, genera la imagen que queremos, pero cuando esto se quiere hacer de manera repetitiva para más de una parcela, sólo se genera la imagen de la última parcela que se le especifica. La verdad no sabemos muy bien por donde pueden ir los tiros. Alguna idea?
			
Gracias.
 
 
Un saludo,
 
··················································································

David Alda Fernández de Lezea
Lurralde eta Biodibertsitate Saila / Dpto. de Territorio y Biodiversidad
 
IKT
Granja Modelo s/n · 01192 · Arkaute (Araba)

··················································································
Tlfnos.: 945-00-32-95                         Fax: 945-00.32.90
··················································································
email: dalda en ikt.es                                web: www.ikt.es
··················································································


Más información sobre la lista de distribución gvSIG_desarrolladores