Package org.h2gis.functions.io.geojson
Class ST_AsGeoJSON
java.lang.Object
org.h2gis.api.AbstractFunction
org.h2gis.api.DeterministicScalarFunction
org.h2gis.functions.io.geojson.ST_AsGeoJSON
- All Implemented Interfaces:
org.h2gis.api.Function,org.h2gis.api.ScalarFunction
public class ST_AsGeoJSON
extends org.h2gis.api.DeterministicScalarFunction
Transform a JTS geometry to a GeoJSON geometry representation.
- Author:
- Erwan Bocher
-
Field Summary
Fields inherited from interface org.h2gis.api.Function
PROP_NAME, PROP_REMARKSFields inherited from interface org.h2gis.api.ScalarFunction
PROP_DETERMINISTIC -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic StringtoGeojson(org.locationtech.jts.geom.Geometry geom) Convert the geometry to a GeoJSON representation.static StringtoGeojson(org.locationtech.jts.geom.Geometry geom, int maxdecimaldigits) Convert the geometry to a GeoJSON representation.static voidtoGeojsonCoordinate(org.locationtech.jts.geom.Coordinate coord, int maxdecimaldigits, StringBuilder sb) Convert a JTS coordinate to a GeoJSON representation.static voidtoGeojsonCoordinates(org.locationtech.jts.geom.Coordinate[] coords, int maxdecimaldigits, StringBuilder sb) Convert a jts array of coordinates to a GeoJSON coordinates representation.toGeoJsonEnvelope(org.locationtech.jts.geom.Envelope e, int maxdecimaldigits) Convert a JTS Envelope to a GeoJSON representation.static voidtoGeojsonGeometry(org.locationtech.jts.geom.Geometry geom, int maxdecimaldigits, StringBuilder sb) Transform a JTS geometry to a GeoJSON representation.static voidtoGeojsonGeometryCollection(org.locationtech.jts.geom.GeometryCollection geometryCollection, int maxdecimaldigits, StringBuilder sb) A GeoJSON object with type "GeometryCollection" is a geometry object which represents a collection of geometry objects.static voidtoGeojsonLineString(org.locationtech.jts.geom.LineString lineString, int maxdecimaldigits, StringBuilder sb) Coordinates of LineString are an array of positions.static voidtoGeojsonMultiLineString(org.locationtech.jts.geom.MultiLineString multiLineString, int maxdecimaldigits, StringBuilder sb) Coordinates of a MultiLineString are an array of LineString coordinate arrays.static voidtoGeojsonMultiPoint(org.locationtech.jts.geom.MultiPoint multiPoint, int maxdecimaldigits, StringBuilder sb) Coordinates of a MultiPoint are an array of positions.static voidtoGeojsonMultiPolygon(org.locationtech.jts.geom.MultiPolygon multiPolygon, int maxdecimaldigits, StringBuilder sb) Coordinates of a MultiPolygon are an array of Polygon coordinate arrays.static voidtoGeojsonPoint(org.locationtech.jts.geom.Point point, int maxdecimaldigits, StringBuilder sb) For type "Point", the "coordinates" member must be a single position.static voidtoGeojsonPolygon(org.locationtech.jts.geom.Polygon polygon, int maxdecimaldigits, StringBuilder sb) Coordinates of a Polygon are an array of LinearRing coordinate arrays.Methods inherited from class org.h2gis.api.AbstractFunction
addProperty, getProperty, removePropertyMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.h2gis.api.Function
getProperty
-
Constructor Details
-
ST_AsGeoJSON
public ST_AsGeoJSON()
-
-
Method Details
-
getJavaStaticMethod
-
toGeojson
Convert the geometry to a GeoJSON representation.- Parameters:
geom-- Returns:
-
toGeojson
Convert the geometry to a GeoJSON representation.- Parameters:
geom- input geometrymaxdecimaldigits- argument may be used to reduce the maximum number of decimal places- Returns:
-
toGeojsonGeometry
public static void toGeojsonGeometry(org.locationtech.jts.geom.Geometry geom, int maxdecimaldigits, StringBuilder sb) Transform a JTS geometry to a GeoJSON representation.- Parameters:
geom- input geometrymaxdecimaldigits- argument may be used to reduce the maximum number of decimal placessb-
-
toGeojsonPoint
public static void toGeojsonPoint(org.locationtech.jts.geom.Point point, int maxdecimaldigits, StringBuilder sb) For type "Point", the "coordinates" member must be a single position. A position is the fundamental geometry construct. The "coordinates" member of a geometry object is composed of one position (in the case of a Point geometry), an array of positions (LineString or MultiPoint geometries), an array of arrays of positions (Polygons, MultiLineStrings), or a multidimensional array of positions (MultiPolygon). A position is represented by an array of numbers. There must be at least two elements, and may be more. The order of elements must follow x, y, z order (easting, northing, altitude for coordinates in a projected coordinate reference system, or longitude, latitude, altitude for coordinates in a geographic coordinate reference system). Any number of additional elements are allowed -- interpretation and meaning of additional elements is beyond the scope of this specification. Syntax: { "type": "Point", "coordinates": [100.0, 0.0] }- Parameters:
point-maxdecimaldigits- argument may be used to reduce the maximum number of decimal placessb-
-
toGeojsonMultiPoint
public static void toGeojsonMultiPoint(org.locationtech.jts.geom.MultiPoint multiPoint, int maxdecimaldigits, StringBuilder sb) Coordinates of a MultiPoint are an array of positions. Syntax: { "type": "MultiPoint", "coordinates": [ [100.0, 0.0], [101.0, 1.0] ] }- Parameters:
multiPoint-maxdecimaldigits- argument may be used to reduce the maximum number of decimal placessb-
-
toGeojsonLineString
public static void toGeojsonLineString(org.locationtech.jts.geom.LineString lineString, int maxdecimaldigits, StringBuilder sb) Coordinates of LineString are an array of positions. Syntax: { "type": "LineString", "coordinates": [ [100.0, 0.0], [101.0, 1.0] ] }- Parameters:
lineString-maxdecimaldigits- argument may be used to reduce the maximum number of decimal placessb-
-
toGeojsonMultiLineString
public static void toGeojsonMultiLineString(org.locationtech.jts.geom.MultiLineString multiLineString, int maxdecimaldigits, StringBuilder sb) Coordinates of a MultiLineString are an array of LineString coordinate arrays. Syntax: { "type": "MultiLineString", "coordinates": [ [ [100.0, 0.0], [101.0, 1.0] ], [ [102.0, 2.0], [103.0, 3.0] ] ] }- Parameters:
multiLineString-maxdecimaldigits- argument may be used to reduce the maximum number of decimal placessb-
-
toGeojsonPolygon
public static void toGeojsonPolygon(org.locationtech.jts.geom.Polygon polygon, int maxdecimaldigits, StringBuilder sb) Coordinates of a Polygon are an array of LinearRing coordinate arrays. The first element in the array represents the exterior ring. Any subsequent elements represent interior rings (or holes). Syntax: No holes: { "type": "Polygon", "coordinates": [ [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0] ] ] } With holes: { "type": "Polygon", "coordinates": [ [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0] ], [ [100.2, 0.2], [100.8, 0.2], [100.8, 0.8], [100.2, 0.8], [100.2, 0.2] ] ] }- Parameters:
polygon-maxdecimaldigits- argument may be used to reduce the maximum number of decimal placessb-
-
toGeojsonMultiPolygon
public static void toGeojsonMultiPolygon(org.locationtech.jts.geom.MultiPolygon multiPolygon, int maxdecimaldigits, StringBuilder sb) Coordinates of a MultiPolygon are an array of Polygon coordinate arrays. Syntax: { "type": "MultiPolygon", "coordinates": [ [[[102.0, 2.0], [103.0, 2.0], [103.0, 3.0], [102.0, 3.0], [102.0, 2.0]]], [[[100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0]], [[100.2, 0.2], [100.8, 0.2], [100.8, 0.8], [100.2, 0.8], [100.2, 0.2]]] ] }- Parameters:
multiPolygon-maxdecimaldigits- argument may be used to reduce the maximum number of decimal placessb-
-
toGeojsonGeometryCollection
public static void toGeojsonGeometryCollection(org.locationtech.jts.geom.GeometryCollection geometryCollection, int maxdecimaldigits, StringBuilder sb) A GeoJSON object with type "GeometryCollection" is a geometry object which represents a collection of geometry objects. A geometry collection must have a member with the name "geometries". The value corresponding to "geometries"is an array. Each element in this array is a GeoJSON geometry object. Syntax: { "type": "GeometryCollection", "geometries": [ { "type": "Point", "coordinates": [100.0, 0.0] }, { "type": "LineString", "coordinates": [ [101.0, 0.0], [102.0, 1.0] ] } ] }- Parameters:
geometryCollection-maxdecimaldigits- argument may be used to reduce the maximum number of decimal placessb-
-
toGeojsonCoordinates
public static void toGeojsonCoordinates(org.locationtech.jts.geom.Coordinate[] coords, int maxdecimaldigits, StringBuilder sb) Convert a jts array of coordinates to a GeoJSON coordinates representation. Syntax: [[X1,Y1],[X2,Y2]]- Parameters:
coords-maxdecimaldigits- argument may be used to reduce the maximum number of decimal placessb-
-
toGeojsonCoordinate
public static void toGeojsonCoordinate(org.locationtech.jts.geom.Coordinate coord, int maxdecimaldigits, StringBuilder sb) Convert a JTS coordinate to a GeoJSON representation. Only x, y and z values are supported. Syntax: [X,Y] or [X,Y,Z]- Parameters:
coord-maxdecimaldigits- argument may be used to reduce the maximum number of decimal placessb-
-
toGeoJsonEnvelope
Convert a JTS Envelope to a GeoJSON representation.- Parameters:
e- The envelopemaxdecimaldigits- argument may be used to reduce the maximum number of decimal places- Returns:
- The envelope encoded as GeoJSON
-