
    \i$                        S SK rS SKrS SKrS SKJrJrJrJrJr  S SK	J
r
JrJrJr  \R                  " \
\-   5      \R                  " \
\-   5      )    r\R"                  R%                  S\
\-   5      S 5       r\R"                  R%                  S\ V s/ s H  o \R)                  U S 5      4PM     sn \" SS	/5      \" SS
/5      4\" SS	/5      \" SS/5      4\" SS	/5      \" S	S/5      4\" SS	/5      \" / SQ5      4\" SS	/5      \" / SQ5      4\" S	S/SS//5      \" SS/S	S//5      4\R*                  " \R,                  " S5      \R,                  " S5      \R"                  R/                  \R0                  S:  SS9S9\R*                  " \R,                  " S5      \R,                  " S5      \R"                  R/                  \R0                  S:  SS9S9/-   5      S 5       r\" 5          \" SS\R4                  4/5      \" SS\R4                  4/5      4\" S\R4                  \R4                  4/5      \" S\R4                  \R4                  4/5      4\" \R4                  S4S/5      \" \R4                  S4S/5      4\" S \R4                  4S/5      \" S \R4                  4S/5      4\" \R4                  \R4                  4\R4                  \R4                  4/5      \" \R4                  \R4                  4\R4                  \R4                  4/5      4\" SSS\R4                  4/5      \" SSS\R4                  4/5      4/rSSS5        \R"                  R%                  S\5      S 5       r\" 5          \" S S\R4                  4SS\R4                  4/5      \" S S\R4                  4SS\R4                  4/5      4\" S S\R4                  4S /5      \" S S\R4                  4S /5      4/rSSS5        \R"                  R%                  S\5      S! 5       r\" 5          \" S \R4                  4S/5      \" SS/5      4\" SS\R4                  4/5      \" SS/5      4\" S S\R4                  4S /5      \" SS /5      4\" SSS\R4                  4/5      \" SS /5      4\R*                  " \R,                  " S5      \R,                  " S"5      \R"                  R/                  \R0                  S:  SS9S9\R*                  " \R,                  " S5      \R,                  " S#5      \R"                  R/                  \R0                  S:  SS9S9/rSSS5        \R"                  R%                  S\5      S$ 5       r S% r!S& r"S' r#S( r$\R"                  R%                  S\
5      S) 5       r%S* r&\R"                  R%                  S\
\RN                  " \R4                  \R4                  5      \4-   5      S+ 5       r(\R"                  R%                  S\5      S, 5       r)gs  sn f ! , (       d  f       GN= f! , (       d  f       GNF= f! , (       d  f       N= f)-    N)
LinearRing
LineStringMultiLineStringPointPolygon)	all_typesall_types_zempty_pointignore_invalidgeomc                    X :X  d   e[         R                  " U S SS9n[         R                  S:  aM  [        U [        5      (       a8  U R
                  (       a'  U R                  (       d  [         R                  " U 5      nX:X  d   eX:w  a   eg )Nc                     U $ N xs    g/var/www/html/kml_chatgpt/mouzaenv/lib/python3.13/site-packages/shapely/tests/geometry/test_equality.py<lambda>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"      sv    <<##D+FKy(tU##MM

 &&t,#$$#r   zleft, rightc                     U S-   $ N   r   r   s    r   r   r   !   s    a!er   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                      X:w  d   eX:X  a   eg r   r   leftrights     r   test_equality_falser2      s    H ==r   r   r%   r(   r%   )r(   r   )r   r%   r(   r   c                      X:X  d   eX:w  a   eg r   r   r/   s     r   test_equality_with_nanr5   d       ==r   r(   r      c                      X:X  d   eX:w  a   eg r   r   r/   s     r   test_equality_with_nan_zr:   w   r6   r   zPOINT M (0 0 NaN)zPOINT ZM (0 0 0 NaN)c                     X:w  d   eg r   r   r/   s     r   test_equality_with_nan_falser<      s    ==r   c                  j   [        5          [        SS[        R                  4SS[        R                  4/5      n [        SS[        R                  4S/5      nS S S 5        [        R
                  S:  a	  W W:w  d   eg [        R
                  S:  a	  W W:X  d   eg W W:w  d   eg ! , (       d  f       NQ= f)Nr   r%   r(   r   r7   )r   
   r   r*   )r   r   npnanr   r   r/   s     r   test_equality_with_nan_z_falserA      s    		Aq"&&>Aq"&&>:;Q266NI67 
 j(u}}			
	* u}}u}} 
	s   AB$$
