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)) { Integer cnt = dupeCntElem.get(name);
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; }
private void getMetadata() throws Exception { final MetadataElement slvAbsRoot = AbstractMetadata.getSlaveMetadata(sourceProduct.getMetadataRoot()).getElementAt(0); final double mstFirstLineTime = AbstractMetadata.parseUTC( mstAbsRoot.getAttributeString(AbstractMetadata.first_line_time)).getMJD(); // in days rangeSpacing = AbstractMetadata.getAttributeDouble(mstAbsRoot, AbstractMetadata.range_spacing); azimuthSpacing = AbstractMetadata.getAttributeDouble(mstAbsRoot, AbstractMetadata.azimuth_spacing); final double slvFirstLineTime = AbstractMetadata.parseUTC( slvAbsRoot.getAttributeString(AbstractMetadata.first_line_time)).getMJD(); // in days acquisitionTimeInterval = Math.abs(slvFirstLineTime - mstFirstLineTime); // in days maxOffset = maxVelocity * acquisitionTimeInterval; // in m }
MetadataElement element = bandGroupListElement.getElementAt(i); if (element.getAttribute("group_id").getData().getElemString().equals(resolutionId)) { MetadataElement bandListElement = element.getElement("Band_List"); MetadataElement element = bandGroupListElement.getElementAt(i); if (element.getAttribute("group_id").getData().getElemString().equals(resolutionId)) { MetadataElement bandListElement = element.getElement("Band_List");
final MetadataElement firstVector = noiseAzimuthVectorListElem.getElementAt(0); if (firstVector.getAttributeString("slice", null) != null) { throw new OperatorException("Noise removal should be applied prior to slice assembly");
if (bandListElement != null) { for (int i = 0; i < bandListElement.getNumElements(); i++) { MetadataElement metadataElement = bandListElement.getElementAt(i); MetadataAttribute metadataAttribute = metadataElement.getAttribute("physicalBand"); ProductData data = metadataAttribute.getData();
/** * 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); } }
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; }
final MetadataElement slaveRoot = targetProduct.getMetadataRoot().getElement(AbstractMetadata.SLAVE_METADATA_ROOT).getElementAt(slaveMetaCnt); final SLCImage slaveMeta = new SLCImage(slaveRoot, targetProduct); final Orbit slaveOrbit = new Orbit(slaveRoot, ORBIT_INTERP_DEGREE);
MetadataElement elem = dataObjectSection.getElementAt(i).getElement("byteStream"); String dataFilename = elem.getElement("fileLocation").getAttributeString("href");
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; }
final int defInt = AbstractMetadata.NO_METADATA; final MetadataElement level1Elem = origProdRoot.getElementAt(0); final MetadataElement generalHeader = level1Elem.getElement("generalHeader"); final MetadataElement productInfo = level1Elem.getElement("productInfo");
final MetadataElement srgrListElem = srgrCoefficientsElem.getElement(AbstractMetadata.srgr_coef_list); MetadataElement coefElem = srgrListElem.getElementAt(0); double c0 = coefElem.getAttributeDouble(AbstractMetadata.srgr_coef); c0 = c0 / Fr * Constants.halfLightSpeed + R0; AbstractMetadata.setAttribute(coefElem, AbstractMetadata.srgr_coef, c0); coefElem = srgrListElem.getElementAt(1); double c1 = coefElem.getAttributeDouble(AbstractMetadata.srgr_coef); c1 = c1 / Fr * Constants.halfLightSpeed; AbstractMetadata.setAttribute(coefElem, AbstractMetadata.srgr_coef, c1); coefElem = srgrListElem.getElementAt(2); double c2 = coefElem.getAttributeDouble(AbstractMetadata.srgr_coef); c2 = c2 / Fr * Constants.halfLightSpeed; AbstractMetadata.setAttribute(coefElem, AbstractMetadata.srgr_coef, c2); coefElem = srgrListElem.getElementAt(3); double c3 = coefElem.getAttributeDouble(AbstractMetadata.srgr_coef); c3 = c3 / Fr * Constants.halfLightSpeed;