package com.revolsys.gis.wms.capabilities;
import org.w3c.dom.Element;
import com.revolsys.geometry.model.BoundingBox;
import com.revolsys.geometry.model.GeometryFactory;
import com.revolsys.gis.wms.WmsClient;
import com.revolsys.record.io.format.xml.XmlUtil;
public class WmsBoundingBox {
private final BoundingBox boundingBox;
private final double resX;
private final double resY;
private final String srs;
public WmsBoundingBox(final Element boundingBoxElement) {
final double minX = XmlUtil.getAttributeDouble(boundingBoxElement, "minx", Double.NaN);
final double maxX = XmlUtil.getAttributeDouble(boundingBoxElement, "maxx", Double.NaN);
this.resX = XmlUtil.getAttributeDouble(boundingBoxElement, "resx", Double.NaN);
final double minY = XmlUtil.getAttributeDouble(boundingBoxElement, "miny", Double.NaN);
final double maxY = XmlUtil.getAttributeDouble(boundingBoxElement, "maxy", Double.NaN);
this.resY = XmlUtil.getAttributeDouble(boundingBoxElement, "resy", Double.NaN);
this.srs = boundingBoxElement.getAttribute("SRS");
final GeometryFactory geometryFactory = WmsClient.getGeometryFactory(this.srs);
this.boundingBox = geometryFactory.newBoundingBox(minX, minY, maxX, maxY);
}
public BoundingBox getEnvelope() {
return this.boundingBox;
}
public double getResX() {
return this.resX;
}
public double getResY() {
return this.resY;
}
public String getSrs() {
return this.srs;
}
}