class_docstr: File handler for insat 3d imager data.
class_docstr_tok: ["File","handler","for","insat","3d","imager","data","."]
docstr: Get the area definition.
docstr_tok: ["Get","the","area","definition","."]
code: def get_area_def(self, ds_id):
      """Get the area definition."""
      from satpy.readers._geos_area import (
          get_area_definition,
          get_area_extent,
      )
  
      darr = self.get_dataset(ds_id, None)
      shape = darr.shape
      lines = shape[-2]
      cols = shape[-1]
  
      # From empirical analysis, hardcoding the view of view to 18 degrees
      # produces better geolocation results.
      # Uncommenting the line below will use the fov from the file instead,
      # this line is kept for reference.
      # fov = self.datatree.attrs["Field_of_View(degrees)"]
      fov = 18
      cfac = 2**16 / (fov / cols)
      lfac = 2**16 / (fov / lines)
  
      h = self.datatree.attrs["Observed_Altitude(km)"] * 1000
      # WGS 84
      a = 6378137.0
      b = 6356752.314245
  
      subsatellite_longitude = self.datatree.attrs[
          "Nominal_Central_Point_Coordinates(degrees)_Latitude_Longitude"
      ][1]
  
      pdict = {
          "cfac": cfac,
          "lfac": lfac,
          "coff": cols / 2,
          "loff": lines / 2,
          "ncols": cols,
          "nlines": lines,
          "scandir": "N2S",
          "a": a,
          "b": b,
          "h": h,
          "ssp_lon": subsatellite_longitude,
          "a_name": "insat3d82",
          "a_desc": "insat3d82",
          "p_id": "geosmsg",
      }
      area_extent = get_area_extent(pdict)
      adef = get_area_definition(pdict, area_extent)
      return adef
  
imports: from contextlib import suppress
  from datetime import datetime
  from functools import cached_property
  import dask.array
  import numpy
  import xarray
  from satpy.utils import import_error_helper
  from satpy.readers.file_handlers import BaseFileHandler
label_desc: Use image node_id 5 for calling the Insat3DIMGL1BH5FileHandler obj's underlying member method code with example usage: obj.get_area_def(ds_id) and returns: adef