
    Og                     6    d Z ddlZddlZddlmZ d Zd Zd Zy)zBProvides multi-point element-wise operations such as ``contains``.    N)PreparedGeometryc                    t        j                  |       t        j                  |      }} | j                  |j                  k7  rt        d      | j                  t         j
                  k7  r| j                  t         j
                        } |j                  t         j
                  k7  r|j                  t         j
                        }t        j                  | |      S )Nz"X and Y shapes must be equivalent.)	np
asanyarrayshape
ValueErrordtypefloat64astypeshapelypoints)xys     `/var/www/html/public_html/myphp/venv/lib/python3.12/site-packages/shapely/vectorized/__init__.py_construct_pointsr   	   s    ==R]]1-qAww!''=>>ww"**HHRZZ ww"**HHRZZ >>!Q    c                     t        | t              r| j                  } t        j                  |        t        j
                  | ||      S )an  
    Vectorized (element-wise) version of `contains` which checks whether
    multiple points are contained by a single geometry.

    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`.

    )
isinstancer   contextr   preparecontains_xy)geometryr   r   s      r   containsr      s;    * (,-##OOHxA..r   c                     t        | t              r| j                  } | j                  }t	        j
                  |       t	        j                  |||      S )a  
    Vectorized (element-wise) version of `touches` which checks whether
    multiple points touch the exterior of a single geometry.

    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`.

    )r   r   r   boundaryr   r   intersects_xy)r   r   r   r   s       r   touchesr   1   sF    * (,-##  HOOH  1a00r   )	__doc__numpyr   r   shapely.preparedr   r   r   r    r   r   <module>r"      s     H   -
 /61r   