gistools/readers/grib2/sections/_4/
mod.rs1mod tables;
2mod tables2;
3mod tables3;
4mod templates;
5
6use crate::{parsers::Reader, readers::Grib2Sections};
7pub use tables::*;
8pub use tables2::*;
9pub use tables3::*;
10pub use templates::*;
11
12#[derive(Debug, Clone, PartialEq)]
16pub struct Grib2ProductDefinitionSection {
17 pub section_number: u8,
19 pub length: u32,
21 pub coordinate_values: u16,
23 pub product_definition_template: Grib2Table4_0,
25 pub values: Grib2ProductDefinition,
27}
28impl Grib2ProductDefinitionSection {
29 pub fn new<T: Reader>(reader: &T, sections: &Grib2Sections) -> Self {
38 let product_definition_template = reader.uint16_be(Some(7));
39
40 Self {
41 section_number: reader.uint8(Some(4)),
42 length: reader.uint32_be(Some(0)),
43 coordinate_values: reader.uint16_be(Some(5)),
44 product_definition_template: product_definition_template.into(),
45 values: Grib2ProductDefinition::new(product_definition_template, reader, sections),
46 }
47 }
48}