public MetadataElement getRootElement() { if (rootElement.getNumElements() == 0) { for (SpotDimapMetadata mf : componentMetadata) { rootElement.addElement(mf.getRootElement()); } } return rootElement; }
private static int getNumRecords(MetadataElement metadataElement) { if (metadataElement == null) { return 1; } int numSubElements = metadataElement.getNumElements(); if (numSubElements > 0) { MetadataElement[] subElements = metadataElement.getElements(); int count = 0; for (MetadataElement subElement : subElements) { if (subElement.getName().matches(metadataElement.getName() + "\\.\\d+")) { // subelements should only have a number suffix count++; } } if (count == numSubElements) { return count; } } return 1; }
private void addElements(final MetadataElement parentElem, final Group parentGroup) { final Map<String, Integer> dupeCntElem = new HashMap<>(); for (int i = 0; i < parentElem.getNumElements(); i++) { final MetadataElement subElement = parentElem.getElementAt(i); final String name = subElement.getName(); boolean lastDupe = true; for (int j = i + 1; j < parentElem.getNumElements(); j++) { final MetadataElement dupeElement = parentElem.getElementAt(j); if (dupeElement.getName().equals(name)) {
public SpectraDataSentinel1(final Product product) { super(product); //get general metadata final MetadataElement root = AbstractMetadata.getOriginalProductMetadata(product); annotation = root.getElement("annotation"); numRecords = annotation.getNumElements() - 1; final RasterDataNode rasterNode = product.getBandAt(0); recordLength = rasterNode.getRasterWidth() * rasterNode.getRasterHeight(); }
public ArrayList<String> getBandNames(String resolutionId) { ArrayList<String> bands = new ArrayList<>(13); MetadataElement bandGroupListElement = getRootElement().getElement("Product_Characteristics").getElement("Band_Group_List"); for (int i = 0; i < bandGroupListElement.getNumElements(); i++) { MetadataElement element = bandGroupListElement.getElementAt(i); if (element.getAttribute("group_id").getData().getElemString().equals(resolutionId)) { MetadataElement bandListElement = element.getElement("Band_List"); for (int j = 0; j < bandListElement.getNumAttributes(); j++) { if (bandListElement.getAttributeAt(j).getName().equals("BAND_ID")) { bands.add(bandListElement.getAttributeAt(j).getData().getElemString()); } } } } return bands; }
MetadataElement bandGroupListElement = getRootElement().getElement("Product_Characteristics").getElement("Band_Group_List"); for (int i = 0; i < bandGroupListElement.getNumElements(); i++) { MetadataElement element = bandGroupListElement.getElementAt(i); if (element.getAttribute("group_id").getData().getElemString().equals(resolutionId)) { int index = 0; for (int i = 0; i < bandGroupListElement.getNumElements(); i++) { MetadataElement element = bandGroupListElement.getElementAt(i); if (element.getAttribute("group_id").getData().getElemString().equals(resolutionId)) {
MetadataElement bandListElement = findTreeElement(metadataRoot, bandListPath); if (bandListElement != null) { for (int i = 0; i < bandListElement.getNumElements(); i++) { MetadataElement metadataElement = bandListElement.getElementAt(i); MetadataAttribute metadataAttribute = metadataElement.getAttribute("physicalBand");
/** * Helper method that copies the child nodes of a metadata element as child nodes * of another metadata element. * * @param source The metadata element holding the nodes to be copied * @param target The destination metadata element */ public static void CopyChildElements(MetadataElement source, MetadataElement target) { Assert.notNull(source); Assert.notNull(target); MetadataAttribute[] attributes = source.getAttributes(); if (attributes != null) { for (MetadataAttribute attribute : attributes) { if (!target.containsAttribute(attribute.getName()) && !attribute.getName().contains(":")) { target.addAttribute(attribute); } } } while (source.getNumElements() > 0) { MetadataElement currentElement = source.getElementAt(0); target.addElement(currentElement); source.removeElement(currentElement); } }
@Override public void actionPerformed(final ActionEvent event) { final PromptDialog dlg = new PromptDialog("Search Metadata", "Value", "", PromptDialog.TYPE.TEXTFIELD); dlg.show(); if (dlg.IsOK()) { try { final String value = dlg.getValue("Value").toUpperCase(); final MetadataElement resultElem = new MetadataElement("Search result (" + value + ')'); final boolean isModified = product.isModified(); final MetadataElement root = product.getMetadataRoot(); resultElem.setOwner(product); searchMetadataValue(resultElem, root, value); product.setModified(isModified); if (resultElem.getNumElements() > 0 || resultElem.getNumAttributes() > 0) { SearchMetadataAction.openMetadataWindow(resultElem); } else { // no attributes found Dialogs.showError("Search Metadata", value + " not found in the Metadata"); } } catch (Exception ex) { Dialogs.showError(ex.getMessage()); } } }
@Override public void actionPerformed(final ActionEvent event) { final PromptDialog dlg = new PromptDialog("Search Metadata", "Item Name", "", PromptDialog.TYPE.TEXTFIELD); dlg.show(); if (dlg.IsOK()) { try { final String tag = dlg.getValue("Item Name").toUpperCase(); final MetadataElement resultElem = new MetadataElement("Search result (" + tag + ')'); final boolean isModified = product.isModified(); final MetadataElement root = product.getMetadataRoot(); resultElem.setOwner(product); searchMetadata(resultElem, root, tag); product.setModified(isModified); if (resultElem.getNumElements() > 0 || resultElem.getNumAttributes() > 0) { openMetadataWindow(resultElem); } else { // no attributes found Dialogs.showError("Search Metadata", tag + " not found in the Metadata"); } } catch (Exception ex) { Dialogs.showError(ex.getMessage()); } } }
public synchronized ArrayList<MuscateMask> getMasks() { if (masks == null) { masks = new ArrayList<>(13); MetadataElement maskListElement = getRootElement().getElement("Product_Organisation").getElement("Muscate_Product").getElement("Mask_List"); for(int i=0 ; i< maskListElement.getNumElements(); i++) { MuscateMask muscateMask = new MuscateMask(); MetadataElement imageElement = maskListElement.getElementAt(i); MetadataElement propertiesElement = imageElement.getElement("Mask_Properties"); muscateMask.nature = propertiesElement.getAttribute("NATURE").getData().getElemString(); muscateMask.encoding = propertiesElement.getAttribute("ENCODING").getData().getElemString(); muscateMask.endianness = propertiesElement.getAttribute("ENDIANNESS").getData().getElemString(); muscateMask.format = propertiesElement.getAttribute("FORMAT").getData().getElemString(); MetadataElement fileListElement = imageElement.getElement("Mask_File_List"); int numMasks = fileListElement.getNumAttributes(); for (int j = 0 ; j < numMasks ; j++) { String path = fileListElement.getAttributeAt(j).getData().getElemString(); muscateMask.addMuscateMaskFile(path); } masks.add(muscateMask); } } return masks; }
originalProductMetadata.addElement(measurementDataElem); int numElem = dataObjectSection.getNumElements();
public synchronized ArrayList<MuscateImage> getImages() { if (images == null) { images = new ArrayList<>(13); MetadataElement imageListElement = getRootElement().getElement("Product_Organisation").getElement("Muscate_Product").getElement("Image_List"); for (int i = 0; i < imageListElement.getNumElements(); i++) { MuscateImage muscateImage = new MuscateImage(); MetadataElement imageElement = imageListElement.getElementAt(i); MetadataElement propertiesElement = imageElement.getElement("Image_Properties"); muscateImage.nature = propertiesElement.getAttribute("NATURE").getData().getElemString(); muscateImage.compression = propertiesElement.getAttribute("COMPRESSION").getData().getElemString(); muscateImage.encoding = propertiesElement.getAttribute("ENCODING").getData().getElemString(); muscateImage.endianness = propertiesElement.getAttribute("ENDIANNESS").getData().getElemString(); muscateImage.format = propertiesElement.getAttribute("FORMAT").getData().getElemString(); MetadataElement fileListElement = imageElement.getElement("Image_File_List"); int numImages = fileListElement.getNumAttributes(); for (int j = 0; j < numImages; j++) { String path = fileListElement.getAttributeAt(j).getData().getElemString(); muscateImage.addMuscateImageFile(path); } images.add(muscateImage); } } return images; }
int numElements = metadataRoot.getElement("Original_Product_Metadata").getElement("annotation").getNumElements(); if (numElements > 0) { oswData = new double[5][numElements];