Thank you very much, that is exactly what I need.

Simon


Am 08.03.2019 um 02:35 schrieb Nyall Dawson:
On Thu, 7 Mar 2019 at 19:12, Simon Gröchenig
<simon.groeche...@salzburgresearch.at> wrote:
Hi all,

I have a question concerning the line_substring and recently updated $length 
expressions. I have a linestring (EPSG:4326) and a relative start- and 
end-offset (in %) and I want to create the sub linestring. The start- and end 
distances at the line_substring expression should be set in projection units 
(e.g. degrees in EPSG:4326). With the previous behaviour of $length, I 
multiplied the relative offset (in %) with the (planimetric) length to 
calculate those distances. See the following example:

geom_to_wkt(line_substring( geom_from_wkt('LINESTRING(13 46, 15 46)'),  0.4* 
$length, 0.6* $length))  // $length => 2.0

results in

LINESTRING(13.8 46, 14.2 46)

With the latest release (3.6.0-1 und 3.4.5-1), the $length expression correctly 
calculates the ellipsoidal length (https://issues.qgis.org/issues/19355) and I 
cannot use the above expression. Is there a way to use relative distances in 
the line_substring function? Or is there an alternative to calculate the 
planimetric length (without implementing my own function)?
Yes -- the "length(...)" function always gives a purely Cartesian
length for a geometry. Using "length($geometry)" should give you what
you want.

Nyall
_______________________________________________
QGIS-Developer mailing list
QGIS-Developer@lists.osgeo.org
List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer

Reply via email to