
    \i                         S SK rS SKrS SKJrJr  S SKJr  S SKJ	r	J
r
  S rS rS rS rS	 rS
 rS r " S S5      rS rS rS rS rg)    N)Pointgeos_version)CoordinateSequence)DimensionErrorUnsupportedGEOSVersionErrorc                  |   [        SS5      n U R                  S S  S/:X  d   eU R                  SL d   e[        SSS5      n U R                  S S  S/:X  d   eU R                  (       d   e[        5       n U R                  (       d   e[	        U R                  [
        5      (       d   eU R                  S S  / :X  d   eg )N      ?       @r	   r
   F      @r	   r
   r   )r   coordshas_zis_empty
isinstancer   ps    d/var/www/html/kml_chatgpt/mouzaenv/lib/python3.13/site-packages/shapely/tests/geometry/test_point.pytest_from_coordinatesr   	   s    c3A88A;:,&&&77e 	c3A88A;?++++77N7 	A:::ahh 2333388A;"    c                     [        S5      n U R                  S S  S/:X  d   e[        SS/5      n U R                  S S  S/:X  d   e[        S/5      n U R                  S S  S/:X  d   e[        SS//5      n U R                  S S  S/:X  d   e[        S5      n U R                  S S  S/:X  d   e[        / SQ5      n U R                  S S  S/:X  d   e[        S/5      n U R                  S S  S/:X  d   eg )Nr         @r   r   r   r         @r   r   r   s    r   test_from_sequencer      s   jA88A;:,&&&sCjA88A;:,&&& 	zlA88A;:,&&&SzlA88A;:,&&& 	oA88A;?++++oA88A;?++++ A88A;?++++r   c                      [        [        R                  " SS/5      5      n U R                  S S  S/:X  d   e[        [        R                  " / SQ5      5      n U R                  S S  S/:X  d   eg )Nr	   r
   r   r   r   nparrayr   r   s    r   test_from_numpyr"   1   s]    bhhSz"#A88A;:,&&&bhh'(A88A;?++++r   c                  `   [        [        R                  " S/5      [        R                  " S/5      5      n U R                  S S  S/:X  d   e[        [        R                  " S/5      [        R                  " S/5      [        R                  " S/5      5      n U R                  S S  S/:X  d   eg )Nr	   r
   r   r   r   r   r   s    r   test_from_numpy_xyr$   :   s     	bhhuorxx/A88A;:,&&&bhhuorxx#@A88A;?++++r   c                      [        SS5      n [        U 5      nUR                  S S  S/:X  d   e[        SSS5      n [        U 5      nUR                  S S  S/:X  d   eg )Nr   r   r   r   r   r   )r   qs     r   test_from_pointr'   E   s^    c3AaA88A;:,&&&c3AaA88A;?++++r   c                  X    S S 5       n [        U 5      nUR                  S S  S/:X  d   eg )Nc              3   $   #    U  H  ov   M     g 7f)N ).0coords     r   	<genexpr>&test_from_generator.<locals>.<genexpr>Q   s     
+lU5ls   )r   r   r   )genr   s     r   test_from_generatorr0   P   s-    
+l
+Cc
A88A;:,&&&r   c                     [         R                  " [        SS9   [        SSSS5        S S S 5        [         R                  " [        SS9   [        SS	/5        S S S 5        g ! , (       d  f       N>= f! , (       d  f       g = f)
Nztakes at most 3 arguments)match            z,takes only scalar or 1-size vector arguments)r4   r5   )   r6   )pytestraises	TypeErrorr   
ValueErrorr*   r   r   test_from_invalidr<   V   sg    	y(C	DaAq 
E 
H
 	vw 
 
	 
E	D
 
s   A!
A2!
A/2
B c                   &    \ rS rSrS rS rS rSrg)	TestPointa   c                 d   [        SS5      nUR                  S:X  d   e[        UR                  5      [        L d   eUR                  S:X  d   e[        UR                  5      [        L d   eUR
                  S S  S/:X  d   e[        U5      UR                  :X  d   eUR                  SL d   e[        R                  " [        5         UR                    S S S 5        [        S:  aA  UR                  SL d   e[        R                  " [        5         UR                    S S S 5        O/[        R                  " [         5         UR                    S S S 5        [        SSS5      nUR
                  S S  S/:X  d   e[        U5      UR                  :X  d   eUR                  SL d   eUR                  S:X  d   e[        UR                  5      [        L d   e[        S:  a@  UR                  SL d   e[        R                  " [        5         UR                    S S S 5        [        S	5      nUR                  S:X  d   eUR                  S
:X  d   e[#        UR
                  5      S:X  d   eUR
                  S   S	:X  d   e[        R                  " [$        5         UR
                  S     S S S 5        UR&                  S:X  d   eUR(                  SS	S.:X  d   eg ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N}= f)Nr	   r
   r   F)r5      r   r   r   Tr   r   )r   r   r3   )r   r   r   r   r   typecoordinates)r   xrC   floatyr   strwktr   r8   r9   r   zr   has_mmr   tuple
IndexErrorbounds__geo_interface__)selfr   s     r   
test_pointTestPoint.test_pointb   sv   #sOssczzACCyE!!!ssczzACCyE!!!xx{zl***1vww%]]>*CC +:%77e###~. /. :; < #sC xx{////1vww$ssczzACCyE!!!:%77e###~. / *ssczzssczzQXX-///xx{j(((]]:&HHQK ' xx//// ""wz&RRRRK +* /. <; /. '&s<   	KK,K>LL!
K),
K;>
L
L!
L/c                     [        5       nUR                  S:X  d   eUR                  S S  / :X  d   eUR                  S:X  d   eUR                  SSS.:X  d   eg )NzPOINT EMPTY        r   r*   rB   )r   rI   r   arearP   )rQ   p_nulls     r   test_point_emptyTestPoint.test_point_empty   s]    zz]***}}Q2%%%{{c!!!''GB+OOOOr   c                     [        SSS5      nUR                  S   nUS:X  d   e[        R                  " U5      nUR                  S:X  d   eUR
                  S:X  d   eUR                  S:X  d   eg )NrU   r	   r   )rU   rU   r	   r3   r5   )r5   )r   r   r    asarrayndimsizeshape)rQ   r   r   as       r   test_coordsTestPoint.test_coords   sk    #sC !((( JJvvv{{vv{{ww$r   r*   N)__name__
__module____qualname____firstlineno__rR   rX   r`   __static_attributes__r*   r   r   r>   r>   a   s    /SbP
r   r>   c                     [        SS5      n [        R                  " [        5         SU l        S S S 5        [        R                  " [
        5         SU R                  S'   S S S 5        g ! , (       d  f       NA= f! , (       d  f       g = f)Nr   r   )r
   r	   r   )r   r8   r9   AttributeErrorr   r:   r   s    r   test_point_immutableri      sZ    c3A	~	& 
' 
y	!  
"	! 
'	& 
"	!s   A*A;*
A8;
B	c                     [        SS5      n [        R                  " U 5      nUR                  S:X  d   eUR                  S:X  d   eUR
                  [        R
                  " S5      :X  d   eUR                  5       U :X  d   eg )Nr   r   r   r3   object)r   r    r!   r\   r]   dtypeitem)r   arrs     r   test_point_array_coercionro      sg    c3A
((1+C88q==88q==99****88:??r   c                  |    [        5       n [        R                  " U R                  5      nUR                  S:X  d   eg )N)r   r4   )r   r    r[   r   r^   )per_   s     r   test_numpy_empty_point_coordsrr      s/    	B 	

299A77fr   c                  t    [        SS5      n [        R                  " S[        5      nU /US S & US   U :X  d   eg )Nr   r   r3   r   )r   r    emptyrk   )geomars     r   test_numpy_object_arrayrw      s8    c?D	!V	BFBqEa5D==r   )numpyr    r8   shapelyr   r   shapely.coordsr   shapely.errorsr   r   r   r   r"   r$   r'   r0   r<   r>   ri   ro   rr   rw   r*   r   r   <module>r|      sX      ' - F$,,,,,'!E EP!r   