Struct grib::PolarStereographicGridDefinition
source · pub struct PolarStereographicGridDefinition {
pub earth_shape: EarthShapeDefinition,
pub ni: u32,
pub nj: u32,
pub first_point_lat: i32,
pub first_point_lon: i32,
pub lad: i32,
pub lov: i32,
pub dx: u32,
pub dy: u32,
pub projection_centre: ProjectionCentreFlag,
pub scanning_mode: ScanningMode,
}
Fields§
§earth_shape: EarthShapeDefinition
§ni: u32
§nj: u32
§first_point_lat: i32
§first_point_lon: i32
§lad: i32
§lov: i32
§dx: u32
§dy: u32
§projection_centre: ProjectionCentreFlag
§scanning_mode: ScanningMode
Implementations§
source§impl PolarStereographicGridDefinition
impl PolarStereographicGridDefinition
sourcepub fn grid_shape(&self) -> (usize, usize)
pub fn grid_shape(&self) -> (usize, usize)
Returns the shape of the grid, i.e. a tuple of the number of grids in the i and j directions.
Examples
let def = grib::PolarStereographicGridDefinition {
earth_shape: grib::EarthShapeDefinition {
shape_of_the_earth: 6,
scale_factor_of_radius_of_spherical_earth: 0xff,
scaled_value_of_radius_of_spherical_earth: 0xffffffff,
scale_factor_of_earth_major_axis: 0xff,
scaled_value_of_earth_major_axis: 0xffffffff,
scale_factor_of_earth_minor_axis: 0xff,
scaled_value_of_earth_minor_axis: 0xffffffff,
},
ni: 2,
nj: 3,
first_point_lat: 0,
first_point_lon: 0,
lad: 0,
lov: 0,
dx: 1000,
dy: 1000,
projection_centre: grib::ProjectionCentreFlag(0b00000000),
scanning_mode: grib::ScanningMode(0b01000000),
};
let shape = def.grid_shape();
assert_eq!(shape, (2, 3));
sourcepub fn short_name(&self) -> &'static str
pub fn short_name(&self) -> &'static str
Returns the grid type.
sourcepub fn ij(&self) -> Result<GridPointIndexIterator, GribError>
pub fn ij(&self) -> Result<GridPointIndexIterator, GribError>
Returns an iterator over (i, j)
of grid points.
Note that this is a low-level API and it is not checked that the number of iterator iterations is consistent with the number of grid points defined in the data.
Examples
let def = grib::PolarStereographicGridDefinition {
earth_shape: grib::EarthShapeDefinition {
shape_of_the_earth: 6,
scale_factor_of_radius_of_spherical_earth: 0xff,
scaled_value_of_radius_of_spherical_earth: 0xffffffff,
scale_factor_of_earth_major_axis: 0xff,
scaled_value_of_earth_major_axis: 0xffffffff,
scale_factor_of_earth_minor_axis: 0xff,
scaled_value_of_earth_minor_axis: 0xffffffff,
},
ni: 2,
nj: 3,
first_point_lat: 0,
first_point_lon: 0,
lad: 0,
lov: 0,
dx: 1000,
dy: 1000,
projection_centre: grib::ProjectionCentreFlag(0b00000000),
scanning_mode: grib::ScanningMode(0b01000000),
};
let ij = def.ij();
assert!(ij.is_ok());
let mut ij = ij.unwrap();
assert_eq!(ij.next(), Some((0, 0)));
assert_eq!(ij.next(), Some((1, 0)));
assert_eq!(ij.next(), Some((0, 1)));
Trait Implementations§
source§impl PartialEq for PolarStereographicGridDefinition
impl PartialEq for PolarStereographicGridDefinition
source§fn eq(&self, other: &PolarStereographicGridDefinition) -> bool
fn eq(&self, other: &PolarStereographicGridDefinition) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl Eq for PolarStereographicGridDefinition
impl StructuralPartialEq for PolarStereographicGridDefinition
Auto Trait Implementations§
impl Freeze for PolarStereographicGridDefinition
impl RefUnwindSafe for PolarStereographicGridDefinition
impl Send for PolarStereographicGridDefinition
impl Sync for PolarStereographicGridDefinition
impl Unpin for PolarStereographicGridDefinition
impl UnwindSafe for PolarStereographicGridDefinition
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