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>
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 special
MultiCurve
where the end points of all contained lines match.- Author:
- Sebastian Baumhekel
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
The 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
ConstructorsConstructorDescriptionConstructs an instance.CompoundCurve
(Iterable<? extends LineString> geoms) Constructs an instance. -
Method Summary
Modifier and TypeMethodDescriptionvoid
add
(LineString geom) Adds a geometry.final void
addAll
(Iterable<? extends LineString> geoms) Adds all given geometries.boolean
Do some internal consistency checks on the geometry.void
close()
Closes thisCurve
if the last coordinate is not already the same as the first coordinate.boolean
java.lang.Object equals implementationGets the coordinates of thisGeometry
.Gets the end point.Gets all geometries.int
Gets the number of coordinates of thisGeometry
.Gets the start point.int
hashCode()
boolean
Returns whether we have a measure (4th dimension)boolean
is3d()
Checks if thisGeometry
is 3d.boolean
isEmpty()
Checks, if there are no sub-geometries.iterator()
double
length()
Gets the length of this line.void
reverse()
Reverses this linestring.void
setSrid
(int srid) Recursively sets the srid on this geometry and all contained subgeometriesint
size()
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 Details
-
TYPE
public static final int TYPEThe OGIS geometry type number for single, continuous curves that have both curved (circular) segments and linear segments.- See Also:
-
-
Constructor Details
-
CompoundCurve
public CompoundCurve()Constructs an instance. -
CompoundCurve
Constructs an instance.- Parameters:
geoms
- geometries
-
-
Method Details
-
add
Adds a geometry.- Parameters:
geom
- geometry
-
addAll
Adds all given geometries.- Parameters:
geoms
- geometries
-
checkConsistency
public boolean checkConsistency()Description copied from class:Geometry
Do 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:
checkConsistency
in classGeometry
- Returns:
- true if all checks are passed.
-
close
public void close()Closes thisCurve
if the last coordinate is not already the same as the first coordinate. -
equals
Description copied from class:Geometry
java.lang.Object equals implementation -
getCoordinates
Description copied from class:Geometry
Gets the coordinates of thisGeometry
.- Specified by:
getCoordinates
in classGeometry
- Returns:
- coordinates
-
getEndPoint
Description copied from interface:LineBasedGeometry
Gets the end point.- Specified by:
getEndPoint
in interfaceLineBasedGeometry
- Returns:
Point
on success, else null
-
getGeometries
Gets all geometries.- Returns:
- geometries
-
getNumberOfCoordinates
public int getNumberOfCoordinates()Description copied from class:Geometry
Gets the number of coordinates of thisGeometry
.- Specified by:
getNumberOfCoordinates
in classGeometry
- Returns:
- number of coordinates
-
getStartPoint
Description copied from interface:LineBasedGeometry
Gets the start point.- Specified by:
getStartPoint
in interfaceLineBasedGeometry
- Returns:
Point
on success, else null
-
hashCode
public int hashCode() -
hasMeasure
public boolean hasMeasure()Description copied from class:Geometry
Returns whether we have a measure (4th dimension)- Specified by:
hasMeasure
in classGeometry
- Returns:
- true if the geometry has a measure, false otherwise
-
is3d
public boolean is3d()Description copied from class:Geometry
Checks if thisGeometry
is 3d. -
isEmpty
public boolean isEmpty()Checks, if there are no sub-geometries. -
iterator
- Specified by:
iterator
in interfaceIterable<LineString>
-
length
public double length()Description copied from interface:LineBasedGeometry
Gets the length of this line.- Specified by:
length
in interfaceLineBasedGeometry
- Returns:
- length
-
reverse
public void reverse()Description copied from class:Curve
Reverses this linestring. -
setSrid
public void setSrid(int srid) Description copied from class:Geometry
Recursively 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
-