private void writeTiePointGrid(TiePointGrid tiePointGrid) throws IOException { ensureExistingTiePointGridDir(); final ImageOutputStream outputStream = createImageOutputStream(tiePointGrid); tiePointGrid.getData().writeTo(outputStream); outputStream.close(); }
HDF5Constants.H5S_ALL, HDF5Constants.H5P_DEFAULT, grid.getData().getElems());
private void readTiePointGrids(Document jDomDocument) throws IOException { final String[] tiePointGridNames = product.getTiePointGridNames(); for (String tiePointGridName : tiePointGridNames) { final TiePointGrid tiePointGrid = product.getTiePointGrid(tiePointGridName); String dataFile = DimapProductHelpers.getTiePointDataFile(jDomDocument, tiePointGrid.getName()); dataFile = FileUtils.exchangeExtension(dataFile, DimapProductConstants.IMAGE_FILE_EXTENSION); FileImageInputStream inputStream = null; try { inputStream = new FileImageInputStream(new File(inputDir, dataFile)); final float[] floats = ((float[]) tiePointGrid.getData().getElems()); inputStream.seek(0); inputStream.readFully(floats, 0, floats.length); inputStream.close(); inputStream = null; // See if we have a -180...+180 or a 0...360 degree discontinuity if (tiePointGrid.getDiscontinuity() != TiePointGrid.DISCONT_NONE) { tiePointGrid.setDiscontinuity(TiePointGrid.getDiscontinuity(floats)); } } catch (IOException e) { throw new IOException( MessageFormat.format("I/O error while reading tie-point grid ''{0}''.", tiePointGridName), e); } finally { if (inputStream != null) { inputStream.close(); } } } }
public void testClone() { TiePointGrid grid = new TiePointGrid("abc", 2, 2, 0.1f, 0.2f, 0.3f, 0.4f, new float[]{1.2f, 2.3f, 3.4f, 4.5f}); grid.setDescription("Aha!"); grid.setDiscontinuity(TiePointGrid.DISCONT_AT_180); TiePointGrid gridClone = grid.cloneTiePointGrid(); assertEquals("abc", gridClone.getName()); assertEquals("Aha!", gridClone.getDescription()); assertEquals(TiePointGrid.DISCONT_AT_180, gridClone.getDiscontinuity()); assertEquals(2, gridClone.getRasterWidth()); assertEquals(2, gridClone.getRasterHeight()); assertEquals(0.1f, gridClone.getOffsetX()); assertEquals(0.2f, gridClone.getOffsetY()); assertEquals(0.3f, gridClone.getSubSamplingX()); assertEquals(0.4f, gridClone.getSubSamplingY()); assertNotNull(gridClone.getData()); assertEquals(true, gridClone.getData().getElems() instanceof float[]); float[] dataClone = (float[]) gridClone.getData().getElems(); assertEquals(4, dataClone.length); assertEquals(1.2f, dataClone[0]); assertEquals(2.3f, dataClone[1]); assertEquals(3.4f, dataClone[2]); assertEquals(4.5f, dataClone[3]); assertNotSame(grid.getData().getElems(), dataClone); } }