class_docstr: Do not use this class explicitly.
  
  Instead you should construct its objects with special functions:
  `geocode()`, `geocode_cities()`, `geocode_counties()`, `geocode_states()`,
  `geocode_countries()`, `reverse_geocode()`.
class_docstr_tok: ["Do","not","use","this","class","explicitly",".","Instead","you","should","construct","its","objects","with","special","functions",":","`","geocode","(",")","`",",","`","geocode_cities","(",")","`",",","`","geocode_counties","(",")","`",",","`","geocode_states","(",")","`",",","`","geocode_countries","(",")","`",",","`","reverse_geocode","(",")","`","."]
docstr: Return boundaries for given regions in the form of `GeoDataFrame`.
  
  Parameters
  ----------
  resolution : int or str
      Boundaries resolution.
  
  Returns
  -------
  `GeoDataFrame`
      Table of data.
  
  Notes
  -----
  If `resolution` has int type, it may take one of the following values:
  
  - 1-3 for world scale view,
  - 4-6 for country scale view,
  - 7-9 for state scale view,
  - 10-12 for county scale view,
  - 13-15 for city scale view.
  
  Here value 1 corresponds to maximum performance and 15 - to maximum quality.
  
  If `resolution` is of str type, it may take one of the following values:
  
  - 'world' corresponds to int value 2,
  - 'country' corresponds to int value 5,
  - 'state' corresponds to int value 8,
  - 'county' corresponds to int value 11,
  - 'city' corresponds to int value 14.
  
  Here value 'world' corresponds to maximum performance and 'city' - to maximum quality.
  
  The resolution choice depends on the type of displayed area.
  The number of objects also matters: one state looks good on a 'state' scale
  while 50 states is a 'country' view.
  
  It is allowed to use any resolution for all regions.
  For example, 'city' scale can be used for a state to get a more detailed boundary
  when zooming in, or 'world' for a small preview.
  
  If `resolution` is not specified (or equal to None), it will be auto-detected.
  Auto-detection by level_kind is used for geocoding and the number of objects.
  In this case performance is preferred over quality.
  The pixelated geometries can be obtained.
  Use explicit resolution or `inc_res()` function for better quality.
  
  If the number of objects is equal to n, then `resolution` will be the following:
  
  - For countries: if n < 3 then `resolution=3`, else `resolution=1`.
  - For states: if n < 3 then `resolution=7`, if n < 10 then `resolution=4`, else `resolution=2`.
  - For counties: if n < 5 then `resolution=10`, if n < 20 then `resolution=8`, else `resolution=3`.
  - For cities: if n < 5 then `resolution=13`, if n < 50 then `resolution=4`, else `resolution=3`.
  
  Examples
  --------
  .. jupyter-execute::
      :linenos:
      :emphasize-lines: 5
  
      from IPython.display import display
      from lets_plot import *
      from lets_plot.geo_data import *
      LetsPlot.setup_html()
      countries = geocode_countries(['Germany', 'Poland']).inc_res().get_boundaries()
      display(countries)
      ggplot() + geom_map(aes(fill='found name'), data=countries, color='white')
