Package org.apache.lucene.geo

# Class Rectangle

java.lang.Object
org.apache.lucene.geo.Geometry
org.apache.lucene.geo.LatLonGeometry
org.apache.lucene.geo.Rectangle

public class Rectangle extends LatLonGeometry
Represents a lat/lon rectangle.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final double`
`AXISLAT_ERROR`
maximum error from `axisLat(double, double)`.
`final double`
`maxLat`
maximum latitude value (in degrees)
`final double`
`maxLon`
minimum latitude value (in degrees)
`final double`
`minLat`
maximum longitude value (in degrees)
`final double`
`minLon`
minimum longitude value (in degrees)

## Constructor Summary

Constructors
Constructor
Description
`Rectangle(double minLat, double maxLat, double minLon, double maxLon)`
Constructs a bounding box by first validating the provided latitude and longitude coordinates

## Method Summary

Modifier and Type
Method
Description
`static double`
`axisLat(double centerLat, double radiusMeters)`
Calculate the latitude of a circle's intersections with its bbox meridians.
`static boolean`
`containsPoint(double lat, double lon, double minLat, double maxLat, double minLon, double maxLon)`
returns true if rectangle (defined by minLat, maxLat, minLon, maxLon) contains the lat lon point
`boolean`
`crossesDateline()`
Returns true if this bounding box crosses the dateline
`boolean`
`equals(Object o)`
`static Rectangle`
`fromPointDistance(double centerLat, double centerLon, double radiusMeters)`
Compute Bounding Box for a circle using WGS-84 parameters
`static Rectangle`
`fromPolygon(Polygon[] polygons)`
Returns the bounding box over an array of polygons
`int`
`hashCode()`
`protected Component2D`
`toComponent2D()`
get a Component2D from the geometry object
`String`
`toString()`

### Methods inherited from class org.apache.lucene.geo.LatLonGeometry

`create`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

## Field Details

### minLat

public final double minLat
maximum longitude value (in degrees)

### minLon

public final double minLon
minimum longitude value (in degrees)

### maxLat

public final double maxLat
maximum latitude value (in degrees)

### maxLon

public final double maxLon
minimum latitude value (in degrees)

### AXISLAT_ERROR

public static final double AXISLAT_ERROR
maximum error from `axisLat(double, double)`. logic must be prepared to handle this

## Constructor Details

### Rectangle

public Rectangle(double minLat, double maxLat, double minLon, double maxLon)
Constructs a bounding box by first validating the provided latitude and longitude coordinates

## Method Details

### toComponent2D

protected Component2D toComponent2D()
Description copied from class: `Geometry`
get a Component2D from the geometry object

Specified by:
  `toComponent2D` in class `Geometry`

### toString

public String toString()

Overrides:
  `toString` in class `Object`

### crossesDateline

public boolean crossesDateline()
Returns true if this bounding box crosses the dateline

### containsPoint

public static boolean containsPoint(double lat, double lon, double minLat, double maxLat, double minLon, double maxLon)
returns true if rectangle (defined by minLat, maxLat, minLon, maxLon) contains the lat lon point

### fromPointDistance

public static Rectangle fromPointDistance(double centerLat, double centerLon, double radiusMeters)
Compute Bounding Box for a circle using WGS-84 parameters

### axisLat

public static double axisLat(double centerLat, double radiusMeters)
Calculate the latitude of a circle's intersections with its bbox meridians.

NOTE: the returned value will be +/- `AXISLAT_ERROR` of the actual value.

Parameters:
  `centerLat` - The latitude of the circle center
  `radiusMeters` - The radius of the circle in meters
Returns:
  A latitude

### fromPolygon

public static Rectangle fromPolygon(Polygon[] polygons)
Returns the bounding box over an array of polygons

### equals

public boolean equals(Object o)

Overrides:
  `equals` in class `Object`

### hashCode

public int hashCode()

Overrides:
  `hashCode` in class `Object`