
    \i.                         S SK r S SKrS SKJr  S SKJr  S SKrS SKJrJ	r	  S SK
Jr  S r " S S\R                  5      rg)	    N)partial)islice)MultiPolygonPoint)unary_unionc              #   Z   ^ #    U 4S jnSnUS:  a  U" U5      v   US-  nUS:  a  M  gg7f)z4Returns an iterator over an infinite Halton sequencec                 ^   > SnST-  nU nUS:  a  XUT-  -  -  nUT-  nUT-  nUS:  a  M  U$ )Ng        g      ?r    )indexresultfibases       b/var/www/html/kml_chatgpt/mouzaenv/lib/python3.13/site-packages/shapely/tests/legacy/test_union.pyvaluehalton.<locals>.value   sO    $J!e1t8n$FT	ADA !e        r   Nr
   )r   r   r   s   `  r   haltonr      s4      	
A
a%Ah	Q a%s   $++c                   ,    \ rS rSrS rS rS rS rSrg)UnionTestCase   c                 &   [        [        R                  SS5      n[        S5       Vs/ s H  n[	        U" 5       U" 5       5      PM     nnU Vs/ s H  oDR                  S5      PM     nn[        U5      nUR                  S;   d   eg s  snf s  snf )Ng      4g      4@d   g      @)Polygonr   )r   randomuniformranger   bufferr   	geom_type)selfrr   pointspspotsus          r   test_unary_union_partial&UnionTestCase.test_unary_union_partial    s}     FNNE40+0:6:a%QS/:6 )//1#/ {{9999 7 0s    B	Bc           
          [        [        [        [        S5      SS5      5      [        [        [        S5      SS5      5      5      U l        g )N      x      )ziplistr   r   coords)r!   s    r   setUpUnionTestCase.setUp/   s:     q	2s+,q	2s+,
r   c                     U R                    Vs/ s H  n[        U5      R                  S5      PM     nn[        U5      nUR                  S:X  d   eUR
                  [        R                  " S5      :X  d   eg s  snf )N皙?r   g1׋?)r0   r   r   r   r    areapytestapprox)r!   xypatchesr&   s       r   test_unary_unionUnionTestCase.test_unary_union7   sf    48KK@Kb59##D)K@ {{n,,,vv~6666 As   $A9c                 H   [        U R                   Vs/ s H  n[        U5      R                  S5      PM     sn5      n[	        U5      R
                  [        R                  " S5      :X  d   e[	        X"/5      R
                  [        R                  " S5      :X  d   eg s  snf )Nr4   g]H0׋?)r   r0   r   r   r   r5   r6   r7   )r!   r8   r9   s      r   test_unary_union_multi$UnionTestCase.test_unary_union_multi=   s}     M2b	 0 0 6MN7#((FMM-,HHHHG-.33v}}]7SSSS  Ns   $B)r0   N)	__name__
__module____qualname____firstlineno__r'   r1   r:   r=   __static_attributes__r
   r   r   r   r      s    :
7Tr   r   )r   unittest	functoolsr   	itertoolsr   r6   shapely.geometryr   r   shapely.opsr   r   TestCaser   r
   r   r   <module>rJ      s3         0 #&#TH%% #Tr   