Ë
    ~ìqj–  ã                   ó   — d dl Zd dlZd dlmZmZ d dlmZmZm	Z	m
Z
mZmZmZmZ  G d„ d«      Z G d„ d«      Z G d„ d	«      Zej$                  j'                  d
eeee	g«      d„ «       Zej$                  j+                  edk  d¬«      d„ «       Zy)é    N)Ú
LineStringÚgeos_version)Úline_stringÚline_string_mÚline_string_zÚline_string_zmÚpointÚpoint_mÚpoint_zÚpoint_zmc                   ó   — e Zd ZdZd„ Zd„ Zy)Ú
TestCoordsz´
    Shapely assumes contiguous C-order float64 data for internal ops.
    Data should be converted to contiguous float64 if numpy exists.
    c9a0707 broke this a little bit.
    c                 óð   — t        j                  ddgddggt         j                  ¬«      }t        j                  t        |«      j                  «      }|j                  «       |j                  «       k(  sJ ‚y )Né   é"   é8   éN   ©Údtype©ÚnpÚarrayÚfloat32r   ÚcoordsÚtolist©Úselfr   Úprocessed_coordss      ú^/var/www/html/truck-me/venv/lib/python3.12/site-packages/shapely/tests/geometry/test_coords.pyÚtest_data_promotionzTestCoords.test_data_promotion   s[   € Ü—‘˜B ˜8 b¨" XÐ.´b·j±jÔAˆÜŸ8™8¤J¨vÓ$6×$=Ñ$=Ó>Ðà�}‰}‹Ð"2×"9Ñ"9Ó";Ò;Ð;Ñ;ó    c                 ó  — t        j                  ddgddggt         j                  ¬«      }t        j                  t        |d d d…   «      j                  «      }|d d d…   j                  «       |j                  «       k(  sJ ‚y )Nr   r   r   r   r   éÿÿÿÿr   r   s      r   Útest_data_destridingzTestCoords.test_data_destriding   sp   € Ü—‘˜B ˜8 b¨" XÐ.´b·j±jÔAˆô Ÿ8™8¤J¨v±d¸°d©|Ó$<×$CÑ$CÓDÐà‘d˜�d‰|×"Ñ"Ó$Ð(8×(?Ñ(?Ó(AÒAÐAÑAr!   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r    r$   © r!   r   r   r      s   „ ñò<óBr!   r   c                   ó*   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestCoordsGetItemc                 óÂ  — t        d«      D �cg c]  }t        |«      t        | «      f‘Œ }}t        |«      }t        dd«      D ]  }|j                  |   ||   k(  rŒJ ‚ t	        j
                  t        «      5  |j                  d    d d d «       t	        j
                  t        «      5  |j                  d    d d d «       y c c}w # 1 sw Y   Œ@xY w# 1 sw Y   y xY w)Né   éüÿÿÿéûÿÿÿ©ÚrangeÚfloatr   r   ÚpytestÚraisesÚ
