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","}","}",")"]
code: def _get_extents(self, proj, res, lon_arr, lat_arr):
      p = Proj(proj)
      res = float(res)
      first_good = self._first_good_nav(lon_arr, lat_arr)
      one_x, one_y = p(lon_arr[first_good], lat_arr[first_good])
      left_x = one_x - res * first_good[1]
      right_x = left_x + res * lon_arr.shape[1]
      top_y = one_y + res * first_good[0]
      bot_y = top_y - res * lon_arr.shape[0]
      half_x = res / 2.0
      half_y = res / 2.0
      return (
          left_x - half_x,
          bot_y - half_y,
          right_x + half_x,
          top_y + half_y,
      )
  
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 14 for calling the GEOCATFileHandler obj's underlying member method code with example usage: obj._get_extents(proj, res, lon_arr, lat_arr) and returns: unknown,  unknown,  unknown,  unknown