@Override protected void oneTimeSetUp() throws Exception { super.oneTimeSetUp(); Catalog catalog = (Catalog) applicationContext.getBean("catalog"); reader = new Wcs10GetCoverageRequestReader(catalog); }
/** Runs GetCoverage on the specified parameters and returns an array of coverages */ GridCoverage[] executeGetCoverageKvp(Map<String, Object> raw) throws Exception { final GetCoverageType getCoverage = (GetCoverageType) kvpreader.read(kvpreader.createRequest(), parseKvp(raw), raw); return service.getCoverage(getCoverage); }
private RangeSubsetType parseRangeSubset(Map kvp, String coverageName) { final RangeSubsetType rangeSubset = Wcs10Factory.eINSTANCE.createRangeSubsetType(); if (kvp.get("Band") != null) { Object axis = kvp.get("Band"); if (axis instanceof AxisSubsetType) { rangeSubset.getAxisSubset().add(axis); } else checkTypeAxisRange(rangeSubset, axis, "Band"); } if (kvp.get("ELEVATION") != null) { Object axis = kvp.get("ELEVATION"); if (axis instanceof AxisSubsetType) { rangeSubset.getAxisSubset().add(axis); } else checkTypeAxisRange(rangeSubset, axis, "ELEVATION"); } return rangeSubset; }
getCoverage.setInterpolationMethod(parseInterpolation(kvp)); getCoverage.setDomainSubset(parseDomainSubset(kvp)); getCoverage.setRangeSubset(parseRangeSubset(kvp, getCoverage.getSourceCoverage())); getCoverage.setOutput(parseOutputElement(kvp));
if (crsName == null) throw new WcsException("CRS parameter is mandatory", MissingParameterValue, "crs"); final CoordinateReferenceSystem crs = decodeCRS100(crsName); if (crs == null) throw new WcsException( if (time instanceof Collection) { for (Object tPos : (Collection<Object>) time) { addToTimeSequence(timeSequence, tPos);
private OutputType parseOutputElement(final Map<String, String> kvp) throws Exception { final OutputType output = Wcs10Factory.eINSTANCE.createOutputType(); final CodeType crsType = Gml4wcsFactory.eINSTANCE.createCodeType(); final CodeType formatType = Gml4wcsFactory.eINSTANCE.createCodeType(); // check and set format String format = (String) kvp.get("format"); if (format == null) throw new WcsException( "format parameter is mandatory", MissingParameterValue, "format"); final String crsName = (String) (kvp.get("response_crs") != null ? kvp.get("response_crs") : kvp.get("crs")); CoordinateReferenceSystem crs = null; if (crsName != null) { crs = decodeCRS100(crsName); crsType.setValue(CRS.lookupIdentifier(crs, true)); output.setCrs(crsType); } formatType.setValue(format); output.setFormat(formatType); return output; }
/** * Runs GetCoverage on the specified parameters and returns an array of coverages */ GridCoverage[] executeGetCoverageKvp(Map<String, Object> raw) throws Exception { final GetCoverageType getCoverage = (GetCoverageType) kvpreader.read(kvpreader.createRequest(),parseKvp(raw), raw); return service.getCoverage(getCoverage); }
@Before public void setUp() { reader = new Wcs10GetCoverageRequestReader(getCatalog()); }
public void testUnsupportedCRS() throws Exception { Map<String, Object> raw = baseMap(); final String layerId = getLayerId(TASMANIA_BM); raw.put("SourceCoverage", layerId); raw.put("version", "1.0.0"); raw.put("format", "image/tiff"); raw.put("CRS", "urn:ogc:def:crs:EPSG:6.6:-1000"); raw.put("width", "150"); raw.put("height", "150"); try { reader.read(reader.createRequest(), parseKvp(raw), raw); fail("We should have had a WcsException here?"); } catch (WcsException e) { assertEquals("crs", e.getLocator()); assertEquals("InvalidParameterValue", e.getCode()); } }
public void testUnknownCoverageParams() throws Exception { Map<String, Object> raw = baseMap(); final String layerId = "fairyTales:rumpelstilskin"; raw.put("sourcecoverage", layerId); raw.put("format", "SuperCoolFormat"); raw.put("BBOX", "-45,146,-42,147"); raw.put("crs", "EPSG:4326"); try { reader.read(reader.createRequest(), parseKvp(raw), raw); fail("That coverage is not registered???"); } catch (WcsException e) { assertEquals(InvalidParameterValue.toString(), e.getCode()); assertEquals("sourcecoverage", e.getLocator()); } }
@Test public void testUnsupportedCRS() throws Exception { Map<String, Object> raw = baseMap(); final String layerId = getLayerId(TASMANIA_BM); raw.put("SourceCoverage", layerId); raw.put("version", "1.0.0"); raw.put("format", "image/tiff"); raw.put("CRS", "urn:ogc:def:crs:EPSG:6.6:-1000"); raw.put("width", "150"); raw.put("height", "150"); try { reader.read(reader.createRequest(), parseKvp(raw), raw); fail("We should have had a WcsException here?"); } catch (WcsException e) { assertEquals("crs", e.getLocator()); assertEquals("InvalidParameterValue", e.getCode()); } } }
@Test public void testUnknownCoverageParams() throws Exception { Map<String, Object> raw = baseMap(); final String layerId = "fairyTales:rumpelstilskin"; raw.put("sourcecoverage", layerId); raw.put("format", "SuperCoolFormat"); raw.put("BBOX", "-45,146,-42,147"); raw.put("crs", "EPSG:4326"); try { reader.read(reader.createRequest(), parseKvp(raw), raw); fail("That coverage is not registered???"); } catch (WcsException e) { assertEquals(InvalidParameterValue.toString(), e.getCode()); assertEquals("sourcecoverage", e.getLocator()); } }
reader.read(reader.createRequest(), parseKvp(raw), raw); fail("Hey, format is missing, this should have failed"); } catch (WcsException e) { raw.put("SourceCoverage", layerId); try { reader.read(reader.createRequest(), parseKvp(raw), raw); fail("Hey, format is missing, this should have failed"); } catch (WcsException e) { reader.read(reader.createRequest(), parseKvp(raw), raw); fail("Hey, boundingBox is missing, this should have failed"); } catch (WcsException e) { raw.put("height", "150"); try { reader.read(reader.createRequest(), parseKvp(raw), raw); } catch (WcsException e) { fail("This time all mandatory params where provided?");
public void testBasic() throws Exception { Map<String, Object> raw = baseMap(); final String layerId = getLayerId(TASMANIA_BM); raw.put("SourceCoverage", layerId); raw.put("version", "1.0.0"); raw.put("format", "image/tiff"); raw.put("BBOX", "-45,146,-42,147"); raw.put("CRS", "EPSG:4326"); raw.put("width", "150"); raw.put("height", "150"); GetCoverageType getCoverage = (GetCoverageType) reader.read(reader.createRequest(), parseKvp(raw), raw); assertEquals(layerId, getCoverage.getSourceCoverage()); assertEquals("image/tiff", getCoverage.getOutput().getFormat().getValue()); assertEquals("EPSG:4326", getCoverage.getOutput().getCrs().getValue()); }
reader.read(reader.createRequest(), parseKvp(raw), raw); fail("Hey, format is missing, this should have failed"); } catch (WcsException e) { raw.put("SourceCoverage", layerId); try { reader.read(reader.createRequest(), parseKvp(raw), raw); fail("Hey, format is missing, this should have failed"); } catch (WcsException e) { reader.read(reader.createRequest(), parseKvp(raw), raw); fail("Hey, boundingBox is missing, this should have failed"); } catch (WcsException e) { raw.put("height", "150"); try { reader.read(reader.createRequest(), parseKvp(raw), raw); } catch (WcsException e) { fail("This time all mandatory params where provided?");
@Test public void testBasic() throws Exception { Map<String, Object> raw = baseMap(); final String layerId = getLayerId(TASMANIA_BM); raw.put("SourceCoverage", layerId); raw.put("version", "1.0.0"); raw.put("format", "image/tiff"); raw.put("BBOX", "-45,146,-42,147"); raw.put("CRS", "EPSG:4326"); raw.put("width", "150"); raw.put("height", "150"); GetCoverageType getCoverage = (GetCoverageType) reader.read(reader.createRequest(), parseKvp(raw), raw); assertEquals(layerId, getCoverage.getSourceCoverage()); assertEquals("image/tiff", getCoverage.getOutput().getFormat().getValue()); assertEquals("EPSG:4326", getCoverage.getOutput().getCrs().getValue()); }
raw.put("interpolationMethod", "nearest neighbor"); GetCoverageType getCoverage = (GetCoverageType) reader.read(reader.createRequest(),parseKvp(raw), raw); assertEquals(layerId, getCoverage.getSourceCoverage()); assertEquals("image/tiff", getCoverage.getOutput().getFormat().getValue()); raw.put("interpolationMethod", "bilinear"); getCoverage = (GetCoverageType) reader.read(reader.createRequest(),parseKvp(raw), raw); assertEquals(layerId, getCoverage.getSourceCoverage()); assertEquals("image/tiff", getCoverage.getOutput().getFormat().getValue()); raw.put("interpolationMethod", "nearest"); getCoverage = (GetCoverageType) reader.read(reader.createRequest(),parseKvp(raw), raw); assertEquals(layerId, getCoverage.getSourceCoverage()); assertEquals("image/tiff", getCoverage.getOutput().getFormat().getValue()); raw.put("interpolationMethod", "bicubic"); getCoverage = (GetCoverageType) reader.read(reader.createRequest(),parseKvp(raw), raw); assertEquals(layerId, getCoverage.getSourceCoverage()); assertEquals("image/tiff", getCoverage.getOutput().getFormat().getValue());
(GetCoverageType) reader.read(reader.createRequest(), parseKvp(raw), raw); assertEquals(layerId, getCoverage.getSourceCoverage()); assertEquals("image/tiff", getCoverage.getOutput().getFormat().getValue()); raw.put("interpolation", "bilinear"); getCoverage = (GetCoverageType) reader.read(reader.createRequest(), parseKvp(raw), raw); assertEquals(layerId, getCoverage.getSourceCoverage()); assertEquals("image/tiff", getCoverage.getOutput().getFormat().getValue()); raw.put("interpolation", "nearest"); getCoverage = (GetCoverageType) reader.read(reader.createRequest(), parseKvp(raw), raw); assertEquals(layerId, getCoverage.getSourceCoverage()); assertEquals("image/tiff", getCoverage.getOutput().getFormat().getValue()); raw.put("interpolation", "bicubic"); getCoverage = (GetCoverageType) reader.read(reader.createRequest(), parseKvp(raw), raw); assertEquals(layerId, getCoverage.getSourceCoverage()); assertEquals("image/tiff", getCoverage.getOutput().getFormat().getValue());