class_docstr: The Path element represents one or more of path geometries with
  associated values. Each path geometry may be split into
  sub-geometries on NaN-values and may be associated with scalar
  values or array values varying along its length. In analogy to
  GEOS geometry types a Path is a collection of LineString and
  MultiLineString geometries with associated values.
  
  Like all other elements a Path may be defined through an
  extensible list of interfaces. Natively, HoloViews provides the
  MultiInterface which allows representing paths as lists of regular
  columnar data objects including arrays, dataframes and
  dictionaries of column arrays and scalars.
  
  The canonical representation is a list of dictionaries storing the
  x- and y-coordinates along with any other values:
  
      [{'x': 1d-array, 'y': 1d-array, 'value': scalar, 'continuous': 1d-array}, ...]
  
  Alternatively Path also supports a single columnar data-structure
  to specify an individual path:
  
      {'x': 1d-array, 'y': 1d-array, 'value': scalar, 'continuous': 1d-array}
  
  Both scalar values and values continuously varying along the
  geometries coordinates a Path may be used vary visual properties
  of the paths such as the color. Since not all formats allow
  storing scalar values as actual scalars, arrays that are the same
  length as the coordinates but have only one unique value are also
  considered scalar.
  
  The easiest way of accessing the individual geometries is using
  the `Path.split` method, which returns each path geometry as a
  separate entity, while the other methods assume a flattened
  representation where all paths are separated by NaN values.
class_docstr_tok: ["The","Path","element","represents","one","or","more","of","path","geometries","with","associated","values",".","Each","path","geometry","may","be","split","into","sub-geometries","on","NaN-values","and","may","be","associated","with","scalar","values","or","array","values","varying","along","its","length",".","In","analogy","to","GEOS","geometry","types","a","Path","is","a","collection","of","LineString","and","MultiLineString","geometries","with","associated","values",".","Like","all","other","elements","a","Path","may","be","defined","through","an","extensible","list","of","interfaces",".","Natively",",","HoloViews","provides","the","MultiInterface","which","allows","representing","paths","as","lists","of","regular","columnar","data","objects","including","arrays",",","dataframes","and","dictionaries","of","column","arrays","and","scalars",".","The","canonical","representation","is","a","list","of","dictionaries","storing","the","x-","and","y-coordinates","along","with","any","other","values",":","[","{","'","x","'",":","1d-array",",","'","y","'",":","1d-array",",","'value","'",":","scalar",",","'continuous","'",":","1d-array","}",",","...","]","Alternatively","Path","also","supports","a","single","columnar","data-structure","to","specify","an","individual","path",":","{","'","x","'",":","1d-array",",","'","y","'",":","1d-array",",","'value","'",":","scalar",",","'continuous","'",":","1d-array","}","Both","scalar","values","and","values","continuously","varying","along","the","geometries","coordinates","a","Path","may","be","used","vary","visual","properties","of","the","paths","such","as","the","color",".","Since","not","all","formats","allow","storing","scalar","values","as","actual","scalars",",","arrays","that","are","the","same","length","as","the","coordinates","but","have","only","one","unique","value","are","also","considered","scalar",".","The","easiest","way","of","accessing","the","individual","geometries","is","using","the","`","Path.split","`","method",",","which","returns","each","path","geometry","as","a","separate","entity",",","while","the","other","methods","assume","a","flattened","representation","where","all","paths","are","separated","by","NaN","values","."]
docstr: Applies selection by dimension name
  
  Applies a selection along the dimensions of the object using
  keyword arguments. The selection may be narrowed to certain
  objects using selection_specs. For container objects the
  selection will be applied to all children as well.
  
  Selections may select a specific value, slice or set of values:
  
  * value: Scalar values will select rows along with an exact
           match, e.g.:
  
      ds.select(x=3)
  
  * slice: Slices may be declared as tuples of the upper and
           lower bound, e.g.:
  
      ds.select(x=(0, 3))
  
  * values: A list of values may be selected using a list or
            set, e.g.:
  
      ds.select(x=[0, 1, 2])
  
  * predicate expression: A holoviews.dim expression, e.g.:
  
      from holoviews import dim
      ds.select(selection_expr=dim('x') % 2 == 0)
  
  Args:
      selection_expr: holoviews.dim predicate expression
          specifying selection.
      selection_specs: List of specs to match on
          A list of types, functions, or type[.group][.label]
          strings specifying which objects to apply the
          selection on.
      **selection: Dictionary declaring selections by dimension
          Selections can be scalar values, tuple ranges, lists
          of discrete values and boolean arrays
  
  Returns:
      Returns an Dimensioned object containing the selected data
      or a scalar if a single value was selected
