@Override public S2Metadata.AnglesGrid[] getViewingAnglesGrid() { MetadataElement geometricElement = rootElement.getElement("Geometric_Info"); if(geometricElement == null) { return null; } MetadataElement tileAnglesElement = geometricElement.getElement("Tile_Angles"); if(tileAnglesElement == null) { return null; } return S2Metadata.wrapStandardViewingAngles(tileAnglesElement); }
public static InSARStackOverview.IfgStack[] calculateInSAROverview(final Product coregProduct) throws Exception { MetadataElement slaveElem = coregProduct.getMetadataRoot().getElement(AbstractMetadata.SLAVE_METADATA_ROOT); if (slaveElem == null) { slaveElem = coregProduct.getMetadataRoot().getElement("Slave Metadata"); } final List<MetadataElement> absMetaList = new ArrayList<>(); absMetaList.add(AbstractMetadata.getAbstractedMetadata(coregProduct)); absMetaList.addAll(Arrays.asList(slaveElem.getElements())); return InSARStackOverview.calculateInSAROverview(absMetaList.toArray(new MetadataElement[absMetaList.size()])); }
@Override public S2Metadata.AnglesGrid[] getViewingAnglesGrid() { MetadataElement geometricElement = rootElement.getElement("Geometric_Info"); if(geometricElement == null) { return null; } MetadataElement tileAnglesElement = geometricElement.getElement("Tile_Angles"); if(tileAnglesElement == null) { return null; } return S2Metadata.wrapStandardViewingAngles(tileAnglesElement); }
public int[] getCalibrationPixel( final int subSwathIndex, final String polarization, final int vectorIndex) { final MetadataElement calibrationVectorListElem = getCalibrationVectorList(subSwathIndex, polarization); final MetadataElement[] list = calibrationVectorListElem.getElements(); final MetadataElement pixelElem = list[vectorIndex].getElement("pixel"); final String pixel = pixelElem.getAttributeString("pixel"); final int count = Integer.parseInt(pixelElem.getAttributeString("count")); final int[] pixelArray = new int[count]; addToArray(pixelArray, 0, pixel, " "); return pixelArray; }
private void getNoiseCorrectedFlag() { final MetadataElement level1Product = origMetadataRoot.getElement("level1Product"); final MetadataElement processingFlagsElem = level1Product.getElement("processing").getElement("processingFlags"); if (processingFlagsElem == null) { throw new OperatorException("Cannot find \"processingFlags\" element in level1Product metadata"); } noiseCorrectedFlag = processingFlagsElem.getAttributeString("noiseCorrectedFlag").contains("true"); if (acquisitionMode.contains("ScanSAR") && !noiseCorrectedFlag) { throw new OperatorException("Noise correction for ScanSAR is currently not supported."); } }
public float[] getCalibrationVector( final int subSwathIndex, final String polarization, final int vectorIndex, final String vectorName) { final MetadataElement calibrationVectorListElem = getCalibrationVectorList(subSwathIndex, polarization); final MetadataElement[] list = calibrationVectorListElem.getElements(); final MetadataElement vectorElem = list[vectorIndex].getElement(vectorName); final String vectorStr = vectorElem.getAttributeString(vectorName); final int count = Integer.parseInt(vectorElem.getAttributeString("count")); float[] vectorArray = new float[count]; addToArray(vectorArray, 0, vectorStr, " "); return vectorArray; }
private String createMetadataDouble(final String name, final MetadataElement recElem, final String elemName, String unit) { final MetadataElement elem = recElem.getElement(elemName); final double value = elem.getElement("Values").getAttributeDouble("data", 0); String valueStr = String.valueOf(value); if (value - (int) value != 0) valueStr = frmt.format(value); if (unit == null) { unit = elem.getAttributeString("units"); } return name + ": " + valueStr + " " + unit; }
private void getBaseline() throws Exception { final MetadataElement masterMeta = AbstractMetadata.getAbstractedMetadata(sourceProduct); final SLCImage masterMetaData = new SLCImage(masterMeta, sourceProduct); final Orbit masterOrbit = new Orbit(masterMeta, 3); final MetadataElement[] slaveRoot = sourceProduct.getMetadataRoot(). getElement(AbstractMetadata.SLAVE_METADATA_ROOT).getElements(); final SLCImage slaveMetaData = new SLCImage(slaveRoot[0], sourceProduct); final Orbit slaveOrbit = new Orbit(slaveRoot[0], 3); baseline.model(masterMetaData, slaveMetaData, masterOrbit, slaveOrbit); }
@Override public int getRasterWidth() { if (width == 0) { MetadataElement currentElement; if (((currentElement = rootElement.getElement(SpotConstants.SPOT4_TAKE5_TAG_GEOMETRY)) != null)) { width = Integer.parseInt(currentElement.getAttributeString(SpotConstants.SPOT4_TAKE5_TAG_COLS)); } } return width; }
@Override public String getFormatName() { String format = "NOT DIMAP"; MetadataElement currentElement; if ((currentElement = rootElement.getElement(SpotConstants.TAG_METADATA_ID)) != null) { format = currentElement.getAttributeString(SpotConstants.TAG_METADATA_FORMAT); } else { logger.warning(String.format(MISSING_ELEMENT_WARNING, SpotConstants.TAG_METADATA_FORMAT)); } return format; }
public int getGeolayerWidth() { int width = 0; MetadataElement currentElement; if ((currentElement = rootElement.getElement(SpotConstants.TAG_GEOLAYER)) != null) { width = Integer.parseInt(currentElement.getAttributeString(SpotConstants.TAG_COLUMNS)); } return width; }
private String getTime(final Product product, final String tag){ final MetadataElement m = product.getMetadataRoot(); MetadataElement eAux = m.getElement("Auxiliary"); MetadataElement eRoot = eAux.getElement("Root"); //final String time = m.getElement("Auxilliary").getElement("Root").getAttributeString(tag); return eRoot.getAttributeString(tag); } private ProductData.UTC getStartTime(final Product product) {
@Override public String getFormatName() { String format = "NOT DIMAP"; MetadataElement currentElement; if ((currentElement = rootElement.getElement(SpotConstants.TAG_METADATA_ID)) != null) { format = currentElement.getAttributeString(SpotConstants.TAG_METADATA_FORMAT); } else { logger.warning(String.format(MISSING_ELEMENT_WARNING, SpotConstants.TAG_METADATA_FORMAT)); } return format; }
@Override public String getMetadataProfile() { String profile = "SPOTScene"; MetadataElement currentElement; if ((currentElement = rootElement.getElement(SpotConstants.TAG_METADATA_ID)) != null) { profile = currentElement.getAttributeString(SpotConstants.TAG_METADATA_PROFILE); } else { logger.warning(String.format(MISSING_ELEMENT_WARNING, SpotConstants.TAG_METADATA_PROFILE)); } return profile; }
public int getGeolayerNumBands() { int numBands = 0; MetadataElement currentElement; if ((currentElement = rootElement.getElement(SpotConstants.TAG_GEOLAYER)) != null) { numBands = Integer.parseInt(currentElement.getAttributeString(SpotConstants.TAG_CHANNELS)); } return numBands; }
public ByteOrder getGeolayerJavaByteOrder() { int value = 0; MetadataElement currentElement; if ((currentElement = rootElement.getElement(SpotConstants.TAG_GEOLAYER)) != null) { value = Integer.parseInt(currentElement.getAttributeString(SpotConstants.TAG_BYTEORDER)); } return value == 1 ? ByteOrder.BIG_ENDIAN : ByteOrder.LITTLE_ENDIAN; }
private static Dimension getBandDimension(final MetadataElement newRoot, final String name) { final MetadataElement absRoot = newRoot.getElement(AbstractMetadata.ABSTRACT_METADATA_ROOT); final int width = absRoot.getAttributeInt(AbstractMetadata.num_samples_per_line); final int height = absRoot.getAttributeInt(AbstractMetadata.num_output_lines); return new Dimension(width, height); }
public ProductData.UTC getFileDate() { ProductData.UTC fileDate = null; MetadataElement currentElement = root.getElement(NITFFields.TAG_FILE_HEADER); if (currentElement != null) { try { fileDate = DateHelper.parseDate(currentElement.getAttributeString(NITFFields.FDT, ""), "ddHHmmss'Z'MMMyy"); } catch (Exception e) { e.printStackTrace(); } } return fileDate; }
private void addBandAbstractedMetadata(final MetadataElement origProdRoot) throws IOException { MetadataElement annotationElement = origProdRoot.getElement("annotation"); if (annotationElement == null) { annotationElement = new MetadataElement("annotation"); origProdRoot.addElement(annotationElement); } if (OCNReader != null) { // add netcdf metadata for OCN product OCNReader.addNetCDFMetadata(annotationElement); } }
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(); }