pub trait LineStringSegmentizeHaversine {
// Required method
fn line_segmentize_haversine(
&self,
segment_count: usize,
) -> Option<MultiLineString>;
}
Expand description
Segments a LineString into segment_count
equal length LineStrings as a MultiLineString
using Haversine distance calculations. Use this over LineStringSegmentize
when using data from a geographic coordinate system.
None
will be returned when segment_count
is equal to 0 or when a point
cannot be interpolated on a Line
segment.
§Examples
use geo::{LineString, MultiLineString, LineStringSegmentizeHaversine};
// Create a simple line string
let lns: LineString<f64> = vec![[0.0, 0.0], [1.0, 2.0], [3.0, 6.0]].into();
// Segment it into 6 LineStrings inside of a MultiLineString
let segmentized = lns.line_segmentize_haversine(6).unwrap();
// Compare the number of elements
assert_eq!(6, segmentized.0.len());