Package org.h2.util.geometry
Class EWKBUtils.EWKBTarget
java.lang.Object
org.h2.util.geometry.GeometryUtils.Target
org.h2.util.geometry.EWKBUtils.EWKBTarget
- Enclosing class:
EWKBUtils
Converter output target that writes a EWKB.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final byte[]
private final int
private final ByteArrayOutputStream
private int
private int
-
Constructor Summary
ConstructorsConstructorDescriptionEWKBTarget
(ByteArrayOutputStream output, int dimensionSystem) Creates a new EWKB output target. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
addCoordinate
(double x, double y, double z, double m, int index, int total) Invoked to add a coordinate to a geometry.protected void
init
(int srid) Initializes top-level target.protected void
startCollection
(int type, int numItems) Invoked before writing of a collection.protected GeometryUtils.Target
startCollectionItem
(int index, int total) Invoked before writing of a collection item.protected void
startLineString
(int numPoints) Invoked before writing a LINESTRING.protected void
Invoked before writing a POINT.protected void
startPolygon
(int numInner, int numPoints) Invoked before writing a POLYGON.protected void
startPolygonInner
(int numInner) Invoked before writing an inner polygon in POLYGON.private void
writeDouble
(double v) private void
writeHeader
(int type) private void
writeInt
(int v) Methods inherited from class org.h2.util.geometry.GeometryUtils.Target
dimensionSystem, endCollectionItem, endNonEmptyPolygon, endObject
-
Field Details
-
output
-
dimensionSystem
private final int dimensionSystem -
buf
private final byte[] buf -
type
private int type -
srid
private int srid
-
-
Constructor Details
-
EWKBTarget
Creates a new EWKB output target.- Parameters:
output
- output streamdimensionSystem
- dimension system to use
-
-
Method Details
-
init
protected void init(int srid) Description copied from class:GeometryUtils.Target
Initializes top-level target.- Overrides:
init
in classGeometryUtils.Target
- Parameters:
srid
- SRID
-
startPoint
protected void startPoint()Description copied from class:GeometryUtils.Target
Invoked before writing a POINT.- Overrides:
startPoint
in classGeometryUtils.Target
-
startLineString
protected void startLineString(int numPoints) Description copied from class:GeometryUtils.Target
Invoked before writing a LINESTRING.- Overrides:
startLineString
in classGeometryUtils.Target
- Parameters:
numPoints
- number of points in line string
-
startPolygon
protected void startPolygon(int numInner, int numPoints) Description copied from class:GeometryUtils.Target
Invoked before writing a POLYGON. If polygon is empty, both parameters are 0.- Overrides:
startPolygon
in classGeometryUtils.Target
- Parameters:
numInner
- number of inner polygonsnumPoints
- number of points in outer polygon
-
startPolygonInner
protected void startPolygonInner(int numInner) Description copied from class:GeometryUtils.Target
Invoked before writing an inner polygon in POLYGON.- Overrides:
startPolygonInner
in classGeometryUtils.Target
- Parameters:
numInner
- number of points in inner polygon
-
startCollection
protected void startCollection(int type, int numItems) Description copied from class:GeometryUtils.Target
Invoked before writing of a collection.- Overrides:
startCollection
in classGeometryUtils.Target
- Parameters:
type
- type of collection, one ofGeometryUtils.MULTI_POINT
,GeometryUtils.MULTI_LINE_STRING
,GeometryUtils.MULTI_POLYGON
,GeometryUtils.GEOMETRY_COLLECTION
numItems
- number of items in this collection
-
writeHeader
private void writeHeader(int type) -
startCollectionItem
Description copied from class:GeometryUtils.Target
Invoked before writing of a collection item.- Overrides:
startCollectionItem
in classGeometryUtils.Target
- Parameters:
index
- 0-based index of this item in the collectiontotal
- total number of items in the collection- Returns:
- output target that should be used for processing of this collection item. May return this target or an custom sub-target.
-
addCoordinate
protected void addCoordinate(double x, double y, double z, double m, int index, int total) Description copied from class:GeometryUtils.Target
Invoked to add a coordinate to a geometry.- Specified by:
addCoordinate
in classGeometryUtils.Target
- Parameters:
x
- X coordinatey
- Y coordinatez
- Z coordinate (NaN if not used)m
- M coordinate (NaN if not used)index
- 0-based index of coordinate in the current sequencetotal
- total number of coordinates in the current sequence
-
writeInt
private void writeInt(int v) -
writeDouble
private void writeDouble(double v)
-