private IBoundingBox[] getSpatialBoundingBox(final EnvelopeType envelope, final String ocCrs) { // BoundingBox: final DirectPositionType lowerCorner = envelope.getLowerCorner(); final List<?> xbLowerCornerList = lowerCorner.getListValue(); double[] ocLowerCornerList = new double[xbLowerCornerList.size()]; final DirectPositionType upperCorner = envelope.getUpperCorner(); final List<?> xbUpperCornerList = upperCorner.getListValue(); double[] ocUpperCornerList = new double[xbUpperCornerList.size()]; if (ocLowerCornerList.length == 0) { LOGGER.warn("Evelope contains invalid lower corner: {}.", envelope.xmlText()); ocLowerCornerList = new double[] {0.0, 0.0}; } else { for (int j = 0; j < xbLowerCornerList.size(); j++) { ocLowerCornerList[j] = (Double) xbLowerCornerList.get(j); } } if (ocUpperCornerList.length == 0) { LOGGER.warn("Evelope contains invalid upper corner: {}.", envelope.xmlText()); ocUpperCornerList = new double[] {0.0, 0.0}; } else { for (int j = 0; j < xbUpperCornerList.size(); j++) { ocUpperCornerList[j] = (Double) xbUpperCornerList.get(j); } } final IBoundingBox[] ocBbox = new IBoundingBox[1]; ocBbox[0] = new BoundingBox(ocCrs, ocLowerCornerList, ocUpperCornerList); return ocBbox; }