Builds polylines from a set of edges. If "polyline_type" is PATH, then
only vertices of indegree and outdegree 1 (or degree 2 in the case of
undirected edges) will appear in the interior of polylines. This
essentially generates one polyline for each edge chain in the graph. If
"polyline_type" is WALK, then polylines may pass through the same vertex
or even the same edge multiple times (if duplicate edges are present),
and each polyline will be as long as possible. This option is useful for
reconstructing a polyline that has been snapped to a lower resolution,
since snapping can cause edges to become identical.
This method attempts to preserve the input edge ordering in order to
implement idempotency, even when there are repeated edges or loops. This
is true whether directed or undirected edges are used. Degenerate edges
are also handled appropriately.
Builds polylines from a set of edges. If "polyline_type" is PATH, then only vertices of indegree and outdegree 1 (or degree 2 in the case of undirected edges) will appear in the interior of polylines. This essentially generates one polyline for each edge chain in the graph. If "polyline_type" is WALK, then polylines may pass through the same vertex or even the same edge multiple times (if duplicate edges are present), and each polyline will be as long as possible. This option is useful for reconstructing a polyline that has been snapped to a lower resolution, since snapping can cause edges to become identical.
This method attempts to preserve the input edge ordering in order to implement idempotency, even when there are repeated edges or loops. This is true whether directed or undirected edges are used. Degenerate edges are also handled appropriately.
REQUIRES: options.sibling_pairs() == { DISCARD, DISCARD_EXCESS, KEEP }