class_docstr: Reader for GAC and LAC data.
class_docstr_tok: ["Reader","for","GAC","and","LAC","data","."]
docstr: Init the file handler.
  
  Args:
      start_line: User defined start scanline
      end_line: User defined end scanline
      strip_invalid_coords: Strip scanlines with invalid coordinates in
          the beginning/end of the orbit
      interpolate_coords: Interpolate coordinates from every eighth pixel
          to all pixels.
      reader_kwargs: More keyword arguments to be passed to pygac.Reader.
          See the pygac documentation for available options.
docstr_tok: ["Init","the","file","handler",".","Args",":","start_line",":","User","defined","start","scanline","end_line",":","User","defined","end","scanline","strip_invalid_coords",":","Strip","scanlines","with","invalid","coordinates","in","the","beginning\/end","of","the","orbit","interpolate_coords",":","Interpolate","coordinates","from","every","eighth","pixel","to","all","pixels",".","reader_kwargs",":","More","keyword","arguments","to","be","passed","to","pygac.Reader",".","See","the","pygac","documentation","for","available","options","."]
code: def __init__(
      self,
      filename,
      filename_info,
      filetype_info,  # noqa: D417
      start_line=None,
      end_line=None,
      strip_invalid_coords=True,
      interpolate_coords=True,
      **reader_kwargs,
  ):
      """Init the file handler.
  
      Args:
          start_line: User defined start scanline
          end_line: User defined end scanline
          strip_invalid_coords: Strip scanlines with invalid coordinates in
              the beginning/end of the orbit
          interpolate_coords: Interpolate coordinates from every eighth pixel
              to all pixels.
          reader_kwargs: More keyword arguments to be passed to pygac.Reader.
              See the pygac documentation for available options.
  
      """
      super(GACLACFile, self).__init__(
          filename, filename_info, filetype_info
      )
  
      self.start_line = start_line
      self.end_line = end_line
      self.strip_invalid_coords = strip_invalid_coords
      self.interpolate_coords = interpolate_coords
      self.reader_kwargs = reader_kwargs
      self.creation_site = filename_info.get("creation_site")
      self.reader = None
      self.calib_channels = None
      self.counts = None
      self.angles = None
      self.qual_flags = None
      self.first_valid_lat = None
      self.last_valid_lat = None
      self._start_time = filename_info["start_time"]
      self._end_time = datetime.combine(
          filename_info["start_time"].date(),
          filename_info["end_time"].time(),
      )
      if self._end_time < self._start_time:
          self._end_time += timedelta(days=1)
      self.platform_id = filename_info["platform_id"]
      if self.platform_id in [
          "NK",
          "NL",
          "NM",
          "NN",
          "NP",
          "M1",
          "M2",
          "M3",
      ]:
          if filename_info.get("transfer_mode") == "GHRR":
              self.reader_class = GACKLMReader
          else:
              self.reader_class = LACKLMReader
          self.chn_dict = AVHRR3_CHANNEL_NAMES
          self.sensor = "avhrr-3"
      elif self.platform_id in ["NC", "ND", "NF", "NH", "NJ"]:
          if filename_info.get("transfer_mode") == "GHRR":
              self.reader_class = GACPODReader
          else:
              self.reader_class = LACPODReader
          self.chn_dict = AVHRR2_CHANNEL_NAMES
          self.sensor = "avhrr-2"
      else:
          if filename_info.get("transfer_mode") == "GHRR":
              self.reader_class = GACPODReader
          else:
              self.reader_class = LACPODReader
          self.chn_dict = AVHRR_CHANNEL_NAMES
          self.sensor = "avhrr"
      self.filename_info = filename_info
  
imports: import logging
  from datetime import datetime, timedelta
  import dask.array
  import numpy
  import pygac.utils
  import xarray
  from pygac.gac_klm import GACKLMReader
  from pygac.gac_pod import GACPODReader
  from pygac.lac_klm import LACKLMReader
  from pygac.lac_pod import LACPODReader
  from satpy.readers.file_handlers import BaseFileHandler
  from satpy.utils import get_legacy_chunk_size
label_desc: Use image node_id 1 to create a new GACLACFile object from inherited base classes: BaseFileHandler with example: obj = GACLACFile(filename, filename_info, filetype_info, start_line, end_line, strip_invalid_coords, interpolate_coords)