/** * Get product type. */ private void getProductType() { productType = absRoot.getAttributeString(AbstractMetadata.PRODUCT_TYPE); if (productType.contains("EEC")) { useIncidenceAngleFromGIM = true; } }
private void getSampleType() { final String sampleType = absRoot.getAttributeString(AbstractMetadata.SAMPLE_TYPE); if (sampleType.equals("COMPLEX")) { isComplex = true; } }
private static String getDataType(final MetadataElement rasterAttributes) { final String dataType = rasterAttributes.getAttributeString("dataType", AbstractMetadata.NO_METADATA_STRING).toUpperCase(); if (dataType.contains("COMPLEX")) return "COMPLEX"; return "DETECTED"; }
private void getIPFVersion() { final String procSysId = absRoot.getAttributeString(AbstractMetadata.ProcessingSystemIdentifier); version = Double.valueOf(procSysId.substring(procSysId.lastIndexOf(" "))); //System.out.println("Sentinel1RemoveThermalNoiseOp: IPF version = " + version); }
private static int getFlag(final MetadataElement elem, String tag) { String valStr = elem.getAttributeString(tag, " ").toUpperCase(); if (valStr.equals("FALSE") || valStr.equals("0")) return 0; else if (valStr.equals("TRUE") || valStr.equals("1")) return 1; return -1; }
private static int getFlag(final MetadataElement elem, String tag) { String valStr = elem.getAttributeString(tag, " ").toUpperCase(); if (valStr.equals("FALSE") || valStr.equals("0")) return 0; else if (valStr.equals("TRUE") || valStr.equals("1")) return 1; return -1; }
public static ProductData.UTC getTime(final MetadataElement elem, final String tag, final DateFormat sentinelDateFormat) { String start = elem.getAttributeString(tag, NO_METADATA_STRING); start = start.replace("T", "_"); return AbstractMetadata.parseUTC(start, sentinelDateFormat); }
/** * Get mission. */ private void getMission() { final String mission = absRoot.getAttributeString(AbstractMetadata.MISSION); if (!(mission.contains("TSX") || mission.contains("TDX"))) throw new OperatorException("TerraSARXCalibrator: " + mission + " is not a valid mission for TerraSAT-X Calibration"); }
private ProductData.UTC getTime(final MetadataElement elem, final String tag) { String timeStr = elem.getAttributeString(tag, AbstractMetadata.NO_METADATA_STRING); timeStr = timeStr.replace("T"," "); return AbstractMetadata.parseUTC(timeStr, standardDateFormat); }
public ProductData.UTC getTime(final MetadataElement elem, final String tag) { String start = elem.getAttributeString(tag, AbstractMetadata.NO_METADATA_STRING); start = start.replace("T", "_"); return AbstractMetadata.parseUTC(start, sentinelDateFormat); }
@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 void getPolarizations(final MetadataElement absRoot, final MetadataElement imageAttributes) { final MetadataElement[] imageAttribElems = imageAttributes.getElements(); int i = 0; for (MetadataElement elem : imageAttribElems) { if (elem.getName().equals("ipdf")) { final String pol = elem.getAttributeString("pole", "").toUpperCase(); polarizationMap.put(elem.getAttributeString("ipdf", "").toLowerCase(), pol); absRoot.setAttributeString(AbstractMetadata.polarTags[i], pol); ++i; } } }
private static void setAttribUTC(MetadataElement dstElem, MetadataElement srcElem, final String dstTag, final String srcTag, final String format) { String val = srcElem.getAttributeString(srcTag, ""); if (val.contains("UTC")) { val = val.substring(0, val.indexOf("UTC")).trim(); } if (!val.isEmpty()) { final DateFormat dateFormat = ProductData.UTC.createDateFormat(format); final ProductData.UTC utc = AbstractMetadata.parseUTC(val, dateFormat); AbstractMetadata.setAttribute(dstElem, dstTag, utc); } }
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 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 static MetadataElement findElementContaining(final MetadataElement parent, final String elemName, final String attribName, final String attValue) { final MetadataElement[] elems = parent.getElements(); for (MetadataElement elem : elems) { if (elem.getName().equalsIgnoreCase(elemName) && elem.containsAttribute(attribName)) { String value = elem.getAttributeString(attribName); if (value != null && value.equalsIgnoreCase(attValue)) return elem; } } return null; }
/** * Get the processing time (in second). */ private void getProcessingTime() { try { final ProductData.UTC procTimeUTC = AbstractMetadata.parseUTC(absRoot.getAttributeString(AbstractMetadata.PROC_TIME)); processingTime = procTimeUTC.getAsDate(); //System.out.println("The processing time is " + processingTime); } catch (Exception e) { throw new OperatorException(e.getMessage()); } }
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."); } }