use of org.geotoolkit.wcs.xml.v200.CoverageDescriptionType in project geotoolkit by Geomatys.
the class WcsXMLBindingTest method marshallingTest200.
@Test
public void marshallingTest200() throws JAXBException, IOException, ParserConfigurationException, SAXException {
org.geotoolkit.wcs.xml.v200.GetCoverageType getCoverage = new org.geotoolkit.wcs.xml.v200.GetCoverageType("test", "image/geotiff", null);
ParametersType param = new ParametersType();
param.setCompression(CompressionType.NONE);
param.setInterleave(InterleaveType.PIXEL);
param.setJpegQuality(10);
param.setPredictor(PredictorType.NONE);
param.setTileheight(12);
param.setTilewidth(15);
param.setTiling(true);
ObjectFactory facto = new ObjectFactory();
getCoverage.setExtension(new ExtensionType(facto.createParameters(param)));
StringWriter sw = new StringWriter();
marshaller.marshal(getCoverage, sw);
String result = sw.toString();
String expResult = "<wcs:GetCoverage version=\"2.0.1\" service=\"WCS\" " + "xmlns:wcs=\"http://www.opengis.net/wcs/2.0\" xmlns:geotiff=\"http://www.opengis.net/gmlcov/geotiff/1.0\">" + '\n' + " <wcs:Extension>\n" + " <geotiff:parameters>\n" + " <geotiff:compression>None</geotiff:compression>\n" + " <geotiff:jpeg_quality>10</geotiff:jpeg_quality>\n" + " <geotiff:predictor>None</geotiff:predictor>\n" + " <geotiff:interleave>Pixel</geotiff:interleave>\n" + " <geotiff:tiling>true</geotiff:tiling>\n" + " <geotiff:tileheight>12</geotiff:tileheight>\n" + " <geotiff:tilewidth>15</geotiff:tilewidth>\n" + " </geotiff:parameters>\n" + " </wcs:Extension>\n" + " <wcs:CoverageId>test</wcs:CoverageId>" + '\n' + " <wcs:format>image/geotiff</wcs:format>" + '\n' + "</wcs:GetCoverage>" + '\n';
assertXmlEquals(expResult, result, "xmlns:*");
final org.geotoolkit.wcs.xml.v200.GetCoverageType unmarshalled = (org.geotoolkit.wcs.xml.v200.GetCoverageType) ((JAXBElement) unmarshaller.unmarshal(new StringReader(expResult))).getValue();
assertEquals(getCoverage, unmarshalled);
final org.geotoolkit.gml.xml.v321.RangeSetType rangeSet = new org.geotoolkit.gml.xml.v321.RangeSetType();
final FileType ft = new FileType();
ft.setMimeType("image/tiff");
final String ext = ".tif";
ft.setRangeParameters(new AssociationRoleType("cid:grey" + ext, "http://www.opengis.net/spec/GMLCOV_geotiff-coverages/1.0/conf/geotiff-coverage", "fileReference"));
ft.setFileReference("cid:grey" + ext);
rangeSet.setFile(ft);
final AbstractDiscreteCoverageType cov = new AbstractDiscreteCoverageType(new CoverageDescriptionType(), rangeSet);
final org.geotoolkit.gmlcov.xml.v100.ObjectFactory factory = new org.geotoolkit.gmlcov.xml.v100.ObjectFactory();
JAXBElement jb = factory.createGridCoverage(cov);
sw = new StringWriter();
marshaller.marshal(jb, sw);
result = sw.toString();
System.out.println(result);
// test the crs extension in capabilities
List<String> supportedFormat = new ArrayList<>();
supportedFormat.add("image/tiff");
supportedFormat.add("application/x-netcdf");
List<String> supportedCrs = new ArrayList<>();
supportedCrs.add("http://www.opengis.net/def/crs/EPSG/0/4326");
supportedCrs.add("http://www.opengis.net/def/crs/EPSG/0/666");
ServiceMetadataType serviceMetadata = new ServiceMetadataType(supportedFormat, supportedCrs);
CapabilitiesType capa = new CapabilitiesType(null, null, null, "2.0.1", null, null, serviceMetadata);
sw = new StringWriter();
marshaller.marshal(capa, sw);
result = sw.toString();
System.out.println(result);
// test the crs extension in get coverage
String subsettingCRS = "http://www.opengis.net/def/crs/EPSG/0/4326";
String outputCRS = "http://www.opengis.net/def/crs/EPSG/0/666";
org.geotoolkit.wcs.xml.v200.GetCoverageType getCov = new org.geotoolkit.wcs.xml.v200.GetCoverageType("CID", "geotiff", "image/tiff", subsettingCRS, outputCRS);
sw = new StringWriter();
marshaller.marshal(getCov, sw);
result = sw.toString();
System.out.println(result);
}
Aggregations