private String writeDate() { if (srcProduct.getStartTime() != null) { Calendar cal = srcProduct.getStartTime().getAsCalendar(); return cal.get(Calendar.YEAR) + " " + (cal.get(Calendar.MONTH) + 1) + " " + cal.get(Calendar.DAY_OF_MONTH); } return ""; }
public File retrieveOrbitFile(final String orbitType) throws Exception { final double stateVectorTime = absRoot.getAttributeUTC(AbstractMetadata.STATE_VECTOR_TIME).getMJD(); final Calendar calendar = absRoot.getAttributeUTC(AbstractMetadata.STATE_VECTOR_TIME).getAsCalendar(); int year = calendar.get(Calendar.YEAR); int month = calendar.get(Calendar.MONTH) + 1; // zero based final int day = calendar.get(Calendar.DAY_OF_MONTH); orbitFile = findOrbitFile(orbitType, stateVectorTime, year, month); if (orbitFile == null) { String timeStr = absRoot.getAttributeUTC(AbstractMetadata.STATE_VECTOR_TIME).format(); final File destFolder = getDestFolder(orbitType, year, month); throw new IOException("No valid orbit file found for " + timeStr + "\nOrbit files may be downloaded from " + remoteURL + "\nand placed in " + destFolder.getAbsolutePath()); } // read content of the orbit file osvList = readOrbitFile(orbitFile); return orbitFile; }
public HeaderWriter(final GammaProductWriter writer, final Product srcProduct, final File userOutputFile) { this.writer = writer; this.srcProduct = srcProduct; this.isComplex = false; this.isCoregistered = false; absRoot = AbstractMetadata.getAbstractedMetadata(srcProduct); if (absRoot != null) { try { isComplex = absRoot.getAttributeString(AbstractMetadata.SAMPLE_TYPE).equals("COMPLEX"); isCoregistered = AbstractMetadata.getAttributeBoolean(absRoot, AbstractMetadata.coregistered_stack); } catch (Exception e) { SystemUtils.LOG.severe("Unable to read metadata " + e.getMessage()); } } this.outputFile = createParFile(userOutputFile); this.baseFileName = FileUtils.getFilenameWithoutExtension(this.outputFile); if (srcProduct.getStartTime() != null) { Calendar cal = srcProduct.getStartTime().getAsCalendar(); String dateStr = String.valueOf(cal.get(Calendar.DAY_OF_MONTH)) + '-' + (cal.get(Calendar.MONTH) + 1) + '-' + cal.get(Calendar.YEAR); try { dateDay = ProductData.UTC.parse(dateStr, "dd-MM-yyyy"); } catch (Exception e) { dateDay = srcProduct.getStartTime(); } } }
final Calendar startDate = sourceProduct.getStartTime().getAsCalendar(); final int year = startDate.get(Calendar.YEAR); final int month = startDate.get(Calendar.MONTH) + 1;
Calendar startDate = selections[0].getFirstLineTime().getAsCalendar(); startDate.add(Calendar.DAY_OF_MONTH, -daysMinus); Calendar endDate = selections[0].getFirstLineTime().getAsCalendar(); endDate.add(Calendar.DAY_OF_MONTH, daysPlus); dbQuery.setStartEndDate(startDate, endDate);
final int dayOfYear = sourceProduct.getStartTime().getAsCalendar().get(Calendar.DAY_OF_YEAR); distanceCorrection = S2LutUtils.getDistanceCorr(dayOfYear);
final Calendar startCal = sourceProduct.getStartTime().getAsCalendar(); final int year = startCal.get(Calendar.YEAR); final int month = startCal.get(Calendar.MONTH) + 1;
if (bandsStartTime == null) { bandsStartTime = currentTime; } else if (currentTime != null && bandsStartTime.getAsCalendar().after(currentTime.getAsCalendar())) { bandsStartTime = currentTime;
if (bandsEndTime == null) { bandsEndTime = currentTime; } else if (currentTime != null && bandsEndTime.getAsCalendar().before(currentTime.getAsCalendar())) { bandsEndTime = currentTime;
public File retrieveOrbitFile(final String orbitType) throws Exception { final double stateVectorTime = absRoot.getAttributeUTC(AbstractMetadata.STATE_VECTOR_TIME).getMJD(); final Calendar calendar = absRoot.getAttributeUTC(AbstractMetadata.STATE_VECTOR_TIME).getAsCalendar(); int year = calendar.get(Calendar.YEAR); int month = calendar.get(Calendar.MONTH) + 1; // zero based final int day = calendar.get(Calendar.DAY_OF_MONTH); final String missionPrefix = getMissionPrefix(absRoot); orbitFile = findOrbitFile(missionPrefix, orbitType, stateVectorTime, year, month); if (orbitFile == null) { //orbitFile = downloadArchive(missionPrefix, orbitType, year, month, day, stateVectorTime); orbitFile = downloadFromStepAuxdata(missionPrefix, orbitType, year, month, day, stateVectorTime); } if (orbitFile == null) { orbitFile = downloadFromQCWebsite(missionPrefix, orbitType, year, month, day, stateVectorTime); } if (orbitFile == null) { String timeStr = absRoot.getAttributeUTC(AbstractMetadata.STATE_VECTOR_TIME).format(); final File destFolder = getDestFolder(missionPrefix, orbitType, year, month); throw new IOException("No valid orbit file found for " + timeStr + "\nOrbit files may be downloaded from https://qc.sentinel1.eo.esa.int/" + "\nand placed in " + destFolder.getAbsolutePath()); } if (!orbitFile.exists()) { throw new IOException("SentinelPODOrbitFile: Unable to find POD orbit file"); } // read content of the orbit file readOrbitFile(); return orbitFile; }
private void updateTimeValues() { final ProductData.UTC utcStartTime = currentProduct.getStartTime(); final ProductData.UTC utcEndTime = currentProduct.getEndTime(); boolean isAvailable = currentProduct.isMultiSize() ? isSampleValueAvailableInScene() : isSampleValueAvailableInRaster() ; if (utcStartTime == null || utcEndTime == null || !isAvailable) { timeModel.updateValue("No date information", 0); timeModel.updateValue("No time information", 1); } else { final ProductData.UTC utcCurrentLine; if(currentProduct.isMultiSize()) { utcCurrentLine = ProductUtils.getPixelScanTime(currentProduct, levelZeroSceneX + 0.5, levelZeroSceneY + 0.5); } else { utcCurrentLine = ProductUtils.getPixelScanTime(currentRaster, levelZeroRasterX + 0.5, levelZeroRasterY + 0.5); } Assert.notNull(utcCurrentLine, "utcCurrentLine"); final Calendar currentLineTime = utcCurrentLine.getAsCalendar(); final String dateString = String.format("%1$tF", currentLineTime); final String timeString = String.format("%1$tI:%1$tM:%1$tS:%1$tL %1$Tp", currentLineTime); timeModel.updateValue(dateString, 0); timeModel.updateValue(timeString, 1); } }