
    (&hH                        d dl Zd dlZd dlmZ d dlZd dlmZmZ d dlm	Z	 d dl
mZmZmZmZmZ ej        Zej        Zej        Zej                            dej        ej        ej        g          ej                            d ej        d           ej        d	           ej        d
          d ej        dde          g          d                         Zej                            dej        ej        ej        ej        g          ej                            d ej         ddgej!                  d ej         egg          dg          d                         Z"ej                            dej        ej        ej        g          ej                            degdd dgdgg          d                         Z# ej        de          Z$de$j%        _&        ej                            dej        ej        ej        g          ej                            dg d ej        d          e$ ej        de           ej        de           ej        de          g          d                         Z'd Z(d  Z)d! Z*ej                            d"d dgeeedgfd dgedeegfddgddeegfg          d#             Z+ej                            d$ddgddggd d g eddgddgg          gfg d%g d&gd d g eg d%g d&g          gfddgddgddgddggg d' eddgddgg           eddgddgg          gfg          d(             Z,d) Z-ej                            d"g d*eeedgfg d+edeegfg d,ddeegfg          d-             Z.ej                            dddgd e/d.          gddggg          d/             Z0ej                            d$ddgd e/d.          gddggg d0 eddgddgg          gfg          d1             Z1d2 Z2d3 Z3d4 Z4ej                            dddgddgddgddggddgddgddggg          d5             Z5ej                            dddgddggdej6        gddgddgddggg          d6             Z7d7 Z8ej                            d"g d8eddegfg d9dedegfg d:dddegfg          d;             Z9ej                            d<ddg          ej                            d=d>d?g          d@                         Z:ej                            dddgddgd e/d.          gddggg          dA             Z;ej                            dddgddgddgd e/d.          gddggddgddgd e/d.          gddggddgddgddgddgd e/d.          ggd e/d.          gddgddgddgddggddgddgddgd e/d.          ggd e/d.          gddgddgddggg          dB             Z<dC Z=dD Z>dE Z? ej        g dF          Z@ ej        g dG          ZA ejB        e          ZC e            ZD ejB        ee@gH          ZE ejB        eeAgH          ZF ejB        ee@eAgH          ZGej                            dIeegd dgeCeCgfdegd dgeDeCgfdeddgg d'eCeDgfee@egg dJeEeCgfeee@gg dKeCeEgfdeee@gg d'eCeEgfedee@gg d'eCeEgfedee@gg dLeCeEgfeede@gg dLeCeEgfeee@dgg dLeCeEgfee@eAegg dMeGeCgfee@eeAgg d'eEeFgfeee@eAgg dLeCeGgfee@deAegg dNeGeCgfee@deeAgg dOeEeFgfee@edeAgg dPeEeFgfg          dQ             ZHej                            d"d dgeCeCedgfd dgeCdeeCgfddgddeCeCgfg          dR             ZIej                            dejB        ej        ej        ej        ej        g          ej                            d ej         eg          dd dgdgg          dS                         ZJej                            dTeegd d g eeeg          gfeegd dg eeg           eeg          gfedgd d g eeg          gfedgd dg eeg           eg           gfdeddgg d' eeg           eg           gfedegg d0 eeeg          gfg          dU             ZKdV ZLej                            d"d d g eeeg          ddegfddgddd eeeg          gfg          dW             ZMdX ZNdY ZOdZ ZPd[ ZQej                            d\egejB        fegejB        fegejB        fegej        fegej        fegej        fegej        fegej        fegej        fg	          d]             ZRd^ ZSd_ ZTd` ZUda ZVdb ZWdc ZXdd ZYde ZZdS )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                     t          j        t          t          f          5   | |ddg           d d d            d S # 1 swxY w Y   d S Nr   r   indicespytestraises	TypeError
ValueError)r   r   s     ^/var/www/html/reinick/venv/lib/python3.11/site-packages/shapely/tests/test_creation_indices.pytest_invalid_coordinatesr      s     
	:.	/	/ * *[1a&))))* * * * * * * * * * * * * * * * * *   >AA
