class_docstr: Base class for formatting ticks on geographical axes using a
  rectangular projection (e.g. Plate Carree, Mercator).
class_docstr_tok: ["Base","class","for","formatting","ticks","on","geographical","axes","using","a","rectangular","projection","(","e.g",".","Plate","Carree",",","Mercator",")","."]
docstr: Convert to degrees, minutes, seconds
  
  Parameters
  ----------
  x: float or array of floats
      Degrees
  
  Return
  ------
  x: degrees rounded to the requested precision
  degs: degrees
  mins: minutes
  secs: seconds
code: def _get_dms(self, x):
      """Convert to degrees, minutes, seconds
  
      Parameters
      ----------
      x: float or array of floats
          Degrees
  
      Return
      ------
      x: degrees rounded to the requested precision
      degs: degrees
      mins: minutes
      secs: seconds
      """
      self._precision = 6
      x = np.asarray(x, "d")
      degs = np.round(x, self._precision).astype("i")
      y = (x - degs) * 60
      mins = np.round(y, self._precision).astype("i")
      secs = np.round((y - mins) * 60, self._precision - 3)
      return x, degs, mins, secs
  
imports: import matplotlib
  from matplotlib.ticker import Formatter, MaxNLocator
  import numpy
  import cartopy.crs
  from cartopy.mpl.geoaxes import GeoAxes
label_desc: Use image node_id 4 for calling the _PlateCarreeFormatter obj's underlying member method code with example usage: obj._get_dms(x) and returns: x,  degs,  mins,  secs