
    \iH                        S SK rS SKrS SKJr  S SKrS SKJrJr  S SKJ	r	  S SK
JrJrJrJrJr  \R                   r\R$                  r\R(                  r\R,                  R/                  S\R                   \R$                  \R0                  /5      \R,                  R/                  S\R2                  " S5      \R2                  " S	5      \R2                  " S
5      S\R4                  " SS\S9/5      S 5       5       r\R,                  R/                  S\R:                  \R<                  \R>                  \R(                  /5      \R,                  R/                  S\R@                  " SS/\RB                  S9S\R@                  " \//5      S/5      S 5       5       r"\R,                  R/                  S\R                   \R$                  \R0                  /5      \R,                  R/                  S\/SS S/S//5      S 5       5       r#\R2                  " S\S9r$S\$RJ                  l&        \R,                  R/                  S\R                   \R$                  \R(                  /5      \R,                  R/                  S/ SQ\R2                  " S5      \$\R2                  " S\S9\R2                  " S\S9\R2                  " S\S9/5      S 5       5       r'S r(S  r)S! r*\R,                  R/                  S"S S/\\\S/4S S/\S\\/4SS/SS\\/4/5      S# 5       r+\R,                  R/                  S$SS/SS//S S /\" SS/SS//5      /4/ S%Q/ S&Q/S S /\" / S%Q/ S&Q/5      /4SS/SS/SS/SS/// S'Q\" SS/SS//5      \" SS/SS//5      /4/5      S( 5       r,S) r-\R,                  R/                  S"/ S*Q\\\S/4/ S+Q\S\\/4/ S,QSS\\/4/5      S- 5       r.\R,                  R/                  SSS/S\/" S.5      /SS///5      S/ 5       r0\R,                  R/                  S$SS/S\/" S.5      /SS/// S0Q\" SS/SS//5      /4/5      S1 5       r1S2 r2S3 r3S4 r4\R,                  R/                  SSS/SS/SS/SS//SS/SS/SS///5      S5 5       r5\R,                  R/                  SSS/SS//S\Rl                  /SS/SS/SS///5      S6 5       r7S7 r8\R,                  R/                  S"/ S8Q\SS\/4/ S9QS\S\/4/ S:QSSS\/4/5      S; 5       r9\R,                  R/                  S<SS/5      \R,                  R/                  S=S>S?/5      S@ 5       5       r:\R,                  R/                  SSS/SS/S\/" S.5      /SS///5      SA 5       r;\R,                  R/                  SSS/SS/SS/S\/" S.5      /SS//SS/SS/S\/" S.5      /SS//SS/SS/SS/SS/S\/" S.5      //S\/" S.5      /SS/SS/SS/SS//SS/SS/SS/S\/" S.5      //S\/" S.5      /SS/SS/SS///5      SB 5       r<SC r=SD r>SE r?\R0                  " / SFQ5      r@\R0                  " / SGQ5      rA\R                  " \5      rC\" 5       rD\R                  " \\@/SH9rE\R                  " \\A/SH9rF\R                  " \\@\A/SH9rG\R,                  R/                  SI\\/S S/\C\C/4S\/S S/\D\C/4S\SS// S'Q\C\D/4\\@\// SJQ\E\C/4\\\@// SKQ\C\E/4S\\\@// S'Q\C\E/4\S\\@// S'Q\C\E/4\S\\@// SLQ\C\E/4\\S\@// SLQ\C\E/4\\\@S// SLQ\C\E/4\\@\A\// SMQ\G\C/4\\@\\A// S'Q\E\F/4\\\@\A// SLQ\C\G/4\\@S\A\// SNQ\G\C/4\\@S\\A// SOQ\E\F/4\\@\S\A// SPQ\E\F/4/5      SQ 5       rH\R,                  R/                  S"S S/\C\C\S/4S S/\CS\\C/4SS/SS\C\C/4/5      SR 5       rI\R,                  R/                  S\R                  \R:                  \R<                  \R>                  \R(                  /5      \R,                  R/                  S\R@                  " \/5      SS S/S//5      SS 5       5       rJ\R,                  R/                  ST\\/S S /\" \\/5      /4\\/S S/\" \/5      \" \/5      /4\S/S S /\" \/5      /4\S/S S/\" \/5      \" / 5      /4S\SS// S'Q\" \/5      \" / 5      /4\S\// S0Q\" \\/5      /4/5      SU 5       rKSV rL\R,                  R/                  S"S S /\" \\/5      SS\/4SS/SSS\" \\/5      /4/5      SW 5       rMSX rNSY rOSZ rPS[ rQ\R,                  R/                  S\\/\R                  4\/\R                  4\/\R                  4\/\R:                  4\/\R:                  4\/\R<                  4\/\R<                  4\/\R>                  4\/\R>                  4/	5      S] 5       rRS^ rSS_ rTS` rUSa rVSb rWSc rXSd rYSe rZg)f    N)assert_array_equal)
LinearRingPolygon)assert_geometries_equal)empty_pointline_stringlinear_ringpointpolygonfunccoordinates)   )r         )r   r   )r   r   foodtypec                     [         R                  " [        [        45         U " USS/S9  S S S 5        g ! , (       d  f       g = fNr   r   indicespytestraises	TypeError
ValueError)r   r   s     f/var/www/html/kml_chatgpt/mouzaenv/lib/python3.13/site-packages/shapely/tests/test_creation_indices.pytest_invalid_coordinatesr      s/     
	:.	/[1a&) 
0	/	/	   
4
A
geometriesr   r   helloc                     [         R                  " [        [        45         U " USS/S9  S S S 5        g ! , (       d  f       g = fr   r   )r   r    s     r   test_invalid_geometriesr#   !   s/     
	:.	/Z!Q( 
0	/	/r   r   z helloc                     [         R                  " [        [        45         U " SS//US9  S S S 5        g ! , (       d  f       g = f)N皙?333333?r   r   r   r   s     r   test_invalid_indices_simpler)   2   s1    
 
	:.	/sCj\7+ 
0	/	/s	   5
A   Fout)NNNr*   r    c                 >   U [         R                  L a  SS/SS//nSS/nO<U [         R                  L a  SS/SS/SS/SS/SS	/S	S	//n/ S
QnO[        [        /nSS/n[
        R                  " [        [        45         U " X#US9  S S S 5        g ! , (       d  f       g = f)Nr&   r'   皙?g      ?r   r   r   r*   r   )r   r   r   r   r   r   r   r+   )	shapelypointslinestringsr
   r   r   r   r   r   )r   r+   xr   s       r   test_invalid_outr5   ?   s     w~~3Z#s$a&	$$	$VaVaVaVaVaV<$K a&		:.	/QS) 
0	/	/s   =B
Bc                      [         R                  " [        R                  5         [        R                  " SS/SS//SS/S9  S S S 5        g ! , (       d  f       g = fNr   r   r   r   )r   r   r1   GEOSExceptionr2   r-       r   test_points_invalidr:   [   s?    	w,,	-AA'!Q8 
.	-	-   A
Ac                      [         R                  " [        R                  " SS/SS//[        S9[        R                  " SS/[        R
                  S9S9n [        U [        [        /5        g )Nr   r*   r   r   r   r   )r1   r2   nparrayfloatintpr   r
   actuals    r   test_pointsrC   a   sQ    ^^
1a&1a&!/!Qrww/F FUEN3r9   c            	         [         R                  " [        5         [        R                  " [
        R                  " SS/SS//[        S9[
        R                  " SS/[
        R                  S9S9  S S S 5        g ! , (       d  f       g = f)Nr   r*   r   r   r   )	r   r   r   r1   r2   r=   r>   r?   r@   r-   r9   r   test_points_no_index_raisesrE   i   sW    	z	"HHq!fq!f%U3HHaV2773	
 
#	"	"s   AA::
Bzindices,expectedc                     [         R                  " S[        S9n[        US'   [        R
                  " SS/SS//U US9n[        X!5        X2L d   eg )Nr   r   r   r*   r0   )r=   emptyobjectr   r1   r2   r   r   expectedr+   rB   s       r   test_points_outrK   q   sU     ((1F
#CCF^^
Q!QF
 C*==r9   zcoordinates,indices,expected)r   r   r   )r   r   r   r   r   r   r   c                     [         R                  " [        R                  " U [        S9[        R                  " U[        R
                  S9S9n[        X25        g Nr   r   r1   r3   r=   r>   r?   r@   r   r   r   rJ   rB   s       r   test_linestringsrQ      s=       
E*BHHWBGG4TF F-r9   c                      [         R                  " [        R                  5         [        R                  " SS/SS//SS/S9  S S S 5        g ! , (       d  f       g = fr7   )r   r   r1   r8   r3   r-   r9   r   test_linestrings_invalidrS      sA    	w,,	-aVaV,q!f= 
.	-	-r;   )r   r   r   r   r   r   )r   r   r   r*   r*   r*   )r   r   r   r*   r*   r*   c                     [         R                  " S[        S9n[        US'   [        R
                  " / SQU US9n[        X!5        X2L d   eg )Nr   r   r   )r   r   r   r   r   r   rU   rV   rW   r0   )r=   rG   rH   r   r1   r3   r   rI   s       r   test_linestrings_outrX      sJ     ((1F
#CCF  8F
 C*==r9   nanc                     [         R                  " [        R                  " U [        S9[        R
                  " [        U 5      [        R                  S9S9n[        [         R                  " U5      U 5        g rN   )
r1   r3   r=   r>   r?   zeroslenr@   r   get_coordinatesr   rB   s     r   test_linestrings_allow_nanr_      P       
E*[)9F w..v6Dr9   r   r   r   c                     [         R                  " [        R                  " U [        S9[        R                  " U[        R
                  S9SS9n[        X25        g )Nr   skipr   
handle_nanrO   rP   s       r    test_linestrings_handle_nan_skiprf      sA       
E*0F
 F-r9   c                      [         R                  " [        R                  5         [        R                  " SS/S[        S5      //SS/SS9  S S S 5        g ! , (       d  f       g = f)Nr   r   rY   r   rc   rd   )r   r   r1   r8   r3   r?   r-   r9   r   (test_linestrings_handle_nan_skip_invalidrh      sK    	w,,	-Vau&'!QF	
 
.	-	-s   (A
A$c                      [         R                  " [        R                  " S[        R                  S9/ SQSS9n U S   R
                  (       d   eg )Nr,   
fill_valuera   rc   rd   r   )r1   r3   r=   fullrY   is_emptyrA   s    r   )test_linestrings_handle_nan_skip_only_nanrn      s=      
266*I&F !9r9   c                      [         R                  " [        SS9   [        R                  " SS/[        S5      S/SS/// SQSS9  S S S 5        g ! , (       d  f       g = f)	N.*NaN.*matchr   rY   r   ra   errorrd   )r   r   r   r1   r3   r?   r-   r9   r   !test_linestrings_handle_nan_errorrt      sI    	z	3VeElA&A/w	
 
4	3	3s   +A
Ac                    [         R                  " [        R                  " U [        R                  S9[        R
                  " [        U 5      [        R                  S9S9n[        U[         R                  " U 5      5        g rN   	r1   linearringsr=   r>   float64r[   r\   r@   r   r^   s     r   test_linearringsry      sT       
BJJ/[)9F FG$7$7$DEr9   c           	          [         R                  " [        R                  [        45         [        R
                  " U [        R                  " [        U 5      5      S9  S S S 5        g ! , (       d  f       g = fNr   )	r   r   r1   r8   r   rw   r=   r[   r\   )r   s    r   test_linearrings_invalidr|      sE     
--z:	;K#k:J1KL 
<	;	;s   3A''
A5c                      [         R                  " / SQ[        R                  " S5      S9n [	        U [        / SQ5      5        g )N)rU   rU   rU   r*   r   )rU   rU   rU   rU   )r1   rw   r=   r[   r   r   rA   s    r   *test_linearrings_unclosed_all_coords_equalr~      s-      !9288A;OFFJ/O$PQr9   r   r   r   r   r   )r   r   r   r   r   )r*   r*   r*   r*   r*   c                     [         R                  " S[        S9n[        US'   [        R
                  " / SQU US9n[        X!5        X2L d   eg )Nr   r   r*   )rU   rV   rW   )r   r   rU   r0   )r=   rG   rH   r   r1   rw   r   rI   s       r   test_linearrings_outr     sJ     ((1F
#CCF  0F
 C*==r9   dimorderCFc                    [         R                  R                  SSU 5      n[         R                  " UR	                  SU 5      US9n[         R
                  " [        S5      S5      n[        R                  " X4S9n[         R                  " X"S S 2S/S S 24   45      n[         R                  " UR	                  SU 5      US9n[         R
                  " [        S5      S5      n[        R                  " XgS9n[        XX5        g )	N
   r   (   )r   r   r   2      )r=   randomrandnasarrayreshaperepeatranger1   rw   hstackr   )	r   r   coordscoords1indices1result1coords2indices2result2s	            r   test_linearrings_bufferr     s     YY__RC(Fjj4EBGyyrA&H!!'<G iiA3	!234Gjj5UCGyyrA&H!!'<GG-r9   c                     [         R                  " [        R                  " U [        S9[        R
                  " [        U 5      [        R                  S9S9n[        [         R                  " U5      U 5        g rN   )
r1   rw   r=   r>   r?   r[   r\   r@   r   r]   r^   s     r   test_linearrings_allow_nanr   %  r`   r9   c                    [         R                  " [        R                  " U [        R                  S9[        R
                  " [        U 5      [        R                  S9SS9n[        U[         R                  " U SS95        g )Nr   rc   rd   )re   rv   r^   s     r    test_linearrings_handle_nan_skipr   3  sZ       
BJJ/[)9F
 FG$7$7PV$WXr9   c                      [         R                  " [        5         [        R                  " SS/[        S5      S/SS/// SQSS9  S S S 5        g ! , (       d  f       g = f)Nr   rY   ra   rc   rd   r   r   r   r1   rw   r?   r-   r9   r   (test_linearrings_handle_nan_skip_invalidr   G  sG    	z	"VeElA&A/v	
 
#	"	"s   +A
Ac                      [         R                  " [        R                  " S[        R                  S9S/S-  SS9n U S   R
                  (       d   eg )N)r   r   rj   r   r   rc   rd   )r1   rw   r=   rl   rY   rm   rA   s    r   )test_linearrings_handle_nan_skip_only_nanr   O  sC      
266*QC!GF !9r9   c            
          [         R                  " [        SS9   [        R                  " SS/SS/SS/S[        S5      /SS/// SQSS9  S S S 5        g ! , (       d  f       g = f)	Nrp   rq   r   r   rY   r   rs   rd   r   r-   r9   r   !test_linearrings_handle_nan_errorr   W  sW    	z	3VaVaVau%6A?#	
 
4	3	3s   1A
A"))r&   r&   )r&   r/   )r/   r/   ))333333?r   )r   皙?)r   r   )holeszrings,indices,expected)r   r   r   )r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   r   )r   r   r   r   r   )r   r   r   r   r   c                     [         R                  " [        R                  " U [        S9[        R                  " U[        R
                  S9S9n[        X25        g rN   )r1   polygonsr=   r>   rH   r@   r   )ringsr   rJ   rB   s       r   test_polygonsr   i  s>    \ 
f%rxxrww/OF F-r9   c                     [         R                  " S[        S9n[        US'   [        R
                  " [        [        /XS9n[        X!5        X2L d   eg )Nr   r   r   r0   )r=   rG   rH   r   r1   r   r	   r   rI   s       r   test_polygons_outr     sF     ((1F
#CCF{K8'SFC*==r9   c                     [         R                  " [        [        45         U " [        /US9  S S S 5        g ! , (       d  f       g = fr{   )r   r   r   r   r
   r(   s     r    test_invalid_indices_collectionsr     s-     
	:.	/eWg& 
0	/	/s	   7
Azgeometries,indices,expectedc                 r    [         R                  " [        R                  " U [        S9US9n[        X25        g rN   )r1   geometrycollectionsr=   r>   rH   r   )r    r   rJ   rB   s       r   test_geometrycollectionsr     s.     ((
6*GF F-r9   c                      [         R                  " [        5         [        R                  " [
        R                  " [        [        /[        S9SS/S9  S S S 5        g ! , (       d  f       g = f)Nr   r   r   r   )
r   r   r   r1   r   r=   r>   r
   r   rH   r-   r9   r   (test_geometrycollections_no_index_raisesr     sA    	z	"##HHe[)81a&	
 
#	"	"s   9A
A+c                     [         R                  " S[        S9n[        US'   [        R
                  " [        [        /XS9n[        X!5        X2L d   eg )Nr   r   r*   r0   )	r=   rG   rH   r   r1   r   r
   r   r   rI   s       r   test_geometrycollections_outr     sF     ((1F
#CCF((%)=wXFC*==r9   c                      [         R                  " [        R                  " [        /[
        S9[        R                  " S[        R                  S9S9n [        U [         R                  " [        /5      5        g Nr   r   r   )	r1   multipointsr=   r>   r
   rH   r[   r@   r   rA   s    r   test_multipointsr     sL      
%'!2771KF FG$7$7$@Ar9   c                      [         R                  " [        R                  " [        /[
        S9[        R                  " S[        R                  S9S9n [        U [         R                  " [        /5      5        g r   )	r1   multilinestringsr=   r>   r   rH   r[   r@   r   rA   s    r   test_multilinestringsr     L    %%
+f-rxx7QF FG$<$<k]$KLr9   c                      [         R                  " [        R                  " [        /[
        S9[        R                  " S[        R                  S9S9n [        U [         R                  " [        /5      5        g r   )	r1   r   r=   r>   r	   rH   r[   r@   r   rA   s    r   test_multilinearringsr     r   r9   c                      [         R                  " [        R                  " [        /[
        S9[        R                  " S[        R                  S9S9n [        U [         R                  " [        /5      5        g r   )	r1   multipolygonsr=   r>   r   rH   r[   r@   r   rA   s    r   test_multipolygonsr     sL    ""
'&)288ARWW3MF FG$9$97)$DEr9   zgeometries,funcc                 |    [         R                  " [        5         U" U S/S9  S S S 5        g ! , (       d  f       g = f)Nr   r   )r   r   r   )r    r   s     r   test_incompatible_typesr     s(     
y	!Z!% 
"	!	!s   	-
;c                      [         R                  " SS9   [        R                  " SS/SS//S S SS/5        S S S 5        g ! , (       d  f       g = f)Nz8positional argument `indices` for `points` is deprecatedrq   r   r   r   r*   )r   deprecated_callr1   r2   r-   r9   r    test_points_deprecate_positionalr     sH    			H
 	AA'taV<
 
 
s   "A  
Ac                      [         R                  " SS9   [        R                  " SS/SS/SS/S	S
//S S / SQ5        S S S 5        g ! , (       d  f       g = f)Nz=positional argument `indices` for `linestrings` is deprecatedrq   r   r   r   r*   r   r         rL   )r   r   r1   r3   r-   r9   r   %test_linestrings_deprecate_positionalr     sR    			M
 	aVaVaVaV<dD,W
 
 
s   (A
Ac                      [         R                  " SS9   [        R                  " SS/SS/SS//S S / SQ5        S S S 5        g ! , (       d  f       g = f)Nz=positional argument `indices` for `linearrings` is deprecatedrq   r   r   ra   )r   r   r1   rw   r-   r9   r   %test_linearrings_deprecate_positionalr   "  sL    			M
 	aVaVaV4dD)L
 
 
   %A
Ac                      [         R                  " SS9   [        R                  " [        [        /S SS/5        S S S 5        g ! , (       d  f       g = f)Nz:positional argument `indices` for `polygons` is deprecatedrq   r   r   )r   r   r1   r   r	   r-   r9   r   "test_polygons_deprecate_positionalr   )  s@    			J
 	+{3TAq6B
 
 
r   c                      [         R                  " SS9   [        R                  " [        [        /SS/5        S S S 5        g ! , (       d  f       g = f)Nz=positional argument `indices` for `multipoints` is deprecatedrq   r   r   )r   r   r1   r   r
   r-   r9   r   %test_multipoints_deprecate_positionalr   0  s=    			M
 	UENQF3
 
 
   $A
Ac                      [         R                  " SS9   [        R                  " [        [        /SS/5        S S S 5        g ! , (       d  f       g = f)NzBpositional argument `indices` for `multilinestrings` is deprecatedrq   r   r   )r   r   r1   r   r   r-   r9   r   *test_multilinestrings_deprecate_positionalr   7  s>    			R
 	  +{!;aVD
 
 
r   c                      [         R                  " SS9   [        R                  " [        [        /SS/5        S S S 5        g ! , (       d  f       g = f)Nz?positional argument `indices` for `multipolygons` is deprecatedrq   r   r   )r   r   r1   r   r   r-   r9   r   'test_multipolygons_deprecate_positionalr   >  s>    			O
 	w01a&9
 
 
r   c                      [         R                  " SS9   [        R                  " [        [
        /SS/5        S S S 5        g ! , (       d  f       g = f)NzEpositional argument `indices` for `geometrycollections` is deprecatedrq   r   r   )r   r   r1   r   r
   r   r-   r9   r   -test_geometrycollections_deprecate_positionalr   E  s>    			U
 	##UG$4q!f=
 
 
r   )[numpyr=   r   numpy.testingr   r1   r   r   shapely.testingr   shapely.tests.commonr   r   r	   r
   r   r2   pntsr3   lstrsr   	geom_collmarkparametrizerw   rG   rl   rH   r   r   r   r   r>   r@   r#   r)   non_writeableflags	writeabler5   r:   rC   rE   rK   rQ   rS   rX   r?   r_   rf   rh   rn   rt   ry   rY   r|   r~   r   r   r   r   r   r   r   hole_1hole_2r   poly
poly_emptypoly_hole_1poly_hole_2poly_hole_1_2r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r-   r9   r   <module>r      sU     ,  ' 3 V V~~''	 
W^^W00'2E2EF 



V,	*	*
 
  ##	 288QF"''2D"((UG9:MwW))
 
W^^W00'2E2EF eWhA$EF, G,
 &) %    
W^^W00'2M2MN 	

v&
6"
V$
*
*94
 
Q%T23
Q%{E23
Q$eU+,		 "a&1a&	Aq6EAq6Aq6*:$;#<=
Y	!Q%I0F*G)HIVaVaVaV,QFQF#$eaVaV,<&=>	
..> 	k;TJK	k4kJK	dD+{CD		 
Q!U5\"QF+EE "a&1eEl#aV	,i%!Q!Q@P:Q9RS..

 q!fq!fq!fq!f51a&1a&1a&9QSFF a&1a&	bff+1v1v1v	.MM
R
 	;dK@A	4dK@A	4t[9:		 A'3*-. . (. 
Q!Q!U5\*QF3EE 
Q!Q!Q!U5\!2QF;
Q!Q!U5\*QF3
Q!Q!Q!Q!U5\):;
U5\	QFQFQFQF;
Q!Q!Q!U5\!23
U5\	QFQFQF3
Y
Y

 
		A	B			A	B$Y
{6(;{6(;  VV4DE 
{	#aVdD\:
	q!fz4&89
T4	(,z8JK
v{	+Yd8KL
{F	+Y{8KL
[&	1<$ATU
t[&	1<$ATU
t[&	1<$ATU
{D&	1<$ATU
{FD	1<$ATU&&+6D!	
 &+v6+&	
 +vv6=!	
 &$<D!	
 &$V<+&	
 &+tV<+&	
I),Z.[,Z. 
Q$k401
Q$k401
Q$dD)* 
  ##	 RXXug%61a&2$$OP' Q	'
 !
	1v	5+2F(G'HI
	1v	5'(:I{m<T'UV
AE7!3 45
AE7!3Yr] CD
tT	"L9eW3EyQS}2UV
{	#YE;;O1P0QR
.
.
 
Q)UK014{KL
Q$dIuk.B$CDEBMMF 
'""#
(()
G$$%
++,
G''(
'**+
G,,-
'''(
--.
&&
=XMC4E:>r9   