geometriesr   r   helloc                     t          j        t          t          f          5   | |ddg           d d d            d S # 1 swxY w Y   d S r   r   )r   r    s     r   test_invalid_geometriesr#   !   s     
	:.	/	/ ) )Z!Q(((() ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )r   r   z helloc                     t          j        t          t          f          5   | ddgg|           d d d            d S # 1 swxY w Y   d S )N皙?333333?r   r   r   r   s     r   test_invalid_indices_simpler)   2   s    
 
	:.	/	/ , ,sCj\7++++, , , , , , , , , , , , , , , , , ,s   ?AA   Fout)NNNr*   r    c                 <   | t           j        u rddgddgg}ddg}n9| t           j        u rddgddgddgddgdd	gd	d	gg}g d
}nt          t          g}ddg}t          j        t          t          f          5   | |||           d d d            d S # 1 swxY w Y   d S )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&		:.	/	/ * *QS))))* * * * * * * * * * * * * * * * * *s   5BBBc                      t          j        t          j                  5  t          j        ddgddggddg           d d d            d S # 1 swxY w Y   d S Nr   r   r   r   )r   r   r1   GEOSExceptionr2   r-       r   test_points_invalidr:   [   s    	w,	-	- 9 9AA'!Q88889 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9   AAAc                      t          j        t          j        ddgddggt                    t          j        ddgt          j                            } t          | t          t          g           d S )Nr   r*   r   r   r   r   )r1   r2   nparrayfloatintpr   r
   actuals    r   test_pointsrC   a   sk    ^
1a&1a&!///!Qrw///  F FUEN33333r9   c                     t          j        t                    5  t          j        t          j        ddgddggt                    t          j        ddgt
          j                             d d d            d S # 1 swxY w Y   d S )Nr   r*   r   r   r   )	r   r   r   r1   r2   r=   r>   r?   r@   r-   r9   r   test_points_no_index_raisesrE   i   s    	z	"	" 
 
Hq!fq!f%U333HaV27333	
 	
 	
 	

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
s   AA==BBzindices,expectedc                     t          j        dt                    }t          |d<   t	          j        ddgddgg| |          }t          ||           ||u sJ d S )Nr   r   r   r*   r0   )r=   emptyobjectr   r1   r2   r   r   expectedr+   rB   s       r   test_points_outrK   q   sp     (1F
#
#
#CCF^
Q!Q  F
 C***S======r9   zcoordinates,indices,expected)r   r   r   )r   r   r   r   r   r   r   c                     t          j        t          j        | t                    t          j        |t          j                            }t          ||           d S Nr   r   r1   r3   r=   r>   r?   r@   r   r   r   rJ   rB   s       r   test_linestringsrQ      sX      
E***BHWBG4T4T4T  F FH-----r9   c                      t          j        t          j                  5  t          j        ddgddggddg           d d d            d S # 1 swxY w Y   d S r7   )r   r   r1   r8   r3   r-   r9   r   test_linestrings_invalidrS      s    	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                     t          j        dt                    }t          |d<   t	          j        g d| |          }t          ||           ||u sJ d S )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88  F
 C***S======r9   nanc                     t          j        t          j        | t                    t          j        t          |           t          j                            }t          t          j	        |          |            d S rN   )
r1   r3   r=   r>   r?   zeroslenr@   r   get_coordinatesr   rB   s     r   test_linestrings_allow_nanr_      l      
E***[))999  F w.v66DDDDDr9   r   r   r   c                     t          j        t          j        | t                    t          j        |t          j                  d          }t          ||           d S )Nr   skipr   
handle_nanrO   rP   s       r    test_linestrings_handle_nan_skiprf      s\      
E***000  F
 FH-----r9   c                      t          j        t          j                  5  t          j        ddgdt          d          ggddgd           d d d            d S # 1 swxY w Y   d S )Nr   r   rY   r   rc   rd   )r   r   r1   r8   r3   r?   r-   r9   r   (test_linestrings_handle_nan_skip_invalidrh      s    	w,	-	- 
 
