Class MultiLineHandler
java.lang.Object
org.h2gis.functions.io.shp.internal.MultiLineHandler
- All Implemented Interfaces:
ShapeHandler
The default JTS handler for shapefile. Currently uses the default JTS
GeometryFactory, since it doesn't seem to matter.
-
Constructor Summary
ConstructorsConstructorDescriptionCreate a MultiLineHandler for ShapeType.ARCMultiLineHandler(ShapeType type) Create a MultiLineHandler for one of:
ShapeType.ARC,ShapeType.ARCM,ShapeType.ARCZ -
Method Summary
Modifier and TypeMethodDescriptionintgetLength(org.locationtech.jts.geom.Geometry geometry) Get the length of the given geometry Object in bytes not 16-bit words.Get the type of shape stored (ShapeType.ARC,ShapeType.ARCM,ShapeType.ARCZ)org.locationtech.jts.geom.Geometryread(ReadBufferManager buffer, ShapeType type) Read a geometry from the ByteBuffer.The buffer's position, byteOrder, and limit are set to that which is needed.voidwrite(WriteBufferManager buffer, org.locationtech.jts.geom.Geometry geometry) Write the geometry into the ByteBuffer.
-
Constructor Details
-
MultiLineHandler
public MultiLineHandler()Create a MultiLineHandler for ShapeType.ARC -
MultiLineHandler
Create a MultiLineHandler for one of:
ShapeType.ARC,ShapeType.ARCM,ShapeType.ARCZ- Parameters:
type- The ShapeType to use.- Throws:
ShapefileException- If the ShapeType is not correct (see constructor).
-
-
Method Details
-
getShapeType
Get the type of shape stored (ShapeType.ARC,ShapeType.ARCM,ShapeType.ARCZ)- Specified by:
getShapeTypein interfaceShapeHandler- Returns:
- The ShapeType.
-
getLength
public int getLength(org.locationtech.jts.geom.Geometry geometry) Description copied from interface:ShapeHandlerGet the length of the given geometry Object in bytes not 16-bit words. This is easier to keep track of, since the ByteBuffer deals with bytes. Do not include the 8 bytes of record.- Specified by:
getLengthin interfaceShapeHandler- Parameters:
geometry- The geometry to analyze.- Returns:
- The number of bytes the shape will take up.
-
read
public org.locationtech.jts.geom.Geometry read(ReadBufferManager buffer, ShapeType type) throws IOException Description copied from interface:ShapeHandlerRead a geometry from the ByteBuffer.The buffer's position, byteOrder, and limit are set to that which is needed. The record has been read as well as the shape type integer. The handler need not worry about reading unused information as the ShapefileReader will correctly adjust the buffer position after this call.- Specified by:
readin interfaceShapeHandler- Parameters:
buffer- The ByteBuffer to read from.type- The shape type- Returns:
- A geometry object.
- Throws:
IOException
-
write
public void write(WriteBufferManager buffer, org.locationtech.jts.geom.Geometry geometry) throws IOException Description copied from interface:ShapeHandlerWrite the geometry into the ByteBuffer. The position, byteOrder, and limit are all set. The handler is not responsible for writing the record or shape type integer.- Specified by:
writein interfaceShapeHandler- Parameters:
buffer- The ByteBuffer to write to.geometry- The geometry to write.- Throws:
IOException
-