Package org.h2.util.geometry
Class GeoJsonUtils.GeoJsonTarget
java.lang.Object
org.h2.util.geometry.GeometryUtils.Target
org.h2.util.geometry.GeoJsonUtils.GeoJsonTarget
- Enclosing class:
GeoJsonUtils
Converter output target that writes a GeoJson.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final int
private boolean
private boolean
private final JSONByteArrayTarget
private int
private boolean
-
Constructor Summary
ConstructorsConstructorDescriptionGeoJsonTarget
(JSONByteArrayTarget output, int dimensionSystem) Creates new GeoJson 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
Invoked after writing of non-empty POLYGON.protected void
endObject
(int type) Invoked after writing of the object.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
writeStartObject
(int type) Methods inherited from class org.h2.util.geometry.GeometryUtils.Target
dimensionSystem, endCollectionItem, init
-
Field Details
-
output
-
dimensionSystem
private final int dimensionSystem -
type
private int type -
inMulti
private boolean inMulti -
inMultiLine
private boolean inMultiLine -
wasEmpty
private boolean wasEmpty
-
-
Constructor Details
-
GeoJsonTarget
Creates new GeoJson output target.- Parameters:
output
- output JSON targetdimensionSystem
- dimension system to use
-
-
Method Details
-
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
-
endNonEmptyPolygon
protected void endNonEmptyPolygon()Description copied from class:GeometryUtils.Target
Invoked after writing of non-empty POLYGON.- Overrides:
endNonEmptyPolygon
in classGeometryUtils.Target
-
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
-
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.
-
endObject
protected void endObject(int type) Description copied from class:GeometryUtils.Target
Invoked after writing of the object.- Overrides:
endObject
in classGeometryUtils.Target
- Parameters:
type
- type of the object
-
writeHeader
private void writeHeader(int type) -
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
-
writeStartObject
private void writeStartObject(int type) -
writeDouble
private void writeDouble(double v)
-