class_docstr: GEOCAT netCDF4 file handler.
  
  **Loading data with decode_times=True**
  
  By default, this reader will use ``xarray_kwargs={"engine": "netcdf4", "decode_times": False}``.
  to match behavior of xarray when the geocat reader was first written.  To use different options
  use reader_kwargs when loading the Scene::
  
      scene = satpy.Scene(filenames,
                          reader='geocat',
                          reader_kwargs={'xarray_kwargs': {'engine': 'netcdf4', 'decode_times': True}})
class_docstr_tok: ["GEOCAT","netCDF4","file","handler",".","*","*","Loading","data","with","decode_times=True","*","*","By","default",",","this","reader","will","use","``","xarray_kwargs=","{","``","engine","''",":","``","netcdf4","''",",","``","decode_times","''",":","False","}","``",".","to","match","behavior","of","xarray","when","the","geocat","reader","was","first","written",".","To","use","different","options","use","reader_kwargs","when","loading","the","Scene",":",":","scene","=","satpy.Scene","(","filenames",",","reader='geocat","'",",","reader_kwargs=","{","'xarray_kwargs","'",":","{","'engine","'",":","'netcdf4","'",",","'decode_times","'",":","True","}","}",")"]
docstr: Get area definition.
docstr_tok: ["Get","area","definition","."]
code: def get_area_def(self, dsid):
      """Get area definition."""
      if not self.is_geo:
          raise NotImplementedError(
              "Don't know how to get the Area Definition for this file"
          )
  
      platform = self.get_platform(self["/attr/Platform_Name"])
      res = self._calc_area_resolution(dsid["resolution"])
      proj = self._get_proj(
          platform, float(self["/attr/Subsatellite_Longitude"])
      )
      area_name = "{} {} Area at {}m".format(
          platform, self.metadata.get("sector_id", ""), int(res)
      )
      lon = self._load_nav("pixel_longitude")
      lat = self._load_nav("pixel_latitude")
      extents = self._get_extents(proj, res, lon, lat)
      area_def = geometry.AreaDefinition(
          area_name,
          area_name,
          area_name,
          proj,
          lon.shape[1],
          lon.shape[0],
          area_extent=extents,
      )
      return area_def
  
imports: from __future__ import annotations
  import logging
  import numpy
  from pyproj import Proj
  from pyresample import geometry
  from satpy.readers.netcdf_utils import NetCDF4FileHandler, netCDF4
label_desc: Use image node_id 16 for calling the GEOCATFileHandler obj's underlying member method code with example usage: obj.get_area_def(dsid) and returns: area_def