class_docstr: A query-only R-tree spatial index created using the
  Sort-Tile-Recursive (STR) [1]_ algorithm.
  
  The tree indexes the bounding boxes of each geometry.  The tree is
  constructed directly at initialization and nodes cannot be added or
  removed after it has been created.
  
  All operations return indices of the input geometries.  These indices
  can be used to index into anything associated with the input geometries,
  including the input geometries themselves, or custom items stored in
  another object of the same length as the geometries.
  
  Bounding boxes limited to two dimensions and are axis-aligned (equivalent to
  the ``bounds`` property of a geometry); any Z values present in geometries
  are ignored for purposes of indexing within the tree.
  
  Any mixture of geometry types may be stored in the tree.
  
  Note: the tree is more efficient for querying when there are fewer
  geometries that have overlapping bounding boxes and where there is greater
  similarity between the outer boundary of a geometry and its bounding box.
  For example, a MultiPolygon composed of widely-spaced individual Polygons
  will have a large overall bounding box compared to the boundaries of its
  individual Polygons, and the bounding box may also potentially overlap many
  other geometries within the tree.  This means that the resulting tree may be
  less efficient to query than a tree constructed from individual Polygons.
  
  Parameters
  ----------
  geoms : sequence
      A sequence of geometry objects.
  node_capacity : int, default 10
      The maximum number of child nodes per parent node in the tree.
  
  References
  ----------
  .. [1] Leutenegger, Scott T.; Edgington, Jeffrey M.; Lopez, Mario A.
     (February 1997). "STR: A Simple and Efficient Algorithm for
     R-Tree Packing".
     https://ia600900.us.archive.org/27/items/nasa_techdoc_19970016975/19970016975.pdf
class_docstr_tok: ["A","query-only","R-tree","spatial","index","created","using","the","Sort-Tile-Recursive","(","STR",")","[","1","]","_","algorithm",".","The","tree","indexes","the","bounding","boxes","of","each","geometry",".","The","tree","is","constructed","directly","at","initialization","and","nodes","can","not","be","added","or","removed","after","it","has","been","created",".","All","operations","return","indices","of","the","input","geometries",".","These","indices","can","be","used","to","index","into","anything","associated","with","the","input","geometries",",","including","the","input","geometries","themselves",",","or","custom","items","stored","in","another","object","of","the","same","length","as","the","geometries",".","Bounding","boxes","limited","to","two","dimensions","and","are","axis-aligned","(","equivalent","to","the","``","bounds","``","property","of","a","geometry",")",";","any","Z","values","present","in","geometries","are","ignored","for","purposes","of","indexing","within","the","tree",".","Any","mixture","of","geometry","types","may","be","stored","in","the","tree",".","Note",":","the","tree","is","more","efficient","for","querying","when","there","are","fewer","geometries","that","have","overlapping","bounding","boxes","and","where","there","is","greater","similarity","between","the","outer","boundary","of","a","geometry","and","its","bounding","box",".","For","example",",","a","MultiPolygon","composed","of","widely-spaced","individual","Polygons","will","have","a","large","overall","bounding","box","compared","to","the","boundaries","of","its","individual","Polygons",",","and","the","bounding","box","may","also","potentially","overlap","many","other","geometries","within","the","tree",".","This","means","that","the","resulting","tree","may","be","less","efficient","to","query","than","a","tree","constructed","from","individual","Polygons",".","Parameters","--","--","--","--","--","geoms",":","sequence","A","sequence","of","geometry","objects",".","node_capacity",":","int",",","default","10","The","maximum","number","of","child","nodes","per","parent","node","in","the","tree",".","References","--","--","--","--","--","..","[","1","]","Leutenegger",",","Scott","T.",";","Edgington",",","Jeffrey","M.",";","Lopez",",","Mario","A",".","(","February","1997",")",".","``","STR",":","A","Simple","and","Efficient","Algorithm","for","R-Tree","Packing","''",".","https",":","\/\/ia600900.us.archive.org\/27\/items\/nasa_techdoc_19970016975\/19970016975.pdf"]
code: def __init__(
      self,
      geoms: Iterable[BaseGeometry],
      node_capacity: int = 10,
  ):
      # Keep references to geoms in a copied array so that this array is not
      # modified while the tree depends on it remaining the same
      self._geometries = np.array(geoms, dtype=np.object_, copy=True)
  
      # initialize GEOS STRtree
      self._tree = lib.STRtree(self.geometries, node_capacity)
  
file_path: shapely/shapely/strtree.py
imports: from typing import Any, Iterable, Union
  import numpy
  from shapely import lib
  from shapely._enum import ParamEnum
  from shapely.decorators import UnsupportedGEOSVersionError
  from shapely.geometry.base import BaseGeometry
  from shapely.predicates import is_empty, is_missing
label_desc: Use image node_id 1 to create a new STRtree object  with example: obj = STRtree(geoms, node_capacity)