Lots of new expression functions have been added for version 2.14:
relate
: performs DE-9IM geometry relations by either returning the DE-9IM representation of the relationship between two geometries, or by testing whether the DE-9IM relationship matches a specified pattern.make_point
function now accepts optional z and m values, and a new make_point_m
function has been added for creation of PointM geometries.m
and z
functions for retrieving the m and z values from a point geometrymake_line
and make_polygon
functions, for creation of line and polygon geometries from a set of pointsreverse
, for reversing linestringseval
function, which can evaluate a string as though it is an expression of its owntranslate
function, for translating geometries by and x/y offsetdarker
and lighter
functions, which take a color argument and make it darker or lighter by a specified amountradians
and degrees
: for converting angles between radians and degreespoint_on_surface
: returns a point on the surface of a geometryexterior_ring
: returns the exterior ring for a polygon geometryis_closed
: returns true if a linestring is closedgeometry_n
(returns a specific geometry from within a collection), interior_ring_n
(returns an interior ring from within a polygon)num_geometries
: returns number of geometries inside a collectionnum_rings
: returns number of rings in a polygon geometry objectnum_interior_rings
: returns number of interior rings in a polygonnodes_to_points
, for converting every node in a geometry to a multipoint geometrysegments_to_lines
, for converting every segment in a geometry to a multiline geometryclosest_point
: returns closest point a geometry to a second geometryshortest_line
: returns the shortest possible line joining two geometriesnodes_to_points
and segments_to_lines
are intended for use with geometry generator symbology, eg to allow use of m and z values for nodes/lines with data defined symbology.
Other improvements:
case when $geometry then ... else ...
and case when get_feature(...) then ... else ...