public List<CoverageDimensionInfo> getDimensions() { return delegate.getDimensions(); }
/** * Update the specified {@link CoverageInfo} with the updated {@link CoverageView} stored within * its metadata * * @param name * @param storeInfo * @param builder * @param coverageInfo */ public void updateCoverageInfo( String name, CoverageStoreInfo storeInfo, CatalogBuilder builder, CoverageInfo coverageInfo) throws Exception { Utilities.ensureNonNull("coverageInfo", coverageInfo); // clean up coverage dimensions for the update coverageInfo.getDimensions().clear(); CoverageInfo info = buildCoverageInfo(builder, storeInfo, coverageInfo, name); coverageInfo.getMetadata().put(CoverageView.COVERAGE_VIEW, this); coverageInfo.getDimensions().addAll(info.getDimensions()); }
private void configureIROnCatalog(Catalog cat) throws Exception { final CoverageStoreInfo storeInfo = cat.getCoverageStoreByName("ir-rgb"); final CoverageView coverageView = buildRgbIRView(); final CatalogBuilder builder = new CatalogBuilder(cat); builder.setStore(storeInfo); final CoverageInfo coverageInfo = coverageView.createCoverageInfo(RGB_IR_VIEW, storeInfo, builder); coverageInfo.getParameters().put("USE_JAI_IMAGEREAD", "false"); coverageInfo.getDimensions().get(0).setName("Red"); coverageInfo.getDimensions().get(1).setName("Green"); coverageInfo.getDimensions().get(2).setName("Blue"); coverageInfo.getDimensions().get(3).setName("Infrared"); cat.add(coverageInfo); }
return false; if (dimensions == null) { if (other.getDimensions() != null) return false; } else if (!dimensions.equals(other.getDimensions())) return false; if (grid == null) { if (other.getGrid() != null) return false;
cd.setDescription((String) map.get("description")); cd.setRange(NumberRange.create((Double) map.get("min"), (Double) map.get("max"))); coverage.getDimensions().add(cd);
List<CoverageDimensionInfo> coverageDimensions = getCoverageDimensions(sampleDimensions); cinfo.getDimensions().addAll(coverageDimensions); if (specifiedName != null) { cinfo.setName(specifiedName);
List<CoverageDimensionInfo> dimensions = info.getDimensions();
@Test public void testPreserveCoverageBandNames() throws Exception { final Catalog cat = getCatalog(); final CoverageStoreInfo storeInfo = cat.getCoverageStoreByName("ir-rgb"); final CoverageView coverageView = buildRgbIRView(); final CatalogBuilder builder = new CatalogBuilder(cat); builder.setStore(storeInfo); final CoverageInfo coverageInfo = coverageView.createCoverageInfo(RGB_IR_VIEW, storeInfo, builder); List<CoverageDimensionInfo> dimensions = coverageInfo.getDimensions(); assertEquals("rband", dimensions.get(0).getName()); assertEquals("gband", dimensions.get(1).getName()); assertEquals("bband", dimensions.get(2).getName()); assertEquals("irband", dimensions.get(3).getName()); }
List<CoverageDimensionInfo> dimensions = ci.getDimensions(); assertEquals(3, dimensions.size()); assertEquals("RED_BAND", dimensions.get(0).getName());
CoverageDimensionImpl coverageDimension = new CoverageDimensionImpl("time"); coverageDimension.setNullValues(Collections.singletonList(new Double(0))); coverage.getDimensions().add(coverageDimension); coverage.getInterpolationMethods().add("Bilinear"); coverage.getParameters().put("ParameterKey", "ParameterValue");
if (meta.getDimensions() != null) { for (CoverageDimensionInfo dimension : meta.getDimensions()) { int size = guessSizeFromRange(dimension.getRange()); if (size == 0) {
.andReturn(real.getDefaultInterpolationMethod()) .anyTimes(); expect(c.getDimensions()).andReturn(real.getDimensions()).anyTimes(); expect(c.getGrid()).andReturn(real.getGrid()).anyTimes();
@Test public void testSingleBandedCoverage() throws Exception { // build a feature type (it's already in the catalog, but we just want to // check it's built as expected // LINES is a feature type with a native SRS, so we want the bounds to be there Catalog cat = getCatalog(); CatalogBuilder cb = new CatalogBuilder(cat); cb.setStore(cat.getCoverageStoreByName(MockData.TASMANIA_DEM.getLocalPart())); CoverageInfo ci = cb.buildCoverage(); // perform basic checks assertEquals(CRS.decode("EPSG:4326", true), ci.getCRS()); assertEquals("EPSG:4326", ci.getSRS()); assertNotNull(ci.getNativeCRS()); assertNotNull(ci.getNativeBoundingBox()); assertNotNull(ci.getLatLonBoundingBox()); // check the coverage dimensions List<CoverageDimensionInfo> dimensions = ci.getDimensions(); assertEquals(1, dimensions.size()); CoverageDimensionInfo dimension = dimensions.get(0); assertEquals("GRAY_INDEX", dimension.getName()); assertEquals(1, dimension.getNullValues().size()); assertEquals(-9999, dimension.getNullValues().get(0), 0d); assertEquals(Double.NEGATIVE_INFINITY, dimension.getRange().getMinimum(), 0d); // Huston, we have a problem here... // assertEquals(9999, dimension.getRange().getMaximum(), 0d); assertNull(dimension.getUnit()); }
@Test public void testMultiBandCoverage() throws Exception { Catalog cat = getCatalog(); CatalogBuilder cb = new CatalogBuilder(cat); cb.setStore(cat.getCoverageStoreByName(MockData.TASMANIA_BM.getLocalPart())); CoverageInfo ci = cb.buildCoverage(); // perform basic checks assertEquals(CRS.decode("EPSG:4326", true), ci.getCRS()); assertEquals("EPSG:4326", ci.getSRS()); assertNotNull(ci.getNativeCRS()); assertNotNull(ci.getNativeBoundingBox()); assertNotNull(ci.getLatLonBoundingBox()); // check the coverage dimensions List<CoverageDimensionInfo> dimensions = ci.getDimensions(); assertEquals(3, dimensions.size()); CoverageDimensionInfo dimension = dimensions.get(0); assertEquals("RED_BAND", dimension.getName()); assertEquals(0, dimension.getNullValues().size()); assertEquals(Double.NEGATIVE_INFINITY, dimension.getRange().getMinimum(), 0d); assertEquals(Double.POSITIVE_INFINITY, dimension.getRange().getMaximum(), 0d); assertEquals("W.m-2.Sr-1", dimension.getUnit()); }
@Test public void testMissingNullValuesInCoverageDimensions() throws IOException { CoverageInfo ci = getCatalog().getCoverageByName(getLayerId(MockData.TASMANIA_DEM)); List<CoverageDimensionInfo> dimensions = ci.getDimensions(); // legacy layers have no null value list dimensions.get(0).getNullValues().clear(); getCatalog().save(ci); // and now go back and ask for the reader ci = getCatalog().getCoverageByName(getLayerId(MockData.TASMANIA_DEM)); GridCoverageReader reader = ci.getGridCoverageReader(null, null); GridCoverage2D gc = null; try { // check that we maintain the native info if we don't have any gc = (GridCoverage2D) reader.read(null); assertEquals(-9999d, CoverageUtilities.getNoDataProperty(gc).getAsSingleValue(), 0d); } finally { if (gc != null) { RenderedImage ri = gc.getRenderedImage(); if (gc instanceof GridCoverage2D) { gc.dispose(true); } if (ri instanceof PlanarImage) { ImageUtilities.disposePlanarImageChain((PlanarImage) ri); } } } }
@Override protected List<CoverageDimensionInfo> getItems() { CoverageInfo ci = (CoverageInfo) CoverageBandsConfigurationPanel.this.getDefaultModelObject(); if (ci.getDimensions() != null) { return ci.getDimensions(); } else { return Collections.emptyList(); } } }
@Override protected List<CoverageDimensionInfo> getItems() { CoverageInfo ci = (CoverageInfo) BandsPanel.this.getDefaultModelObject(); if (ci.getDimensions() != null) { return ci.getDimensions(); } else { return Collections.emptyList(); } } }
protected void handleAxis(CoverageInfo ci) { final AttributesImpl attributes = new AttributesImpl(); attributes.addAttribute("", "identifier", "identifier", "", "Bands"); start("wcs:Axis", attributes); start("wcs:AvailableKeys"); List<CoverageDimensionInfo> dimensions = ci.getDimensions(); for (CoverageDimensionInfo cd : dimensions) { element("wcs:Key", cd.getName().replace(' ', '_')); } end("wcs:AvailableKeys"); end("wcs:Axis"); }
@Override protected void onSetUp(SystemTestData testData) throws Exception { testData.addRasterLayer( RAIN, "rain.tif", ".tif", null, NcwmsIntegrationTest.class, getCatalog()); testData.addStyle( getCatalog().getDefaultWorkspace(), GRAY_BLUE_STYLE, "grayToBlue.palette", NcwmsIntegrationTest.class, getCatalog(), Collections.singletonMap(StyleProperty.FORMAT, PaletteStyleHandler.FORMAT)); CoverageInfo ci = getCatalog().getCoverageByName(getLayerId(RAIN)); ci.getDimensions().get(0).setRange(NumberRange.create(0d, 7000d)); getCatalog().save(ci); }
@Override protected void onSetUp(SystemTestData testData) throws Exception { super.onSetUp(testData); testData.addRasterLayer(SF_RAIN, "rain.zip", "asc", getCatalog()); testData.addRasterLayer(GS_RAIN, "rain.zip", "asc", getCatalog()); testData.addRasterLayer( NO_RANGE, "norange.tiff", null, null, DescribeCoverageTest.class, getCatalog()); // the GUI builds the dimension without range, let's do the same here CoverageInfo noRange = getCatalog().getCoverageByName(getLayerId(NO_RANGE)); CoverageDimensionInfo cdi = noRange.getDimensions().get(0); cdi.setRange(null); getCatalog().save(noRange); GeoServerInfo global = getGeoServer().getGlobal(); global.getSettings().setProxyBaseUrl("src/test/resources/geoserver"); getGeoServer().save(global); }