
    \i/	                     6    S r SSKJr  SSKr " S S5      rS rg)z.Support for GEOS prepared geometry operations.    PicklingErrorNc                   Z    \ rS rSrSrS rS rS rS rS r	S r
S	 rS
 rS rS rS rSrg)PreparedGeometry   a1  A geometry prepared for efficient comparison to a set of other geometries.

Examples
--------
>>> from shapely.prepared import prep
>>> from shapely.geometry import Point, Polygon
>>> triangle = Polygon([(0.0, 0.0), (1.0, 1.0), (1.0, -1.0)])
>>> p = prep(triangle)
>>> p.intersects(Point(0.5, 0.5))
True

c                     [        U[        5      (       a  UR                  U l        O[        R                  " U5        Xl        SU l        g)z@Prepare a geometry for efficient comparison to other geometries.TN)
isinstancer   contextshapelyprepareprepared)selfr
   s     S/var/www/html/kml_chatgpt/mouzaenv/lib/python3.13/site-packages/shapely/prepared.py__init__PreparedGeometry.__init__   s3    g/00"??DLOOG$"L    c                 8    U R                   R                  U5      $ )z;Return True if the geometry contains the other, else False.)r
   containsr   others     r   r   PreparedGeometry.contains       ||$$U++r   c                 8    U R                   R                  U5      $ )zDReturn True if the geometry properly contains the other, else False.)r
   contains_properlyr   s     r   r   "PreparedGeometry.contains_properly#   s    ||--e44r   c                 8    U R                   R                  U5      $ )z9Return True if the geometry covers the other, else False.)r
   coversr   s     r   r   PreparedGeometry.covers'       ||""5))r   c                 8    U R                   R                  U5      $ )z0Return True if the geometries cross, else False.)r
   crossesr   s     r   r!   PreparedGeometry.crosses+       ||##E**r   c                 8    U R                   R                  U5      $ )z3Return True if geometries are disjoint, else False.)r
   disjointr   s     r   r%   PreparedGeometry.disjoint/   r   r   c                 8    U R                   R                  U5      $ )z0Return True if geometries intersect, else False.)r
   
intersectsr   s     r   r(   PreparedGeometry.intersects3   s    ||&&u--r   c                 8    U R                   R                  U5      $ )z.Return True if geometries overlap, else False.)r
   overlapsr   s     r   r+   PreparedGeometry.overlaps7   r   r   c                 8    U R                   R                  U5      $ )z,Return True if geometries touch, else False.)r
   touchesr   s     r   r.   PreparedGeometry.touches;   r#   r   c                 8    U R                   R                  U5      $ )z8Return True if geometry is within the other, else False.)r
   withinr   s     r   r1   PreparedGeometry.within?   r   r   c                     [        S5      e)zPickling is not supported.z&Prepared geometries cannot be pickled.r   )r   s    r   
__reduce__PreparedGeometry.__reduce__C   s    DEEr   )r
   r   N)__name__
__module____qualname____firstlineno____doc__r   r   r   r   r!   r%   r(   r+   r.   r1   r4   __static_attributes__ r   r   r   r      s?    ,5*+,.,+*Fr   r   c                     [        U 5      $ )z.Create and return a prepared geometric object.)r   )obs    r   prepr?   H   s    Br   )r:   pickler   r   r   r?   r<   r   r   <module>rA      s     4   =F =F@ r   