
    (&h$                        d dl Zd dlZd dlZd dlmZmZmZmZmZ d dl	m
Z
mZmZmZ  ej        e
ez              ej        e
ez                       Zej                            de
ez             d             Zej                            dd eD              edd	g           edd
g          f edd	g           eddg          f edd	g           ed	dg          f edd	g           eg d          f edd	g           eg d          f ed	dgddgg           eddgd	dgg          f ej         ej        d           ej        d          ej                            ej        dk     d                     ej         ej        d           ej        d          ej                            ej        dk     d                    gz             d             Z e            5   eddej        fg           eddej        fg          f edej        ej        fg           edej        ej        fg          f eej        dfdg           eej        dfdg          f ed ej        fdg           ed ej        fdg          f eej        ej        fej        ej        fg           eej        ej        fej        ej        fg          f edddej        fg           edddej        fg          fgZddd           n# 1 swxY w Y   ej                            de          d             Z e            5   ed dej        fddej        fg           ed dej        fddej        fg          f ed dej        fd g           ed dej        fd g          fgZddd           n# 1 swxY w Y   ej                            de          d!             Z e            5   ed ej        fdg           eddg          f eddej        fg           eddg          f ed dej        fd g           edd g          f edddej        fg           edd g          f ej         ej        d           ej        d"          ej                            ej        dk     d                     ej         ej        d           ej        d#          ej                            ej        dk     d                    gZddd           n# 1 swxY w Y   ej                            de          d$             Zd% Z d& Z!d' Z"d( Z#ej                            de
          d)             Z$d* Z%ej                            de
 ej&        ej        ej                  efz             d+             Z'ej                            de          d,             Z(dS )-    N)
LinearRing
LineStringMultiLineStringPointPolygon)	all_typesall_types_zempty_pointignore_invalidgeomc                     | | k    sJ t          j        | d d          }t           j        dk     r7t          | t                    r"| j        r| j        st          j        |           }| |k    sJ | |k    rJ d S )Nc                     | S N xs    _/var/www/html/reinick/venv/lib/python3.11/site-packages/shapely/tests/geometry/test_equality.py<lambda>ztest_equality.<locals>.<lambda>   s    A     T)	include_z)   	   r   )shapely	transformgeos_version
isinstancer   is_emptyhas_zforce_2d)r   transformeds     r   test_equalityr!      s    4<<<<#D++FFFKy((tU## 	)M 	) 
 	) &t,,;######r   zleft, rightc                 >    g | ]}|t          j        |d            fS )c                     | dz   S N   r   r   s    r   r   z<listcomp>.<lambda>!   s
    a!e r   )r   r   ).0r   s     r   
<listcomp>r'   !   s,    VVV$dGdOO445VVVr   r   r   r%   r%   )r%      )r%   g    ?)r(   r)   r)   )r(   )      ?r+   r)   )r*   r*   )r   r   zPOINT M (0 0 0)zPOINT M (0 0 1)r      r   zGEOS < 3.12)reason)markszPOINT ZM (0 0 0 0)zPOINT ZM (0 0 0 1)c                 &    | |k    sJ | |k    rJ d S r   r   leftrights     r   test_equality_falser4      s#    H 5====r   r   r%   r*   r%   )r*   r   )r   r%   r*   r   c                 &    | |k    sJ | |k    rJ d S r   r   r1   s     r   test_equality_with_nanr7   d        5====r   r*   r      c                 &    | |k    sJ | |k    rJ d S r   r   r1   s     r   test_equality_with_nan_zr<   w   r8   r   zPOINT M (0 0 NaN)zPOINT ZM (0 0 0 NaN)c                     | |k    sJ d S r   r   r1   s     r   test_equality_with_nan_falser>      s    5======r   c                  \   t                      5  t          ddt          j        fddt          j        fg          } t          ddt          j        fdg          }d d d            n# 1 swxY w Y   t          j        dk     r
| |k    sJ d S t          j        dk     r
| |k    sJ d S | |k    sJ d S )Nr   r%   r*   r   r9   )r   
   r   r,   )r   r   npnanr   r   r1   s     r   test_equality_with_nan_z_falserC      s    			 8 8Aq"&>Aq"&>:;;Q26NI6778 8 8 8 8 8 8 8 8 8 8 8 8 8 8 j((u}}}}}}		
	*	* u}}}}}}u}}}}}}s   A
