code: def _geom(
      name,
      *,
      mapping=None,
      data=None,
      stat=None,
      position=None,
      show_legend=None,
      sampling=None,
      tooltips=None,
      **kwargs,
  ):
      if mapping:
          if not (
              isinstance(mapping, FeatureSpec)
              and mapping.kind == "mapping"
          ):
              raise ValueError(
                  "Unexpected value for argument 'mapping'. Hint: try to use function aes()"
              )
  
      data, mapping, data_meta = as_annotated_data(data, mapping)
  
      if is_geocoder(data):
          data = data.get_geocodes()
  
      # GDF in a map parameter has higher priority for defining a geo_data_meta
      if is_geo_data_frame(data) and not is_geo_data_frame(
          kwargs.get("map")
      ):
          data = geo_data_frame_to_crs(data, kwargs.get("use_crs"))
          data_meta["data_meta"].update(get_geo_data_frame_meta(data))
  
      return LayerSpec(
          geom=name,
          stat=stat,
          data=data,
          mapping=mapping,
          position=position,
          show_legend=show_legend,
          sampling=sampling,
          tooltips=tooltips,
          **data_meta,
          **kwargs,
      )
  
imports: from lets_plot.geo_data_internals.utils import is_geocoder
  from .core import FeatureSpec, LayerSpec
  from .util import as_annotated_data, is_geo_data_frame, geo_data_frame_to_crs, get_geo_data_frame_meta
label_desc: Use image node_id 46 for calling a global function with example usage: _geom(name) and returns: LayerSpec