Struct grib::LambertGridDefinition
source · pub struct LambertGridDefinition {
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 scanning_mode: ScanningMode,
pub latin1: i32,
pub latin2: i32,
}
Fields§
§earth_shape: EarthShapeDefinition
§ni: u32
§nj: u32
§first_point_lat: i32
§first_point_lon: i32
§lad: i32
§lov: i32
§dx: u32
§dy: u32
§scanning_mode: ScanningMode
§latin1: i32
§latin2: i32
Implementations§
source§impl LambertGridDefinition
impl LambertGridDefinition
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::LambertGridDefinition {
earth_shape: grib::EarthShapeDefinition {
shape_of_the_earth: 1,
scale_factor_of_radius_of_spherical_earth: 0,
scaled_value_of_radius_of_spherical_earth: 6371200,
scale_factor_of_earth_major_axis: 0,
scaled_value_of_earth_major_axis: 0,
scale_factor_of_earth_minor_axis: 0,
scaled_value_of_earth_minor_axis: 0,
},
ni: 2,
nj: 3,
first_point_lat: 0,
first_point_lon: 0,
lad: 0,
lov: 0,
dx: 1000,
dy: 1000,
scanning_mode: grib::ScanningMode(0b01000000),
latin1: 0,
latin2: 0,
};
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::LambertGridDefinition {
earth_shape: grib::EarthShapeDefinition {
shape_of_the_earth: 1,
scale_factor_of_radius_of_spherical_earth: 0,
scaled_value_of_radius_of_spherical_earth: 6371200,
scale_factor_of_earth_major_axis: 0,
scaled_value_of_earth_major_axis: 0,
scale_factor_of_earth_minor_axis: 0,
scaled_value_of_earth_minor_axis: 0,
},
ni: 2,
nj: 3,
first_point_lat: 0,
first_point_lon: 0,
lad: 0,
lov: 0,
dx: 1000,
dy: 1000,
scanning_mode: grib::ScanningMode(0b01000000),
latin1: 0,
latin2: 0,
};
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 Debug for LambertGridDefinition
impl Debug for LambertGridDefinition
source§impl PartialEq for LambertGridDefinition
impl PartialEq for LambertGridDefinition
source§fn eq(&self, other: &LambertGridDefinition) -> bool
fn eq(&self, other: &LambertGridDefinition) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl Eq for LambertGridDefinition
impl StructuralPartialEq for LambertGridDefinition
Auto Trait Implementations§
impl Freeze for LambertGridDefinition
impl RefUnwindSafe for LambertGridDefinition
impl Send for LambertGridDefinition
impl Sync for LambertGridDefinition
impl Unpin for LambertGridDefinition
impl UnwindSafe for LambertGridDefinition
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