コード例 #1
0
  public Double[] getLayerExtremeElevations(WMSCapabilities caps, String[] layerNames) {
    if (caps == null) {
      String message = Logging.getMessage("nullValue.WMSCapabilities");
      Logging.logger().severe(message);
      throw new IllegalArgumentException(message);
    }

    if (layerNames == null) {
      String message = Logging.getMessage("nullValue.WMSLayerNames");
      Logging.logger().severe(message);
      throw new IllegalArgumentException(message);
    }

    Double extremeMin = null;
    Double extremeMax = null;

    for (String name : layerNames) {
      WMSLayerCapabilities layer = caps.getLayerByName(name);
      if (layer == null) continue;

      Double min = layer.getExtremeElevationMin();
      if (min != null && (extremeMin == null || min.compareTo(min) > 0)) extremeMin = min;

      Double max = layer.getExtremeElevationMax();
      if (max != null && (extremeMax == null || max.compareTo(max) > 0)) extremeMax = max;
    }

    if (extremeMin != null || extremeMax != null) {
      Double[] extremes = new Double[] {null, null};

      if (extremeMin != null) extremes[0] = extremeMin;
      if (extremeMax != null) extremes[1] = extremeMax;

      return extremes;
    }

    return null;
  }