pub trait LineStringSegmentizeHaversine {
// Required method
fn line_segmentize_haversine(&self, n: usize) -> Option<MultiLineString>;
}
Expand description
Segments a LineString into n
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 n
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 n LineStrings inside of a MultiLineString
let n = 6;
let segmentized = lns.line_segmentize_haversine(n).unwrap();
// Compare the number of elements
assert_eq!(n, segmentized.0.len());