class_docstr: SEVIRI L1B handler for HDF4 files.
class_docstr_tok: ["SEVIRI","L1B","handler","for","HDF4","files","."]
docstr: Get the area def.
docstr_tok: ["Get","the","area","def","."]
code: def get_area_def(self, ds_id):
      """Get the area def."""
      ds_get_name = self._get_dsname(ds_id)
      ds_shape = self[ds_get_name + "/shape"]
      geoloc = self.geoloc
  
      pdict = {}
      pdict["cfac"] = np.int32(geoloc[0])
      pdict["lfac"] = np.int32(geoloc[1])
      pdict["coff"] = np.float32(geoloc[2])
      pdict["loff"] = -np.float32(geoloc[3])
  
      # Unfortunately this dataset does not store a, b or h.
      # We assume a and b here, and calculate h from altitude
      # a and b are from SEVIRI data HRIT header (201912101300)
      pdict["a"] = 6378169
      pdict["b"] = 6356583.8
      pdict["h"] = self.alt - pdict["a"]
      pdict["ssp_lon"] = self.projlon
      pdict["ncols"] = int(ds_shape[0])
      pdict["nlines"] = int(ds_shape[1])
  
      # Force scandir to SEVIRI default, not known from file
      pdict["scandir"] = "S2N"
      pdict["a_name"] = "geosmsg"
      if ds_id["name"] == "HRV":
          pdict["a_desc"] = "MSG/SEVIRI HRV channel area"
          pdict["p_id"] = "msg_hires"
      else:
          pdict["a_desc"] = "MSG/SEVIRI low resolution channel area"
          pdict["p_id"] = "msg_lowres"
  
      aex = get_area_extent(pdict)
      area = get_area_definition(pdict, aex)
  
      return area
  
imports: from datetime import datetime
  import numpy
  from satpy.readers._geos_area import get_area_definition, get_area_extent
  from satpy.readers.hdf4_utils import HDF4FileHandler
label_desc: Use image node_id 15 for calling the SEVIRI_ICARE obj's underlying member method code with example usage: obj.get_area_def(ds_id) and returns: area