A%%A),A)c                      t          dd          } t          ddd          }| |k    sJ t          ddt          j                  }t          j        dk     r
| |k    sJ d S | |k    sJ d S )Nr   r%   r,   )r   rA   rB   r   r   geom1geom2s     r   test_equality_zrH      sr    !QKKE!QNNEE>>>> !QEj(( ~~~~~~~~~~~~r   c                      t          g d          } t          g d          }t          g d          }| |k    sJ | |k    sJ ||k    sJ t          j        d          } t          j        d          }| |k    sJ d S )N)r(   r)   r5   r(   zPOINT EMPTYzLINESTRING EMPTY)r   r   r   r   from_wkt)rF   rG   geom3s      r   test_equality_exact_typerL      s    77788E77788E44455EE>>>>E>>>>E>>>> ]++E/00EE>>>>>>r   c                  &   t          j        d          } t          j        d          }| |k    sJ t          j        d          } t          j        d          }| |k    sJ t          j        d          } t          j        d          }| |k    sJ d S )Nz'POLYGON ((0 0, 10 0, 10 10, 0 10, 0 0))z'POLYGON ((0 0, 10 0, 10 10, 0 15, 0 0))z=POLYGON ((0 0, 10 0, 10 10, 0 10, 0 0), (1 1, 2 1, 2 2, 1 1))zSPOLYGON ((0 0, 10 0, 10 10, 0 10, 0 0), (1 1, 2 1, 2 2, 1 1), (3 3, 4 3, 4 4, 3 3))zSPOLYGON ((0 0, 10 0, 10 10, 0 10, 0 0), (3 3, 4 3, 4 4, 3 3), (1 1, 2 1, 2 2, 1 1)))r   rJ   rE   s     r   test_equality_polygonrN      s    FGGEFGGEE>>>> G E 	  E E>>>> 	  E 	  E E>>>>>>r   c                 <   |                      d          t          u sJ t          j        | | gt                    }|| k    }t          |t          j                  sJ |                                sJ | |k    }t          |t          j                  sJ |                                sJ || k    }t          |t          j                  sJ |                                rJ | |k    }t          |t          j                  sJ |                                rJ d S )Nr%   )dtype)	__eq__NotImplementedrA   arrayobjectr   ndarrayallany)r   arrresults      r   test_comparison_notimplementedrZ      s    ;;q>>^++++ (D$<v
.
.
.CD[Ffbj)))))::<<S[Ffbj)))))::<<D[Ffbj)))))zz||S[Ffbj)))))zz||r   c                  (   t          dd          } t          dd          }t          j        t          d          5  | |k    sJ 	 d d d            n# 1 swxY w Y   t          j        t          d          5  | |k     sJ 	 d d d            n# 1 swxY w Y   t          j        t          d          5  | |k    sJ 	 d d d            n# 1 swxY w Y   t          j        t          d          5  | |k    sJ 	 d d d            d S # 1 swxY w Y   d S )Nr%   r*   znot supported between instances)match)r   pytestraises	TypeErrorrE   s     r   test_comparison_not_supportedr`      s   !QKKE!QKKE	y(I	J	J	J  u}}}}}               
y(I	J	J	J  u}}}}}               
y(I	J	J	J  ~~~~~               
y(I	J	J	J  ~~~~~                 sG   	AAA8	BBB4	C

CC0	DDDc                     t          |           }t          t          j        | d                     }||k    s
J |             d S )Nc                     | S r   r   r   s    r   r   z&test_hash_same_equal.<locals>.<lambda>  s    1 r   hashr   r   )r   hash1hash2s      r   test_hash_same_equalrg     sB     JJE"45566EE>>>4>>>>>r   c                 r    t          |           t          t          j        | d                     k    sJ d S )Nc                     | dz   S r$   r   r   s    r   r   z*test_hash_same_not_equal.<locals>.<lambda>  s
    A r   rc   )r   s    r   test_hash_same_not_equalrj     s6    ::g/ooFFGGGGGGGGr   ))numpyrA   r]   r   r   r   r   r   r   shapely.tests.commonr   r	   r
   r   rS   r   all_non_empty_typesmarkparametrizer!   paramrJ   skipifr   r4   rB   cases1r7   cases2r<   cases3r>   rC   rH   rL   rN   rZ   r`   pointsrg   rj   r   r   r   <module>rv      s	         K K K K K K K K K K K K K K T T T T T T T T T T T Tbhy;677Wi+-...  [!899% % :9% VVBUVVV 
VV$	%	%zz662B'C'CD	VV$	%	%zz6>2J'K'KL	VV$	%	%zz662B'C'CD	VV$	%	%zz2J2J2J'K'KL	VV$	%	%zz2N2N2N'O'OP Off-/?@AAOff-/?@AA	

 	G.//G.//+$$$z1- %  	
 	
 	
 	G122G122+$$$z1- %  	
 	
 	
-" "F G" "F
 ^  	Va[)	*	*JJBF7L,M,MNJ 0122J 0122	
 
bfa[&)	*	*JJV7L,M,MN	a[&)	*	*JJBFV7L,M,MNJ(2626*:;<<J(2626*:;<<	
 J	Aq"&>233J	Aq"&>233	
%F              < //  0/
 ^ 
 
 JArvArv788JArvArv788	

 JArv	233JArv	233	
	F
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 //  0/
 ^  	a[&)	*	*JJ7G,H,HI	Va[)	*	*JJ7G,H,HI	aBF^Y/	0	0**i=S2T2TU	YArv/	0	0**i=S2T2TUG.//G011+$$$z1- %  	
 	
 	
 	G122G344+$$$z1- %  	
 	
 	
F              . //  0/          8 ++  ,+6  " 
I77EE       !455H H 65H H Hs9   4DLL"LA%OO	O	>D'T11T58T5