public List<String> keywords() { String raw = ReaderUtils.getChildText(coverage, "keywords"); StringTokenizer st = new StringTokenizer(raw, ", "); ArrayList keywords = new ArrayList(); while (st.hasMoreTokens()) { keywords.add(st.nextToken()); } return keywords; }
public List<Map> coverageDimensions() throws Exception { Element[] cdElements = ReaderUtils.getChildElements(coverage, "CoverageDimension"); List<Map> cds = new ArrayList<Map>(); for (int i = 0; i < cdElements.length; i++) { HashMap cd = new HashMap(); cd.put("name", ReaderUtils.getChildText(cdElements[i], "name")); cd.put("description", ReaderUtils.getChildText(cdElements[i], "description")); Element intervalElement = ReaderUtils.getChildElement(cdElements[i], "interval"); double min = Double.parseDouble(ReaderUtils.getChildText(intervalElement, "min")); double max = Double.parseDouble(ReaderUtils.getChildText(intervalElement, "max")); cd.put("min", min); cd.put("max", max); cds.add(cd); } return cds; }
public Map<String, Object> grid() throws Exception { Element gridElement = ReaderUtils.getChildElement(coverage, "grid"); if (gridElement == null) { return null; } HashMap<String, Object> grid = new HashMap<String, Object>(); grid.put( "dimension", Integer.parseInt(ReaderUtils.getAttribute(gridElement, "dimension", true))); Element lowElement = ReaderUtils.getChildElement(gridElement, "low"); String[] lows = lowElement.getFirstChild().getTextContent().trim().split(" "); int[] low = new int[lows.length]; for (int i = 0; i < low.length; i++) { low[i] = Integer.parseInt(lows[i]); } grid.put("low", low); Element highElement = ReaderUtils.getChildElement(gridElement, "high"); String[] highs = highElement.getFirstChild().getTextContent().trim().split(" "); int[] high = new int[highs.length]; for (int i = 0; i < high.length; i++) { high[i] = Integer.parseInt(highs[i]); } grid.put("high", high); Element[] axisNameElements = ReaderUtils.getChildElements(gridElement, "axisName"); String[] axisName = new String[axisNameElements.length]; for (int i = 0; i < axisName.length; i++) { axisName[i] = axisNameElements[i].getFirstChild().getTextContent(); } grid.put("axisName", axisName); Element geoTransformElement = ReaderUtils.getChildElement(gridElement, "geoTransform"); if (geoTransformElement != null) { Map<String, Double> geoTransform = new HashMap<String, Double>(); String scaleX = ReaderUtils.getChildText(geoTransformElement, "scaleX"); String scaleY = ReaderUtils.getChildText(geoTransformElement, "scaleY"); String shearX = ReaderUtils.getChildText(geoTransformElement, "shearX"); String shearY = ReaderUtils.getChildText(geoTransformElement, "shearY"); String translateX = ReaderUtils.getChildText(geoTransformElement, "translateX"); String translateY = ReaderUtils.getChildText(geoTransformElement, "translateY"); geoTransform.put("scaleX", scaleX != null ? new Double(scaleX) : null); geoTransform.put("scaleY", scaleY != null ? new Double(scaleY) : null); geoTransform.put("shearX", shearX != null ? new Double(shearX) : null); geoTransform.put("shearY", shearY != null ? new Double(shearY) : null); geoTransform.put("translateX", translateX != null ? new Double(translateX) : null); geoTransform.put("translateY", translateY != null ? new Double(translateY) : null); grid.put("geoTransform", geoTransform); } return grid; }
public String label() { return ReaderUtils.getChildText(coverage, "label"); }
public String description() { return ReaderUtils.getChildText(coverage, "description"); }
public String name() { return ReaderUtils.getChildText(coverage, "name"); }
public String wmsPath() { return ReaderUtils.getChildText(coverage, "wmspath"); }
public List<String> supportedInterpolations() throws Exception { Element supportedFormats = ReaderUtils.getChildElement(coverage, "supportedInterpolations"); String[] interpolations = ReaderUtils.getChildText(supportedFormats, "interpolationMethods").split(","); return Arrays.asList(interpolations); }
public List<String> supportedFormats() throws Exception { Element supportedFormats = ReaderUtils.getChildElement(coverage, "supportedFormats"); String[] formats = ReaderUtils.getChildText(supportedFormats, "formats").split(","); return Arrays.asList(formats); }
public List<String> responseCRSs() throws Exception { Element supportedCRS = ReaderUtils.getChildElement(coverage, "supportedCRSs"); String[] responseCRS = ReaderUtils.getChildText(supportedCRS, "responseCRSs").trim().split(","); return Arrays.asList(responseCRS); }