Package io.github.sebasbaumh.postgis
Class CompoundCurve
- java.lang.Object
-
- io.github.sebasbaumh.postgis.Geometry
-
- io.github.sebasbaumh.postgis.Curve
-
- io.github.sebasbaumh.postgis.CompoundCurve
-
- All Implemented Interfaces:
LineBasedGeometry,Serializable,Iterable<LineString>
@NonNullByDefault public class CompoundCurve extends Curve implements Iterable<LineString>
A compound curve is a single, continuous curve that has both curved (circular) segments and linear segments. That means that in addition to having well-formed components, the end point of every component (except the last) must be coincident with the start point of the following component. Just note: here it is treated as a specialMultiCurvewhere the end points of all contained lines match.- Author:
- Sebastian Baumhekel
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static intTYPEThe OGIS geometry type number for single, continuous curves that have both curved (circular) segments and linear segments.-
Fields inherited from class io.github.sebasbaumh.postgis.Geometry
UNKNOWN_SRID
-
-
Constructor Summary
Constructors Constructor Description CompoundCurve()Constructs an instance.CompoundCurve(Iterable<? extends LineString> geoms)Constructs an instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(LineString geom)Adds a geometry.voidaddAll(Iterable<? extends LineString> geoms)Adds all given geometries.booleancheckConsistency()Do some internal consistency checks on the geometry.voidclose()Closes thisCurveif the last coordinate is not already the same as the first coordinate.booleanequals(Object other)java.lang.Object equals implementationIterable<Point>getCoordinates()Gets the coordinates of thisGeometry.PointgetEndPoint()Gets the end point.Collection<LineString>getGeometries()Gets all geometries.intgetNumberOfCoordinates()Gets the number of coordinates of thisGeometry.PointgetStartPoint()Gets the start point.inthashCode()booleanhasMeasure()Returns whether we have a measure (4th dimension)booleanis3d()Checks if thisGeometryis 3d.booleanisEmpty()Checks, if there are no sub-geometries.Iterator<LineString>iterator()doublelength()Gets the length of this line.voidreverse()Reverses this linestring.voidsetSrid(int srid)Recursively sets the srid on this geometry and all contained subgeometriesintsize()Gets the number of contained geometries.-
Methods inherited from class io.github.sebasbaumh.postgis.Curve
isClockwise, isClosed, toString
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Field Detail
-
TYPE
public static final int TYPE
The OGIS geometry type number for single, continuous curves that have both curved (circular) segments and linear segments.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
CompoundCurve
public CompoundCurve()
Constructs an instance.
-
CompoundCurve
public CompoundCurve(Iterable<? extends LineString> geoms)
Constructs an instance.- Parameters:
geoms- geometries
-
-
Method Detail
-
add
public void add(LineString geom)
Adds a geometry.- Parameters:
geom- geometry
-
addAll
public final void addAll(Iterable<? extends LineString> geoms)
Adds all given geometries.- Parameters:
geoms- geometries
-
checkConsistency
public boolean checkConsistency()
Description copied from class:GeometryDo some internal consistency checks on the geometry. Currently, all Geometries must have a valid dimension (2 or 3) and a valid type. Composed geometries must have all equal SRID, dimensionality and measures, as well as that they do not contain NULL or inconsistent subgeometries. BinaryParser and WKTParser should only generate consistent geometries. BinaryWriter may produce invalid results on inconsistent geometries.- Overrides:
checkConsistencyin classGeometry- Returns:
- true if all checks are passed.
-
close
public void close()
Closes thisCurveif the last coordinate is not already the same as the first coordinate.
-
equals
public boolean equals(@Nullable Object other)Description copied from class:Geometryjava.lang.Object equals implementation
-
getCoordinates
public Iterable<Point> getCoordinates()
Description copied from class:GeometryGets the coordinates of thisGeometry.- Specified by:
getCoordinatesin classGeometry- Returns:
- coordinates
-
getEndPoint
@Nullable public Point getEndPoint()
Description copied from interface:LineBasedGeometryGets the end point.- Specified by:
getEndPointin interfaceLineBasedGeometry- Returns:
Pointon success, else null
-
getGeometries
public Collection<LineString> getGeometries()
Gets all geometries.- Returns:
- geometries
-
getNumberOfCoordinates
public int getNumberOfCoordinates()
Description copied from class:GeometryGets the number of coordinates of thisGeometry.- Specified by:
getNumberOfCoordinatesin classGeometry- Returns:
- number of coordinates
-
getStartPoint
@Nullable public Point getStartPoint()
Description copied from interface:LineBasedGeometryGets the start point.- Specified by:
getStartPointin interfaceLineBasedGeometry- Returns:
Pointon success, else null
-
hasMeasure
public boolean hasMeasure()
Description copied from class:GeometryReturns whether we have a measure (4th dimension)- Specified by:
hasMeasurein classGeometry- Returns:
- true if the geometry has a measure, false otherwise
-
isEmpty
public boolean isEmpty()
Checks, if there are no sub-geometries.
-
iterator
public Iterator<LineString> iterator()
- Specified by:
iteratorin interfaceIterable<LineString>
-
length
public double length()
Description copied from interface:LineBasedGeometryGets the length of this line.- Specified by:
lengthin interfaceLineBasedGeometry- Returns:
- length
-
reverse
public void reverse()
Description copied from class:CurveReverses this linestring.
-
setSrid
public void setSrid(int srid)
Description copied from class:GeometryRecursively sets the srid on this geometry and all contained subgeometries
-
size
public int size()
Gets the number of contained geometries.- Returns:
- number of contained geometries
-
-