docstr_tok: ["Applies","selection","by","dimension","name","Applies","a","selection","along","the","dimensions","of","the","object","using","keyword","arguments",".","The","selection","may","be","narrowed","to","certain","objects","using","selection_specs",".","For","container","objects","the","selection","will","be","applied","to","all","children","as","well",".","Selections","may","select","a","specific","value",",","slice","or","set","of","values",":","*","value",":","Scalar","values","will","select","rows","along","with","an","exact","match",",","e.g",".",":","ds.select","(","x=3",")","*","slice",":","Slices","may","be","declared","as","tuples","of","the","upper","and","lower","bound",",","e.g",".",":","ds.select","(","x=","(","0",",","3",")",")","*","values",":","A","list","of","values","may","be","selected","using","a","list","or","set",",","e.g",".",":","ds.select","(","x=","[","0",",","1",",","2","]",")","*","predicate","expression",":","A","holoviews.dim","expression",",","e.g",".",":","from","holoviews","import","dim","ds.select","(","selection_expr=dim","(","'","x","'",")","%","2","==","0",")","Args",":","selection_expr",":","holoviews.dim","predicate","expression","specifying","selection",".","selection_specs",":","List","of","specs","to","match","on","A","list","of","types",",","functions",",","or","type","[",".group","]","[",".label","]","strings","specifying","which","objects","to","apply","the","selection","on",".","*","*","selection",":","Dictionary","declaring","selections","by","dimension","Selections","can","be","scalar","values",",","tuple","ranges",",","lists","of","discrete","values","and","boolean","arrays","Returns",":","Returns","an","Dimensioned","object","containing","the","selected","data","or","a","scalar","if","a","single","value","was","selected"]
code: def select(
      self, selection_expr=None, selection_specs=None, **selection
  ):
      """Applies selection by dimension name
  
      Applies a selection along the dimensions of the object using
      keyword arguments. The selection may be narrowed to certain
      objects using selection_specs. For container objects the
      selection will be applied to all children as well.
  
      Selections may select a specific value, slice or set of values:
  
      * value: Scalar values will select rows along with an exact
               match, e.g.:
  
          ds.select(x=3)
  
      * slice: Slices may be declared as tuples of the upper and
               lower bound, e.g.:
  
          ds.select(x=(0, 3))
  
      * values: A list of values may be selected using a list or
                set, e.g.:
  
          ds.select(x=[0, 1, 2])
  
      * predicate expression: A holoviews.dim expression, e.g.:
  
          from holoviews import dim
          ds.select(selection_expr=dim('x') % 2 == 0)
  
      Args:
          selection_expr: holoviews.dim predicate expression
              specifying selection.
          selection_specs: List of specs to match on
              A list of types, functions, or type[.group][.label]
              strings specifying which objects to apply the
              selection on.
          **selection: Dictionary declaring selections by dimension
              Selections can be scalar values, tuple ranges, lists
              of discrete values and boolean arrays
  
      Returns:
          Returns an Dimensioned object containing the selected data
          or a scalar if a single value was selected
      """
      xdim, ydim = self.kdims[:2]
      x_range = selection.pop(xdim.name, None)
      y_range = selection.pop(ydim.name, None)
      sel = super().select(selection_expr, selection_specs, **selection)
      if x_range is None and y_range is None:
          return sel
      x_range = x_range if isinstance(x_range, slice) else slice(None)
      y_range = y_range if isinstance(y_range, slice) else slice(None)
      return sel[x_range, y_range]
  
imports: import numpy
  import param
  from ..core import Dataset
  from ..core.data import MultiInterface
  from ..core.dimension import Dimension
  from .geom import Geometry
  from .selection import SelectionPolyExpr
label_desc: Use image node_id 3 for calling the Path obj's underlying member method code with example usage: obj.select(selection_expr, selection_specs) and returns: sel, sel