private MetadataElement[] getVariableMetadataElements() { MetadataElement variableListElement = tsProduct.getMetadataRoot(). getElement(TIME_SERIES_ROOT_NAME). getElement(VARIABLES); return variableListElement.getElements(); }
private static MetadataElement getProcessingGraphElement(int index, MetadataElement metadataElement) { final MetadataElement productElement = metadataElement.getElementAt(index); return productElement.getElement("Processing_Graph"); } }
@Override public MetadataElement getProductMetadata() { return getMetaDataElementRoot().getElement("PRODUCT_METADATA"); }
@Override public void setAutoAdjustingTimeCoding(boolean autoAdjust) { final MetadataElement tsRootElement = tsProduct.getMetadataRoot().getElement(TIME_SERIES_ROOT_NAME); tsRootElement.setAttributeString(AUTO_ADJUSTING_TIME_CODING, Boolean.toString(autoAdjust)); }
public static void convertAbsolutPathsToRelative(Product product, File outputDir) { final MetadataElement tsRootElem = product.getMetadataRoot().getElement(AbstractTimeSeries.TIME_SERIES_ROOT_NAME); final MetadataElement productLocations = tsRootElem.getElement(AbstractTimeSeries.PRODUCT_LOCATIONS); final MetadataElement sourceProductPaths = tsRootElem.getElement(AbstractTimeSeries.SOURCE_PRODUCT_PATHS); replaceWithRelativePaths(productLocations.getElements(), outputDir); replaceWithRelativePaths(sourceProductPaths.getElements(), outputDir); }
private String getPathString(final String tsMetadataName, int idx) { return testProduct.getMetadataRoot() .getElement(AbstractTimeSeries.TIME_SERIES_ROOT_NAME) .getElement(tsMetadataName) .getElement(tsMetadataName + "." + idx) .getAttributeString(AbstractTimeSeries.PL_PATH); }
private void addProductMetadata(Map.Entry<String, Product> productEntry) { MetadataElement productElement = tsProduct.getMetadataRoot(). getElement(TIME_SERIES_ROOT_NAME). getElement(SOURCE_PRODUCT_PATHS); ProductData productPath = ProductData.createInstance(productEntry.getKey()); int length = productElement.getElements().length + 1; MetadataElement elem = new MetadataElement(String.format("%s.%s", SOURCE_PRODUCT_PATHS, Integer.toString(length))); elem.addAttribute(new MetadataAttribute(PL_PATH, productPath, true)); productElement.addElement(elem); }
@Override public boolean isAutoAdjustingTimeCoding() { final MetadataElement tsRootElement = tsProduct.getMetadataRoot().getElement(TIME_SERIES_ROOT_NAME); if (!tsRootElement.containsAttribute(AUTO_ADJUSTING_TIME_CODING)) { setAutoAdjustingTimeCoding(true); } final String autoAdjustString = tsRootElement.getAttributeString(AUTO_ADJUSTING_TIME_CODING); return Boolean.parseBoolean(autoAdjustString); }
private void addVariableToMetadata(String variable) { MetadataElement variableListElement = tsProduct.getMetadataRoot(). getElement(TIME_SERIES_ROOT_NAME). getElement(VARIABLES); final ProductData variableName = ProductData.createInstance(variable); final ProductData isSelected = ProductData.createInstance(Boolean.toString(false)); int length = variableListElement.getElements().length + 1; MetadataElement elem = new MetadataElement(String.format("%s.%s", VARIABLES, Integer.toString(length))); elem.addAttribute(new MetadataAttribute(VARIABLE_NAME, variableName, true)); elem.addAttribute(new MetadataAttribute(VARIABLE_SELECTION, isSelected, true)); variableListElement.addElement(elem); }
private static float[] getSolarFlux(Product product) { MetadataElement metadataRoot = product.getMetadataRoot(); MetadataElement gadsElem = metadataRoot.getElement("Scaling_Factor_GADS"); MetadataAttribute solarFluxAtt = gadsElem.getAttribute("sun_spec_flux"); return (float[]) solarFluxAtt.getDataElems(); } }
private MetadataElement getSourcesElement(MosaicOp mosaicUpdateOp, MetadataElement mosaicMetadata) { for (MetadataElement element : mosaicMetadata.getElements()) { if (mosaicUpdateOp.getSpi().getOperatorAlias().equals(element.getAttributeString("operator"))) { return element.getElement("sources"); } } return null; }
IdentificationTN(String name, MetadataElement element, AbstractTN parent) { super(name, element, parent); //todo hard coded strings to be replaced with constants once abstracted metadata is rolled into BEAM final MetadataElement absRoot = element.getElement("Abstracted_Metadata"); if (absRoot != null) metadataElement = createIdentificationNodes(element, absRoot); else metadataElement = element; metadataElement.setOwner(element.getProduct()); }
private MetadataElement getProcessingGraphMetadata() { final MetadataElement processingGraphMetadata = globalMetadata.asMetadataElement(); final MetadataElement node_0 = processingGraphMetadata.getElement("node.0"); node_0.addElement(metadataAggregator.getMetadata()); return processingGraphMetadata; }
@Override public double getScalingFactor(String bandId) { final String spectralInput = getSpectralInputString(); String attributeKey = String.format("%s_MULT_BAND_%s", spectralInput, bandId); MetadataElement radiometricRescalingElement = getMetaDataElementRoot().getElement("RADIOMETRIC_RESCALING"); if (radiometricRescalingElement.getAttribute(attributeKey) == null) { return DEFAULT_SCALE_FACTOR; } final double scalingFactor = radiometricRescalingElement.getAttributeDouble(attributeKey); final double sunAngleCorrectionFactor = getSunAngleCorrectionFactor(spectralInput); return scalingFactor / sunAngleCorrectionFactor; }
@Override public double getScalingOffset(String bandId) { final String spectralInput = getSpectralInputString(); String attributeKey = String.format("%s_ADD_BAND_%s", spectralInput, bandId); MetadataElement radiometricRescalingElement = getMetaDataElementRoot().getElement("RADIOMETRIC_RESCALING"); if (radiometricRescalingElement.getAttribute(attributeKey) == null) { return DEFAULT_OFFSET; } final double scalingOffset = radiometricRescalingElement.getAttributeDouble(attributeKey); final double sunAngleCorrectionFactor = getSunAngleCorrectionFactor(spectralInput); return scalingOffset / sunAngleCorrectionFactor; }
private MetadataElement getMetadataElementSave(Product product, String name) { final MetadataElement metadataElement = product.getMetadataRoot().getElement(name); final MetadataElement namedElem; if (metadataElement == null) { namedElem = new MetadataElement(name); product.getMetadataRoot().addElement(namedElem); } else { namedElem = metadataElement; } return namedElem; }
private void initGraphMetadata() { final MetadataElement metadataRoot = targetProduct.getMetadataRoot(); MetadataElement targetGraphME = metadataRoot.getElement(PROCESSING_GRAPH_ELEMENT_NAME); if (targetGraphME == null) { targetGraphME = new MetadataElement(PROCESSING_GRAPH_ELEMENT_NAME); metadataRoot.addElement(targetGraphME); } convertOperatorContextToMetadata(this, targetGraphME); }
private void copyMetadata(Product partProduct, Product targetProduct, String name) { MetadataElement header = partProduct.getMetadataRoot().getElement("Header"); header.setName(name); targetProduct.getMetadataRoot().addElement(header); }
public LandsatReprocessedMetadata(FileReader fileReader) throws IOException { super(fileReader); landsatLegacyMetadataDelegate = new LandsatLegacyMetadata(getMetaDataElementRoot()); landsat8MetadataDelegate = new Landsat8Metadata(getMetaDataElementRoot()); sensorId = getMetaDataElementRoot().getElement("PRODUCT_METADATA").getAttribute("SENSOR_ID").getData().getElemString(); }
public void testAssignMetadataTo() throws IOException, IllegalCeosFormatException { final FilePointerRecord record = new FilePointerRecord(_reader, _prefix.length()); final MetadataElement elem = new MetadataElement("elem"); record.assignMetadataTo(elem, "suffix"); assertEquals(0, elem.getNumAttributes()); assertEquals(1, elem.getNumElements()); final MetadataElement recordRoot = elem.getElement("FilePointerRecord suffix"); assertNotNull(recordRoot); assertMetadata(recordRoot); assertEquals(0, recordRoot.getNumElements()); assertEquals(21, recordRoot.getNumAttributes()); }