com.vividsolutions.jts.util

Class GeometricShapeFactory


public class GeometricShapeFactory
extends java.lang.Object

Computes various kinds of common geometric shapes. Allows various ways of specifying the location and extent of the shapes, as well as number of line segments used to form them.

Example:

  GeometricShapeFactory gsf = new GeometricShapeFactory();
  gsf.setSize(100);
  gsf.setNumPoints(100);
  gsf.setBase(new Coordinate(0, 0));
  Polygon rect = gsf.createRectangle();
 
Version:
1.7

Constructor Summary

GeometricShapeFactory()
Create a shape factory which will create shapes using the default GeometryFactory.
GeometricShapeFactory(GeometryFactory geomFact)
Create a shape factory which will create shapes using the given GeometryFactory.

Method Summary

LineString
createArc(double startAng, double endAng)
Creates a elliptical arc, as a LineString.
Polygon
createCircle()
Creates a circular Polygon.
Polygon
createRectangle()
Creates a rectangular Polygon.
void
setBase(Coordinate base)
Sets the location of the shape by specifying the base coordinate (which in most cases is the lower left point of the envelope containing the shape).
void
setCentre(Coordinate centre)
Sets the location of the shape by specifying the centre of the shape's bounding box
void
setHeight(double height)
Sets the height of the shape.
void
setNumPoints(int nPts)
Sets the total number of points in the created Geometry.
void
setSize(double size)
Sets the size of the extent of the shape in both x and y directions.
void
setWidth(double width)
Sets the width of the shape.

Constructor Details

GeometricShapeFactory

public GeometricShapeFactory()

GeometricShapeFactory

public GeometricShapeFactory(GeometryFactory geomFact)
Create a shape factory which will create shapes using the given GeometryFactory.
Parameters:
geomFact - the factory to use

Method Details

createArc

public LineString createArc(double startAng,
                            double endAng)
Creates a elliptical arc, as a LineString.
Returns:
an elliptical arc

createCircle

public Polygon createCircle()
Creates a circular Polygon.
Returns:
a circle

createRectangle

public Polygon createRectangle()
Creates a rectangular Polygon.
Returns:
a rectangular Polygon

setBase

public void setBase(Coordinate base)
Sets the location of the shape by specifying the base coordinate (which in most cases is the lower left point of the envelope containing the shape).
Parameters:
base - the base coordinate of the shape

setCentre

public void setCentre(Coordinate centre)
Sets the location of the shape by specifying the centre of the shape's bounding box
Parameters:
centre - the centre coordinate of the shape

setHeight

public void setHeight(double height)
Sets the height of the shape.
Parameters:
height - the height of the shape

setNumPoints

public void setNumPoints(int nPts)
Sets the total number of points in the created Geometry. The created geometry will have no more than this number of points, unless more are needed to create a valid geometry.

setSize

public void setSize(double size)
Sets the size of the extent of the shape in both x and y directions.
Parameters:
size - the size of the shape's extent

setWidth

public void setWidth(double width)
Sets the width of the shape.
Parameters:
width - the width of the shape