Revision 1747
org.gvsig.raster.tools/trunk/org.gvsig.raster.tools/org.gvsig.raster.tools.algorithm/org.gvsig.raster.tools.algorithm.layerdatatype/src/main/java/org/gvsig/raster/tools/algorithm/layerdatatype/LayerDatatypeProcess.java | ||
---|---|---|
64 | 64 |
private int dec2int = 0; |
65 | 65 |
private int big2smal = 0; |
66 | 66 |
private long milis = 0; |
67 |
private int percent = 0; |
|
68 | 67 |
private NoData byteNoData = null; |
69 | 68 |
private NoData shortNoData = null; |
70 | 69 |
private NoData intNoData = null; |
... | ... | |
139 | 138 |
writePixelFromByte(row, col, iBand, sourceBuffer.getElemByte(row, col, iBand), buf); |
140 | 139 |
} |
141 | 140 |
} |
142 |
percent = (int)((row * 100) / buf.getHeight());
|
|
141 |
updatePercent(row, buf.getHeight());
|
|
143 | 142 |
} |
144 | 143 |
break; |
145 | 144 |
case Buffer.TYPE_SHORT: |
... | ... | |
149 | 148 |
writePixelFromShort(row, col, iBand, sourceBuffer.getElemShort(row, col, iBand), buf); |
150 | 149 |
} |
151 | 150 |
} |
152 |
percent = (int)((row * 100) / buf.getHeight());
|
|
151 |
updatePercent(row, buf.getHeight());
|
|
153 | 152 |
} |
154 | 153 |
break; |
155 | 154 |
case Buffer.TYPE_INT: |
... | ... | |
159 | 158 |
writePixelFromInt(row, col, iBand, sourceBuffer.getElemInt(row, col, iBand), buf); |
160 | 159 |
} |
161 | 160 |
} |
162 |
percent = (int)((row * 100) / buf.getHeight());
|
|
161 |
updatePercent(row, buf.getHeight());
|
|
163 | 162 |
} |
164 | 163 |
break; |
165 | 164 |
case Buffer.TYPE_FLOAT: |
... | ... | |
170 | 169 |
writePixelFromDouble(row, col, iBand, v, buf); |
171 | 170 |
} |
172 | 171 |
} |
173 |
percent = (int)((row * 100) / buf.getHeight());
|
|
172 |
updatePercent(row, buf.getHeight());
|
|
174 | 173 |
} |
175 | 174 |
break; |
176 | 175 |
case Buffer.TYPE_DOUBLE: |
... | ... | |
181 | 180 |
writePixelFromDouble(row, col, iBand, v, buf); |
182 | 181 |
} |
183 | 182 |
} |
184 |
percent = (int)((row * 100) / buf.getHeight());
|
|
183 |
updatePercent(row, buf.getHeight());
|
|
185 | 184 |
} |
186 | 185 |
break; |
187 | 186 |
} |
org.gvsig.raster.tools/trunk/org.gvsig.raster.tools/org.gvsig.raster.tools.algorithm/org.gvsig.raster.tools.algorithm.base/src/main/java/org/gvsig/raster/tools/algorithm/base/process/RasterProcess.java | ||
---|---|---|
72 | 72 |
private boolean progressActive = true; |
73 | 73 |
private IProcessActions queueActions = null; |
74 | 74 |
private Logger logger = LoggerFactory.getLogger(RasterProcess.class.toString()); |
75 |
|
|
75 |
protected int percent = 0; |
|
76 | 76 |
|
77 | 77 |
/** |
78 | 78 |
* Crea la ventana de IncrementableTask |
... | ... | |
401 | 401 |
return (value != null && value instanceof Extent) ? ((Extent)value) : null; |
402 | 402 |
} |
403 | 403 |
|
404 |
/** |
|
405 |
* Updates the percentaje of progress and manages the cancelation |
|
406 |
* @param parcial |
|
407 |
* @param total |
|
408 |
* @throws ProcessInterruptedException |
|
409 |
*/ |
|
410 |
public void updatePercent(int parcial, int total) throws ProcessInterruptedException { |
|
411 |
if (taskEventManager.getEvent() != null) |
|
412 |
taskEventManager.manageEvent(taskEventManager.getEvent()); |
|
413 |
percent = (int)((parcial * 100) / total); |
|
414 |
} |
|
415 |
|
|
404 | 416 |
/* |
405 | 417 |
* (non-Javadoc) |
406 | 418 |
* @see org.gvsig.gui.beans.incrementabletask.IncrementableListener#actionResumed(org.gvsig.gui.beans.incrementabletask.IncrementableEvent) |
org.gvsig.raster.tools/trunk/org.gvsig.raster.tools/org.gvsig.raster.tools.algorithm/org.gvsig.raster.tools.algorithm.reproject/src/main/java/org/gvsig/raster/tools/algorithm/reproject/ReprojectProcess.java | ||
---|---|---|
108 | 108 |
messageBoxError("error_reprojecting", this, e1); |
109 | 109 |
} |
110 | 110 |
|
111 |
reproject = new Reproject(store, filename, interpolation, taskEventManager);
|
|
111 |
reproject = new Reproject(store, filename, interpolation, this);
|
|
112 | 112 |
try { |
113 | 113 |
int result = reproject.warp(projdst, projsrc, w, h, cellSize); |
114 | 114 |
if(result != 0) { |
org.gvsig.raster.tools/trunk/org.gvsig.raster.tools/org.gvsig.raster.tools.algorithm/org.gvsig.raster.tools.algorithm.reproject/src/main/java/org/gvsig/raster/tools/algorithm/reproject/Reproject.java | ||
---|---|---|
36 | 36 |
import org.gvsig.fmap.dal.coverage.exception.InvalidSetViewException; |
37 | 37 |
import org.gvsig.fmap.dal.coverage.exception.ProcessInterruptedException; |
38 | 38 |
import org.gvsig.fmap.dal.coverage.exception.RasterDriverException; |
39 |
import org.gvsig.fmap.dal.coverage.process.TaskEventManager; |
|
40 | 39 |
import org.gvsig.fmap.dal.coverage.store.DataServerWriter; |
41 | 40 |
import org.gvsig.fmap.dal.coverage.store.RasterDataStore; |
42 | 41 |
import org.gvsig.fmap.dal.coverage.store.RasterQuery; |
43 | 42 |
import org.gvsig.fmap.dal.coverage.store.RasterWriter; |
43 |
import org.gvsig.raster.tools.algorithm.base.process.RasterProcess; |
|
44 | 44 |
import org.gvsig.raster.tools.algorithm.base.util.Interpolation; |
45 | 45 |
|
46 | 46 |
|
... | ... | |
56 | 56 |
private int percent = 0; |
57 | 57 |
private int interpolationMethod = 0; |
58 | 58 |
private Interpolation interpolation = null; |
59 |
private TaskEventManager taskEventManager = null;
|
|
59 |
private RasterProcess process = null;
|
|
60 | 60 |
|
61 | 61 |
/** |
62 | 62 |
* Constructor de la clase. |
63 | 63 |
* @param lyr |
64 | 64 |
* @param pathDest Ruta de destino |
65 | 65 |
*/ |
66 |
public Reproject(RasterDataStore store, String pathDest, int inter, TaskEventManager taskEventManager) {
|
|
66 |
public Reproject(RasterDataStore store, String pathDest, int inter, RasterProcess process) {
|
|
67 | 67 |
this.store = store; |
68 | 68 |
this.pathDest = pathDest; |
69 | 69 |
this.interpolationMethod = inter; |
70 |
this.taskEventManager = taskEventManager;
|
|
70 |
this.process = process;
|
|
71 | 71 |
} |
72 | 72 |
|
73 | 73 |
/** |
... | ... | |
122 | 122 |
Point2D p = transformPoint(newBbox, col, row, cellSize, t); |
123 | 123 |
writePixel(dataType, sourceBuffer, buf, p, col, row, nd); |
124 | 124 |
} |
125 |
if (taskEventManager.getEvent() != null) |
|
126 |
taskEventManager.manageEvent(taskEventManager.getEvent()); |
|
127 |
percent = (int)((row * 100) / buf.getHeight()); |
|
125 |
process.updatePercent(row, buf.getHeight()); |
|
128 | 126 |
} |
129 | 127 |
} else { |
130 | 128 |
interpolation = new Interpolation(sourceBuffer); |
... | ... | |
133 | 131 |
Point2D p = transformPoint(newBbox, col, row, cellSize, t); |
134 | 132 |
writePixelInterpolated(dataType, sourceBuffer, buf, p, col, row, nd, interpolationMethod); |
135 | 133 |
} |
136 |
if (taskEventManager.getEvent() != null) |
|
137 |
taskEventManager.manageEvent(taskEventManager.getEvent()); |
|
138 |
percent = (int)((row * 100) / buf.getHeight()); |
|
134 |
process.updatePercent(row, buf.getHeight()); |
|
139 | 135 |
} |
140 | 136 |
} |
141 | 137 |
|
Also available in: Unified diff