By default, those expression use the application's locale. The addition of an optional
language parameter allows handling of dates that wouldn't match that default
locale (say for e.g. an English system running QGIS trying to transform a
French-formatted string into a date object).
Adds geom_from_wkb and geom_to_wkb, which mirror the existing
geom_from_wkt/geom_to_wkt functions but for WKB representations
of geometries.
Since QGIS 3.6 we've had good support for binary blob values in
expressions and field values, so adding these functions allows
users to work with binary blob fields containing WKB representations
of geometries (e.g. with a geometry generator showing the encoded
geometries)
an array of points
Allows creation of lines from variable numbers of points, and
from sequences from aggregates/dynamically generated sequences
Fixes#31268
Collects a set of geometries into a multi-part geometry object.
Geometry parts can either be specified as seperate arguments to the
function, or (more flexibly), as an array of geometry parts.
This allows geometries to be generated using iterator based approaches,
such as transforming an array generated using generate_series, e.g:
collect_geometries(
array_foreach(
generate_series( 0, 330, 30),
project($geometry, .2, radians(@element))
)
)
Gives a nice radial effect of points surrounding the central feature
point when used as a MultiPoint geometry generator
Returns a map containing all attributes from a feature, with field
names as map keys. We've got featureful, robust support for working
with maps in expressions now, so this allows rapid conversion
of all feature attributes to a map to use with these handy
functions.
Because certain aggregates and concatenation requires results in
a certain order, this change allows specific control of the order
features are added to the aggregate during an expression evaluation.
E.g.
concatenate("Station",concatenator:=',', order_by:="Station")
will give a comma separated list of station names in alphabetical
order, rather than layer feature order.
Sponsored by SMEC/SJ
base_file_name: Returns the base name of the file without the directory or file suffix.
file_exists: Returns true if a file exists
file_name: Returns the file name from a full path
file_path: Returns the directory/path from a full file path
file_size: Returns a file size
file_suffix: Returns a files suffix/extension
is_directory: Returns true if a file path is a directory
is_file: Returns true if a file path is a file
This adds a second variant for the existing "attribute" function.
The current function requires both a target feature and attribute
name to be specified, while the NEW variant just uses the current
feature.
E.g.
NEW:
attribute( 'name' ) -> returns the value stored in 'name' attribute
for the current feature
EXISTING:
attribute( @atlas_feature, 'name' ) -> returns value stored in 'name'
attribute for the current atlas feature
It's just a faster shorthand version!