/** * Parse Layer Bounding Boxes * * @param nl * @return LayerBoundingBox[] * @throws XMLParsingException */ protected LayerBoundingBox[] parseLayerBoundingBoxes(List nl) throws XMLParsingException { LOG.entering(); LayerBoundingBox[] llBoxes = new LayerBoundingBox[nl.size()]; for (int i = 0; i < llBoxes.length; i++) { double minx = XMLTools.getRequiredNodeAsDouble((Node) nl.get(i), "./@minx", nsContext); double maxx = XMLTools.getRequiredNodeAsDouble((Node) nl.get(i), "./@maxx", nsContext); double miny = XMLTools.getRequiredNodeAsDouble((Node) nl.get(i), "./@miny", nsContext); double maxy = XMLTools.getRequiredNodeAsDouble((Node) nl.get(i), "./@maxy", nsContext); double resx = XMLTools.getNodeAsDouble((Node) nl.get(i), "./@resx", nsContext, -1); double resy = XMLTools.getNodeAsDouble((Node) nl.get(i), "./@resx", nsContext, -1); String srs = XMLTools.getRequiredNodeAsString((Node) nl.get(i), "./@SRS", nsContext); Position min = GeometryFactory.createPosition(minx, miny); Position max = GeometryFactory.createPosition(maxx, maxy); llBoxes[i] = new LayerBoundingBox(min, max, srs, resx, resy); } LOG.exiting(); return llBoxes; }
/** * Parse Scale Hint * * @param layerElem * @return ScaleHint * @throws XMLParsingException */ protected ScaleHint parseScaleHint(Element layerElem) throws XMLParsingException { LOG.entering(); ScaleHint scaleHint = null; Node scNode = XMLTools.getNode(layerElem, "./ScaleHint", nsContext); if (scNode != null) { double mn = XMLTools.getNodeAsDouble(scNode, "./@min", nsContext, 0); double mx = XMLTools.getNodeAsDouble(scNode, "./@max", nsContext, Double.MAX_VALUE); scaleHint = new ScaleHint(mn, mx); } else { // set default value to avoid NullPointerException // when accessing a layers scalehint scaleHint = new ScaleHint(0, Double.MAX_VALUE); } LOG.exiting(); return scaleHint; }