GeoTIFFImage

Struct GeoTIFFImage 

Source
pub struct GeoTIFFImage<T: Reader> { /* private fields */ }
Expand description

§GeoTIFF Image Container

§Description

A Container for a GeoTIFF image

§Usage

The methods you have access to:

The methods you probably care about are get_bbox, raster_data, get_rgba, and get_multi_point_vector

Implementations§

Source§

impl<T: Reader> GeoTIFFImage<T>

Source

pub fn new( reader: Rc<RefCell<T>>, image_directory: ImageDirectory, transformer: Rc<RefCell<Transformer>>, little_endian: bool, ) -> Self

Create a new GeoTIFFImage

Source

pub fn width(&self) -> usize

Get the image width

Source

pub fn height(&self) -> usize

Get the image height

Source

pub fn tile_width(&self) -> usize

Get the tile width

Source

pub fn tile_height(&self) -> usize

Get the tile height

Source

pub fn block_width(&self) -> usize

Get the block width

Source

pub fn block_height(&self, y: usize) -> usize

Get the block height

Source

pub fn bytes_per_pixel(&self) -> usize

Calculates the number of bytes for each pixel across all samples. Only full bytes are supported, an exception is thrown when this is not the case.

§Returns

the bytes per pixel

Source

pub fn samples_per_pixel(&self) -> usize

§Returns

The number of samples per pixel

Source

pub fn get_sample_format(&self, sample_index: Option<usize>) -> u16

Returns the sample format

§Parameters
  • sample_index: the sample index to start at
§Returns

The sample format code

Source

pub fn get_bits_per_sample(&self, sample_index: Option<usize>) -> u16

Returns the number of bits per sample

§Parameters
  • sample_index: the sample index to start at
§Returns

The number of bits per sample at the sample index

Source

pub fn raster_array_type(&self) -> GTiffDataType

Convert the data format and bits per sample to the appropriate array type

§Parameters
  • raster: the data
§Returns

The array

Source

pub fn get_tie_point(&self) -> GeoTiePoint

Returns an array of tiepoints.

Source

pub fn origin(&self) -> VectorPoint<()>

Returns the image origin as a XYZ-vector. When the image has no affine transformation, then an exception is thrown.

§Returns

The origin as a vector

Source

pub fn origin_ll(&self) -> VectorPoint<()>

Returns the image origin as a XYZ-vector in lon-lat space. When the image has no affine transformation, then an exception is thrown.

§Returns

The origin as a lon-lat vector

Source

pub fn resolution(&self) -> VectorPoint<()>

Returns the image resolution as a XYZ-vector. When the image has no affine transformation, then an exception is thrown. in cases when the current image does not have the required tags on its own.

§Returns

The resolution as a vector

Source

pub fn resolution_ll(&self) -> VectorPoint<()>

Returns the image resolution as a XYZ-vector in lon-lat space. When the image has no affine transformation, then an exception is thrown. in cases when the current image does not have the required tags on its own.

§Returns

The resolution as a lon-lat vector

Source

pub fn pixel_is_area(&self) -> bool

Returns whether or not the pixels of the image depict an area (or point).

§Returns

Whether the pixels are a point

Source

pub fn get_bbox(&mut self, transform: bool) -> BBox

Returns the image bounding box as an array of 4 values: min-x, min-y, max-x and max-y. When the image has no affine transformation, then an exception is thrown.

§Parameters
  • transform: apply affine transformation or proj4 transformation
§Returns

The bounding box

Source

pub fn raster_data(&mut self, samples: Option<Vec<u16>>) -> Raster

Returns the raster data of the image.

§Parameters
  • samples: Samples to read from the image
§Returns

The raster data

Source

pub fn get_rgba(&mut self) -> Raster

Returns the RGBA raster data of the image.

§Returns

The RGBA raster data

Source

pub fn get_multi_point_vector(&mut self) -> GeoTIFFVectorFeature

Build a vector feature from the image

§Returns

The vector feature with rgba values incoded into the points

Trait Implementations§

Source§

impl<T: Clone + Reader> Clone for GeoTIFFImage<T>

Source§

fn clone(&self) -> GeoTIFFImage<T>

Returns a duplicate of the value. Read more
1.0.0§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<T: Debug + Reader> Debug for GeoTIFFImage<T>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<T: Default + Reader> Default for GeoTIFFImage<T>

Source§

fn default() -> GeoTIFFImage<T>

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl<T> Freeze for GeoTIFFImage<T>

§

impl<T> !RefUnwindSafe for GeoTIFFImage<T>

§

impl<T> !Send for GeoTIFFImage<T>

§

impl<T> !Sync for GeoTIFFImage<T>

§

impl<T> Unpin for GeoTIFFImage<T>

§

impl<T> !UnwindSafe for GeoTIFFImage<T>

Blanket Implementations§

§

impl<T> Any for T
where T: 'static + ?Sized,

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Borrow<T> for T
where T: ?Sized,

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

impl<T> BorrowMut<T> for T
where T: ?Sized,

§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CloneToUninit for T
where T: Clone,

§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, U> Into<U> for T
where U: From<T>,

§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<R, P> ReadPrimitive<R> for P
where R: Read + ReadEndian<P>, P: Default,

Source§

fn read_from_little_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_little_endian().
Source§

fn read_from_big_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_big_endian().
Source§

fn read_from_native_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_native_endian().
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V