class_docstr: Plotting baseclass for geographic plots with a cartopy projection.
code: def __init__(self, element, **params):
      super().__init__(element, **params)
      self.geographic = is_geographic(self.hmap.last)
      if self.geographic and not isinstance(
          self.projection, (PlateCarree, Mercator)
      ):
          self.xaxis = None
          self.yaxis = None
          self.show_frame = False
          show_bounds = self._traverse_options(
              element, "plot", ["show_bounds"], defaults=False
          )
          self.show_bounds = not any(
              not sb for sb in show_bounds.get("show_bounds", [])
          )
          if self.show_grid:
              param.main.warning(
                  f"Grid lines do not reflect {self.projection}; to do so "
                  "multiply the current element by gv.feature.grid() "
                  "and disable the show_grid option."
              )
  
imports: import param
  from cartopy.crs import GOOGLE_MERCATOR, PlateCarree, Mercator
  from bokeh.models.tools import BoxZoomTool, WheelZoomTool
  from bokeh.models import MercatorTickFormatter, MercatorTicker, CustomJSHover
  from holoviews.core.dimension import Dimension
  from holoviews.core.util import dimension_sanitizer
  from holoviews.plotting.bokeh.element import ElementPlot, OverlayPlot
  from ...element import is_geographic, _Element, Shape
  from ..plot import ProjectionPlot
label_desc: Use image node_id 1 to create a new GeoPlot object from inherited base classes: ProjectionPlot, ElementPlot with example: obj = GeoPlot(element)