Package org.locationtech.jts.geom.impl
Class PackedCoordinateSequenceFactory
- java.lang.Object
-
- org.locationtech.jts.geom.impl.PackedCoordinateSequenceFactory
-
- All Implemented Interfaces:
java.io.Serializable
,CoordinateSequenceFactory
public class PackedCoordinateSequenceFactory extends java.lang.Object implements CoordinateSequenceFactory, java.io.Serializable
Builds packed array coordinate sequences. The array data type can be eitherdouble
orfloat
, and defaults todouble
.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static int
DOUBLE
Type code for arrays of typedouble
.static PackedCoordinateSequenceFactory
DOUBLE_FACTORY
A factory using array typeDOUBLE
static int
FLOAT
Type code for arrays of typefloat
.static PackedCoordinateSequenceFactory
FLOAT_FACTORY
A factory using array typeFLOAT
-
Constructor Summary
Constructors Constructor Description PackedCoordinateSequenceFactory()
Creates a new PackedCoordinateSequenceFactory of type DOUBLE.PackedCoordinateSequenceFactory(int type)
Creates a new PackedCoordinateSequenceFactory of the given type.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CoordinateSequence
create(double[] packedCoordinates, int dimension)
Creates a packed coordinate sequence of typeDOUBLE
from the provided array using the given coordinate dimension and a measure count of 0.CoordinateSequence
create(double[] packedCoordinates, int dimension, int measures)
Creates a packed coordinate sequence of typeDOUBLE
from the provided array using the given coordinate dimension and measure count.CoordinateSequence
create(float[] packedCoordinates, int dimension)
Creates a packed coordinate sequence of typeFLOAT
from the provided array.CoordinateSequence
create(float[] packedCoordinates, int dimension, int measures)
Creates a packed coordinate sequence of typeFLOAT
from the provided array.CoordinateSequence
create(int size, int dimension)
Creates aCoordinateSequence
of the specified size and dimension.CoordinateSequence
create(int size, int dimension, int measures)
Creates aCoordinateSequence
of the specified size and dimension with measure support.CoordinateSequence
create(Coordinate[] coordinates)
Returns aCoordinateSequence
based on the given array.CoordinateSequence
create(CoordinateSequence coordSeq)
Creates aCoordinateSequence
which is a copy of the givenCoordinateSequence
.int
getType()
-
-
-
Field Detail
-
DOUBLE
public static final int DOUBLE
Type code for arrays of typedouble
.- See Also:
- Constant Field Values
-
FLOAT
public static final int FLOAT
Type code for arrays of typefloat
.- See Also:
- Constant Field Values
-
DOUBLE_FACTORY
public static final PackedCoordinateSequenceFactory DOUBLE_FACTORY
A factory using array typeDOUBLE
-
FLOAT_FACTORY
public static final PackedCoordinateSequenceFactory FLOAT_FACTORY
A factory using array typeFLOAT
-
-
Method Detail
-
getType
public int getType()
- Returns:
- the type of packed array built
-
create
public CoordinateSequence create(Coordinate[] coordinates)
Description copied from interface:CoordinateSequenceFactory
Returns aCoordinateSequence
based on the given array. Whether the array is copied or simply referenced is implementation-dependent. This method must handle null arguments by creating an empty sequence.- Specified by:
create
in interfaceCoordinateSequenceFactory
- Parameters:
coordinates
- the coordinates- See Also:
CoordinateSequenceFactory.create(Coordinate[])
-
create
public CoordinateSequence create(CoordinateSequence coordSeq)
Description copied from interface:CoordinateSequenceFactory
Creates aCoordinateSequence
which is a copy of the givenCoordinateSequence
. This method must handle null arguments by creating an empty sequence.- Specified by:
create
in interfaceCoordinateSequenceFactory
- Parameters:
coordSeq
- the coordinate sequence to copy- See Also:
CoordinateSequenceFactory.create(CoordinateSequence)
-
create
public CoordinateSequence create(double[] packedCoordinates, int dimension)
Creates a packed coordinate sequence of typeDOUBLE
from the provided array using the given coordinate dimension and a measure count of 0.- Parameters:
packedCoordinates
- the array containing coordinate valuesdimension
- the coordinate dimension- Returns:
- a packed coordinate sequence of type
DOUBLE
-
create
public CoordinateSequence create(double[] packedCoordinates, int dimension, int measures)
Creates a packed coordinate sequence of typeDOUBLE
from the provided array using the given coordinate dimension and measure count.- Parameters:
packedCoordinates
- the array containing coordinate valuesdimension
- the coordinate dimensionmeasures
- the coordinate measure count- Returns:
- a packed coordinate sequence of type
DOUBLE
-
create
public CoordinateSequence create(float[] packedCoordinates, int dimension)
Creates a packed coordinate sequence of typeFLOAT
from the provided array.- Parameters:
packedCoordinates
- the array containing coordinate valuesdimension
- the coordinate dimension- Returns:
- a packed coordinate sequence of type
FLOAT
-
create
public CoordinateSequence create(float[] packedCoordinates, int dimension, int measures)
Creates a packed coordinate sequence of typeFLOAT
from the provided array.- Parameters:
packedCoordinates
- the array containing coordinate valuesdimension
- the coordinate dimensionmeasures
- the coordinate measure count- Returns:
- a packed coordinate sequence of type
FLOAT
-
create
public CoordinateSequence create(int size, int dimension)
Description copied from interface:CoordinateSequenceFactory
Creates aCoordinateSequence
of the specified size and dimension. For this to be useful, theCoordinateSequence
implementation must be mutable.If the requested dimension is larger than the CoordinateSequence implementation can provide, then a sequence of maximum possible dimension should be created. An error should not be thrown.
- Specified by:
create
in interfaceCoordinateSequenceFactory
- Parameters:
size
- the number of coordinates in the sequencedimension
- the dimension of the coordinates in the sequence (if user-specifiable, otherwise ignored)- See Also:
CoordinateSequenceFactory.create(int, int)
-
create
public CoordinateSequence create(int size, int dimension, int measures)
Description copied from interface:CoordinateSequenceFactory
Creates aCoordinateSequence
of the specified size and dimension with measure support. For this to be useful, theCoordinateSequence
implementation must be mutable.If the requested dimension or measures are larger than the CoordinateSequence implementation can provide, then a sequence of maximum possible dimension should be created. An error should not be thrown.
- Specified by:
create
in interfaceCoordinateSequenceFactory
- Parameters:
size
- the number of coordinates in the sequencedimension
- the dimension of the coordinates in the sequence (if user-specifiable, otherwise ignored)measures
- the number of measures of the coordinates in the sequence (if user-specifiable, otherwise ignored)- See Also:
CoordinateSequenceFactory.create(int, int, int)
-
-