public void testWorkspaceQualified() throws Exception { String queryString ="&request=getcoverage&service=wcs&version=1.0.0&format=image/geotiff&bbox=146,-45,147,-42"+ "&crs=EPSG:4326&width=150&height=150"; ServletResponse response = getAsServletResponse( "wcs?sourcecoverage="+TASMANIA_BM.getLocalPart()+queryString); assertTrue(response.getContentType().startsWith("image/tiff")); Document dom = getAsDOM( "cdf/wcs?sourcecoverage="+TASMANIA_BM.getLocalPart()+queryString); assertEquals("ServiceExceptionReport", dom.getDocumentElement().getNodeName()); }
public void testTimeKVPNow() throws Exception { String queryString ="request=getcoverage&service=wcs&version=1.0.0&format=image/geotiff" + "&bbox=0.237,40.562,14.593,44.558&crs=EPSG:4326&width=25&height=25&time=now" + "&coverage=" + getLayerId(WATTEMP); MockHttpServletResponse response = getAsServletResponse("wcs?" + queryString); checkTimeCurrent(response); }
@Test public void testWorkspaceQualified() throws Exception { String queryString = "&request=getcoverage&service=wcs&version=1.1.1&&format=image/geotiff" + "&BoundingBox=-45,146,-42,147,urn:ogc:def:crs:EPSG:6.6:4326"; ServletResponse r = getAsServletResponse("wcs?identifier=" + TASMANIA_BM.getLocalPart() + queryString); assertTrue(r.getContentType().startsWith("multipart/related")); Document dom = getAsDOM("cdf/wcs?identifier=" + TASMANIA_BM.getLocalPart() + queryString); assertEquals("ows:ExceptionReport", dom.getDocumentElement().getNodeName()); }
public void testLayerQualified() throws Exception { String queryString ="&request=getcoverage&service=wcs&version=1.0.0&format=image/geotiff&bbox=146,-45,147,-42"+ "&crs=EPSG:4326&width=150&height=150"; ServletResponse response = getAsServletResponse( "wcs/BlueMarble/wcs?sourcecoverage=BlueMarble"+queryString); assertTrue(response.getContentType().startsWith("image/tiff")); Document dom = getAsDOM( "wcs/DEM/wcs?sourcecoverage=BlueMarble"+queryString); assertEquals("ServiceExceptionReport", dom.getDocumentElement().getNodeName()); }
@Test public void testWorkspaceQualified() throws Exception { String queryString = "&request=getcoverage&service=wcs&version=1.0.0&format=image/geotiff&bbox=146,-45,147,-42" + "&crs=EPSG:4326&width=150&height=150"; ServletResponse response = getAsServletResponse( "wcs?sourcecoverage=" + TASMANIA_BM.getLocalPart() + queryString); assertTrue(response.getContentType().startsWith("image/tiff")); Document dom = getAsDOM("cdf/wcs?sourcecoverage=" + TASMANIA_BM.getLocalPart() + queryString); assertEquals("ServiceExceptionReport", dom.getDocumentElement().getNodeName()); }
@Test public void testLayerQualified() throws Exception { String queryString = "&request=getcoverage&service=wcs&version=1.1.1&&format=image/geotiff" + "&BoundingBox=-45,146,-42,147,urn:ogc:def:crs:EPSG:6.6:4326"; ServletResponse r = getAsServletResponse("wcs/BlueMarble/wcs?identifier=BlueMarble" + queryString); assertTrue(r.getContentType().startsWith("multipart/related")); Document dom = getAsDOM("wcs/DEM/wcs?identifier=BlueMarble" + queryString); assertEquals("ows:ExceptionReport", dom.getDocumentElement().getNodeName()); }
@Test public void testTimeKVPNow() throws Exception { String queryString = "request=getcoverage&service=wcs&version=1.0.0&format=image/geotiff" + "&bbox=0.237,40.562,14.593,44.558&crs=EPSG:4326&width=25&height=25&time=now" + "&coverage=" + getLayerId(WATTEMP); MockHttpServletResponse response = getAsServletResponse("wcs?" + queryString); checkPixelValue(response, 10, 10, 18.2849999185419); }
@Test public void testTimeFirstKVP() throws Exception { String queryString = "request=getcoverage&service=wcs&version=1.0.0&format=image/geotiff" + "&bbox=0.237,40.562,14.593,44.558&crs=EPSG:4326&width=25&height=25&time=2008-10-31T00:00:00.000Z" + "&coverage=" + getLayerId(WATTEMP); MockHttpServletResponse response = getAsServletResponse("wcs?" + queryString); checkPixelValue(response, 10, 10, 18.2659999176394); }
@Test public void testLayerQualified() throws Exception { String queryString = "&request=getcoverage&service=wcs&version=1.0.0&format=image/geotiff&bbox=146,-45,147,-42" + "&crs=EPSG:4326&width=150&height=150"; MockHttpServletResponse response = getAsServletResponse("wcs/BlueMarble/wcs?sourcecoverage=BlueMarble" + queryString); assertTrue(response.getContentType().startsWith("image/tiff")); String disposition = response.getHeader("Content-Disposition"); assertTrue(disposition.endsWith("BlueMarble.tif")); Document dom = getAsDOM("wcs/DEM/wcs?sourcecoverage=BlueMarble" + queryString); assertEquals("ServiceExceptionReport", dom.getDocumentElement().getNodeName()); }
public void testTimeFirstKVP() throws Exception { setupRasterDimension(ResourceInfo.ELEVATION, DimensionPresentation.LIST, null); setupRasterDimension(ResourceInfo.ELEVATION, DimensionPresentation.LIST, null); String queryString ="request=getcoverage&service=wcs&version=1.0.0&format=image/geotiff" + "&bbox=0.237,40.562,14.593,44.558&crs=EPSG:4326&width=25&height=25&time=2008-10-31T00:00:00.000Z" + "&coverage=" + getLayerId(WATTEMP); MockHttpServletResponse response = getAsServletResponse("wcs?" + queryString); checkTimeFirst(response); }
@Test public void testGEOS6540_2() throws Exception { String queryString = "wcs?sourcecoverage=" + getLayerId(MOSAIC) + "&request=getcoverage" + "&service=wcs&version=1.0.0&format=ARCGRID&crs=EPSG:4326" + "&bbox=0,0,1,1&width=50&height=60"; MockHttpServletResponse response = getAsServletResponse(queryString); String content = response.getContentAsString(); assertEquals("text/plain", response.getContentType()); assertTrue( content.startsWith( "NCOLS 50" + System.lineSeparator() + "NROWS 60" + System.lineSeparator())); assertEquals( "inline; filename=sf:rasterFilter.asc", response.getHeader("Content-Disposition")); }
@Test public void testGEOS6540_1() throws Exception { String queryString = "wcs?sourcecoverage=" + getLayerId(MOSAIC) + "&request=getcoverage" + "&service=wcs&version=1.0.0&format=ArcGrid&crs=EPSG:4326" + "&bbox=0,0,1,1&width=50&height=60"; MockHttpServletResponse response = getAsServletResponse(queryString); assertEquals("text/plain", response.getContentType()); String content = response.getContentAsString(); assertTrue(content.startsWith("NCOLS 50" + System.lineSeparator() + "NROWS 60")); assertEquals( "inline; filename=sf:rasterFilter.asc", response.getHeader("Content-Disposition")); }
/** * This tests just ended up throwing an exception as the coverage being encoded was too large * due to a bug in the scales estimation */ @Test public void testRotatedGet() throws Exception { String request = "wcs?&service=WCS&request=GetCoverage&version=1.1.1&identifier=RotatedCad&BoundingBox=7.7634071540971386,45.14712131948007,7.76437367395267,45.14764567708965,urn:ogc:def:crs:OGC:1.3:CRS84&Format=image/tiff"; MockHttpServletResponse response = getAsServletResponse(request); // parse the multipart, check there are two parts Multipart multipart = getMultipart(response); assertEquals(2, multipart.getCount()); BodyPart coveragePart = multipart.getBodyPart(1); assertEquals("image/tiff", coveragePart.getContentType()); assertEquals("<theCoverage>", coveragePart.getHeader("Content-ID")[0]); // make sure we can read the coverage back ImageReader reader = ImageIO.getImageReadersByFormatName("tiff").next(); reader.setInput(ImageIO.createImageInputStream(coveragePart.getInputStream())); RenderedImage image = reader.read(0); // check the image is suitably small (without requiring an exact size) assertTrue(image.getWidth() < 1000); assertTrue(image.getHeight() < 1000); }
public void testRasterFilterRed() throws Exception { String queryString = "wcs?sourcecoverage=" + getLayerId(MOSAIC) + "&request=getcoverage" + "&service=wcs&version=1.0.0&format=image/tiff&crs=EPSG:4326" + "&bbox=0,0,1,1&CQL_FILTER=location like 'red%25'&width=150&height=150"; MockHttpServletResponse response = getAsServletResponse(queryString); RenderedImage image = readTiff(response); // check the pixel int[] pixel = new int[3]; image.getData().getPixel(0, 0, pixel); assertEquals(255, pixel[0]); assertEquals(0, pixel[1]); assertEquals(0, pixel[2]); }
private void testInterpolationMethods(String method) throws Exception { String queryString = "wcs?identifier=" + getLayerId(MOSAIC) + "&request=getcoverage" + "&service=wcs&version=1.1.1&&format=image/tiff" + "&BoundingBox=0,0,1,1,urn:ogc:def:crs:EPSG:6.6:4326" + "&RangeSubset=contents:" + method; MockHttpServletResponse response = getAsServletResponse(queryString); try { this.getMultipart(response); assertEquals(response.getStatus(), 200); } catch (ClassCastException e) { assertEquals("application/xml", response.getContentType()); } } }
public void testRasterFilterGreen() throws Exception { String queryString = "wcs?sourcecoverage=" + getLayerId(MOSAIC) + "&request=getcoverage" + "&service=wcs&version=1.0.0&&format=image/tiff&crs=EPSG:4326" + "&bbox=0,0,1,1&CQL_FILTER=location like 'green%25'&width=150&height=150"; MockHttpServletResponse response = getAsServletResponse(queryString); // make sure we can read the coverage back RenderedImage image = readTiff(response); // check the pixel int[] pixel = new int[3]; image.getData().getPixel(0, 0, pixel); assertEquals(0, pixel[0]); assertEquals(255, pixel[1]); assertEquals(0, pixel[2]); }
@Test public void testRasterFilterRed() throws Exception { String queryString = "wcs?sourcecoverage=" + getLayerId(MOSAIC) + "&request=getcoverage" + "&service=wcs&version=1.0.0&format=image/tiff&crs=EPSG:4326" + "&bbox=0,0,1,1&CQL_FILTER=location like 'red%25'&width=150&height=150"; MockHttpServletResponse response = getAsServletResponse(queryString); RenderedImage image = readTiff(response); // check the pixel int[] pixel = new int[3]; image.getData().getPixel(0, 0, pixel); assertEquals(255, pixel[0]); assertEquals(0, pixel[1]); assertEquals(0, pixel[2]); }
@Test public void testRasterFilterGreen() throws Exception { String queryString = "wcs?sourcecoverage=" + getLayerId(MOSAIC) + "&request=getcoverage" + "&service=wcs&version=1.0.0&&format=image/tiff&crs=EPSG:4326" + "&bbox=0,0,1,1&CQL_FILTER=location like 'green%25'&width=150&height=150"; MockHttpServletResponse response = getAsServletResponse(queryString); // make sure we can read the coverage back RenderedImage image = readTiff(response); // check the pixel int[] pixel = new int[3]; image.getData().getPixel(0, 0, pixel); assertEquals(0, pixel[0]); assertEquals(255, pixel[1]); assertEquals(0, pixel[2]); }
@Test public void testGEOS6540_3() throws Exception { String queryString = "wcs?sourcecoverage=" + getLayerId(MOSAIC) + "&request=getcoverage" + "&service=wcs&version=1.0.0&format=ARCGRID-GZIP&crs=EPSG:4326" + "&bbox=0,0,1,1&width=50&height=60"; MockHttpServletResponse response = getAsServletResponse(queryString); byte[] content = response.getContentAsByteArray(); assertEquals("application/x-gzip", response.getContentType()); assertEquals((byte) 0x1f, content[0]); assertEquals((byte) 0x8b, content[1]); assertEquals((byte) 0x08, content[2]); assertEquals((byte) 0x00, content[3]); assertEquals( "inline; filename=sf:rasterFilter.asc.gz", response.getHeader("Content-Disposition")); }
@Test public void testGEOS6540_4() throws Exception { String queryString = "wcs?sourcecoverage=" + getLayerId(MOSAIC) + "&request=getcoverage" + "&service=wcs&version=1.0.0&format=application/x-gzip&crs=EPSG:4326" + "&bbox=0,0,1,1&width=50&height=60"; MockHttpServletResponse response = getAsServletResponse(queryString); byte[] content = response.getContentAsByteArray(); assertEquals("application/x-gzip", response.getContentType()); assertEquals((byte) 0x1f, content[0]); assertEquals((byte) 0x8b, content[1]); assertEquals((byte) 0x08, content[2]); assertEquals((byte) 0x00, content[3]); assertEquals( "inline; filename=sf:rasterFilter.asc.gz", response.getHeader("Content-Disposition")); }