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",")","."]
code: def _format_value(self, value, original_value):
      hemisphere = ""
      sign = ""
  
      if self._direction_labels:
          hemisphere = self._hemisphere(value, original_value)
      else:
          if value != 0 and self._hemisphere(value, original_value) in [
              "W",
              "S",
          ]:
              sign = "-"
  
      if not self._dms:
          return sign + self._format_degrees(abs(value)) + hemisphere
  
      value, deg, mn, sec = self._get_dms(abs(value))
  
      # Format
      label = ""
      if sec:
          label = self._format_seconds(sec)
  
      if mn or (not self._auto_hide_minutes and label):
          label = self._format_minutes(mn) + label
  
      if not self._auto_hide_degrees or not label:
          label = sign + self._format_degrees(deg) + label + hemisphere
  
      return label
  
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 3 for calling the _PlateCarreeFormatter obj's underlying member method code with example usage: obj._format_value(value, original_value) and returns: label, unknown