public void setGeoCircle(double ns, double ew, double radius_in_degrees) {
        setDimensions(2);
        if (isGeoCircle())
            throw new IllegalStateException("Can only set geo circle once");
        int px = (int) (ew * 1000000);
        int py = (int) (ns * 1000000);
        int pr = (int) (radius_in_degrees * 1000000);
        if (ew < -180.1 || ew > +180.1)
            throw new IllegalArgumentException("e/w location must be in range [-180,+180]");
        if (ns < -90.1 || ns > +90.1)
            throw new IllegalArgumentException("n/s location must be in range [-90,+90]");
        if (radius_in_degrees < 0)
            pr = -1;
        this.x = px;
        this.y = py;
        this.r = pr;
        renderCircle = true;
        adjustAspect();
    }
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