o
    Îj‹  ã                   @   sl   d dl Z d dlZd dlZd dlmZmZmZ ej 	d¡G dd„ de j
ƒƒZej 	d¡G dd„ de j
ƒƒZdS )é    N)ÚMultiPolygonÚPointÚboxzignore:The 'shapely.vectorized:c                   @   sl   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	dd„ Z
dd„ Zdd„ Zdd„ Zdd„ ZdS )ÚVectorizedContainsTestCasec           
      C   s”   ddl m} ||||ƒ}t |¡}t |¡}|  |tj¡ |  |jt¡ |j	}|j	|j	}}t
|jƒD ]}	||	 | t||	 ||	 ƒ¡ksGJ ‚q3|S )Nr   )Úcontains)Úshapely.vectorizedr   ÚnpZ
asanyarrayZassertIsInstanceZndarrayZassertEqualÚdtypeÚboolZflatÚrangeÚsizer   )
ÚselfÚgeomÚxÚyr   ÚresultZresult_flatZx_flatZy_flatÚidx© r   úe/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/shapely/tests/legacy/test_vectorized.pyÚassertContainsResults   s   

&z0VectorizedContainsTestCase.assertContainsResultsc                 C   s    t ddƒ}| d¡ | d¡¡S )Nr   é   g      @)r   ÚbufferÚsymmetric_difference)r   Úpointr   r   r   Úconstruct_torus   s   
z*VectorizedContainsTestCase.construct_torusc                 C   s8   t jddd… t jddd… }}|  |  ¡ ||¡ d S ©Néöÿÿÿé
   ù              @éûÿÿÿé   )r   Úmgridr   r   ©r   r   r   r   r   r   Útest_contains_poly"   s   "z-VectorizedContainsTestCase.test_contains_polyc                 C   óB   t jddd… t jddd… }}|  t|d |d ƒ||¡ d S ©Nr   r   r   r   r    r   ©r   r!   r   r   r"   r   r   r   Útest_contains_point&   ó   " z.VectorizedContainsTestCase.test_contains_pointc                 C   r$   r%   r&   r"   r   r   r   Útest_contains_linestring*   r(   z3VectorizedContainsTestCase.test_contains_linestringc                 C   s^   t jddd… t jddd… }}tddddƒ}|  ¡  |¡}t|tƒs&J ‚|  |||¡ d S )Nr   r   r   r   r    éÿÿÿÿg      À)r   r!   r   r   Ú
differenceÚ
isinstancer   r   )r   r   r   Zcut_polyr   r   r   r   Útest_contains_multipoly.   s
   "z2VectorizedContainsTestCase.test_contains_multipolyc                 C   s>   t jddd…ddd…f \}}| d¡}|  |  ¡ ||¡ d S ©Nr   r   r   r   r    Úf©r   r!   Úcopyr   r   r"   r   r   r   Útest_y_array_order6   ó   
z-VectorizedContainsTestCase.test_y_array_orderc                 C   s>   t jddd…ddd…f \}}| d¡}|  |  ¡ ||¡ d S r.   r0   r"   r   r   r   Útest_x_array_order;   r3   z-VectorizedContainsTestCase.test_x_array_orderc                 C   sV   t jddd…ddd…f \}}| d¡}| d¡}|  |  ¡ ||¡}|jd s)J ‚d S )Nr   r   r   r   r    r/   ZF_CONTIGUOUS)r   r!   r1   r   r   Úflags©r   r   r   r   r   r   r   Útest_xy_array_order@   s
   

z.VectorizedContainsTestCase.test_xy_array_orderc                 C   sD   t jddd… t jddd… }}| t j¡}|  |  ¡ ||¡ d S r   )r   r!   ZastypeZint16r   r   r"   r   r   r   Útest_array_dtypeH   s   "z+VectorizedContainsTestCase.test_array_dtypec                 C   sD   t jddd…ddd…f \}}|  |  ¡ ||¡}|j|jks J ‚d S )Nr   r   y              .@r   r    y              0@)r   r!   r   r   Úshaper6   r   r   r   Útest_array_2dM   s   z(VectorizedContainsTestCase.test_array_2dc                 C   s.   t ddƒ d¡}| j|  ¡ g|jj¢R Ž  d S )Nr   g      $@)r   r   r   r   ZexteriorZxy)r   Úgr   r   r   Útest_shapely_xy_attr_containsR   s   z8VectorizedContainsTestCase.test_shapely_xy_attr_containsN)Ú__name__Ú
__module__Ú__qualname__r   r   r#   r'   r)   r-   r2   r4   r7   r8   r:   r<   r   r   r   r   r   	   s    r   c                   @   s   e Zd Zdd„ ZdS )ÚVectorizedTouchesTestCasec                 C   s   ddl m} tjddd…ddd…f \}}tddddƒ}||||ƒ}tjg d	¢g d
¢g d¢g d¢g d
¢g d	¢gtd}ddlm} |||ƒ d S )Nr   )Útoucheséþÿÿÿé   y              @r*   r   é   )FFFFF)FTTTF)FTFTF)r	   )Úassert_array_equal)	r   rA   r   r!   r   Úarrayr
   Znumpy.testingrE   )r   rA   r   r   r   r   ÚexpectedrE   r   r   r   Útest_touchesY   s    ú÷z&VectorizedTouchesTestCase.test_touchesN)r=   r>   r?   rH   r   r   r   r   r@   W   s    r@   )ZunittestÚnumpyr   ZpytestZshapely.geometryr   r   r   ÚmarkÚfilterwarningsZTestCaser   r@   r   r   r   r   Ú<module>   s    

M