예제 #1
0
  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;
  }
예제 #2
0
  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;
  }
예제 #3
0
  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;
  }
예제 #4
0
 public String label() {
   return ReaderUtils.getChildText(coverage, "label");
 }
예제 #5
0
 public String description() {
   return ReaderUtils.getChildText(coverage, "description");
 }
예제 #6
0
 public String name() {
   return ReaderUtils.getChildText(coverage, "name");
 }
예제 #7
0
 public String wmsPath() {
   return ReaderUtils.getChildText(coverage, "wmspath");
 }
예제 #8
0
 public List<String> supportedInterpolations() throws Exception {
   Element supportedFormats = ReaderUtils.getChildElement(coverage, "supportedInterpolations");
   String[] interpolations =
       ReaderUtils.getChildText(supportedFormats, "interpolationMethods").split(",");
   return Arrays.asList(interpolations);
 }
예제 #9
0
 public List<String> supportedFormats() throws Exception {
   Element supportedFormats = ReaderUtils.getChildElement(coverage, "supportedFormats");
   String[] formats = ReaderUtils.getChildText(supportedFormats, "formats").split(",");
   return Arrays.asList(formats);
 }
예제 #10
0
 public List<String> responseCRSs() throws Exception {
   Element supportedCRS = ReaderUtils.getChildElement(coverage, "supportedCRSs");
   String[] responseCRS = ReaderUtils.getChildText(supportedCRS, "responseCRSs").trim().split(",");
   return Arrays.asList(responseCRS);
 }