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!
Forces polygons to follow the right hand rule, in which the area that
is bounded by a polygon is to the right of the boundary. In particular,
the exterior ring is oriented in a clockwise direction and the
interior rings in a counter-clockwise direction.