docstr_tok: ["Return","boundaries","for","given","regions","in","the","form","of","`","GeoDataFrame","`",".","Parameters","--","--","--","--","--","resolution",":","int","or","str","Boundaries","resolution",".","Returns","--","--","--","-","`","GeoDataFrame","`","Table","of","data",".","Notes","--","--","-","If","`","resolution","`","has","int","type",",","it","may","take","one","of","the","following","values",":","-","1-3","for","world","scale","view",",","-","4-6","for","country","scale","view",",","-","7-9","for","state","scale","view",",","-","10-12","for","county","scale","view",",","-","13-15","for","city","scale","view",".","Here","value","1","corresponds","to","maximum","performance","and","15","-","to","maximum","quality",".","If","`","resolution","`","is","of","str","type",",","it","may","take","one","of","the","following","values",":","-","'world","'","corresponds","to","int","value","2",",","-","'country","'","corresponds","to","int","value","5",",","-","'state","'","corresponds","to","int","value","8",",","-","'county","'","corresponds","to","int","value","11",",","-","'city","'","corresponds","to","int","value","14",".","Here","value","'world","'","corresponds","to","maximum","performance","and","'city","'","-","to","maximum","quality",".","The","resolution","choice","depends","on","the","type","of","displayed","area",".","The","number","of","objects","also","matters",":","one","state","looks","good","on","a","'state","'","scale","while","50","states","is","a","'country","'","view",".","It","is","allowed","to","use","any","resolution","for","all","regions",".","For","example",",","'city","'","scale","can","be","used","for","a","state","to","get","a","more","detailed","boundary","when","zooming","in",",","or","'world","'","for","a","small","preview",".","If","`","resolution","`","is","not","specified","(","or","equal","to","None",")",",","it","will","be","auto-detected",".","Auto-detection","by","level_kind","is","used","for","geocoding","and","the","number","of","objects",".","In","this","case","performance","is","preferred","over","quality",".","The","pixelated","geometries","can","be","obtained",".","Use","explicit","resolution","or","`","inc_res","(",")","`","function","for","better","quality",".","If","the","number","of","objects","is","equal","to","n",",","then","`","resolution","`","will","be","the","following",":","-","For","countries",":","if","n","<","3","then","`","resolution=3","`",",","else","`","resolution=1","`",".","-","For","states",":","if","n","<","3","then","`","resolution=7","`",",","if","n","<","10","then","`","resolution=4","`",",","else","`","resolution=2","`",".","-","For","counties",":","if","n","<","5","then","`","resolution=10","`",",","if","n","<","20","then","`","resolution=8","`",",","else","`","resolution=3","`",".","-","For","cities",":","if","n","<","5","then","`","resolution=13","`",",","if","n","<","50","then","`","resolution=4","`",",","else","`","resolution=3","`",".","Examples","--","--","--","--","..","jupyter-execute",":",":",":","linenos",":",":","emphasize-lines",":","5","from","IPython.display","import","display","from","lets_plot","import","*","from","lets_plot.geo_data","import","*","LetsPlot.setup_html","(",")","countries","=","geocode_countries","(","[","'Germany","'",",","'Poland","'","]",")",".inc_res","(",")",".get_boundaries","(",")","display","(","countries",")","ggplot","(",")","+","geom_map","(","aes","(","fill='found","name","'",")",",","data=countries",",","color='white","'",")"]
code: def get_boundaries(self, resolution=None) -> "GeoDataFrame":
      """
      Return boundaries for given regions in the form of `GeoDataFrame`.
  
      Parameters
      ----------
      resolution : int or str
          Boundaries resolution.
  
      Returns
      -------
      `GeoDataFrame`
          Table of data.
  
      Notes
      -----
      If `resolution` has int type, it may take one of the following values:
  
      - 1-3 for world scale view,
      - 4-6 for country scale view,
      - 7-9 for state scale view,
      - 10-12 for county scale view,
      - 13-15 for city scale view.
  
      Here value 1 corresponds to maximum performance and 15 - to maximum quality.
  
      If `resolution` is of str type, it may take one of the following values:
  
      - 'world' corresponds to int value 2,
      - 'country' corresponds to int value 5,
      - 'state' corresponds to int value 8,
      - 'county' corresponds to int value 11,
      - 'city' corresponds to int value 14.
  
      Here value 'world' corresponds to maximum performance and 'city' - to maximum quality.
  
      The resolution choice depends on the type of displayed area.
      The number of objects also matters: one state looks good on a 'state' scale
      while 50 states is a 'country' view.
  
      It is allowed to use any resolution for all regions.
      For example, 'city' scale can be used for a state to get a more detailed boundary
      when zooming in, or 'world' for a small preview.
  
      If `resolution` is not specified (or equal to None), it will be auto-detected.
      Auto-detection by level_kind is used for geocoding and the number of objects.
      In this case performance is preferred over quality.
      The pixelated geometries can be obtained.
      Use explicit resolution or `inc_res()` function for better quality.
  
      If the number of objects is equal to n, then `resolution` will be the following:
  
      - For countries: if n < 3 then `resolution=3`, else `resolution=1`.
      - For states: if n < 3 then `resolution=7`, if n < 10 then `resolution=4`, else `resolution=2`.
      - For counties: if n < 5 then `resolution=10`, if n < 20 then `resolution=8`, else `resolution=3`.
      - For cities: if n < 5 then `resolution=13`, if n < 50 then `resolution=4`, else `resolution=3`.
  
      Examples
      --------
      .. jupyter-execute::
          :linenos:
          :emphasize-lines: 5
  
          from IPython.display import display
          from lets_plot import *
          from lets_plot.geo_data import *
          LetsPlot.setup_html()
          countries = geocode_countries(['Germany', 'Poland']).inc_res().get_boundaries()
          display(countries)
          ggplot() + geom_map(aes(fill='found name'), data=countries, color='white')
  
      """
      return self._geocode().boundaries(resolution, self._inc_res)
  
imports: from collections import namedtuple
  from collections.abc import Iterable
  from typing import Union, List, Optional, Dict
  from pandas import Series
  from .geocodes import _to_level_kind, request_types, Geocodes, _raise_exception, _ensure_is_list
  from .gis.geocoding_service import GeocodingService
  from .gis.geometry import GeoRect, GeoPoint
  from .gis.request import RequestBuilder, GeocodingRequest, RequestKind, MapRegion, AmbiguityResolver, RegionQuery, LevelKind, IgnoringStrategyKind, PayloadKind, ReverseGeocodingRequest
  from .gis.response import Response, SuccessResponse
  from .type_assertion import assert_list_type
label_desc: Use image node_id 4 for calling the Geocoder obj's underlying member method code with example usage: obj.get_boundaries(resolution) and returns: self