
    \i3                     H   S SK rS SKrS SKJrJr  S SKrS SKJrJrJ	r	J
r
  S SKJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJ r J!r!J"r"J#r#  \RH                  " \\/5      r%\RH                  " \%\/5      r&\RN                  RQ                  S/ S 4\/S 4\\/S4\\\/S4\S/S4S\S/S4\\/S4\\/S4\\/S4\!/S	4\"/S
4\\/S4\/S
4\/S4\%/S4\&/S	4/5      S 5       r)\RN                  RQ                  SSS/5      \RN                  RQ                  SSS/5      \RN                  RQ                  S/ / / 4\// / 4\\/S/S/4\\\/S/S/4\S/S/S/4S\S/S/S/4\\/SS/SS/4\\// SQ/ SQ4\!// SQ/ SQ4\"// SQ/ SQ4\\// SQ/ SQ4\// SQ/ SQ4\// SQ/ SQ4\%// SQ/ S Q4\&// S!Q/ S"Q4/5      S# 5       5       5       r*\RN                  RQ                  S$/ / 4\// 4\\/S /4\\\/S/4\S/S /4S\S/S/4\\/S S/4\\// S%Q4\\// S&Q4\\// S'Q4/
5      S( 5       r+\RN                  RQ                  S)S*S+/5      S, 5       r,\RN                  RQ                  SSS/5      \RN                  RQ                  SSS/5      \RN                  RQ                  S-\\/SS/SS/\RZ                  S/4\// S.Q/ S/Q/ S0Q4\#// SQ/ SQ/ S1Q4\// S2Q/ S3Q/ S4Q4\\/S/S/\RZ                  /4/5      S5 5       5       5       r.\RN                  R_                  \R`                  S6:  S7S89\RN                  RQ                  SSS/5      \RN                  RQ                  SSS/5      \RN                  RQ                  S9\\\\ // S:Q/ S;Q\RZ                  S\RZ                  S/\RZ                  \RZ                  S	S	/4\\\\// S<Q/ S=Q\RZ                  \RZ                  \RZ                  SSS/S-  \RZ                  /S>-  / S?Q-   4\// S2Q/ S3Q/ S4Q/ S@Q4\\\\\/S/S/\RZ                  /\RZ                  /4/5      SA 5       5       5       5       r1SB r2\RN                  RQ                  SSS/5      \RN                  RQ                  SC/ S S4\/S S4\/S S4\\/SS4\\\/SS4\S/SS4S\S/SS4\\/SS4\\/SS4\\/SS4\/SS4\!/S	S4\#/S	S4\"/S
S4\\/SS4\/S
S4\/SS4\/SS4\%/SS4\&/S	S4/5      SD 5       5       r3SE r4SF r5SG r6\RN                  RQ                  SSS/5      SH 5       r7\RN                  RQ                  SSS/5      \RN                  RQ                  SI/ \/S\S/\&/\\/\//5      \RN                  RQ                  SJSS/5      SK 5       5       5       r8SL r9SM r:SN r;SO r<\RN                  RQ                  SP\\/5      SQ 5       r=\RN                  RQ                  SP\\/5      SR 5       r>\RN                  RQ                  SS\S4\S4/5      ST 5       r?SU r@SYSV jrASW rBSX rCg)Z    N)assert_allcloseassert_equal)count_coordinatesget_coordinatesset_coordinates	transform)emptyempty_line_string_zempty_pointempty_point_mempty_point_zempty_point_zmgeometry_collectiongeometry_collection_zgeometry_collection_zmline_stringline_string_mline_string_zline_string_zmlinear_ringmulti_line_stringmulti_pointmulti_polygonpointpoint_mpoint_zpoint_zmpolygonpolygon_with_hole	polygon_zzgeoms,count            
         c                 n    [        [        R                  " U [        R                  5      5      nX!:X  d   eg N)r   nparrayobject_)geomscountactuals      a/var/www/html/kml_chatgpt/mouzaenv/lib/python3.13/site-packages/shapely/tests/test_coordinates.pytest_count_coordsr1   &   s'    , rxxrzz:;F??    	include_mTF	include_zz	geoms,x,y)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%   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   r    @皙@r6   r5   r5   )
r   r   r!   r!   r   r5   r5   r6   r6   r5   )3   4   1   )r:   r"   )r7   r8   r9   r"   )r:   r:   r"   r'   )r7   r8   r9   r"   r"   )r:   r:   r"   r'   r'   c                 \   [        XUS9nX/nU(       a,  UR                  [        R                  /[	        U5      -  5        U(       a,  UR                  [        R                  /[	        U5      -  5        [        U[        R                  " U[        R                  5      R                  5        g N)r4   r3   	r   appendr*   nanlenr   r+   float64T)r-   xyr4   r3   r/   expecteds          r0   test_get_coordsrF   @   ss    F U9MFvH3q6)*3q6)*(BJJ799:r2   zgeoms,indexr   r!   r!   r!   )r   r   r   r!   )r   r   r   r!   r!   r!   r!   r!   c                     [        [        R                  " U [        R                  5      SS9u  p#[        R                  " U[        R                  S9n[        X45        g )NTreturn_indexdtype)r   r*   r+   r,   intpr   )r-   index_r/   rE   s        r0   test_get_coords_indexrP   l   s=       

 ;$OIAxxRWW-H"r2   orderCFc                     [         R                  " [        [        /[        [        //U S9n/ SQn[        USS9u  p4[        XB5        g )N)rQ   rG   TrI   )r*   r+   r   r   r	   r   r   )rQ   geometryrE   rO   r/   s        r0   test_get_coords_index_multidimrV      s;    xx%-u~>eLHHt<IA"r2   zgeoms,x,y,z)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                 &   [        XUS9nX/nU(       a  UR                  U5        U(       a,  UR                  [        R                  /[	        U5      -  5        [        U[        R                  " U[        R                  5      R                  5        g r<   r=   )r-   rC   rD   zr4   r3   r/   rE   s           r0   test_get_coords_zrY      sc     U9MFvH3q6)*(BJJ799:r2   )r'      r   zGEOS < 3.12)reasonzgeoms,x,y,z,m)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!   r   r   r!      )r!   r"   r'   r!   r"   r'   )r$   r!   r"   r'   c                     [        XUS9nX/nU(       a  UR                  U5        U(       a  UR                  U5        [        U[        R                  " U[        R
                  5      R                  5        g r<   )r   r>   r   r*   r+   rA   rB   )	r-   rC   rD   rX   mr4   r3   r/   rE   s	            r0   test_get_coords_zmr_      sU    J U9MFvH(BJJ799:r2   c                      [         R                  " SS9   [        [        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)NzCpositional argument `include_z` for `get_coordinates` is deprecatedmatchFzXpositional arguments `include_z` and `return_index` for `get_coordinates` are deprecated)pytestdeprecated_callr   r    r2   r0   $test_get_coords_deprecate_positionalrf      sg    			S
 	u%
 
		/
 	ue,	
 
	
 

 
s   AA.
A+.
A<zgeoms,count,has_ringc                     [         R                  " U [         R                  5      nU(       a  SOSn[        XCS9[         R                  R	                  SU45      -   n[        XF5      n[        U[        XsS95        g )Nr'   r"   r4   r!   )r*   r+   r,   r   randomr   r   )r-   r.   has_ringr4   	arr_geomsncoords	new_geomss           r0   test_set_coordsro      s_    6 

+IAAY<ryy?O?OQRTUPV?WWF	2IHIr2   c                      [         R                  " [        /5      n [         R                  " [         R                  [         R                  //5      n[        X5      n[        U[        U5      5        g r)   )r*   r+   r   r?   infr   r   r   )r-   rm   rn   s      r0   test_set_coords_nanrr      sI    HHeWEXX'()F.I34r2   c                      [         R                  " [        R                  5         [	        [
        [        R                  R                  S5      5        S S S 5        g ! , (       d  f       g = f)N)r$   r"   )rc   raisesshapelyGEOSExceptionr   r   r*   ri   re   r2   r0   test_set_coords_breaks_ringrw     s9    	w,,	-RYY%5%5f%=> 
.	-	-s   .A
A*c                      [        [        SS//5      n [        U [        R                  5      (       d   e[        [
        R                  " [        5      SS//5      n [        U [
        R                  5      (       d   eU R                  S:X  d   eg )Nr!   r   )	r   r   
isinstanceru   Geometryr*   asarrayndarrayndimr/   s    r0   test_set_coords_0dimr     sq    UaVH-Ffg..////RZZ.!Q9Ffbjj))));;!r2   c                 ^   [         R                  " [        [        /[        S9n[        XS9n[        XS-  5      nU (       aA  [        R                  " US   5      (       a   e[        R                  " US   5      (       d   eg [        R                  " U5      R                  5       (       a   eg )NrK   rh   r"   r   r!   )
r*   r+   r   r   objectr   r   ru   has_zany)r4   r-   rm   rn   s       r0   test_set_coords_mixed_dimensionr     s    HHeW%V4EU8Fz2I==1....}}Yq\**** ==+//11111r2   r-   interleavedc                     [         R                  " U [         R                  5      n [        XS9nU(       a  S nOU(       d  S nOS n[	        XXS9nXPLd   e[        XQS9n[        US-   USS9  g )	Nrh   c                     U S-   $ Nr!   re   )rm   s    r0   <lambda> test_transform.<locals>.<lambda>)  s    
r2   c                     U S-   US-   4$ r   re   )rC   rD   s     r0   r   r   +  s    q1ua!enr2   c                     U S-   US-   US-   4$ r   re   rC   rD   rX   s      r0   r   r   -  s    !a%QA)>r2   r4   r   r!   T)	equal_nan)r*   r+   r,   r   r   r   )r-   r4   r   coordinates_beforetransformationrn   coordinates_afters          r0   test_transformr     ss     HHUBJJ'E(D24>I !!!'	G&*,=Nr2   c                     [        [        S 5      n [        U [        R                  5      (       d   e[        [
        R                  " [        5      S 5      n [        U [
        R                  5      (       d   eU R                  S:X  d   eg )Nc                     U S-   $ r   re   rC   s    r0   r   %test_transform_0dim.<locals>.<lambda>8  s    Ar2   c                     U S-   $ r   re   r   s    r0   r   r   ;  s    AEr2   r   )	r   r   ry   ru   rz   r*   r{   r|   r}   r~   s    r0   test_transform_0dimr   6  se    uo.Ffg..////rzz%(/:Ffbjj))));;!r2   c                  B    [        / S 5      n U R                  S:X  d   eg )Nc                     U S-   $ r   re   r   s    r0   r   )test_transform_no_geoms.<locals>.<lambda>B  s    QUr2   )r   )r   shaper~   s    r0   test_transform_no_geomsr   @  s     r?+F<<4r2   c                      S n [         R                  " [        5         [        [        U 5        S S S 5        g ! , (       d  f       g = f)Nc                     U S S $ )Nr:   re   )arrs    r0   remove_coord0test_transform_check_shape.<locals>.remove_coordG  s    3Bxr2   )rc   rt   
ValueErrorr   r   )r   s    r0   test_transform_check_shaper   F  s+     
z	"+|, 
#	"	"s	   8
Ac                      [         n [        R                  " U 5      S:X  d   e[        U S SS9n[        R                  " U5      S:X  d   eg )Nr'   c                     U S-   $ r   re   r   s    r0   r   =test_transform_correct_coordinate_dimension.<locals>.<lambda>R      Qr2   Frh   r"   )r   ru   get_coordinate_dimensionr   geomnew_geoms     r0   +test_transform_correct_coordinate_dimensionr   N  sG    D++D1Q666%@H++H5:::r2   r   c                     [         R                  " U 5      S:X  d   e[        U S SS9n[         R                  " U5      S:X  d   eg )Nr'   c                     U S-   $ r   re   r   s    r0   r   1test_transform_empty_preserve_z.<locals>.<lambda>_  r   r2   Trh   ru   r   r   r   s     r0   test_transform_empty_preserve_zr   V  sD     ++D1Q666$?H++H5:::r2   c                     [         R                  " U 5      S:X  d   e[        U S SS9n[         R                  " U5      S:X  d   eg )Nr'   c                     U S-   $ r   re   r   s    r0   r   )test_transform_remove_z.<locals>.<lambda>l  r   r2   Frh   r"   r   r   s     r0   test_transform_remove_zr   c  sD     ++D1Q666%@H++H5:::r2   zgeom,expectedc                 x    [        U S S S9n[        R                  " U5      U:H  R                  5       (       d   eg )Nc                     U S-   $ r   re   r   s    r0   r   :test_transform_auto_coordinate_dimension.<locals>.<lambda>x  r   r2   rh   )r   ru   r   all)r   rE   r   s      r0   (test_transform_auto_coordinate_dimensionr   p  s7     $?H,,X6(BGGIIIIr2   c                  d   [        [        [        /S S S9n [        [        R
                  " U 5      SS/5        [        [        R                  " [        SS9S-   [        R                  " U S   SS95        [        [        R                  " [        SS9S-   [        R                  " U S   SS95        g )	Nc                     U S-   $ r   re   r   s    r0   r   @test_transform_auto_coordinate_dimension_mixed.<locals>.<lambda>}  s    Qr2   rh   r"   r'   Fr!   r   T)r   r   r   r   ru   r   r   r   s    r0   .test_transform_auto_coordinate_dimension_mixedr   |  s    +}5RVWH11(;aVDu=Au= >Bt<r2   c                 8    Uc
  U S-   US-   /$ U S-   US-   US-   /$ )Nr!   r"   r'   re   r   s      r0   transform_non_interleavedr     s2    yAq1u~Aq1ua!e$$r2   c                  t   [        [        [        /[        S SS9n [	        [
        R                  " U 5      SS/5        [	        [
        R                  " [        SS9SS/-   [
        R                  " U S   SS95        [	        [
        R                  " [        SS9/ S	Q-   [
        R                  " U S   SS95        g )
NFr   r"   r'   rh   r!   r   T)r!   r"   r'   )r   r   r   r   r   ru   r   r   r   s    r0   :test_transform_auto_coordinate_dimension_mixed_interleavedr     s    	m$!	H 11(;aVDu=AFu= >Jt<r2   c                      [         R                  " SS9   [        [        S S5        S S S 5        g ! , (       d  f       g = f)Nz=positional argument `include_z` for `transform` is deprecatedra   c                     U S-   $ r   re   r   s    r0   r   5test_transform_deprecate_positional.<locals>.<lambda>  s    1q5r2   F)rc   rd   r   r   re   r2   r0   #test_transform_deprecate_positionalr     s1    			M
 	-%8
 
 
s   1
?r)   )Dnumpyr*   rc   numpy.testingr   r   ru   r   r   r   r   shapely.tests.commonr	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    geometrycollectionsnested_2nested_3markparametrizer1   rF   rP   rV   r?   rY   skipifgeos_versionr_   rf   ro   rr   rw   r   r   r   r   r   r   r   r   r   r   r   r   r   r   re   r2   r0   <module>r      s     7  R R      6 &&(;U'CD&&%'89 	Q
!

	"

t	a 

	1
{	#Q'
A
	b!
(	)1-
"
	"
Q
Q!*+*
 tUm4tUm4	R
"b
!qc"
	aS)
aS!
t	qcA3'
!Q!Q(+&$$	

 O_5,,	

 (	)<FO44	

 	k:
_n5
'):;7@;A 5 5D; 	R
"
!
	$

t	qc"
!Q 
	|,
u	|,
{	#%=>## 3*-# .# tUm4tUm4
	Aq6Aq6BFFA;7
)Y	:
oH
	 ,lK
	sQC"&&2	;	 5 5; G((:5mLtUm4tUm4 GWh/VVQ"VVRVVQ"	
 -G00VVRVVRVVQ1-1VVHqL--	
 $$	
 K~NCCVVHVVH	
- B;C  5 5 MH;	- tUm4	Q
!U
5!
E"
	5)
5!
t	a'
E"
	1e$
{	#Q-
!T"
At
a
	b$'
(	)1e4
"d#
	5)
	 !U+
Q
Q)2J3 54J5?
 tUm4
2 5
2 tUm4%4%zE73Cm_U u6O 7	 5O" -; 
;; 
;; 	a	JJ

%$9r2   