o
    jH                     @   sn
  d dl Zd dlZd dlmZ d dlZd dlmZmZ d dlm	Z	 d dl
mZmZmZmZmZ ejZejZejZejdejejejgejdeded	ed
dejddedgdd Zejdejejejejgejdej ddgej!dde eggdgdd Z"ejdejejejgejdegdd dgdggdd Z#ejdedZ$de$j%_&ejdejejejgejdg dede$ejdedejd edejdedgd!d" Z'd#d$ Z(d%d& Z)d'd( Z*ejd)d dgeeedgfd dgedeegfddgddeegfgd*d+ Z+ejd,ddgddggd d geddgddgggfg d-g d.gd d geg d-g d.ggfddgddgddgddggg d/eddgddggeddgddgggfgd0d1 Z,d2d3 Z-ejd)g d4eeedgfg d5edeegfg d6ddeegfgd7d8 Z.ejdddgde/d9gddgggd:d; Z0ejd,ddgde/d9gddggg d<eddgddgggfgd=d> Z1d?d@ Z2dAdB Z3dCdD Z4ejdddgddgddgddggddgddgddgggdEdF Z5ejdddgddggdej6gddgddgddgggdGdH Z7dIdJ Z8ejd)g dKeddegfg dLdedegfg dMdddegfgdNdO Z9ejdPddgejdQdRdSgdTdU Z:ejdddgddgde/d9gddgggdVdW Z;ejdddgddgddgde/d9gddggddgddgde/d9gddggddgddgddgddgde/d9ggde/d9gddgddgddgddggddgddgddgde/d9ggde/d9gddgddgddgggdXdY Z<dZd[ Z=d\d] Z>d^d_ Z?eg d`Z@eg daZAeBeZCe ZDejBee@gdbZEejBeeAgdbZFejBee@eAgdbZGejdceegd dgeCeCgfdegd dgeDeCgfdeddgg d/eCeDgfee@egg ddeEeCgfeee@gg deeCeEgfdeee@gg d/eCeEgfedee@gg d/eCeEgfedee@gg dfeCeEgfeede@gg dfeCeEgfeee@dgg dfeCeEgfee@eAegg dgeGeCgfee@eeAgg d/eEeFgfeee@eAgg dfeCeGgfee@deAegg dheGeCgfee@deeAgg dieEeFgfee@edeAgg djeEeFgfgdkdl ZHejd)d dgeCeCedgfd dgeCdeeCgfddgddeCeCgfgdmdn ZIejdejBejejejejgejde egdd dgdggdodp ZJejdqeegd d geeeggfeegd dgeegeeggfedgd d geeggfedgd dgeegeg gfdeddgg d/eegeg gfedegg d<eeeggfgdrds ZKdtdu ZLejd)d d geeegddegfddgdddeeeggfgdvdw ZMdxdy ZNdzd{ ZOd|d} ZPd~d ZQejdegejBfegejBfegejBfegejfegejfegejfegejfegejfegejfg	dd ZRdd ZSdd ZTdd ZUdd ZVdd ZWdd ZXdd ZYdd ZZdS )    N)assert_array_equal)
LinearRingPolygon)assert_geometries_equal)empty_pointline_stringlinear_ringpointpolygonfunccoordinates)   )r         )r   r   )r   r   ZfooZdtypec                 C   D   t ttf | |ddgd W d    d S 1 sw   Y  d S Nr   r   indicespytestraises	TypeError
ValueError)r   r    r   d/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/shapely/tests/test_creation_indices.pytest_invalid_coordinates   s   "r   
geometriesr   r   Zhelloc                 C   r   r   r   )r   r   r   r   r   test_invalid_geometries!   s   "r   r   z helloc                 C   sF   t ttf | ddgg|d W d    d S 1 sw   Y  d S )N皙?333333?r   r   r   r   r   r   r   test_invalid_indices_simple2   s   "r#      Fout)NNNr$   r   r   c                 C   s   | t ju rddgddgg}ddg}n&| t ju r0ddgddgddgddgdd	gd	d	gg}g d
}nttg}ddg}tttf | |||d W d    d S 1 sRw   Y  d S )Nr    r!   皙?g      ?r   r   r   r$   r   )r   r   r   r   r   r   r   r%   )	shapelypointslinestringsr	   r   r   r   r   r   )r   r%   xr   r   r   r   test_invalid_out?   s   


(
"r-   c                   C   sP   t tj tjddgddggddgd W d    d S 1 s!w   Y  d S Nr   r   r   r   )r   r   r)   GEOSExceptionr*   r   r   r   r   test_points_invalid[       "r0   c                  C   sF   t jtjddgddggtdtjddgtjdd} t| ttg d S )Nr   r$   r   r   r   r   )r)   r*   nparrayfloatintpr   r	   actualr   r   r   test_pointsa   s
   r8   c                   C   sd   t t# tjtjddgddggtdtjddgtjdd W d    d S 1 s+w   Y  d S )Nr   r$   r   r   r   )	r   r   r   r)   r*   r2   r3   r4   r5   r   r   r   r   test_points_no_index_raisesi   s   "r9   zindices,expectedc                 C   sL   t jdtd}t|d< tjddgddgg| |d}t|| ||u s$J d S )Nr   r   r   r$   r(   )r2   emptyobjectr   r)   r*   r   r   expectedr%   r7   r   r   r   test_points_outq   s   	
r>   zcoordinates,indices,expected)r   r   r   )r   r   r   r   r   r   r   c                 C   2   t jtj| tdtj|tjdd}t|| d S Nr   r   r)   r+   r2   r3   r4   r5   r   r   r   r=   r7   r   r   r   test_linestrings   s   rD   c                   C   sP   t tj tjddgddggddgd W d    d S 1 s!w   Y  d S r.   )r   r   r)   r/   r+   r   r   r   r   test_linestrings_invalid   r1   rE   )r   r   r   r   r   r   )r   r   r   r$   r$   r$   )r   r   r   r$   r$   r$   c                 C   D   t jdtd}t|d< tjg d| |d}t|| ||u s J d S )Nr   r   r   )r   r   r   r   r   r   rG   rH   rI   r(   )r2   r:   r;   r   r)   r+   r   r<   r   r   r   test_linestrings_out      	
rJ   nanc                 C   <   t jtj| tdtjt| tjdd}tt 	||  d S rA   )
r)   r+   r2   r3   r4   zeroslenr5   r   get_coordinatesr   r7   r   r   r   test_linestrings_allow_nan   
   rR   r   r   r   c                 C   s4   t jtj| tdtj|tjddd}t|| d S )Nr   skipr   
handle_nanrB   rC   r   r   r    test_linestrings_handle_nan_skip   s   rX   c                   C   sV   t tj tjddgdtdggddgdd W d    d S 1 s$w   Y  d S )Nr   r   rL   r   rU   rV   )r   r   r)   r/   r+   r4   r   r   r   r   (test_linestrings_handle_nan_skip_invalid   s
   "rY   c                  C   s2   t jtjdtjdg ddd} | d jsJ d S )Nr&   Z
fill_valuerT   rU   rV   r   )r)   r+   r2   fullrL   is_emptyr6   r   r   r   )test_linestrings_handle_nan_skip_only_nan   s   r]   c                   C   s^   t jtdd tjddgtddgddggg ddd W d    d S 1 s(w   Y  d S )	N.*NaN.*matchr   rL   r   rT   errorrV   )r   r   r   r)   r+   r4   r   r   r   r   !test_linestrings_handle_nan_error   s
    "rb   c                 C   s>   t jtj| tjdtjt| tjdd}t|t |  d S rA   	r)   linearringsr2   r3   Zfloat64rN   rO   r5   r   rQ   r   r   r   test_linearrings   s
   re   c                 C   sN   t tjtf tj| tt| d W d    d S 1 s w   Y  d S Nr   )	r   r   r)   r/   r   rd   r2   rN   rO   )r   r   r   r   test_linearrings_invalid   s   "rg   c                  C   s.   t jg dtdd} t| tg d d S )N)rG   rG   rG   r$   r   )rG   rG   rG   rG   )r)   rd   r2   rN   r   r   r6   r   r   r   *test_linearrings_unclosed_all_coords_equal   s   rh   r   r   r   r   r   )r   r   r   r   r   )r$   r$   r$   r$   r$   c                 C   rF   )Nr   r   r$   )rG   rH   rI   )r   r   rG   r(   )r2   r:   r;   r   r)   rd   r   r<   r   r   r   test_linearrings_out  rK   rj   dimorderCFc           	      C   s   t jdd| }t j|d| |d}t tdd}tj||d}t 	||d d dgd d f f}t j|d| |d}t tdd}tj||d}t
|| d S )	N
   r   (   )rl   r   r   2      )r2   randomZrandnZasarrayZreshaperepeatranger)   rd   Zhstackr   )	rk   rl   ZcoordsZcoords1Zindices1Zresult1Zcoords2Zindices2Zresult2r   r   r   test_linearrings_buffer  s   "rv   c                 C   rM   rA   )
r)   rd   r2   r3   r4   rN   rO   r5   r   rP   rQ   r   r   r   test_linearrings_allow_nan%  rS   rw   c                 C   sD   t jtj| tjdtjt| tjddd}t|t j| dd d S )Nr   rU   rV   )rW   rc   rQ   r   r   r    test_linearrings_handle_nan_skip3  s   rx   c                   C   sZ   t t tjddgtddgddggg ddd W d    d S 1 s&w   Y  d S )Nr   rL   rT   rU   rV   r   r   r   r)   rd   r4   r   r   r   r   (test_linearrings_handle_nan_skip_invalidG  s
    "rz   c                  C   s4   t jtjdtjddgd dd} | d jsJ d S )N)rr   r   rZ   r   rr   rU   rV   )r)   rd   r2   r[   rL   r\   r6   r   r   r   )test_linearrings_handle_nan_skip_only_nanO  s   r{   c                   C   sj   t jtdd$ tjddgddgddgdtdgddggg ddd W d    d S 1 s.w   Y  d S )	Nr^   r_   r   r   rL   ri   ra   rV   ry   r   r   r   r   !test_linearrings_handle_nan_errorW  s   $"r|   ))r    r    )r    r'   )r'   r'   ))333333?r}   )r}   皙?)r~   r~   )Zholeszrings,indices,expected)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                 C   r@   rA   )r)   polygonsr2   r3   r;   r5   r   )Zringsr   r=   r7   r   r   r   test_polygonsi  s   .r   c                 C   sD   t jdtd}t|d< tjttg| |d}t|| ||u s J d S )Nr   r   r   r(   )r2   r:   r;   r   r)   r   r   r   r<   r   r   r   test_polygons_out  s
   	
r   c                 C   sB   t ttf | tg|d W d    d S 1 sw   Y  d S rf   )r   r   r   r   r	   r"   r   r   r    test_invalid_indices_collections  s   "r   zgeometries,indices,expectedc                 C   s&   t jtj| td|d}t|| d S rA   )r)   geometrycollectionsr2   r3   r;   r   )r   r   r=   r7   r   r   r   test_geometrycollections  s   r   c                   C   sP   t t tjtjttgt	dddgd W d    d S 1 s!w   Y  d S )Nr   r   r   r   )
r   r   r   r)   r   r2   r3   r	   r   r;   r   r   r   r   (test_geometrycollections_no_index_raises  s
   "r   c                 C   sD   t jdtd}t|d< tjttg| |d}t|| ||u s J d S )Nr   r   r$   r(   )	r2   r:   r;   r   r)   r   r	   r   r   r<   r   r   r   test_geometrycollections_out  s
   
r   c                  C   <   t jtjtgtdtjdtjdd} t| t tg d S Nr   r   r   )	r)   multipointsr2   r3   r	   r;   rN   r5   r   r6   r   r   r   test_multipoints     r   c                  C   r   r   )	r)   multilinestringsr2   r3   r   r;   rN   r5   r   r6   r   r   r   test_multilinestrings  r   r   c                  C   r   r   )	r)   r   r2   r3   r   r;   rN   r5   r   r6   r   r   r   test_multilinearrings  r   r   c                  C   r   r   )	r)   multipolygonsr2   r3   r
   r;   rN   r5   r   r6   r   r   r   test_multipolygons  r   r   zgeometries,funcc                 C   s>   t t || dgd W d    d S 1 sw   Y  d S )Nr   r   )r   r   r   )r   r   r   r   r   test_incompatible_types  s   "r   c                   C   sR   t jdd tddgddggd d ddg W d    d S 1 s"w   Y  d S )Nz8positional argument `indices` for `points` is deprecatedr_   r   r   r   r$   )r   deprecated_callr)   r*   r   r   r   r    test_points_deprecate_positional  s
   ""r   c                   C   s^   t jdd tddgddgddgd	d
ggd d g d W d    d S 1 s(w   Y  d S )Nz=positional argument `indices` for `linestrings` is deprecatedr_   r   r   r   r$   r   rr         r?   )r   r   r)   r+   r   r   r   r   %test_linestrings_deprecate_positional  s
   ."r   c                   C   sX   t jdd tddgddgddggd d g d W d    d S 1 s%w   Y  d S )Nz=positional argument `indices` for `linearrings` is deprecatedr_   r   r   rT   )r   r   r)   rd   r   r   r   r   %test_linearrings_deprecate_positional"  s
   ("r   c                   C   sH   t jdd tttgd ddg W d    d S 1 sw   Y  d S )Nz:positional argument `indices` for `polygons` is deprecatedr_   r   r   )r   r   r)   r   r   r   r   r   r   "test_polygons_deprecate_positional)  s
   "r   c                   C   F   t jdd tttgddg W d    d S 1 sw   Y  d S )Nz=positional argument `indices` for `multipoints` is deprecatedr_   r   r   )r   r   r)   r   r	   r   r   r   r   %test_multipoints_deprecate_positional0  
   "r   c                   C   r   )NzBpositional argument `indices` for `multilinestrings` is deprecatedr_   r   r   )r   r   r)   r   r   r   r   r   r   *test_multilinestrings_deprecate_positional7  r   r   c                   C   r   )Nz?positional argument `indices` for `multipolygons` is deprecatedr_   r   r   )r   r   r)   r   r
   r   r   r   r   'test_multipolygons_deprecate_positional>  r   r   c                   C   sF   t jdd tttgddg W d    d S 1 sw   Y  d S )NzEpositional argument `indices` for `geometrycollections` is deprecatedr_   r   r   )r   r   r)   r   r	   r
   r   r   r   r   -test_geometrycollections_deprecate_positionalE  r   r   )[numpyr2   r   Znumpy.testingr   r)   r   r   Zshapely.testingr   Zshapely.tests.commonr   r   r   r	   r
   r*   Zpntsr+   Zlstrsr   Z	geom_collmarkZparametrizerd   r:   r[   r;   r   r   r   r   r3   r5   r   r#   Znon_writeableflagsZ	writeabler-   r0   r8   r9   r>   rD   rE   rJ   r4   rR   rX   rY   r]   rb   re   rL   rg   rh   rj   rv   rw   rx   rz   r{   r|   Zhole_1Zhole_2r   ZpolyZ
poly_emptyZpoly_hole_1Zpoly_hole_2Zpoly_hole_1_2r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   <module>   s   
	&
**&


4
	2



$$$
		




-
"
 "











