Class MultiCurve

  • All Implemented Interfaces:
    Serializable, Cloneable, Comparable, CurvedGeometry<MultiLineString>, MultiCurvedGeometry<MultiLineString>, Lineal

    public class MultiCurve
    extends MultiLineString
    implements MultiCurvedGeometry<MultiLineString>
    A subclass of multi line string that can host also curves and will linearize if needed
    Author:
    Andrea Aime - GeoSolutions
    See Also:
    Serialized Form
    • Field Summary

      • Fields inherited from class GeometryCollection

        geometries
      • Fields inherited from class Geometry

        envelope, factory, SRID, TYPECODE_GEOMETRYCOLLECTION, TYPECODE_LINEARRING, TYPECODE_LINESTRING, TYPECODE_MULTILINESTRING, TYPECODE_MULTIPOINT, TYPECODE_MULTIPOLYGON, TYPECODE_POINT, TYPECODE_POLYGON, TYPENAME_GEOMETRYCOLLECTION, TYPENAME_LINEARRING, TYPENAME_LINESTRING, TYPENAME_MULTILINESTRING, TYPENAME_MULTIPOINT, TYPENAME_MULTIPOLYGON, TYPENAME_POINT, TYPENAME_POLYGON
    • Constructor Summary

      Constructors 
      Constructor Description
      MultiCurve​(List<LineString> components, GeometryFactory factory, double tolerance)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int getCoordinatesDimension()
      Returns the dimension of the geometry without forcing access to the coordinate sequence
      double getTolerance()
      The default linearization tolerance
      MultiLineString linearize()
      Linearizes the geometry using the built-in linearization tolerance
      MultiLineString linearize​(double tolerance)
      Linearizes the geometry using the provided tolerance, the result is guaranteed to be less than tolerance away from the curved geometry unless the number of points needed to linearize the geometry exceeds the build-in per quadrant maximum, see CircularArc.MAX_SEGMENTS_QUADRANT
      String toCurvedText()
      Parallel method to Geometry.toText() that will output the geometry as curved instead of as linear
      • Methods inherited from class MultiLineString

        copyInternal, equalsExact, getBoundary, getBoundaryDimension, getDimension, getGeometryType, getTypeCode, isClosed, reverse, reverseInternal
      • Methods inherited from class GeometryCollection

        apply, apply, apply, apply, clone, compareToSameClass, compareToSameClass, computeEnvelopeInternal, getArea, getCoordinate, getCoordinates, getGeometryN, getLength, getNumGeometries, getNumPoints, isEmpty, normalize
      • Methods inherited from class Geometry

        buffer, buffer, buffer, compare, compareTo, compareTo, contains, convexHull, copy, coveredBy, covers, crosses, difference, disjoint, distance, equal, equals, equals, equalsExact, equalsNorm, equalsTopo, geometryChanged, geometryChangedAction, getCentroid, getEnvelope, getEnvelopeInternal, getFactory, getInteriorPoint, getPrecisionModel, getSRID, getUserData, hashCode, hasNonEmptyElements, hasNullElements, intersection, intersects, isEquivalentClass, isGeometryCollection, isRectangle, isSimple, isValid, isWithinDistance, norm, overlaps, relate, relate, setSRID, setUserData, symDifference, toString, toText, touches, union, union, within
      • Methods inherited from class Object

        finalize, getClass, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • MultiCurve

        public MultiCurve​(List<LineString> components,
                          GeometryFactory factory,
                          double tolerance)
    • Method Detail

      • linearize

        public MultiLineString linearize()
        Description copied from interface: CurvedGeometry
        Linearizes the geometry using the built-in linearization tolerance
        Specified by:
        linearize in interface CurvedGeometry<MultiLineString>
      • linearize

        public MultiLineString linearize​(double tolerance)
        Description copied from interface: CurvedGeometry
        Linearizes the geometry using the provided tolerance, the result is guaranteed to be less than tolerance away from the curved geometry unless the number of points needed to linearize the geometry exceeds the build-in per quadrant maximum, see CircularArc.MAX_SEGMENTS_QUADRANT
        Specified by:
        linearize in interface CurvedGeometry<MultiLineString>
        Parameters:
        tolerance - Linearization tolerance, should be zero or positive. When zero is used, the maximum number of allowed linearization points will be used, see CircularArc.MAX_SEGMENTS_QUADRANT
      • toCurvedText

        public String toCurvedText()
        Description copied from interface: CurvedGeometry
        Parallel method to Geometry.toText() that will output the geometry as curved instead of as linear
        Specified by:
        toCurvedText in interface CurvedGeometry<MultiLineString>
      • getTolerance

        public double getTolerance()
        Description copied from interface: CurvedGeometry
        The default linearization tolerance
        Specified by:
        getTolerance in interface CurvedGeometry<MultiLineString>
      • getCoordinatesDimension

        public int getCoordinatesDimension()
        Description copied from interface: CurvedGeometry
        Returns the dimension of the geometry without forcing access to the coordinate sequence
        Specified by:
        getCoordinatesDimension in interface CurvedGeometry<MultiLineString>