functions_geometry.yaml¶
This document file is generated for functions_geometry.yaml
Data Types¶
name: geometry
structure: BINARY
Scalar Functions¶
point¶
Implementations:
point(x
, y
): -> return_type
0. point(fp64
, fp64
): -> u!geometry
*Returns a 2D point with the given x
and y
coordinate values. *
make_line¶
Implementations:
make_line(geom1
, geom2
): -> return_type
0. make_line(u!geometry
, u!geometry
): -> u!geometry
*Returns a linestring connecting the endpoint of geometry geom1
to the begin point of geometry geom2
. Repeated points at the beginning of input geometries are collapsed to a single point. A linestring can be closed or simple. A closed linestring starts and ends on the same point. A simple linestring does not cross or touch itself. *
x_coordinate¶
Implementations:
x_coordinate(point
): -> return_type
0. x_coordinate(u!geometry
): -> fp64
*Return the x coordinate of the point. Return null if not available. *
y_coordinate¶
Implementations:
y_coordinate(point
): -> return_type
0. y_coordinate(u!geometry
): -> fp64
*Return the y coordinate of the point. Return null if not available. *
num_points¶
Implementations:
num_points(geom
): -> return_type
0. num_points(u!geometry
): -> i64
*Return the number of points in the geometry. The geometry should be an linestring or circularstring. *
is_empty¶
Implementations:
is_empty(geom
): -> return_type
0. is_empty(u!geometry
): -> boolean
*Return true is the geometry is an empty geometry. *
is_closed¶
Implementations:
is_closed(geom
): -> return_type
0. is_closed(u!geometry
): -> boolean
*Return true if the geometry’s start and end points are the same. *
is_simple¶
Implementations:
is_simple(geom
): -> return_type
0. is_simple(u!geometry
): -> boolean
*Return true if the geometry does not self intersect. *
is_ring¶
Implementations:
is_ring(geom
): -> return_type
0. is_ring(u!geometry
): -> boolean
*Return true if the geometry’s start and end points are the same and it does not self intersect. *
geometry_type¶
Implementations:
geometry_type(geom
): -> return_type
0. geometry_type(u!geometry
): -> string
*Return the type of geometry as a string. *
envelope¶
Implementations:
envelope(geom
): -> return_type
0. envelope(u!geometry
): -> u!geometry
*Return the minimum bounding box for the input geometry as a geometry. The returned geometry is defined by the corner points of the bounding box. If the input geometry is a point or a line, the returned geometry can also be a point or line. *
dimension¶
Implementations:
dimension(geom
): -> return_type
0. dimension(u!geometry
): -> i8
*Return the dimension of the input geometry. If the input is a collection of geometries, return the largest dimension from the collection. Dimensionality is determined by the complexity of the input and not the coordinate system being used. Type dimensions: POINT - 0 LINE - 1 POLYGON - 2 *
is_valid¶
Implementations:
is_valid(geom
): -> return_type
0. is_valid(u!geometry
): -> boolean
*Return true if the input geometry is a valid 2D geometry. For 3 dimensional and 4 dimensional geometries, the validity is still only tested in 2 dimensions. *
collection_extract¶
Implementations:
collection_extract(geom_collection
): -> return_type
0. collection_extract(u!geometry
): -> u!geometry
1. collection_extract(u!geometry
, i8
): -> u!geometry
*Given the input geometry collection, return a homogenous multi-geometry. All geometries in the multi-geometry will have the same dimension. If type is not specified, the multi-geometry will only contain geometries of the highest dimension. If type is specified, the multi-geometry will only contain geometries of that type. If there are no geometries of the specified type, an empty geometry is returned. Only points, linestrings, and polygons are supported. Type numbers: POINT - 0 LINE - 1 POLYGON - 2 *
flip_coordinates¶
Implementations:
flip_coordinates(geom_collection
): -> return_type
0. flip_coordinates(u!geometry
): -> u!geometry
*Return a version of the input geometry with the X and Y axis flipped. This operation can be performed on geometries with more than 2 dimensions. However, only X and Y axis will be flipped. *
remove_repeated_points¶
Implementations:
remove_repeated_points(geom
): -> return_type
0. remove_repeated_points(u!geometry
): -> u!geometry
1. remove_repeated_points(u!geometry
, fp64
): -> u!geometry
*Return a version of the input geometry with duplicate consecutive points removed. If the tolerance
argument is provided, consecutive points within the tolerance distance of one another are considered to be duplicates. *
buffer¶
Implementations:
buffer(geom
, buffer_radius
): -> return_type
0. buffer(u!geometry
, fp64
): -> u!geometry
*Compute and return an expanded version of the input geometry. All the points of the returned geometry are at a distance of buffer_radius
away from the points of the input geometry. If a negative buffer_radius
is provided, the geometry will shrink instead of expand. A negative buffer_radius
may shrink the geometry completely, in which case an empty geometry is returned. For input the geometries of points or lines, a negative buffer_radius
will always return an emtpy geometry. *
centroid¶
Implementations:
centroid(geom
): -> return_type
0. centroid(u!geometry
): -> u!geometry
*Return a point which is the geometric center of mass of the input geometry. *
minimum_bounding_circle¶
Implementations:
minimum_bounding_circle(geom
): -> return_type
0. minimum_bounding_circle(u!geometry
): -> u!geometry
*Return the smallest circle polygon that contains the input geometry. *