docstr: Return bboxes (Polygon geometry) for given regions in form of GeoDataFrame. For regions intersecting
  anti-meridian bbox will be divided into two and stored as two rows.
  
  Examples
  ---------
  .. jupyter-execute::
  
      >>> from lets_plot.geo_data import *
      >>> rl = regions_country(['germany', 'russia']).limits()
      >>> rl
code: def limits(self) -> "GeoDataFrame":
      """
      Return bboxes (Polygon geometry) for given regions in form of GeoDataFrame. For regions intersecting
      anti-meridian bbox will be divided into two and stored as two rows.
  
      Examples
      ---------
      .. jupyter-execute::
  
          >>> from lets_plot.geo_data import *
          >>> rl = regions_country(['germany', 'russia']).limits()
          >>> rl
      """
      from lets_plot.geo_data.to_geo_data_frame import (
          LimitsGeoDataFrame,
      )
  
      return self._execute(
          self._request_builder(PayloadKind.limits),
          LimitsGeoDataFrame(),
      )
  
imports: import enum
  from abc import abstractmethod
  from collections.abc import Iterable
  from typing import List, Optional, Union, Dict
  from pandas import DataFrame, Series
  from lets_plot.geo_data_internals.constants import DF_COLUMN_HIGHLIGHTS, DF_COLUMN_COUNTRY, DF_COLUMN_STATE, DF_COLUMN_COUNTY, DF_COLUMN_CITY, DF_COLUMN_ID, DF_COLUMN_FOUND_NAME, DF_COLUMN_POSITION, DF_COLUMN_LIMIT, DF_COLUMN_CENTROID
  from .gis.geocoding_service import GeocodingService
  from .gis.request import PayloadKind, RequestBuilder, RequestKind, MapRegion, RegionQuery
  from .gis.response import Answer, GeocodedFeature, Namesake, AmbiguousFeature, LevelKind
  from .gis.response import SuccessResponse, Response, AmbiguousResponse, ErrorResponse
  from .type_assertion import assert_type, assert_list_type
label_desc: Use image node_id 8 for calling the Geocodes obj's underlying member method code with example usage: obj.limits() and returns: self