private int getFlagRowCount() { int rowCount = 0; for (Band band : currentFlagBands) { rowCount += band.getFlagCoding().getNumAttributes(); } return rowCount; }
private static FlagCoding createFlagCoding(String codingName, int[] maskValues, String[] flagNames) { if (maskValues != null && flagNames != null && maskValues.length == flagNames.length) { final FlagCoding coding = new FlagCoding(codingName); for (int i = 0; i < maskValues.length; i++) { final String sampleName = replaceNonWordCharacters(flagNames[i]); final int sampleValue = maskValues[i]; coding.addSample(sampleName, sampleValue, ""); } if (coding.getNumAttributes() > 0) { return coding; } } return null; }
private static FlagCoding createFlagCoding(String codingName, int[] maskValues, String[] flagNames) { if (maskValues != null && flagNames != null && maskValues.length == flagNames.length) { final FlagCoding coding = new FlagCoding(codingName); for (int i = 0; i < maskValues.length; i++) { final String sampleName = replaceNonWordCharacters(flagNames[i]); final int sampleValue = maskValues[i]; coding.addSample(sampleName, sampleValue, ""); } if (coding.getNumAttributes() > 0) { return coding; } } return null; }
final Band band = getBandAt(i); if (band.getFlagCoding() != null) { for (int j = 0; j < band.getFlagCoding().getNumAttributes(); j++) { final MetadataAttribute attribute = band.getFlagCoding().getAttributeAt(j); l.add(band.getName() + "." + attribute.getName());
sb.append(RasterDataNode.IO_ERROR_TEXT); } else { for (int j = 0; j < flagCoding.getNumAttributes(); j++) { final MetadataAttribute flagAttr = flagCoding.getAttributeAt(j); final int mask = flagAttr.getData().getElemInt();
private void resetFlagTableModel() { flagModel.clear(); if (currentRaster != null) { for (Band band : currentFlagBands) { final FlagCoding flagCoding = band.getFlagCoding(); final int numFlags = flagCoding.getNumAttributes(); final String bandNameDot = band.getName() + "."; for (int j = 0; j < numFlags; j++) { String name = bandNameDot + flagCoding.getAttributeAt(j).getName(); flagModel.addRow(name, "", ""); } } } }
public static FlagCoding readFlagCoding(ProfileReadContext ctx, String variableName) { final FlagCoding flagCoding = CfFlagCodingPart.readFlagCoding(ctx, variableName); if (flagCoding != null) { final Variable variable = ctx.getNetcdfFile().getRootGroup().findVariable(variableName); final Attribute descriptionsAtt = variable.findAttributeIgnoreCase(FLAG_DESCRIPTIONS); if (descriptionsAtt != null) { final String[] descriptions = descriptionsAtt.getStringValue().split(DESCRIPTION_SEPARATOR); if (flagCoding.getNumAttributes() == descriptions.length) { for (int i = 0; i < descriptions.length; i++) { flagCoding.getAttributeAt(i).setDescription(descriptions[i]); } } } final Attribute nameAtt = variable.findAttributeIgnoreCase(FLAG_CODING_NAME); if (nameAtt != null) { flagCoding.setName(nameAtt.getStringValue()); } } return flagCoding; }
private void updateFlagPixelValues() { final boolean available = isSampleValueAvailable(levelZeroX, levelZeroY, _pixelPosValid); if (flagModel.getRowCount() != getFlagRowCount()) { resetFlagTableModel(); } int rowIndex = 0; for (Band band : currentFlagBands) { long pixelValue = available ? ProductUtils.getGeophysicalSampleLong(band, _pixelX, _pixelY, _level) : 0; for (int j = 0; j < band.getFlagCoding().getNumAttributes(); j++) { if (available) { MetadataAttribute attribute = band.getFlagCoding().getAttributeAt(j); int mask = attribute.getData().getElemInt(); flagModel.updateValue(String.valueOf((pixelValue & mask) == mask), rowIndex); } else { flagModel.updateValue(_INVALID_POS_TEXT, rowIndex); } rowIndex++; } } }
private static void registerSingleFlagSymbols(WritableNamespace namespace, Product product, String namePrefix) { for (int i = 0; i < product.getNumBands(); i++) { final Band band = product.getBandAt(i); if (band.getFlagCoding() != null) { for (int j = 0; j < band.getFlagCoding().getNumAttributes(); j++) { final MetadataAttribute attribute = band.getFlagCoding().getAttributeAt(j); final int flagMask = attribute.getData().getElemInt(); final String symbolName = namePrefix + band.getName() + "." + attribute.getName(); final Symbol symbol = new SingleFlagSymbol(symbolName, band, flagMask); namespace.registerSymbol(symbol); } } } }
if (flagsCoding == null || flagsCoding.getNumAttributes() == 0) { throw new DDDBException("database resource is empty: file " + filePath); /*I18N*/
public void testFlagCoding() { final FlagCoding fc = new FlagCoding("FC"); fc.addFlag("F1", 0x040, ""); fc.addFlag("F2", 0x800, ""); assertEquals(2, fc.getNumAttributes()); assertEquals(0x040, fc.getFlagMask("F1")); assertEquals(0x800, fc.getFlagMask("F2")); testIntValuesAllowedOnly(fc); testScalarValuesAllowedOnly(fc); }
assertEquals(31, flagCoding.getNumAttributes());
assertEquals(31, flagCoding.getNumAttributes());