private void writeIndexCoding(IndexCoding indexCoding, NVariable variable) throws IOException { CfIndexCodingPart.writeIndexCoding(indexCoding, variable); final String[] indexNames = indexCoding.getIndexNames(); final StringBuilder descriptions = new StringBuilder(); for (String indexName : indexNames) { final MetadataAttribute index = indexCoding.getIndex(indexName); if (index != null) { final String description = index.getDescription(); if (description != null) { descriptions.append(description); } } descriptions.append(DESCRIPTION_SEPARATOR); } variable.addAttribute(INDEX_DESCRIPTIONS, descriptions.toString().trim()); variable.addAttribute(INDEX_CODING_NAME, indexCoding.getName()); }
private void writeAttributes(PrintWriter out, MetadataElement element) { final MetadataAttribute[] attributes = element.getAttributes(); for (MetadataAttribute attribute : attributes) { out.print(createAttributeName(attribute) + "\t"); out.print(attribute.getData().getElemString() + "\t"); out.print(attribute.getUnit() + "\t"); out.print(attribute.getDescription() + "\t\n"); } final MetadataElement[] subElements = element.getElements(); for (MetadataElement subElement : subElements) { writeAttributes(out, subElement); } }
final Vector<String[]> xmlAttribs = new Vector<String[]>(); xmlAttribs.add(new String[]{DimapProductConstants.ATTRIB_NAME, attribute.getName()}); final String description = attribute.getDescription(); if (description != null) { xmlAttribs.add(new String[]{DimapProductConstants.ATTRIB_DESCRIPTION, description});
public void writeFlagCoding(Band band, NFileWriteable ncFile) throws IOException { final FlagCoding flagCoding = band.getFlagCoding(); if (flagCoding != null) { final String[] flagNames = flagCoding.getFlagNames(); final StringBuilder descriptions = new StringBuilder(); for (String flagName : flagNames) { final MetadataAttribute flag = flagCoding.getFlag(flagName); if (flag != null) { final String description = flag.getDescription(); if (description != null) { descriptions.append(description); } } descriptions.append(DESCRIPTION_SEPARATOR); } String variableName = ReaderUtils.getVariableName(band); ncFile.findVariable(variableName).addAttribute(FLAG_CODING_NAME, flagCoding.getName()); ncFile.findVariable(variableName).addAttribute(FLAG_DESCRIPTIONS, descriptions.toString().trim()); } }
public Object getValueAt(int column) { if (column == NAME_COL_INDEX) { if (index == -1) { return attribute.getName(); } else { return attribute.getName() + "." + index; } } else if (column == VALUE_COL_INDEX) { if (index == -1) { return attribute.getData().getElemString(); } else { return attribute.getData().getElemStringAt(index); } } else if (column == TYPE_COL_INDEX) { return attribute.getData().getTypeString(); } else if (column == UNIT_COL_INDEX) { return attribute.getUnit() != null ? attribute.getUnit() : ""; } else if (column == DESCR_COL_INDEX) { return attribute.getDescription() != null ? attribute.getDescription() : ""; } return ""; } }
ExpectedSampleCoding(SampleCoding sampleCoding) { this(); this.name = sampleCoding.getName(); samples = new ExpectedSample[sampleCoding.getNumAttributes()]; for (int i = 0; i < samples.length; i++) { final MetadataAttribute sampleAttribute = sampleCoding.getAttributeAt(i); samples[i] = new ExpectedSample(sampleAttribute.getName(), sampleAttribute.getData().getElemUInt(), sampleAttribute.getDescription()); } }
private void writeMetadataAttribute(NFileWriteable ncFile, MetadataAttribute metadataAttr, NVariable ncVariable, String prefix) throws IOException { final ProductData productData = metadataAttr.getData(); String ncAttributeName; if (prefix.isEmpty()) { ncAttributeName = metadataAttr.getName(); } else { ncAttributeName = prefix + SPLITTER + metadataAttr.getName(); } if(!ncFile.isNameValid(ncAttributeName)) { ncAttributeName = ncFile.makeNameValid(ncAttributeName); } if (productData instanceof ProductData.ASCII || productData instanceof ProductData.UTC) { ncVariable.addAttribute(ncAttributeName, productData.getElemString()); } else { ncVariable.addAttribute(ncAttributeName, Array.factory(productData.getElems())); } if (metadataAttr.getUnit() != null) { ncVariable.addAttribute(ncAttributeName + "." + UNIT_SUFFIX, metadataAttr.getUnit()); } if (metadataAttr.getDescription() != null) { ncVariable.addAttribute(ncAttributeName + "." + DESCRIPTION_SUFFIX, metadataAttr.getDescription()); } } }
private static void assertMetadataAttributeEqualityInt(MetadataAttribute expected, MetadataAttribute actual) { assertEquals(expected.getName(), actual.getName()); assertEquals(expected.getData().getElemInt(), actual.getData().getElemInt()); assertEquals(expected.getDescription(), actual.getDescription()); }
public MetadataAttribute createDeepClone() { MetadataAttribute clone = new MetadataAttribute(getName(), getData().createDeepClone(), isReadOnly()); clone.setDescription(getDescription()); clone.setSynthetic(isSynthetic()); clone.setUnit(getUnit()); return clone; } }
private String getSuitableBitmaskDefDescription(Term.Ref ref) { String description = null; final String symbolName = ref.getSymbol().getName(); if (isFlagSymbol(symbolName)) { final String[] strings = StringUtils.split(symbolName, new char[]{'.'}, true); final String nodeName = strings[0]; final String flagName = strings[1]; final RasterDataNode rasterDataNode = getRasterDataNode(nodeName); if (rasterDataNode instanceof Band) { final FlagCoding flagCoding = ((Band) rasterDataNode).getFlagCoding(); if (flagCoding != null) { final MetadataAttribute attribute = flagCoding.getAttribute(flagName); if (attribute != null) { description = attribute.getDescription(); } } } } else { final RasterDataNode rasterDataNode = getRasterDataNode(symbolName); if (rasterDataNode != null) { description = rasterDataNode.getDescription(); } } return description; }
private void writeSampleCoding(int indent, SampleCoding sampleCoding, String[] fcTags, String tagFlag, String tagName, String tagIndex, String tagDescription) { final String[] names = sampleCoding.getAttributeNames(); for (String name : names) { final MetadataAttribute attribute = sampleCoding.getAttribute(name); final String[] fTags = createTags(indent + 1, tagFlag); println(fTags[0]); printLine(indent + 2, tagName, attribute.getName()); printLine(indent + 2, tagIndex, attribute.getData().getElemInt()); printLine(indent + 2, tagDescription, attribute.getDescription()); println(fTags[1]); } println(fcTags[1]); }
private void addFlagCodingElements() { // Übernommen String[] codingNames = getProduct().getFlagCodingGroup().getNodeNames(); for (String codingName : codingNames) { Element flagCodingElem = new Element(DimapProductConstants.TAG_FLAG_CODING); flagCodingElem.setAttribute(DimapProductConstants.ATTRIB_NAME, codingName); _root.addContent(flagCodingElem); FlagCoding flagCoding = getProduct().getFlagCodingGroup().get(codingName); String[] flagNames = flagCoding.getFlagNames(); for (String flagName : flagNames) { MetadataAttribute flag = flagCoding.getFlag(flagName); Element flagElem = new Element(DimapProductConstants.TAG_FLAG); JDomHelper.addElement(DimapProductConstants.TAG_FLAG_NAME, flag.getName(), flagElem); JDomHelper.addElement(DimapProductConstants.TAG_FLAG_INDEX, flag.getData().getElemInt(), flagElem); JDomHelper.addElement(DimapProductConstants.TAG_FLAG_DESCRIPTION, flag.getDescription(), flagElem); flagCodingElem.addContent(flagElem); } } }
private static FlagCoding createCloudFlagCoding(Product outputProduct) { MetadataAttribute cloudAttr; final FlagCoding flagCoding = new FlagCoding(CLOUD_FLAG_BAND); flagCoding.setDescription("Cloud Flag Coding"); cloudAttr = new MetadataAttribute("cloudy", ProductData.TYPE_UINT8); cloudAttr.getData().setElemInt(FLAG_CLOUDY); cloudAttr.setDescription("is with more than 80% cloudy"); flagCoding.addAttribute(cloudAttr); outputProduct.addMask(cloudAttr.getName(), flagCoding.getName() + "." + cloudAttr.getName(), cloudAttr.getDescription(), createBitmaskColor(1, 3), 0.5); cloudAttr = new MetadataAttribute("cloudfree", ProductData.TYPE_UINT8); cloudAttr.getData().setElemInt(FLAG_CLOUDFREE); cloudAttr.setDescription("is with less than 20% cloudy"); flagCoding.addAttribute(cloudAttr); outputProduct.addMask(cloudAttr.getName(), flagCoding.getName() + "." + cloudAttr.getName(), cloudAttr.getDescription(), createBitmaskColor(2, 3), 0.5); cloudAttr = new MetadataAttribute("cloud_uncertain", ProductData.TYPE_UINT8); cloudAttr.getData().setElemInt(FLAG_UNCERTAIN); cloudAttr.setDescription("is with between 20% and 80% cloudy"); flagCoding.addAttribute(cloudAttr); outputProduct.addMask(cloudAttr.getName(), flagCoding.getName() + "." + cloudAttr.getName(), cloudAttr.getDescription(), createBitmaskColor(3, 3), 0.5); return flagCoding; }
final Element mdAttr = new Element(DimapProductConstants.TAG_METADATA_ATTRIBUTE); mdAttr.setAttribute(DimapProductConstants.ATTRIB_NAME, attribute.getName()); final String description = attribute.getDescription(); if (description != null) { mdAttr.setAttribute(DimapProductConstants.ATTRIB_DESCRIPTION, description);
final IndexCoding indexCoding = band.getIndexCoding(); if (indexCoding != null && rowIndex < indexCoding.getSampleCount()) { final String text = indexCoding.getAttributeAt(rowIndex).getDescription(); return text != null ? text : "";
if (attribute.getDescription() != null) { createScalarAttribute(locationID, attribute.getName() + ".descr", attribute.getDescription());
FlagCoding contextFC = new FlagCoding(flagCodingName); for (String flagName : flagNames) { contextFC.addFlag(flagName, srcFC.getFlagMask(flagName), srcFC.getFlag(flagName).getDescription());