private CoverageInfo resolve(CoverageInfo r) { CoverageInfoImpl c = (CoverageInfoImpl) r; if (c.getDimensions() != null) { for (CoverageDimensionInfo dim : c.getDimensions()) { if (dim.getNullValues() == null) { ((CoverageDimensionImpl) dim).setNullValues(new ArrayList<Double>()); } } } resolveCollections(r); return r; }
coverage.getMetadataLinks().add(metadataLink); CoverageDimensionImpl coverageDimension = new CoverageDimensionImpl("time"); coverageDimension.setNullValues(Collections.singletonList(new Double(0))); coverage.getDimensions().add(coverageDimension); coverage.getInterpolationMethods().add("Bilinear");
final double noData1 = -32768d; nullValues.add(noData1); coverageDim.setNullValues(nullValues);
nullValues.add(noData1); nullValues.add(noData2); coverageDim.setNullValues(nullValues);
nullValues.add(noData1); nullValues.add(noData2); coverageDim.setNullValues(nullValues);
nullValues.add(noData1); nullValues.add(noData2); coverageDim.setNullValues(nullValues);
@Test public void testCustomNullValue() throws Exception { CoverageInfo ciRain = getCatalog().getCoverageByName(getLayerId(RAIN)); CoverageDimensionImpl dimension = (CoverageDimensionImpl) ciRain.getDimensions().get(0); List<Double> nullValues = new ArrayList<Double>(); nullValues.add(-999.9); dimension.setNullValues(nullValues); getCatalog().save(ciRain); Document dom = getAsDOM(DESCRIBE_URL + "&coverageId=sf__rain"); assertNotNull(dom); print(dom, System.out); checkValidationErrors(dom, getWcs20Schema()); assertXpathEvaluatesTo( "1", "count(//wcs:CoverageDescription/gmlcov:rangeType/swe:DataRecord/swe:field)", dom); assertXpathEvaluatesTo( "rain", "//wcs:CoverageDescription/gmlcov:rangeType//swe:DataRecord/swe:field/@name", dom); assertXpathEvaluatesTo( "-999.9", "//wcs:CoverageDescription/gmlcov:rangeType/swe:DataRecord/swe:field/swe:Quantity/swe:nilValues/swe:NilValues/swe:nilValue", dom); }