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
public static final class GeoJsonUtils.GeoJsonTarget extends GeometryUtils.Target
Converter output target that writes a GeoJson.
-
-
Field Summary
Fields Modifier and Type Field Description private int
dimensionSystem
private boolean
inMulti
private boolean
inMultiLine
private JSONByteArrayTarget
output
private int
type
private boolean
wasEmpty
-
Constructor Summary
Constructors Constructor Description GeoJsonTarget(JSONByteArrayTarget output, int dimensionSystem)
Creates new GeoJson output target.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addCoordinate(double x, double y, double z, double m, int index, int total)
Invoked to add a coordinate to a geometry.protected void
endNonEmptyPolygon()
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
startPoint()
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 Detail
-
output
private final JSONByteArrayTarget output
-
dimensionSystem
private final int dimensionSystem
-
type
private int type
-
inMulti
private boolean inMulti
-
inMultiLine
private boolean inMultiLine
-
wasEmpty
private boolean wasEmpty
-
-
Constructor Detail
-
GeoJsonTarget
public GeoJsonTarget(JSONByteArrayTarget output, int dimensionSystem)
Creates new GeoJson output target.- Parameters:
output
- output JSON targetdimensionSystem
- dimension system to use
-
-
Method Detail
-
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
protected GeometryUtils.Target startCollectionItem(int index, int total)
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)
-
-