Computes a substring of a
LineString
between given distances along the line.
- The distances are clipped to the actual line length
- If the start distance is equal to the end distance,
a zero-length line with two identical points is returned
- FUTURE: If the start distance is greater than the end distance,
an inverted section of the line is returned
FUTURE: should handle startLength > endLength, and flip the returned
linestring. Also should handle negative lengths (they are measured from end
of line backwards).