private void setStartTime(Product product) { ProductData.UTC coverageStartTime = getUTCAttribute("time_coverage_start"); if(coverageStartTime != null) { product.setStartTime(coverageStartTime); } }
private Product createProjectedProduct(Product toReproject, Product crsReference) { final Map<String, Product> productMap = getProductMap(toReproject, crsReference); final Map<String, Object> parameterMap = new HashMap<String, Object>(); parameterMap.put("resamplingName", "Nearest"); parameterMap.put("includeTiePointGrids", false); parameterMap.put("addDeltaBands", false); // @todo - generalise final Product reprojectedProduct = GPF.createProduct("Reproject", parameterMap, productMap); reprojectedProduct.setStartTime(toReproject.getStartTime()); reprojectedProduct.setEndTime(toReproject.getEndTime()); return reprojectedProduct; }
private void setSceneRasterStartAndStopTime(final Product product) { final ProductData.UTC sceneRasterStartTime = getSceneRasterStartTime(); if (sceneRasterStartTime != null) { product.setStartTime(sceneRasterStartTime); } final ProductData.UTC sceneRasterStopTime = getSceneRasterStopTime(); if (sceneRasterStopTime != null) { product.setEndTime(sceneRasterStopTime); } }
private void setStartAndEndTimes(final Product product) { final String dateStr = chrisFile.getGlobalAttribute(ChrisConstants.ATTR_NAME_IMAGE_DATE, "2000-01-01"); final String timeStr = chrisFile.getGlobalAttribute(ChrisConstants.ATTR_NAME_IMAGE_CENTRE_TIME, "00:00:00"); try { final DateFormat dateFormat = ProductData.UTC.createDateFormat("yyyy-MM-dd HH:mm:ss"); final Date date = dateFormat.parse(dateStr + " " + timeStr); final ProductData.UTC utc = ProductData.UTC.create(date, 0); product.setStartTime(utc); product.setEndTime(utc); } catch (ParseException ignored) { // ignore } }
private void autoAdjustTimeInformation(ProductData.UTC rasterStartTime, ProductData.UTC rasterEndTime) { ProductData.UTC tsStartTime = tsProduct.getStartTime(); if (tsStartTime == null || rasterStartTime.getAsDate().before(tsStartTime.getAsDate())) { tsProduct.setStartTime(rasterStartTime); } ProductData.UTC tsEndTime = tsProduct.getEndTime(); if (tsEndTime == null || rasterEndTime.getAsDate().after(tsEndTime.getAsDate())) { tsProduct.setEndTime(rasterEndTime); } }
private void addStartStopTimes(Product product, DefaultMutableTreeNode level3ChildNode) throws HDF5Exception, ParseException { final H5Group timeGroup = (H5Group) level3ChildNode.getUserObject(); final List timeMetadata = timeGroup.getMetadata(); product.setStartTime(ProductData.UTC.parse(ProbaVUtils.getStartEndTimeFromAttributes(timeMetadata)[0], ProbaVConstants.PROBAV_DATE_FORMAT_PATTERN)); product.setEndTime(ProductData.UTC.parse(ProbaVUtils.getStartEndTimeFromAttributes(timeMetadata)[1], ProbaVConstants.PROBAV_DATE_FORMAT_PATTERN)); }
@Override public void decode(ProfileReadContext ctx, Product p) throws IOException { NetcdfFile ncFile = ctx.getNetcdfFile(); p.setStartTime( TimeUtils.getSceneRasterTime(ncFile, Constants.START_DATE_ATT_NAME, Constants.START_TIME_ATT_NAME)); p.setEndTime(TimeUtils.getSceneRasterTime(ncFile, Constants.STOP_DATE_ATT_NAME, Constants.STOP_TIME_ATT_NAME)); }
@Override public void decode(ProfileReadContext ctx, Product p) throws IOException { Element element = (Element) ctx.getProperty(HdfEosUtils.CORE_METADATA); if (element != null) { p.setStartTime(readEosTime(element, "RANGEBEGINNINGDATE", "RANGEBEGINNINGTIME")); p.setEndTime(readEosTime(element, "RANGEENDINGDATE", "RANGEENDINGTIME")); } }
/** * Copies geocoding and the start and stop time. * * @param sourceProduct * @param targetProduct */ private void copyBaseGeoInfo(Product sourceProduct, Product targetProduct) { // copy geo-coding to the output product ProductUtils.copyGeoCoding(sourceProduct, targetProduct); targetProduct.setStartTime(sourceProduct.getStartTime()); targetProduct.setEndTime(sourceProduct.getEndTime()); }
private void addStartStopTimes(Product product, DefaultMutableTreeNode level3ChildNode) throws HDF5Exception, ParseException { final H5Group timeGroup = (H5Group) level3ChildNode.getUserObject(); final List timeMetadata = timeGroup.getMetadata(); product.setStartTime(ProductData.UTC.parse(ProbaVUtils.getStartEndTimeFromAttributes(timeMetadata)[0], ProbaVConstants.PROBAV_DATE_FORMAT_PATTERN)); product.setEndTime(ProductData.UTC.parse(ProbaVUtils.getStartEndTimeFromAttributes(timeMetadata)[1], ProbaVConstants.PROBAV_DATE_FORMAT_PATTERN)); }
private void addTimeCoding(Product product, LogVolDescriptor logVolDescriptor) { Date startDate = logVolDescriptor.getStartDate(); if (startDate != null) { product.setStartTime(ProductData.UTC.create(startDate, 0)); } Date endDate = logVolDescriptor.getEndDate(); if (endDate != null) { product.setEndTime(ProductData.UTC.create(endDate, 0)); } }
private void setProductTimeCoding(Product tsProduct) { for (Band band : tsProduct.getBands()) { final ProductData.UTC rasterStartTime = getRasterTimeMap().get(band).getStartTime(); final ProductData.UTC rasterEndTime = getRasterTimeMap().get(band).getEndTime(); ProductData.UTC tsStartTime = tsProduct.getStartTime(); if (tsStartTime == null || rasterStartTime.getAsDate().before(tsStartTime.getAsDate())) { tsProduct.setStartTime(rasterStartTime); } ProductData.UTC tsEndTime = tsProduct.getEndTime(); if (rasterEndTime != null) { if (tsEndTime == null || rasterEndTime.getAsDate().after(tsEndTime.getAsDate())) { tsProduct.setEndTime(rasterEndTime); } } } }
private void initProduct() { final File productFile = new File(getInput().toString()); final String productName = FileUtils.getFilenameWithoutExtension(productFile); String productType = "BINNED"; Attribute titleAttribute = netcdfFile.findGlobalAttribute("title"); if (titleAttribute != null) { productType = titleAttribute.getStringValue(); } product = new Product(productName, productType, sceneRasterWidth, sceneRasterHeight, this); product.setFileLocation(productFile); product.setAutoGrouping("adg:aph:atot:bbp:bl_Rrs:chlor_a:Rrs:water"); product.setStartTime(extractStartTime(netcdfFile)); product.setEndTime(extractEndTime(netcdfFile)); product.setPreferredTileSize(sceneRasterWidth, 64); }
@Override public void copyTimeCoding() { getTargetProduct().setStartTime(getSourceProduct().getStartTime()); getTargetProduct().setEndTime(getSourceProduct().getEndTime()); }
@Override protected void setUp() throws Exception { product = new Product("test", "MER_RR__2P", 200, 300); product.setStartTime(new ProductData.UTC(1234, 2045, 34)); product.setEndTime(new ProductData.UTC(1234, 3045, 34)); stringWriter = new StringWriter(); dimapHeaderWriter = new DimapHeaderWriter(product, stringWriter, "test.data"); }
@Test public void testGetScanLineTime_1_pixel() throws Exception { Product product = new Product("name", "type", 1, 1); ProductData.UTC startTime = ProductData.UTC.parse("01-01-2010", "dd-MM-yyyy"); ProductData.UTC endTime = ProductData.UTC.parse("02-01-2010", "dd-MM-yyyy"); product.setStartTime(startTime); product.setEndTime(endTime); double startTimeMJD = startTime.getMJD(); assertEquals(startTimeMJD, ProductUtils.getScanLineTime(product, 0).getMJD(), 1E-6); assertNotSame(startTime, ProductUtils.getScanLineTime(product, 0)); }
private static Product createProduct() throws Exception { Product product = new Product("p", "t", 32, 256); final TiePointGrid lat = new TiePointGrid("lat", 2, 2, 0f, 0f, 32f, 256f, new float[]{+40f, +40f, -40f, -40f}); final TiePointGrid lon = new TiePointGrid("lon", 2, 2, 0f, 0f, 32f, 256f, new float[]{-80f, +80f, -80f, +80f}); product.addTiePointGrid(lat); product.addTiePointGrid(lon); product.setGeoCoding(new TiePointGeoCoding(lat, lon)); product.setPreferredTileSize(32, 16); product.setStartTime(ProductData.UTC.parse("2003-01-01", "yyyy-MM-dd")); product.setEndTime(ProductData.UTC.parse("2003-01-02", "yyyy-MM-dd")); return product; }
@Test public void testGetScanLineTime() throws Exception { Product product = new Product("name", "type", 10, 10); ProductData.UTC startTime = ProductData.UTC.parse("01-01-2010", "dd-MM-yyyy"); ProductData.UTC endTime = ProductData.UTC.parse("02-01-2010", "dd-MM-yyyy"); product.setStartTime(startTime); product.setEndTime(endTime); double startTimeMJD = startTime.getMJD(); double endTimeMJD = endTime.getMJD(); assertEquals(startTimeMJD, ProductUtils.getScanLineTime(product, 0).getMJD(), 1E-6); assertEquals(endTimeMJD, ProductUtils.getScanLineTime(product, 9).getMJD(), 1E-6); }
private Product createProduct(int geocodingType) { Product product = new Product("test_product", BeamConstants.MERIS_FR_L1B_PRODUCT_TYPE_NAME, 1121, 2241); product.setDescription("description"); product.setStartTime(new ProductData.UTC(1234, 2045, 34)); product.setEndTime(new ProductData.UTC(1234, 3045, 34)); addBitmaskDefs(product); addBands(product); addVirtualBands(product); addSampleCodings(product); addTiePointGrids(product); addGeocoding(product, geocodingType); addMetadata(product); return product; }
private void createSourceProduct() throws Exception { sourceProduct = new Product("source", "t", 50, 50); final TiePointGrid latGrid = new TiePointGrid("latGrid", 2, 2, 0.5f, 0.5f, 49, 49, LATS); final TiePointGrid lonGrid = new TiePointGrid("lonGrid", 2, 2, 0.5f, 0.5f, 49, 49, LONS); sourceProduct.addTiePointGrid(latGrid); sourceProduct.addTiePointGrid(lonGrid); sourceProduct.setGeoCoding(new TiePointGeoCoding(latGrid, lonGrid)); sourceProduct.setStartTime(ProductData.UTC.parse("02-Jan-2008 10:15:10")); sourceProduct.setEndTime(ProductData.UTC.parse("02-Jan-2008 10:45:50")); Band floatDataBand = sourceProduct.addBand(FLOAT_BAND_NAME, ProductData.TYPE_FLOAT32); floatDataBand.setRasterData(createDataFor(floatDataBand)); floatDataBand.setSynthetic(true); Band intDataBand = sourceProduct.addBand(INT_BAND_NAME, ProductData.TYPE_INT16); intDataBand.setRasterData(createDataFor(intDataBand)); intDataBand.setSynthetic(true); }