public void setBoundingBox(double n, double s, double e, double w) {
        setDimensions(2);
        if (hasBoundingBox())
            throw new IllegalStateException("Can only set bounding box once");
        int px1 = (int) (Math.round(w * 1000000));
        int px2 = (int) (Math.round(e * 1000000));
        int py1 = (int) (Math.round(s * 1000000));
        int py2 = (int) (Math.round(n * 1000000));
        if (px1 > px2)
            throw new IllegalArgumentException("Cannot have w > e");
        this.x1 = px1;
        this.x2 = px2;
        if (py1 > py2)
            throw new IllegalArgumentException("Cannot have s > n");
        this.y1 = py1;
        this.y2 = py2;
        renderRectangle = true;
    }
Location data for a geographical query.
This is mutable and clonable. It's identifty is decided by its content.

@author Steinar Knutsen
@author arnej27959
container-search/src/main/java/com/yahoo/prelude/Location.java