B2c                      [        SS5      n [        SSS5      nX:w  d   e[        SS[        R                  5      n[        R                  S:  a  X:X  d   eg X:w  d   eg )Nr   r%   r*   )r   r?   r@   r   r   geom1geom2s     r   test_equality_zrF      s\    !QKE!QNE>> !QEj( ~~~~r   c                      [        / SQ5      n [        / SQ5      n[        / SQ5      nX:w  d   eX:w  d   eX:w  d   e[        R                  " S5      n [        R                  " S5      nX:w  d   eg )N)r&   r'   r3   r&   zPOINT EMPTYzLINESTRING EMPTY)r   r   r   r   from_wkt)rD   rE   geom3s      r   test_equality_exact_typerJ      sn    78E78E45E>>>>>> ]+E/0E>>r   c                  6   [         R                  " S5      n [         R                  " S5      nX:w  d   e[         R                  " S5      n [         R                  " S5      nX:w  d   e[         R                  " S5      n [         R                  " S5      nX:w  d   eg )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   rH   rC   s     r   test_equality_polygonrL      s    FGEFGE>> GE 	 E >> 	 E 	 E >>r   c                 L   U R                  S5      [        L d   e[        R                  " X /[        S9nX:H  n[        U[        R                  5      (       d   eUR                  5       (       d   eX:H  n[        U[        R                  5      (       d   eUR                  5       (       d   eX:g  n[        U[        R                  5      (       d   eUR                  5       (       a   eX:g  n[        U[        R                  5      (       d   eUR                  5       (       a   eg )Nr%   )dtype)	__eq__NotImplementedr?   arrayobjectr   ndarrayallany)r   arrresults      r   test_comparison_notimplementedrX      s     ;;q>^+++ ((D<v
.C[Ffbjj))))::<<<[Ffbjj))))::<<<[Ffbjj))))zz||[Ffbjj))))zz|||r   c                     [        SS5      n [        SS5      n[        R                  " [        SS9   X:  d   e S S S 5        [        R                  " [        SS9   X:  d   e S S S 5        [        R                  " [        SS9   X:  d   e S S S 5        [        R                  " [        SS9   X::  d   e S S S 5        g ! , (       d  f       N= f! , (       d  f       Nt= f! , (       d  f       N[= f! , (       d  f       g = f)Nr%   r(   znot supported between instances)match)r   pytestraises	TypeErrorrC   s     r   test_comparison_not_supportedr^      s    !QKE!QKE	y(I	J}} 
K 
y(I	J}} 
K 
y(I	J~~ 
K 
y(I	J~~ 
K	J 
K	J 
K	J 
K	J 
K	Js/   CCC$0C5
C
C!$
C25
Dc                 t    [        U 5      n[        [        R                  " U S 5      5      nX:X  d   U 5       eg )Nc                     U $ r   r   r   s    r   r   &test_hash_same_equal.<locals>.<lambda>  s    1r   hashr   r   )r   hash1hash2s      r   test_hash_same_equalrf     s3     JE""456E>4>r   c                 d    [        U 5      [        [        R                  " U S 5      5      :w  d   eg )Nc                     U S-   $ r$   r   r   s    r   r   *test_hash_same_not_equal.<locals>.<lambda>  s    Ar   rb   r   s    r   test_hash_same_not_equalrk     s&    :g//oFGGGGr   )*numpyr?   r[   r   r   r   r   r   r   shapely.tests.commonr   r	   r
   r   rQ   r   all_non_empty_typesmarkparametrizer"   r   paramrH   skipifr   r2   r@   cases1r5   cases2r:   cases3r<   rA   rF   rJ   rL   rX   r^   pointsrf   rk   rj   s   0r   <module>rw      s      K K T Thhy;67i+-..  [!89% :% BUVBU$GdO45BUV 
VV$	%z662B'CD	VV$	%z6>2J'KL	VV$	%z662B'CD	VV$	%z2J'KL	VV$	%z2N'OP ff-/?@Aff-/?@A	

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

 Arvv	23Arvv	23	
	F  / 0
 	a[&)	*J7G,HI	Va[)	*J7G,HI	aBFF^Y/	0*i=S2TU	YArvv/	0*i=S2TU./01++$$$$z1- % 	
 	1234++$$$$z1- % 	
F . / 0  8 + ,6" 
I7EE   !45H 6Hu WJ H & s-   X
-EX9A7X/!D-Y
X,/
X>
Y