Hi,

I am creating a model that fixes Network files before they are used in the QGIS Network analysis (Shortest path) tools.

This is my work flow:

1. Create a "Length" field (value) and calculate $length in the field
   calculator
2. Split the Multipart lines into Singlepart lines
3. Create a "Length*2*" field (value) and calculate $length in the
   field calculator
4. Select by expression Length != Length2.  This basically gives me a
   selection of line that have been modified by the Multipart to
   Singlepart algorithm. (I get 8 results)

This works well

The problem is when I create and Input String to let the user create a "Length" field.  This become a variable called @NamelengthField. My work flow become:

1. User input "Length" in the Model input. (@NamelengthField)
2. Create a "Length" field using  @NamelengthField (as pre-calculated
   value) and calculate $length in the field calculator: This is OK
3. Split the Multipart lines into Singlepart lines: This is OK
4. Create a "Length2" field using  @NamelengthField ||'2'  (as
   pre-calculated value) and calculate $length in the field calculator:
   This is OK this field (Length2) is created and calculated properly.
5. I get stuck  when I try Select by expression using @NamelengthField
   != @NamelengthField || '2' (as pre-calculated value) (I get all
   lines back) and the test does not work.

I tried stuff like

@NamelengthField != (@NamelengthField || '2')

'@NamelengthField != @NamelengthField || '2''

"@NamelengthField != @NamelengthField || '2'"

"@NamelengthField"|| !=|| "@NamelengthField || '2'"

Even simple @NamelengthField = 5.286365157529550 (which should extract exactly one value).

Any ideas?

Nicolas

QGIS 3.18.2 on Windows 10




--
Nicolas Cadieux
https://gitlab.com/njacadieux

_______________________________________________
Qgis-user mailing list
Qgis-user@lists.osgeo.org
List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user

Reply via email to