IndexError©r   ÚxÚcÚgÚis        r   Útest_index_coordsz#TestCoordsGetItem.test_index_coords(   sÂ   € Ü,1°!«HÖ5 qŒe�A‹hœ˜q˜b›	Ò"Ð5ˆÐ5Ü�q‹MˆÜ�r˜1“ò 	'ˆAØ—8‘8˜A‘; ! A¡$Ó&Ð&Ð&ð	'ä�]‰]œ:Ó&ñ 	Ø�H‰H�QŠK÷	ä�]‰]œ:Ó&ñ 	Ø�H‰H�RŠL÷	ð 	ùò 6÷	ð 	ú÷	ð 	ús   ŽCÁ:C	Â+CÃ	CÃCc           	      óÜ  — t        d«      D �cg c]&  }t        |«      t        | «      t        |dz  «      f‘Œ( }}t        |«      }t        dd«      D ]  }|j                  |   ||   k(  rŒJ ‚ t	        j
                  t        «      5  |j                  d    d d d «       t	        j
                  t        «      5  |j                  d    d d d «       y c c}w # 1 sw Y   Œ@xY w# 1 sw Y   y xY w)Nr-   é   r.   r/   r0   r6   s        r   Útest_index_coords_zz%TestCoordsGetItem.test_index_coords_z2   sÍ   € Ü:?À»(ÖC°QŒe�A‹hœ˜q˜b›	¤5¨¨Q©£<Ò0ÐCˆÐCÜ�q‹MˆÜ�r˜1“ò 	'ˆAØ—8‘8˜A‘; ! A¡$Ó&Ð&Ð&ð	'ä�]‰]œ:Ó&ñ 	Ø�H‰H�QŠK÷	ä�]‰]œ:Ó&ñ 	Ø�H‰H�RŠL÷	ð 	ùò D÷	ð 	ú÷	ð 	ús   Ž+CÂCÂ8C"ÃCÃ"C+c                 ó  — t        «       }t        j                  t        «      5  |j                  d    d d d «       t        j                  t
        «      5  |j                  d    d d d «       y # 1 sw Y   Œ;xY w# 1 sw Y   y xY w)Nr   ç        )r   r3   r4   r5   r   Ú	TypeError)r   r9   s     r   Útest_index_coords_miscz(TestCoordsGetItem.test_index_coords_misc<   sf   € Ü‹LˆÜ�]‰]œ:Ó&ñ 	Ø�H‰H�QŠK÷	ä�]‰]œ9Ó%ñ 	Ø�H‰H�SŠM÷	ð 	÷	ð 	ú÷	ð 	ús   ¤A.ÁA:Á.A7Á:Bc                 ó¼  — t        d«      D �cg c]  }t        |«      t        | «      f‘Œ }}t        |«      }|j                  dd  |dd  k(  sJ ‚|j                  d d |d d k(  sJ ‚|j                  d d d…   |d d d…   k(  sJ ‚|j                  d d d…   |d d d…   k(  sJ ‚|j                  d d |d d k(  sJ ‚|j                  dd  |dd  cxk(  rg k(  sJ ‚ J ‚y c c}w )Nr-   é   r#   r=   ©r1   r2   r   r   ©r   r7   r8   r9   s       r   Útest_slice_coordsz#TestCoordsGetItem.test_slice_coordsC   sý   € Ü,1°!«HÖ5 qŒe�A‹hœ˜q˜b›	Ò"Ð5ˆÐ5Ü�q‹MˆØ�x‰x˜˜ˆ|˜q  ˜uÒ$Ð$Ð$Ø�x‰x˜˜ˆ}  # 2 Ò&Ð&Ð&Ø�x‰x™˜"˜‰~ ¡4 R 4¡Ò(Ð(Ð(Ø�x‰x™˜!˜‰} ¡# A #¡Ò&Ð&Ð&Ø�x‰x˜˜ˆ|˜q  !˜uÒ$Ð$Ð$Ø�x‰x˜˜ˆ|˜q  ˜uÔ*¨Ò*Ð*Ñ*Ð*Ñ*ùò 6s   ŽCc           	      óÖ  — t        d«      D �cg c]&  }t        |«      t        | «      t        |dz  «      f‘Œ( }}t        |«      }|j                  dd  |dd  k(  sJ ‚|j                  d d |d d k(  sJ ‚|j                  d d d…   |d d d…   k(  sJ ‚|j                  d d d…   |d d d…   k(  sJ ‚|j                  d d |d d k(  sJ ‚|j                  dd  |dd  cxk(  rg k(  sJ ‚ J ‚y c c}w )Nr-   r=   rD   r#   rE   rF   s       r   Útest_slice_coords_zz%TestCoordsGetItem.test_slice_coords_zM   s  € Ü:?À»(ÖC°QŒe�A‹hœ˜q˜b›	¤5¨¨Q©£<Ò0ÐCˆÐCÜ�q‹MˆØ�x‰x˜˜ˆ|˜q  ˜uÒ$Ð$Ð$Ø�x‰x˜˜ˆ}  # 2 Ò&Ð&Ð&Ø�x‰x™˜"˜‰~ ¡4 R 4¡Ò(Ð(Ð(Ø�x‰x™˜!˜‰} ¡# A #¡Ò&Ð&Ð&Ø�x‰x˜˜ˆ|˜q  !˜uÒ$Ð$Ð$Ø�x‰x˜˜ˆ|˜q  ˜uÔ*¨Ò*Ð*Ñ*Ð*Ñ*ùò Ds   Ž+C&N)r%   r&   r'   r;   r>   rB   rG   rI   r)   r!   r   r+   r+   '   s   „ òòòò+ó+r!   r+   c                   ó   — e Zd ZdZd„ Zy)ÚTestXYz<New geometry/coordseq method 'xy' makes numpy interop easierc                 óÀ   — t        ddg«      j                  \  }}t        |«      dk(  sJ ‚t        |«      ddgk(  sJ ‚t        |«      dk(  sJ ‚t        |«      ddgk(  sJ ‚y )N)r   r   )rD   rD   r=   r@   ç      ð?)r   ÚxyÚlenÚlist)r   r7   Úys      r   Útest_arrayszTestXY.test_arrays[   sg   € Ü˜6 6Ð*Ó+×.Ñ.‰ˆˆ1Ü�1‹v˜Š{Ðˆ{Ü�A‹w˜3 ˜*Ò$Ð$Ð$Ü�1‹v˜Š{Ðˆ{Ü�A‹w˜3 ˜*Ò$Ð$Ñ$r!   N)r%   r&   r'   r(   rR   r)   r!   r   rK   rK   X   s
   „ ÙFó%r!   rK   Úgeomc                 ó6  — | j                   }t        j                  |«      t        j                  |«      usJ ‚t        j                  |d¬«      t        j                  |d¬«      usJ ‚t        t        j                  j
                  j                  dd«      d   «      dk\  r<t        j                  t        d¬«      5  t        j                  |d	¬«       d
