private synchronized void writeProjectedDEM() { if(projectedDEMWritten) return; try { writeHeader(projectedDEMInfo); final Band elevationBand = projectedDEM.getElevationBand(); final Rectangle trgRect = new Rectangle(0, 0, elevationBand.getRasterWidth(), elevationBand.getRasterHeight()); projectedDEM.computeTile(trgRect); final ProductData rawSamples = elevationBand.getData(); projectedDEMInfo.productWriter.writeBandRasterData(elevationBand, trgRect.x, trgRect.y, trgRect.width, trgRect.height, rawSamples, ProgressMonitor.NULL); } catch (Exception e) { e.printStackTrace(); } projectedDEMWritten = true; }
@Override public void computeTileStack(Map<Band, Tile> targetTiles, Rectangle targetRectangle, ProgressMonitor pm) throws OperatorException { for (Band targetBand : tgtBandToInfoMap.keySet()) { try { final WriterInfo info = tgtBandToInfoMap.get(targetBand); final Tile targetTile = targetTiles.get(targetBand); writeHeader(info); final Rectangle trgRect = targetTile.getRectangle(); final Tile sourceTile = getSourceTile(targetBand, trgRect); final ProductData rawSamples = sourceTile.getRawSamples(); info.productWriter.writeBandRasterData(targetBand, trgRect.x, trgRect.y, trgRect.width, trgRect.height, rawSamples, ProgressMonitor.NULL); } catch (Exception e) { if (e instanceof OperatorException) { throw (OperatorException) e; } else { throw new OperatorException(e); } } } if(!projectedDEMWritten) { writeProjectedDEM(); } }
private synchronized void writeTile(final SubsetInfo info, final Rectangle trgRect) throws IOException { if (info.written) return; for(Band trgBand : info.subsetProduct.getBands()) { final String oldBandName = info.newBandNamingMap.get(trgBand.getName()); final Tile sourceTile = getSourceTile(sourceProduct.getBand(oldBandName), trgRect); final ProductData rawSamples = sourceTile.getRawSamples(); //final String newBandName = StackUtils.getBandNameWithoutDate(bandName); info.productWriter.writeBandRasterData(trgBand, 0, 0, trgBand.getRasterWidth(), trgBand.getRasterHeight(), rawSamples, ProgressMonitor.NULL); } info.written = true; }
private synchronized void writeTile(final SubsetInfo info, final String bandName, final Rectangle trgRect) throws IOException { final Tile sourceTile = getSourceTile(sourceProduct.getBand(bandName), trgRect); final ProductData rawSamples = sourceTile.getRawSamples(); final Band trgBand = info.product.getBand(bandName); info.productWriter.writeBandRasterData(trgBand, 0, 0, trgBand.getRasterWidth(), trgBand.getRasterHeight(), rawSamples, ProgressMonitor.NULL); }
@Override public synchronized void computeTile(Band targetBand, Tile targetTile, ProgressMonitor pm) throws OperatorException { try { writeHeader(subsetInfo); final Rectangle trgRect = targetTile.getRectangle(); final Tile sourceTile = getSourceTile(sourceProduct.getBand(targetBand.getName()), trgRect); final ProductData rawSamples = sourceTile.getRawSamples(); subsetInfo.productWriter.writeBandRasterData(targetBand, trgRect.x, trgRect.y, trgRect.width, trgRect.height, rawSamples, ProgressMonitor.NULL); } catch (Exception e) { if (e instanceof OperatorException) { throw (OperatorException) e; } else { throw new OperatorException(e); } } }