Vau&'!QF	
 	
 	
 	

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
s   -AA Ac                      t          j        t          j        dt          j                  g dd          } | d         j        sJ d S )Nr,   
fill_valuera   rc   rd   r   )r1   r3   r=   fullrY   is_emptyrA   s    r   )test_linestrings_handle_nan_skip_only_nanrn      sP     
26***III&  F !9r9   c                      t          j        t          d          5  t          j        ddgt          d          dgddggg dd           d d d            d S # 1 swxY w Y   d S )	N.*NaN.*matchr   rY   r   ra   errorrd   )r   r   r   r1   r3   r?   r-   r9   r   !test_linestrings_handle_nan_errorrt      s    	z	3	3	3 
 
VeEllA&A/w	
 	
 	
 	

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
s   0AA Ac                    t          j        t          j        | t          j                  t          j        t          |           t          j                            }t          |t          j        |                      d S rN   	r1   linearringsr=   r>   float64r[   r\   r@   r   r^   s     r   test_linearringsry      sn      
BJ///[))999  F FG$7$D$DEEEEEr9   c           	          t          j        t          j        t          f          5  t          j        | t          j        t          |                                d d d            d S # 1 swxY w Y   d S Nr   )	r   r   r1   r8   r   rw   r=   r[   r\   )r   s    r   test_linearrings_invalidr|      s     
-z:	;	; M MK#k:J:J1K1KLLLLM M M M M M M M M M M M M M M M M Ms   6A))A-0A-c                      t          j        g dt          j        d                    } t	          | t          g d                     d S )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~      sK     !9!9!928A;;OOOFFJ/O/O/O$P$PQQQQQr9   r   r   r   r   r   )r   r   r   r   r   )r*   r*   r*   r*   r*   c                     t          j        dt                    }t          |d<   t	          j        g d| |          }t          ||           ||u sJ d S )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00  F
 C***S======r9   dimorderCFc                 8   t           j                            dd|           }t          j        |                    d|           |          }t          j        t          d          d          }t          j        ||          }t          j	        ||d d dgd d f         f          }t          j        |                    d|           |          }t          j        t          d          d          }t          j        ||          }t          ||           d S )	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     Y__RC((Fj44EBBBGyrA&&H!'8<<<G iA3	!2344Gj55UCCCGyrA&&H!'8<<<GGW-----r9   c                     t          j        t          j        | t                    t          j        t          |           t          j                            }t          t          j	        |          |            d S rN   )
