[][src]Trait geo::algorithm::map_coords::MapCoords

pub trait MapCoords<T, NT> {
    type Output;
    pub fn map_coords(
        &self,
        func: impl Fn(&(T, T)) -> (NT, NT) + Copy
    ) -> Self::Output
    where
        T: CoordNum,
        NT: CoordNum
; }

Map a function over all the coordinates in an object, returning a new one

Associated Types

Loading content...

Required methods

pub fn map_coords(
    &self,
    func: impl Fn(&(T, T)) -> (NT, NT) + Copy
) -> Self::Output where
    T: CoordNum,
    NT: CoordNum
[src]

Apply a function to all the coordinates in a geometric object, returning a new object.

Examples

use geo::algorithm::map_coords::MapCoords;
use geo::Point;

let p1 = Point::new(10., 20.);
let p2 = p1.map_coords(|&(x, y)| (x + 1000., y * 2.));

assert_eq!(p2, Point::new(1010., 40.));

You can convert the coordinate type this way as well


let p1: Point<f32> = Point::new(10.0f32, 20.0f32);
let p2: Point<f64> = p1.map_coords(|&(x, y)| (x as f64, y as f64));

assert_eq!(p2, Point::new(10.0f64, 20.0f64));
Loading content...

Implementors

impl<T: CoordNum, NT: CoordNum> MapCoords<T, NT> for Geometry<T>[src]

type Output = Geometry<NT>

impl<T: CoordNum, NT: CoordNum> MapCoords<T, NT> for GeometryCollection<T>[src]

type Output = GeometryCollection<NT>

impl<T: CoordNum, NT: CoordNum> MapCoords<T, NT> for Line<T>[src]

type Output = Line<NT>

impl<T: CoordNum, NT: CoordNum> MapCoords<T, NT> for LineString<T>[src]

type Output = LineString<NT>

impl<T: CoordNum, NT: CoordNum> MapCoords<T, NT> for MultiLineString<T>[src]

type Output = MultiLineString<NT>

impl<T: CoordNum, NT: CoordNum> MapCoords<T, NT> for MultiPoint<T>[src]

type Output = MultiPoint<NT>

impl<T: CoordNum, NT: CoordNum> MapCoords<T, NT> for MultiPolygon<T>[src]

type Output = MultiPolygon<NT>

impl<T: CoordNum, NT: CoordNum> MapCoords<T, NT> for Point<T>[src]

type Output = Point<NT>

impl<T: CoordNum, NT: CoordNum> MapCoords<T, NT> for Polygon<T>[src]

type Output = Polygon<NT>

impl<T: CoordNum, NT: CoordNum> MapCoords<T, NT> for Rect<T>[src]

type Output = Rect<NT>

impl<T: CoordNum, NT: CoordNum> MapCoords<T, NT> for Triangle<T>[src]

type Output = Triangle<NT>

Loading content...