pub struct GeoTransform {
pub origin_x: f64,
pub pixel_width: f64,
pub skew_x: f64,
pub origin_y: f64,
pub skew_y: f64,
pub pixel_height: f64,
}Expand description
An affine geo-transform mapping pixel (col, row) to map (x, y).
Follows the GDAL convention:
x = origin_x + col * pixel_width + row * skew_x
y = origin_y + col * skew_y + row * pixel_heightFor north-up images, skew_x and skew_y are 0 and pixel_height is negative.
Fields§
§origin_x: f64§pixel_width: f64§skew_x: f64§origin_y: f64§skew_y: f64§pixel_height: f64Implementations§
Source§impl GeoTransform
impl GeoTransform
Sourcepub fn from_tiepoint_and_scale(
tiepoint: &[f64; 6],
pixel_scale: &[f64; 3],
) -> Self
pub fn from_tiepoint_and_scale( tiepoint: &[f64; 6], pixel_scale: &[f64; 3], ) -> Self
Build from ModelTiepoint (tag 33922) and ModelPixelScale (tag 33550).
Sourcepub fn from_tiepoint_and_scale_with_raster_type(
tiepoint: &[f64; 6],
pixel_scale: &[f64; 3],
raster_type: RasterType,
) -> Self
pub fn from_tiepoint_and_scale_with_raster_type( tiepoint: &[f64; 6], pixel_scale: &[f64; 3], raster_type: RasterType, ) -> Self
Build from ModelTiepoint and ModelPixelScale using the GeoTIFF raster type.
The returned transform is normalized to a corner-based affine transform so bounds and pixel-space math stay consistent for both PixelIsArea and PixelIsPoint rasters.
Sourcepub fn from_transformation_matrix(matrix: &[f64; 16]) -> Self
pub fn from_transformation_matrix(matrix: &[f64; 16]) -> Self
Build from a 4x4 ModelTransformation matrix (tag 34264), row-major.
Sourcepub fn pixel_to_geo(&self, col: f64, row: f64) -> (f64, f64)
pub fn pixel_to_geo(&self, col: f64, row: f64) -> (f64, f64)
Convert pixel coordinates (col, row) to map coordinates (x, y).
Trait Implementations§
Source§impl Clone for GeoTransform
impl Clone for GeoTransform
Source§fn clone(&self) -> GeoTransform
fn clone(&self) -> GeoTransform
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for GeoTransform
impl Debug for GeoTransform
impl Copy for GeoTransform
Auto Trait Implementations§
impl Freeze for GeoTransform
impl RefUnwindSafe for GeoTransform
impl Send for GeoTransform
impl Sync for GeoTransform
impl Unpin for GeoTransform
impl UnsafeUnpin for GeoTransform
impl UnwindSafe for GeoTransform
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more