
    9i                        S SK rS SKrS SKJrJr  S SKJrJrJ	r	J
r
JrJrJrJr   " S S5      r " S S5      r " S S	5      r\R$                  R'                  S
\\\\	/5      S 5       r\R$                  R+                  \S:  SS9S 5       rg)    N)
LineStringgeos_version)line_stringline_string_mline_string_zline_string_zmpointpoint_mpoint_zpoint_zmc                   $    \ rS rSrSrS rS rSrg)
TestCoords   z
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                     [         R                  " SS/SS//[         R                  S9n[         R                  " [        U5      R                  5      nUR                  5       UR                  5       :X  d   eg )N   "   8   N   dtypenparrayfloat32r   coordstolistselfr   processed_coordss      b/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/shapely/tests/geometry/test_coords.pytest_data_promotionTestCoords.test_data_promotion   s[    B8b"X.bjjA88Jv$6$=$=>}}"2"9"9";;;;    c                    [         R                  " SS/SS//[         R                  S9n[         R                  " [        US S S2   5      R                  5      nUS S S2   R                  5       UR                  5       :X  d   eg )Nr   r   r   r   r   r   r   s      r    test_data_destridingTestCoords.test_data_destriding   sp    B8b"X.bjjA 88Jvdd|$<$C$CDdd|""$(8(?(?(AAAAr#    N)__name__
__module____qualname____firstlineno____doc__r!   r&   __static_attributes__r(   r#   r    r   r      s    <Br#   r   c                   2    \ rS rSrS rS rS rS rS rSr	g)	TestCoordsGetItem'   c                    [        S5       Vs/ s H  n[        U5      [        U* 5      4PM     nn[        U5      n[        SS5       H  nUR                  U   X$   :X  a  M   e   [        R
                  " [        5         UR                  S     S S S 5        [        R
                  " [        5         UR                  S     S S S 5        g s  snf ! , (       d  f       NF= f! , (       d  f       g = f)N   rangefloatr   r   pytestraises
IndexErrorr   xcgis        r    test_index_coords#TestCoordsGetItem.test_index_coords(   s    ,1!H5HqeAhqb	"H5qMr1A88A;!$&&& ]]:&HHQK ']]:&HHRL '& 6 '&&&s   !C C2C!
C!
C/c           	         [        S5       Vs/ s H'  n[        U5      [        U* 5      [        US-  5      4PM)     nn[        U5      n[        SS5       H  nUR                  U   X$   :X  a  M   e   [        R
                  " [        5         UR                  S     S S S 5        [        R
                  " [        5         UR                  S     S S S 5        g s  snf ! , (       d  f       NF= f! , (       d  f       g = f)Nr3      r4   r5   r6   r<   s        r    test_index_coords_z%TestCoordsGetItem.test_index_coords_z2   s    :?(C(QeAhqb	5Q<0(CqMr1A88A;!$&&& ]]:&HHQK ']]:&HHRL '& D '&&&s   .CC?C.
C+.
C<c                 $   [        5       n[        R                  " [        5         UR                  S     S S S 5        [        R                  " [
        5         UR                  S     S S S 5        g ! , (       d  f       NA= f! , (       d  f       g = f)Nr           )r   r9   r:   r;   r   	TypeError)r   r?   s     r    test_index_coords_misc(TestCoordsGetItem.test_index_coords_misc<   sT    L]]:&HHQK ']]9%HHSM &% '&%%s   A0B0
A>
Bc                    [        S5       Vs/ s H  n[        U5      [        U* 5      4PM     nn[        U5      nUR                  SS  USS  :X  d   eUR                  S S US S :X  d   eUR                  S S S2   US S S2   :X  d   eUR                  S S S2   US S S2   :X  d   eUR                  S S US S :X  d   eUR                  SS  USS  s=:X  a  / :X  d   e   eg s  snf )Nr3      r%   rD   r7   r8   r   r   r   r=   r>   r?   s       r    test_slice_coords#TestCoordsGetItem.test_slice_coordsC   s    ,1!H5HqeAhqb	"H5qMxx|qu$$$xx}#2&&&xx"~4R4(((xx!}#A#&&&xx|q!u$$$xx|qu****** 6s   !C#c           	         [        S5       Vs/ s H'  n[        U5      [        U* 5      [        US-  5      4PM)     nn[        U5      nUR                  SS  USS  :X  d   eUR                  S S US S :X  d   eUR                  S S S2   US S S2   :X  d   eUR                  S S S2   US S S2   :X  d   eUR                  S S US S :X  d   eUR                  SS  USS  s=:X  a  / :X  d   e   eg s  snf )Nr3   rD   rM   r%   rN   rO   s       r    test_slice_coords_z%TestCoordsGetItem.test_slice_coords_zM   s	   :?(C(QeAhqb	5Q<0(CqMxx|qu$$$xx}#2&&&xx"~4R4(((xx!}#A#&&&xx|q!u$$$xx|qu****** Ds   .C0r(   N)
r)   r*   r+   r,   rA   rE   rJ   rP   rS   r.   r(   r#   r    r0   r0   '   s    ++r#   r0   c                       \ rS rSrSrS rSrg)TestXYX   z<New geometry/coordseq method 'xy' makes numpy interop easierc                     [        SS/5      R                  u  p[        U5      S:X  d   e[        U5      SS/:X  d   e[        U5      S:X  d   e[        U5      SS/:X  d   eg )N)r   r   )rM   rM   rD   rH         ?)r   xylenlist)r   r=   ys      r    test_arraysTestXY.test_arrays[   se    66*+..1v{{Aw3*$$$1v{{Aw3*$$$r#   r(   N)r)   r*   r+   r,   r-   r^   r.   r(   r#   r    rV   rV   X   s
    F%r#   rV   geomc                 4   U R                   n[        R                  " U5      [        R                  " U5      Ld   e[        R                  " USS9[        R                  " USS9Ld   e[        [        R                  R
                  R                  SS5      S   5      S:  a8  [        R                  " [        SS9   [        R                  " US	S9  S
S
S
5        g
[        R                  " US	S9[        R                  " US	S9L d   eg
! , (       d  f       g
= f)z)Test CoordinateSequence.__array__ method.T)copy.rM   r   rD   zA copy is always created)matchFN)
r   r   r   intversionshort_versionsplitr9   r:   
ValueError)r`   	coord_seqs     r    test_coords_array_copyrk   c   s     I88Ibhhy&999988ID))$1OOOO 2::##))#q1!45:]]:-GHHHYU+ IH xx	."((952QQQQ IHs   <D		
D)   r   r   zGEOS < 3.12)reasonc                      [         R                  S S  S/:X  d   e[        R                  S S  S/:X  d   e[        R                  S S  / SQ:X  d   e[        R                  S S  / SQ:X  d   eg )N)       @      @      @)ro   rp         @rq   ))rH   rH   rY   )rY   rH   ro   )rY   rY   rp   ))rH   rH   rr   rY   )rY   rH   rr   ro   )rY   rY   rr   rp   )r
   r   r   r   r   r(   r#   r    test_coords_with_mrs   r   s}    >>! 1111??1"6!7777" '   
   # (   r#   )numpyr   r9   shapelyr   r   shapely.tests.commonr   r   r   r   r	   r
   r   r   r   r0   rV   markparametrizerk   skipifrs   r(   r#   r    <module>rz      s      ,	 	 	B B,.+ .+b% % %+}!MNR OR L:-mD Er#   