Trait LineStringSegmentizeHaversine

Source
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());

Required Methods§

Implementors§