private static void writeMaskOverlays(Product p, NFileWriteable ncFile) throws IOException { for (Band band : p.getBands()) { final ProductNodeGroup<Mask> maskGroup = band.getOverlayMaskGroup(); if (maskGroup.getNodeCount() >= 1) { final String[] maskNames = maskGroup.getNodeNames(); final StringBuilder overlayNames = new StringBuilder(); for (String maskName : maskNames) { overlayNames.append(maskName).append(" "); } String variableName = ReaderUtils.getVariableName(band); final NVariable variable = ncFile.findVariable(variableName); if (variable != null) { variable.addAttribute(MASK_OVERLAYS, overlayNames.toString().trim()); } } } } }
if (band != null) { ProductNodeGroup<Mask> maskGroup = product.getMaskGroup(); addMasksToGroup(maskGroup, band.getOverlayMaskGroup(), overlayNames);
private void handleMaskRemoved(ProductNodeEvent event) { final Mask mask = (Mask) event.getSourceNode(); final Band[] bands = getBands(); for (Band band : bands) { band.getOverlayMaskGroup().remove(mask); } final TiePointGrid[] tiePointGrids = getTiePointGrids(); for (TiePointGrid tiePointGrid : tiePointGrids) { tiePointGrid.getOverlayMaskGroup().remove(mask); } }
private void addDefaultMasksDefsToBands(Product product) { for (final Band band : product.getBands()) { final String[] maskNames = getDefaultBitmaskNames(band.getName()); if (maskNames != null) { for (final String maskName : maskNames) { final Mask mask = product.getMaskGroup().get(maskName); if (mask != null) { band.getOverlayMaskGroup().add(mask); } } } } }
private static void readMaskOverlays(ProfileReadContext ctx, Product p) { NetcdfFile netcdfFile = ctx.getNetcdfFile(); for (Band band : p.getBands()) { String variableName = ReaderUtils.getVariableName(netcdfFile, band); final Variable variable = netcdfFile.getRootGroup().findVariable(variableName); final Attribute attribute = variable.findAttribute(MASK_OVERLAYS); if (attribute != null) { final ProductNodeGroup<Mask> maskGroup = p.getMaskGroup(); final String[] maskNames = attribute.getStringValue().split(" "); for (String maskName : maskNames) { final Mask mask = maskGroup.get(maskName); if (mask != null) { band.getOverlayMaskGroup().add(mask); } } } } }
product.getMaskGroup().remove(mask); for (Band band : product.getBands()) { deleteMaskFromGroup(band.getOverlayMaskGroup(), mask);
product.addBand(band2); band2.getOverlayMaskGroup().add(product.getMaskGroup().get("name1")); band2.getOverlayMaskGroup().add(product.getMaskGroup().get("name3"));