Revision 31466 tags/v1_9_Build_1250/extensions/extGPE-gvSIG/src/org/gvsig/fmap/drivers/gpe/writer/ExportTask.java

View differences:

ExportTask.java
9 9
import org.cresques.cts.IProjection;
10 10
import org.gvsig.fmap.drivers.gpe.reader.GPEDriverFactory;
11 11
import org.gvsig.fmap.drivers.gpe.reader.GPEVectorialDriver;
12
import org.gvsig.gpe.GPEDefaults;
12 13
import org.gvsig.gpe.GPERegister;
13 14
import org.gvsig.gpe.exceptions.ParserCreationException;
15
import org.gvsig.gpe.gml.utils.GMLUtilsParser;
14 16
import org.gvsig.gpe.parser.GPEParser;
15 17
import org.gvsig.gpe.utils.StringUtils;
16 18
import org.gvsig.gpe.writer.GPEWriterHandler;
......
36 38
import com.iver.cit.gvsig.project.documents.view.gui.IView;
37 39
import com.iver.utiles.swing.threads.AbstractMonitorableTask;
38 40

  
39
/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
41
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
40 42
 *
41 43
 * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
42 44
 *
......
58 60
 *
59 61
 *  Generalitat Valenciana
60 62
 *   Conselleria d'Infraestructures i Transport
61
 *   Av. Blasco Ib��ez, 50
63
 *   Av. Blasco Ib??ez, 50
62 64
 *   46010 VALENCIA
63 65
 *   SPAIN
64 66
 *
......
85 87
/**
86 88
 * This class writes a gvSIG layer and its children
87 89
 * (if the driver supports a layer with children)
88
 * @author Jorge Piera LLodr (jorge.piera@iver.es)
90
 * @author Jorge Piera LLodr? (jorge.piera@iver.es)
89 91
 */
90 92
public class ExportTask extends AbstractMonitorableTask{
91 93
	private FLayer rootLayer = null;
......
103 105
		this.mapContext = mapContext;
104 106
		this.eGeometry = new ExportGeometry(writer);
105 107
		this.file = file;
106
		eGeometry.setProjOrig(layer.getProjection());
107
		if (writer.getFormat().equals("text/xml; subtype=kml/2.1")){
108
		eGeometry.setProjOrig(mapContext.getProjection());
109
		eGeometry.setProjDest(layer.getProjection());
110
		if (writer.getFormat().equals("KML")){
108 111
			eGeometry.setProjDest(CRSFactory.getCRS("EPSG:4326"));			
109
		}else{
110
			eGeometry.setProjDest(layer.getProjection());
111 112
		}
112 113
		setInitialStep(0);
113 114
		setDeterminatedProcess(true);
......
162 163
	 * The layer to write
163 164
	 */
164 165
	private void exportLayer(FLayer layer){
165
		String projection = eGeometry.getProjDest().getAbrev();
166
		
167
		writer.startLayer(null, null, layer.getName(), null, projection);
166
		String projection  = null;
167
		if (layer.getProjection() != null){
168
			projection = layer.getProjection().getAbrev();
169
		}
170
		writer.startLayer(null, layer.getName(), null, 
171
				projection, null);
168 172
		//Sets the extent
169 173
		try {
170
			writer.startBbox(null,new CoordinatesSequenceBbox(eGeometry.getExtent(layer.getFullExtent())), eGeometry.getProjDest().getAbrev());
174
			writer.startBbox(null,new CoordinatesSequenceBbox(layer.getFullExtent()), mapContext.getProjection().getAbrev());
171 175
			writer.endBbox();
172 176
		} catch (Exception e) {
173 177
			writer.getErrorHandler().addWarning(new ExtentExportWarning(layer,e));

Also available in: Unified diff