d
d
«       y
t        j                  |d	¬«      t        j                  |d	¬«      u sJ ‚y
# 1 sw Y   y
xY w)z)Test CoordinateSequence.__array__ method.T)Úcopyú.rD   r   r=   zA copy is always created)ÚmatchFN)
r   r   r   ÚintÚversionÚshort_versionÚsplitr3   r4   Ú
ValueError)rS   Ú	coord_seqs     r   Útest_coords_array_copyr^   c   sÙ   € ð —‘€IÜ�8‰8�IÓ¤b§h¡h¨yÓ&9Ñ9Ð9Ð9Ü�8‰8�I DÔ)´·±¸)È$Ô1OÑOÐOÐOô Œ2�:‰:×#Ñ#×)Ñ)¨#¨qÓ1°!Ñ4Ó5¸Ò:Ü�]‰]œ:Ð-GÔHñ 	,Ü�H‰H�Y UÕ+÷	,ð 	,ô �x‰x˜	¨Ô.´"·(±(¸9È5Ô2QÑQÐQÑQ÷	,ð 	,ús   Â=DÄD)é   r   r   zGEOS < 3.12)Úreasonc                  óÐ   — t         j                  d d  dgk(  sJ ‚t        j                  d d  dgk(  sJ ‚t        j                  d d  g d¢k(  sJ ‚t        j                  d d  g d¢k(  sJ ‚y )N)ç       @ç      @ç      @)rb   rc   ç      @rd   ))r@   r@   rM   )rM   r@   rb   )rM   rM   rc   ))r@   r@   re   rM   )rM   r@   re   rb   )rM   rM   re   rc   )r
   r   r   r   r   r)   r!   r   Útest_coords_with_mrf   r   s}   € ä�>‰>™!Ð Ð 1Ò1Ð1Ð1Ü�?‰?™1ÐÐ"6Ð!7Ò7Ð7Ð7Ü×Ñ¡Ð"ò 'ò ð ð ô
 × Ñ ¡Ð#ò (ò ð ñ r!   )Únumpyr   r3   Úshapelyr   r   Úshapely.tests.commonr   r   r   r   r	   r
   r   r   r   r+   rK   ÚmarkÚparametrizer^   Úskipifrf   r)   r!   r   ú<module>rm      s�   ðÛ Û ç ,÷	÷ 	ó 	÷Bñ B÷,.+ñ .+÷b%ñ %ð ‡�×Ñ˜ %¨°+¸}Ð!MÓNñRó OðRð ‡�×Ñ�L :Ñ-°mÐÓDñó Eñr!   