private void readRegion(final int offsetY, final int height, ProgressMonitor pm) throws IOException { for (RasterRegion rasterRegion : rasterRegions) { rasterRegion.readRegion(getOffsetX(), offsetY, getRegionWidth(), height, pm); } }
public static RasterDataNode[] getRefRasters(String expression, Product[] products, int defaultProductNamePrefix) throws ParseException { RasterDataSymbol[] symbols = getRefRasterDataSymbols( new Term[]{parseExpression(expression, products, defaultProductNamePrefix)}); RasterDataNode[] rasters = new RasterDataNode[symbols.length]; for (int i = 0; i < symbols.length; i++) { rasters[i] = symbols[i].getRaster(); } return rasters; }
private String getNodeNamePrefix() { final String namePrefix; if (currentProduct != targetProduct) { namePrefix = BandArithmetic.getProductNodeNamePrefix(currentProduct); } else { namePrefix = ""; } return namePrefix; }
public void testConstructor() { final RasterDataEvalEnv env = new RasterDataEvalEnv(20, 14, 238, 548); assertEquals(20, env.getPixelX()); assertEquals(14, env.getPixelY()); assertEquals(0, env.getElemIndex()); assertEquals(20, env.getOffsetX()); assertEquals(14, env.getOffsetY()); assertEquals(238, env.getRegionWidth()); assertEquals(548, env.getRegionHeight()); }
/** * Utility method which returns all raster data symbols references in a given term. * * @param term the term to be analysed * @return the array of raster data symbols, never <code>null</code> but may be empty */ public static RasterDataSymbol[] getRefRasterDataSymbols(Term term) { return getRefRasterDataSymbols(new Term[]{term}); }
/** * Creates a namespace to be used by parsers for band arithmetic expressions. * The namespace created comprises all tie-point grids, bands and flags of this product. * * @return a namespace, never null */ public WritableNamespace createBandArithmeticDefaultNamespace() { return BandArithmetic.createDefaultNamespace(new Product[]{this}, 0); }
private static void registerProductSymbols(WritableNamespace namespace, Product product, String namePrefix) { registerTiePointGridSymbols(namespace, product, namePrefix); registerBandSymbols(namespace, product, namePrefix); registerMaskSymbols(namespace, product, namePrefix); registerSingleFlagSymbols(namespace, product, namePrefix); informNamespaceExtenders(namespace, product, namePrefix); }
private static String createValidMaskExpression(Product product, final String expression) throws ParseException { return BandArithmetic.getValidMaskExpression(expression, new Product[]{product}, 0, null); }
@Override public double evalD(EvalEnv env) throws EvalException { return ((RasterDataEvalEnv) env).getPixelX() + 0.5; } };
@Override public double evalD(EvalEnv env) throws EvalException { return ((RasterDataEvalEnv) env).getPixelY() + 0.5; } };
private static class Index { final String entry; final int index; private Index(String entry, int index) { this.entry = entry; this.index = index; } } }
public int getOffsetY() { return rasterDataEvalEnv.getOffsetY(); }
public int getOffsetX() { return rasterDataEvalEnv.getOffsetX(); }
public int getRegionWidth() { return rasterDataEvalEnv.getRegionWidth(); }
public int getRegionHeight() { return rasterDataEvalEnv.getRegionHeight(); }
/** * Evaluates the <code>body</code> by calling its {@link Body#eval(RasterDataEvalEnv,int) eval()} method. * This method just delegates to {@link #forEachPixel(Body, String) forEachPixel(body, null)}. * * @param body the object whose <code>eval</code> method is called. * @throws IOException if the raster data could not be read. */ public void forEachPixel(final Body body) throws IOException { forEachPixel(body, "Performing raster data operation..."); /*I18N*/ }
private static void informNamespaceExtenders(WritableNamespace namespace, Product product, String namePrefix) { for (Object a_namespaceExtenderList : _namespaceExtenderList) { NamespaceExtender namespaceExtender = (NamespaceExtender) a_namespaceExtenderList; namespaceExtender.extendNamespace(namespace, product, namePrefix); } }
public void testDefaultConstructor() { final RasterDataEvalEnv env = new RasterDataEvalEnv(0, 0, 1, 1); assertEquals(0, env.getPixelX()); assertEquals(0, env.getPixelY()); assertEquals(0, env.getElemIndex()); assertEquals(0, env.getOffsetX()); assertEquals(0, env.getOffsetY()); assertEquals(1, env.getRegionWidth()); assertEquals(1, env.getRegionHeight()); }
@Override public String getPrefix(Product product) { return getProductNodeNamePrefix(product); } });