New answers tagged


Ok, I have found how to do this. If anyone is interested, the right portion of the expression was calculated this way: Right($feature.R_ROL,(Count($feature.R_ROL) - (Find('-', $feature.R_ROL) +1))) R_ROL is the field to search for and - is the character used to calculate right and left portion.


With credit to Vince, the correct expression to use in this case was: concatenate( to_string( "ID" ),group_by:="X, Y", concatenator:='|')


Additionally to the @J. Monticolo's answer, you may try using if-statement if("Surface" >= 30000, 4, if("Surface" >= 10000 and "Surface" < 30000, 3, if("Surface" >= 5000 and "Surface" < 10000, 1, 0)))


Have you tried something like : CASE WHEN "Surface" >= 30000 THEN 4 WHEN "Surface" < 30000 AND "Surface" >= 10000 THEN 3 WHEN "Surface" < 10000 AND "Surface" >= 5000 THEN 1 ELSE 0 END


When you want a loop function, the closest option is usually one of the Aggregate functions. Use the array_agg function, which "Returns an array of aggregated values from a field or expression." To get an array of Z values, use: array_agg( z( $geometry))


You can easily add a new function to get array of z-values from line vertices. Open Function Editor tab in Field Calculator (or Expression) window. Create a new function by clicking plus icon. Enter a file name, e.g. z_array_from_line. Copy/Paste the script. Then, click Save and Load Functions (or related button) to register the function. It's added 'Custom'...


If you are having problems with the download you could use python, example: from shutil import copyfile from os.path import join, basename download_folder = '/home/bera/GIS/test/downloads/' filepath_field = 'filepath' layer = iface.activeLayer() for feature in layer.getFeatures(): src = feature[filepath_field] dst = join(download_folder, basename(...

Top 50 recent answers are included