r1   rw   r=   r>   r?   r[   r\   r@   r   r]   r^   s     r   test_linearrings_allow_nanr   %  r`   r9   c                    t          j        t          j        | t          j                  t          j        t          |           t          j                  d          }t          |t          j        | d                     d S )Nr   rc   rd   )re   rv   r^   s     r    test_linearrings_handle_nan_skipr   3  sw      
BJ///[))999  F
 FG$7PV$W$W$WXXXXXr9   c                      t          j        t                    5  t          j        ddgt          d          dgddggg dd           d d d            d S # 1 swxY w Y   d S )Nr   rY   ra   rc   rd   r   r   r   r1   rw   r?   r-   r9   r   (test_linearrings_handle_nan_skip_invalidr   G  s    	z	"	" 
 
VeEllA&A/v	
 	
 	
 	

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
s   0AAAc                      t          j        t          j        dt          j                  dgdz  d          } | d         j        sJ d S )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  sR     
26***QC!G  F !9r9   c            
          t          j        t          d          5  t          j        ddgddgddgdt          d          gddggg dd           d d d            d S # 1 swxY w Y   d S )	Nrp   rq   r   r   rY   r   rs   rd   r   r-   r9   r   !test_linearrings_handle_nan_errorr   W  s    	z	3	3	3 
 
VaVaVau%6A?#OO	
 	
 	
 	

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
s   6AA#&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                     t          j        t          j        | t                    t          j        |t          j                            }t          ||           d S rN   )r1   polygonsr=   r>   rH   r@   r   )ringsr   rJ   rB   s       r   test_polygonsr   i  sY    \ 
f%%%rxrw/O/O/O  F FH-----r9   c                     t          j        dt                    }t          |d<   t	          j        t          t          g| |          }t          ||           ||u sJ d S )Nr   r   r   r0   )r=   rG   rH   r   r1   r   r	   r   rI   s       r   test_polygons_outr     s^     (1F
#
#
#CCF{K8'sSSSFC***S======r9   c                     t          j        t          t          f          5   | t          g|           d d d            d S # 1 swxY w Y   d S r{   )r   r   r   r   r
   r(   s     r    test_invalid_indices_collectionsr     s     
	:.	/	/ ' 'eWg&&&&' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 's   AA	Azgeometries,indices,expectedc                     t          j        t          j        | t                    |          }t          ||           d S rN   )r1   geometrycollectionsr=   r>   rH   r   )r    r   rJ   rB   s       r   test_geometrycollectionsr     sG     (
6***G  F FH-----r9   c                      t          j        t                    5  t          j        t          j        t          t          gt                    ddg           d d d            d S # 1 swxY w Y   d S )Nr   r   r   r   )
r   r   r   r1   r   r=   r>   r
   r   rH   r-   r9   r   (test_geometrycollections_no_index_raisesr     s    	z	"	" 
 
#He[)8881a&	
 	
 	
 	

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
s   >A%%A),A)c                     t          j        dt                    }t          |d<   t	          j        t          t          g| |          }t          ||           ||u sJ d S )Nr   r   r*   r0   )	r=   rG   rH   r   r1   r   r
   r   r   rI   s       r   test_geometrycollections_outr     s_     (1F
#
#
#CCF(%)=wTWXXXFC***S======r9   c                      t          j        t          j        t          gt
                    t          j        dt          j                            } t          | t          j        t          g                     d S Nr   r   r   )	r1   multipointsr=   r>   r
   rH   r[   r@   r   rA   s    r   test_multipointsr     se     
%'''!271K1K1K  F FG$7$@$@AAAAAr9   c                      t          j        t          j        t          gt
                    t          j        dt          j                            } t          | t          j        t          g                     d S r   )	r1   multilinestringsr=   r>   r   rH   r[   r@   r   rA   s    r   test_multilinestringsr     e    %
+f---rx7Q7Q7Q  F FG$<k]$K$KLLLLLr9   c                      t          j        t          j        t          gt
                    t          j        dt          j                            } t          | t          j        t          g                     d S r   )	r1   r   r=   r>   r	   rH   r[   r@   r   rA   s    r   test_multilinearringsr     r   r9   c                      t          j        t          j        t          gt
                    t          j        dt          j                            } t          | t          j        t          g                     d S r   )	r1   multipolygonsr=   r>   r   rH   r[   r@   r   rA   s    r   test_multipolygonsr     se    "
'&)))28ARW3M3M3M  F FG$97)$D$DEEEEEr9   zgeometries,funcc                     t          j        t                    5   || dg           d d d            d S # 1 swxY w Y   d S )Nr   r   )r   r   r   )r    r   s     r   test_incompatible_typesr     s     
y	!	! & &Z!%%%%& & & & & & & & & & & & & & & & & &s   6::c                      t          j        d          5  t          j        ddgddggd d ddg           d d d            d S # 1 swxY w Y   d S )Nz8positional argument `indices` for `points` is deprecatedrq   r   r   r   r*   )r   deprecated_callr1   r2   r-   r9   r    test_points_deprecate_positionalr     s    		H
 
 
 = = 	AA'taV<<<= = = = = = = = = = = = = = = = = =s    AA
Ac                      t          j        d          5  t          j        ddgddgddgd	d
ggd d g d           d d d            d S # 1 swxY w Y   d S )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     s    		M
 
 
 X X 	aVaVaVaV<dD,,,WWWX X X X X X X X X X X X X X X X X Xs   &A		AAc                      t          j        d          5  t          j        ddgddgddggd d g d           d d d            d S # 1 swxY w Y   d S )Nz=positional argument `indices` for `linearrings` is deprecatedrq   r   r   ra   )r   r   r1   rw   r-   r9   r   %test_linearrings_deprecate_positionalr   "  s    		M
 
 
 M M 	aVaVaV4dD)))LLLM M M M M M M M M M M M M M M M M Ms   #AA
A
c                      t          j        d          5  t          j        t          t          gd ddg           d d d            d S # 1 swxY w Y   d S )Nz:positional argument `indices` for `polygons` is deprecatedrq   r   r   )r   r   r1   r   r	   r-   r9   r   "test_polygons_deprecate_positionalr   )  s    		J
 
 
 C C 	+{3TAq6BBBC C C C C C C C C C C C C C C C C Cs   %AAAc                      t          j        d          5  t          j        t          t          gddg           d d d            d S # 1 swxY w Y   d S )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
 
 
 4 4 	UENQF3334 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4   $AAAc                      t          j        d          5  t          j        t          t          gddg           d d d            d S # 1 swxY w Y   d S )NzBpositional argument `indices` for `multilinestrings` is deprecatedrq   r   r   )r   r   r1   r   r   r-   r9   r   *test_multilinestrings_deprecate_positionalr   7  s    		R
 
 
 E E 	 +{!;aVDDDE E E E E E E E E E E E E E E E E Er   c                      t          j        d          5  t          j        t          t          gddg           d d d            d S # 1 swxY w Y   d S )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99: : : : : : : : : : : : : : : : : :r   c                      t          j        d          5  t          j        t          t
          gddg           d d d            d S # 1 swxY w Y   d S )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      s        , , , , , ,  ' ' ' ' ' ' ' ' 3 3 3 3 3 3 V V V V V V V V V V V V V V~'	 
W^W0'2EF  V,,,	 	* *	 	 *
 
 #	  828QF"'222D("(UG9:M:MwW ) )  )
 
W^W0'2EF  eWhA$EFF, , GF ,
 &))) %   
W^W0'2MN  	v&&&6"""V$$$
 
* *
 
 *9 9 94 4 4
 
 
 
Q%T23
Q%{E23
Q$eU+, 	 	 	 "a&1a&	Aq6EEAq6Aq6*:$;$;#<=
))YYY	!Q%%III0F*G*G)HIVaVaVaV,LLUQFQF#$$eeaVaV,<&=&=>	
 . . .> > > 			k;TJK			k4kJK			dD+{CD 	 	 	 
Q!UU5\\"QF+ E E E "a&1eeEll#aV	,iii%%!Q!Q@P:Q:Q9RS . . .
 
 
  
 
 
 q!fq!fq!fq!f51a&1a&1a&9QS F F F a&1a&	bf+1v1v1v	. M M M
R R R
 	;dK@A	4dK@A	4t[9: 	 	 	 A''3*--. . .- ('. 
Q!Q!UU5\\*QF3 E E E 
Q!Q!Q!UU5\\!2QF;
Q!Q!UU5\\*QF3
Q!Q!Q!Q!UU5\\):;
UU5\\	QFQFQFQF;
Q!Q!Q!UU5\\!23
UU5\\	QFQFQF3
 
Y Y
 
Y
 
 
  
 
 
 
	AAA	B	B		AAA	B	Bw$$WYY
g{6(;;;g{6(;;;  VV4DEEE 
{	#aVdD\:
	q!fz4&89
T4	(,,,z8JK
v{	+YYYd8KL
{F	+YYY{8KL
[&	1<<<$ATU
t[&	1<<<$ATU
t[&	1<<<$ATU
{D&	1<<<$ATU
{FD	1<<<$ATU&&+6LLD!	
 &+v6LL+&	
 +vv6LL=!	
 &$<OOD!	
 &$V<OO+&	
 &+tV<OO+&	
I), ,Z. .[, ,Z. 
Q$k401
Q$k401
Q$dD)*    
 #	 	 XRXug%6%61a&2$$OPP' ' QP	 	'
 !
	1v		5+2F(G(G'HI
	1v		5'(:(:II{m<T<T'UV
AE7!3!3 45
AE7!3!3YYr]] CD
tT	"LLL99eW3E3EyyQS}}2UV
{	#YYYE;;O1P1P0QR
 
. .
 
.
 
 
 
Q))UK0114{KL
Q$dIIuk.B$C$CDE   B B BM M MM M MF F F 
'"#
()
G$%
+,
G'(
'*+
G,-
''(
-.
 & & &
= = =X X XM M MC C C4 4 4E E E: : :> > > > >r9   