
    (&h
                     @    d Z ddlZddlZddlZddlmZ d Zd Zd Z	dS )zBProvides multi-point element-wise operations such as ``contains``.    N)PreparedGeometryc                    t          j        |           t          j        |          }} | j        |j        k    rt          d          | j        t           j        k    r|                     t           j                  } |j        t           j        k    r|                    t           j                  }t          j        | |          S )Nz"X and Y shapes must be equivalent.)	np
asanyarrayshape
ValueErrordtypefloat64astypeshapelypoints)xys     V/var/www/html/reinick/venv/lib/python3.11/site-packages/shapely/vectorized/__init__.py_construct_pointsr      s    =R]1--qAw!'=>>>w"*HHRZ  w"*HHRZ  >!Q    c                     t          j        dt          d           t          | t                    r| j        } t          j        |            t          j        | ||          S )ad  Check whether multiple points are contained by a single geometry.

    Vectorized (element-wise) version of `contains`.

    Parameters
    ----------
    geometry : PreparedGeometry or subclass of BaseGeometry
        The geometry which is to be checked to see whether each point is
        contained within. The geometry will be "prepared" if it is not already
        a PreparedGeometry instance.
    x : array
        The x coordinates of the points to check.
    y : array
        The y coordinates of the points to check.

    Returns
    -------
    Mask of points contained by the given `geometry`.

    zThe 'shapely.vectorized.contains' function is deprecated and will be removed a future version. Use 'shapely.contains_xy' instead (available since shapely 2.0.0).   
stacklevel)	warningswarnDeprecationWarning
isinstancer   contextr   preparecontains_xy)geometryr   r   s      r   containsr      sl    * M	  	    (,-- $#OHxA...r   c                     t          j        dt          d           t          | t                    r| j        } | j        }t          j        |           t          j	        |||          S )aw  Check whether multiple points touch the exterior of a single geometry.

    Vectorized (element-wise) version of `touches`.

    Parameters
    ----------
    geometry : PreparedGeometry or subclass of BaseGeometry
        The geometry which is to be checked to see whether each point is
        contained within. The geometry will be "prepared" if it is not already
        a PreparedGeometry instance.
    x : array
        The x coordinates of the points to check.
    y : array
        The y coordinates of the points to check.

    Returns
    -------
    Mask of points which touch the exterior of the given `geometry`.

    zThe 'shapely.vectorized.touches' function is deprecated and will be removed a future version. Use 'shapely.intersects_xy(geometry.boundary, x, y)' instead (available since shapely 2.0.0).r   r   )
r   r   r   r   r   r   boundaryr   r   intersects_xy)r   r   r   r!   s       r   touchesr#   :   st    * M	4 	    (,-- $# HOH 1a000r   )
__doc__r   numpyr   r   shapely.preparedr   r   r   r#    r   r   <module>r(      ss    H H       - - - - - -
  
  
 / / /D!1 !1 !1 !1 !1r   