class_docstr: The base class for the FengYun4 AGRI and GHI readers.
class_docstr_tok: ["The","base","class","for","the","FengYun4","AGRI","and","GHI","readers","."]
docstr: Get the area definition.
docstr_tok: ["Get","the","area","definition","."]
code: def get_area_def(self, key):
      """Get the area definition."""
      # Coordination Group for Meteorological Satellites LRIT/HRIT Global Specification
      # https://www.cgms-info.org/documents/cgms-lrit-hrit-global-specification-(v2-8-of-30-oct-2013).pdf
      res = key["resolution"]
      pdict = {}
  
      begin_cols = float(self.file_content["/attr/Begin Pixel Number"])
      end_lines = float(self.file_content["/attr/End Line Number"])
      pdict["coff"] = (
          self._COFF_list[RESOLUTION_LIST.index(res)] - begin_cols + 1
      )
      pdict["loff"] = (
          -self._LOFF_list[RESOLUTION_LIST.index(res)] + end_lines + 1
      )
  
      pdict["cfac"] = self._CFAC_list[RESOLUTION_LIST.index(res)]
      pdict["lfac"] = self._LFAC_list[RESOLUTION_LIST.index(res)]
      try:
          pdict["a"] = float(
              self.file_content["/attr/Semimajor axis of ellipsoid"]
          )
      except KeyError:
          pdict["a"] = float(self.file_content["/attr/dEA"])
      if pdict["a"] < 10000:
          pdict["a"] = pdict["a"] * 1e3  # equator radius (m)
      try:
          pdict["b"] = float(
              self.file_content["/attr/Semiminor axis of ellipsoid"]
          )
      except KeyError:
          pdict["b"] = pdict["a"] * (
              1 - 1 / self.file_content["/attr/dObRecFlat"]
          )  # polar radius (m)
  
      pdict["h"] = self.file_content[
          "/attr/NOMSatHeight"
      ]  # the altitude of satellite (m)
      if pdict["h"] > 42000000.0:
          pdict["h"] = pdict["h"] - pdict["a"]
  
      pdict["ssp_lon"] = float(self.file_content["/attr/NOMCenterLon"])
      pdict["nlines"] = float(self.file_content["/attr/RegLength"])
      pdict["ncols"] = float(self.file_content["/attr/RegWidth"])
  
      pdict["scandir"] = "N2S"
      pdict["a_desc"] = "FY-4 {} area".format(
          self.filename_info["observation_type"]
      )
      pdict[
          "a_name"
      ] = f'{self.filename_info["observation_type"]}_{res}m'
      pdict["p_id"] = f"FY-4, {res}m"
  
      area_extent = get_area_extent(pdict)
      area_extent = (
          area_extent[0],
          area_extent[1],
          area_extent[2],
          area_extent[3],
      )
  
      area = get_area_definition(pdict, area_extent)
  
      return area
  
imports: import logging
  from datetime import datetime
  import dask.array
  import numpy
  import xarray
  from satpy._compat import cached_property
  from satpy.readers._geos_area import get_area_definition, get_area_extent
  from satpy.readers.hdf5_utils import HDF5FileHandler
label_desc: Use image node_id 11 for calling the FY4Base obj's underlying member method code with example usage: obj.get_area_def(key) and returns: area