
    \i                         S SK r S SKJr  S SKJrJrJrJrJrJ	r	  S SK
Jr  S SKJrJrJrJr  \ R"                  " S5        S rS rS	 rS
 rS rS rS rS rS rS rSS jrg)    N)assert_allclose)
LineStringMultiLineStringMultiPolygonPointboxget_coordinates)orient)patch_from_polygon	plot_lineplot_pointsplot_polygon
matplotlibc                      [        SSSS5      n [        U SSSS9n[        UR                  5       S5      (       d   e[        UR	                  5       S5      (       d   eUR                  5       S:X  d   eg )Nr      redblue   	facecolor	edgecolor	linewidth)r   r   equal_colorget_facecolorget_edgecolorget_linewidthpolyartists     ^/var/www/html/kml_chatgpt/mouzaenv/lib/python3.13/site-packages/shapely/tests/test_plotting.pytest_patch_from_polygonr!      sq    q!Q?DSTUFv++-u5555v++-v6666!Q&&&    c                     [        SSSS5      R                  [        SSSS5      5      n [        U SSSS9n[        UR	                  5       S5      (       d   e[        UR                  5       S5      (       d   eUR                  5       S:X  d   eg )	Nr   r   皙?      ?r   r   r   r   )r   
differencer   r   r   r   r   r   s     r    %test_patch_from_polygon_with_interiorr'      s    q!Q?%%c#sC&=>DSTUFv++-u5555v++-v6666!Q&&&r"   c                     [        SSSS5      R                  [        SSSS5      5      n [        U SSSS9n[        UR	                  5       S5      (       d   e[        UR                  5       S5      (       d   eUR                  5       S:X  d   eg )Nr   r      r   r   r   r   )r   unionr   r   r   r   r   r   s     r    test_patch_from_multipolygonr+   "   s    q!Q?  Q1a1DSTUFv++-u5555v++-v6666!Q&&&r"   c                  \   [        SSSS5      n [        U 5      u  pUR                  5       R                  n[	        U[        U 5      5        [        U SSSS9n[        UR                  5       SSS9(       d   e[        UR                  5       SS	S9(       d   eUR                  5       S:X  d   eg )
Nr   r   Fr   r   
add_pointscolorr   g333333?alphag      ?)
r   r   get_pathverticesr   r	   r   r   r   r   r   r   _plot_coordss       r    test_plot_polygonr7   *   s    q!Q?DT"IF//#,,KK!67 $5KFv++-uC@@@v++-uC@@@!Q&&&r"   c                      [        SSSS5      R                  [        SSSS5      5      n [        U 5      u  pUR                  5       R                  n[        U[        [        U 5      5      5        g )Nr   r   r$   r%   )r   r&   r   r2   r3   r   r	   r
   r4   s       r    test_plot_polygon_with_interiorr9   7   sX    q!Q?%%c#sC&=>DT"IF//#,,KK!>?r"   c                      [        SSSS5      R                  [        SSSS5      5      n [        U 5      u  pUR                  5       R                  n[        U[        U 5      5        g )Nr   r   r)   r   )r   r*   r   r2   r3   r   r	   r4   s       r    test_plot_multipolygonr;   >   sS    q!Q?  Q1a1DT"IF//#,,KK!67r"   c                  J   [        SSSS5      R                  [        SSSS5      5      n [        SSSS5      R                  [        SSSS5      5      n[        X/5      n[        U5      u  p4UR	                  5       R
                  n[        U[        [        U5      5      5        g )	Nr   r   r$   r%   r            )	r   r&   r   r   r2   r3   r   r	   r
   )poly1poly2r   r   r5   r6   s         r    $test_plot_multipolygon_with_interiorrB   E   s    1aO&&s3S#'>?E1aO&&s1aA7E'DT"IF//#,,KK!>?r"   c                  ^   [        / SQ5      n [        U 5      u  pUR                  5       R                  n[	        U[        U 5      5        [        U SSSS9n[        UR                  5       S5      (       d   e[        UR                  5       S5      (       d   eUR                  5       S:X  d   eg )N)r   r   )r   r   )r   r   Fr   r   r-   none)
r   r   r2   r3   r   r	   r   r   r   r   liner   r5   r6   s       r    test_plot_linerH   O   s    ./D$IF//#,,KK!67 tUaHFv++-u5555v++-v6666!Q&&&r"   c                      [        [        / SQ5      [        SS/5      /5      n [        U 5      u  pUR                  5       R                  n[        U[        U 5      5        g )NrD   )r)   r)   )r   r   )r   r   r   r2   r3   r   r	   rF   s       r    test_plot_multilinestringrJ   \   sR    	,	-z66:J/KLD $IF//#,,KK!67r"   c                     [        SS5      [        / SQ5      [        SSSS5      4 HS  n [        U 5      nUR	                  5       R
                  n[        U[        U 5      5        UR                  5       S:X  a  MS   e   [        SS5      n [        U SSSS9nUR                  5       S:X  d   eUR                  5       S:X  d   eUR                  5       S:X  d   eg )	Nr   rD   r   Noner   +top)r/   marker	fillstyle)r   r   r   r   r2   r3   r   r	   get_linestyle	get_color
get_markerget_fillstyle)geomr   r6   s      r    test_plot_pointsrV   e   s    q!j)ABC1aQROTT"oo'00_T%:;##%///	 U A;DU3%HF&&&#%%%!U***r"   c                 H    SSK Jn  UR                  nXR                  XS9:H  $ )Nr   )colorsr0   )r   rX   colorConverterto_rgba)actualexpectedr1   rX   convs        r    r   r   t   s$    !  D\\(\888r"   )N)pytestnumpy.testingr   shapelyr   r   r   r   r   r	   shapely.opsr
   shapely.plottingr   r   r   r   importorskipr!   r'   r+   r7   r9   r;   rB   rH   rJ   rV   r    r"   r    <module>re      sg     )   U U   L !'''
'@8@
'8+9r"   