Package org.geotools.grid.hexagon
Class HexagonImpl
- Object
-
- HexagonImpl
-
- All Implemented Interfaces:
GridElement
,Hexagon
,PolygonElement
public class HexagonImpl extends Object implements Hexagon
Default implementation ofHexagon
.- Since:
- 2.7
- Author:
- mbedward
-
-
Constructor Summary
Constructors Constructor Description HexagonImpl(double minX, double minY, double sideLen, HexagonOrientation orientation, CoordinateReferenceSystem crs)
Creates a new hexagon.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double
getArea()
Gets the area of this grid element.ReferencedEnvelope
getBounds()
Gets the bounds of this grid element.Coordinate
getCenter()
Gets the center coordinates of this grid element.HexagonOrientation
getOrientation()
Gets the orientation of this hexagon.double
getSideLength()
Gets the side length of this hexagon.Coordinate[]
getVertices()
Gets the vertices of this grid element.Geometry
toDenseGeometry(double maxSpacing)
Creates a new, densifiedGeometry
from this grid element.Geometry
toGeometry()
Creates a newGeometry
from this grid element.
-
-
-
Constructor Detail
-
HexagonImpl
public HexagonImpl(double minX, double minY, double sideLen, HexagonOrientation orientation, CoordinateReferenceSystem crs)
Creates a new hexagon.- Parameters:
minX
- the min X ordinate of the bounding rectangleminY
- the min Y ordinate of the bounding rectanglesideLen
- the side lengthorientation
- eitherHexagon.Orientation.FLAT
orHexagon.Orientation.ANGLED
crs
- the coordinate reference system (may benull
)
-
-
Method Detail
-
getSideLength
public double getSideLength()
Gets the side length of this hexagon.- Specified by:
getSideLength
in interfaceHexagon
- Returns:
- side length
-
getArea
public double getArea()
Gets the area of this grid element.- Specified by:
getArea
in interfacePolygonElement
- Returns:
- the area
-
getOrientation
public HexagonOrientation getOrientation()
Gets the orientation of this hexagon.- Specified by:
getOrientation
in interfaceHexagon
- Returns:
- either Orientation#ANGLED or Orientation#FLAT
-
getVertices
public Coordinate[] getVertices()
Gets the vertices of this grid element.- Specified by:
getVertices
in interfaceGridElement
- Returns:
- an array of copies of the vertex
Coordinates
-
getBounds
public ReferencedEnvelope getBounds()
Gets the bounds of this grid element.- Specified by:
getBounds
in interfaceGridElement
- Returns:
- the bounding rectangle
-
getCenter
public Coordinate getCenter()
Gets the center coordinates of this grid element.- Specified by:
getCenter
in interfacePolygonElement
- Returns:
- the center coordinates
-
toGeometry
public Geometry toGeometry()
Creates a newGeometry
from this grid element.- Specified by:
toGeometry
in interfaceGridElement
- Returns:
- a new
Geometry
-
toDenseGeometry
public Geometry toDenseGeometry(double maxSpacing)
Creates a new, densifiedGeometry
from this grid element.- Specified by:
toDenseGeometry
in interfaceGridElement
- Parameters:
maxSpacing
- the maximum distance between adjacent vertices- Returns:
- a new
Geometry
- Throws:
IllegalArgumentException
- ifmaxSpacing
is not a positive value
-
-