o
    ×Ëh§'  ã                   @   s>  d dl Z d dlmZ d dlZd dlZe e d¡e d¡¡e dddd¡fZ	e 
dd¡Ze g d¢¡Ze g d¢¡Ze g d	¢¡Zejg d
¢g d¢gdZe ddg¡Ze ddgg¡Ze g d¢g d¢g¡Ze e 
dd¡e ddg¡g¡Ze d¡Ze d¡Ze d¡Ze d¡Ze d¡Z e d¡Z!e d¡Z"e #eg¡Z$e %eg¡Z&e eg¡Z'e (eg¡Z)e 
ddd¡Z*e g d¢¡Z+e g d¢¡Z,e g d¢¡Z-ejg d¢g d¢gdZ.e d d!g¡Z/e d d!gg¡Z0e g d"¢g d#¢g¡Z1e e*e+g¡Z2e d$¡Z3e d%¡Z4e d&¡Z5e d'¡Z6e d(¡Z7e d)¡Z8e d*¡Z9e #e4g¡Z:e %e5g¡Z;e e6g¡Z<e (e5g¡Z=e d+¡Z>e d,¡Z?e d-¡Z@e d.¡ZAe d/¡ZBe d0¡ZCe d1¡ZDe d2¡ZEe e>e?g¡ZFe d3¡ZGe d4¡ZHe d5¡ZIe d6¡ZJe d7¡ZKe d8¡ZLe d9¡ZMe #eHg¡ZNe %eIg¡ZOe eJg¡ZPe (eIg¡ZQe d:¡ZRe d;¡ZSe d<¡ZTe d=¡ZUe d>¡ZVe d?¡ZWe d@¡ZXe dA¡ZYe eReSg¡ZZe dB¡Z[e dC¡Z\e dD¡Z]e dE¡Z^e dF¡Z_e dG¡Z`e dH¡Zae #e\g¡Zbe %e]g¡Zce e^g¡Zde (e]g¡Zeeeeeeeeeeeeeee e!e"e$e&e'e)fZfe*e+e,e-e.e/e0e1e2e3e4e5e6e7e8e9e:e;e<e=fZge>e?e@eAeBeCeDeEeFeGeHeIeJeKeLeMeNeOePeQfZheReSeTeUeVeWeXeYeZe[e\e]e^e_e`eaebecedeefZiedRdJdK„ƒZjejƒ  e ejkejkfejkejkfg¡ZlW d  ƒ n	1 s‡w   Y  edLdM„ ƒZmdNdO„ ZnG dPdQ„ dQƒZodS )Sé    N)Úcontextmanageré   é   é   é   )©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   )r   r   )r   r   r   )Úholesr   )r	   r   )©çÍÌÌÌÌÌ @r   )çš™™™™™@r   )r   r   )r   r   r   é3   éÿÿÿÿ)é4   r   )é1   r   zGEOMETRYCOLLECTION EMPTYzPOINT EMPTYzLINESTRING EMPTYzPOLYGON EMPTYzMULTIPOINT EMPTYzMULTILINESTRING EMPTYzMULTIPOLYGON EMPTY)©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   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   r   )r   r	   r   r   )©r   r   r   )r   r   r   )r   r   r   )r   r   r   r   zGEOMETRYCOLLECTION Z EMPTYzPOINT Z EMPTYzLINESTRING Z EMPTYzPOLYGON Z EMPTYzMULTIPOINT Z EMPTYzMULTILINESTRING Z EMPTYzMULTIPOLYGON Z EMPTYzPOINT M (2 3 5)z"LINESTRING M (0 0 1, 1 0 2, 1 1 3)z0LINEARRING M (0 0 1, 1 0 2, 1 1 3, 0 1 2, 0 0 1)z/POLYGON M ((0 0 1, 2 0 2, 2 2 3, 0 2 2, 0 0 1))zjPOLYGON M ((0 0 1, 0 10 2, 10 10 3, 10 0 2, 0 0 1),
                  (2 2 6, 2 4 5, 4 4 4, 4 2 5, 2 2 6))zMULTIPOINT M ((0 0 3), (1 2 5))z"MULTILINESTRING M ((0 0 3, 1 2 5))z‚MULTIPOLYGON M (((0 0 1, 2 0 2, 2 2 3, 0 2 2, 0 0 1)),
       ((2.1 2.1 1.1, 2.2 2.1 1.2, 2.2 2.2 1.3, 2.1 2.2 1.4, 2.1 2.1 1.1)))zGEOMETRYCOLLECTION M EMPTYzPOINT M EMPTYzLINESTRING M EMPTYzPOLYGON M EMPTYzMULTIPOINT M EMPTYzMULTILINESTRING M EMPTYzMULTIPOLYGON M EMPTYzPOINT ZM (2 3 4 5)z)LINESTRING ZM (0 0 4 1, 1 0 4 2, 1 1 4 3)z;LINEARRING ZM (0 0 1 8, 1 0 2 7, 1 1 3 6, 0 1 2 9, 0 0 1 8)z:POLYGON ZM ((0 0 4 1, 2 0 4 2, 2 2 4 3, 0 2 4 2, 0 0 4 1))ztPOLYGON ZM ((0 0 4 1, 0 10 4 2, 10 10 4 3, 10 0 4 2, 0 0 4 1),
       (2 2 4 6, 2 4 4 5, 4 4 4 4, 4 2 4 5, 2 2 4 6))z$MULTIPOINT ZM ((0 0 4 3), (1 2 4 5))z'MULTILINESTRING ZM ((0 0 4 3, 1 2 4 5))z—MULTIPOLYGON ZM (((0 0 4 1, 2 0 4 2, 2 2 4 3, 0 2 4 2, 0 0 4 1)),
       ((2.1 2.1 4 1.1, 2.2 2.1 4 1.2, 2.2 2.2 4 1.3, 2.1 2.2 4 1.4, 2.1 2.1 4 1.1)))zGEOMETRYCOLLECTION ZM EMPTYzPOINT ZM EMPTYzLINESTRING ZM EMPTYzPOLYGON ZM EMPTYzMULTIPOINT ZM EMPTYzMULTILINESTRING ZM EMPTYzMULTIPOLYGON ZM EMPTYTc                 c   sH    | rt jdd d V  W d   ƒ d S 1 sw   Y  d S d V  d S )NÚignore)Úinvalid)ÚnpÚerrstate)Ú	condition© r#   úO/var/www/html/scripts/venv/lib/python3.10/site-packages/shapely/tests/common.pyÚignore_invalidà   s   €"ÿ
r%   c                 c   sX    t j| k r't ¡  tjd|d d V  W d   ƒ d S 1 s w   Y  d S d V  d S )Nr   )Úcategory)ÚshapelyÚgeos_versionÚwarningsÚcatch_warningsÚfilterwarnings)r(   r&   r#   r#   r$   Úignore_warningsí   s   €

"þ
r,   c                 C   sJ   | j r#t | ¡dkr#tjdk r| jdkrdS tjdk r#| j d¡r#dS dS )z6Older GEOS versions have various issues with "equals".r   )r   r   r   ÚGeometryCollectionT)r   é   r   ÚMultiF)Úis_emptyr'   Úget_num_geometriesr(   Ú	geom_typeÚ
startswith)Úgeomr#   r#   r$   Ú)equal_geometries_abnormally_yield_unequal÷   s   r5   c                   @   s@   e Zd ZdZdd„ Zdd„ Zdd„ Zdd	„ Zd
d„ Zdd„ Z	dS )Ú	ArrayLikezO
    Simple numpy Array like class that implements the
    ufunc protocol.
    c                 C   s   t  |¡| _d S ©N©r    ÚasarrayÚ_array)ÚselfÚarrayr#   r#   r$   Ú__init__  s   zArrayLike.__init__c                 C   s
   t | jƒS r7   )Úlenr:   ©r;   r#   r#   r$   Ú__len__
  ó   
zArrayLike.__len__c                 C   s
   | j | S r7   )r:   )r;   Úkeyr#   r#   r$   Ú	__getitem  rA   zArrayLike.__getitemc                 C   s
   | j  ¡ S r7   )r:   Ú__iter__r?   r#   r#   r$   rD     rA   zArrayLike.__iter__c                 C   s   t  | j¡S r7   r8   r?   r#   r#   r$   Ú	__array__  s   zArrayLike.__array__c                    s2   |dkr‡ fdd„|D ƒ}ˆ   ||i |¤Ž¡S tS )NÚ__call__c                    s"   g | ]}t |ˆ jƒr|jn|‘qS r#   )Ú
isinstanceÚ	__class__r:   )Ú.0Úargr?   r#   r$   Ú
<listcomp>  s    ÿz-ArrayLike.__array_ufunc__.<locals>.<listcomp>)rH   ÚNotImplemented)r;   ÚufuncÚmethodÚinputsÚkwargsr#   r?   r$   Ú__array_ufunc__  s   
ÿzArrayLike.__array_ufunc__N)
Ú__name__Ú
__module__Ú__qualname__Ú__doc__r=   r@   Ú_ArrayLike__getitemrD   rE   rQ   r#   r#   r#   r$   r6     s    r6   )T)pr)   Ú
contextlibr   Únumpyr    r'   ÚpointsÚarangeÚboxÚpoint_polygon_testdataÚPointÚpointÚ
LineStringÚline_stringÚ
LinearRingÚlinear_ringÚPolygonÚpolygonÚpolygon_with_holeÚ
MultiPointÚmulti_pointÚMultiLineStringÚmulti_line_stringÚmultipolygonsÚmulti_polygonr-   Úgeometry_collectionÚfrom_wktÚemptyÚempty_pointÚempty_line_stringÚempty_polygonÚempty_multi_pointÚempty_multi_line_stringÚempty_multi_polygonÚmultipointsÚmulti_point_emptyÚmultilinestringsÚmulti_line_string_emptyÚmulti_polygon_emptyÚgeometrycollectionsÚgeometry_collection_emptyÚpoint_zÚline_string_zÚlinear_ring_zÚ	polygon_zÚpolygon_with_hole_zÚmulti_point_zÚmulti_line_string_zÚmulti_polygon_zÚgeometry_collection_zÚempty_geometry_collection_zÚempty_point_zÚempty_line_string_zÚempty_polygon_zÚempty_multi_point_zÚempty_multi_line_string_zÚempty_multi_polygon_zÚmulti_point_empty_zÚmulti_line_string_empty_zÚmulti_polygon_empty_zÚgeometry_collection_empty_zÚpoint_mÚline_string_mÚlinear_ring_mÚ	polygon_mÚpolygon_with_hole_mÚmulti_point_mÚmulti_line_string_mÚmulti_polygon_mÚgeometry_collection_mÚempty_geometry_collection_mÚempty_point_mÚempty_line_string_mÚempty_polygon_mÚempty_multi_point_mÚempty_multi_line_string_mÚempty_multi_polygon_mÚmulti_point_empty_mÚmulti_line_string_empty_mÚmulti_polygon_empty_mÚgeometry_collection_empty_mÚpoint_zmÚline_string_zmÚlinear_ring_zmÚ
polygon_zmÚpolygon_with_hole_zmÚmulti_point_zmÚmulti_line_string_zmÚmulti_polygon_zmÚgeometry_collection_zmÚempty_geometry_collection_zmÚempty_point_zmÚempty_line_string_zmÚempty_polygon_zmÚempty_multi_point_zmÚempty_multi_line_string_zmÚempty_multi_polygon_zmÚmulti_point_empty_zmÚmulti_line_string_empty_zmÚmulti_polygon_empty_zmÚgeometry_collection_empty_zmÚ	all_typesÚall_types_zÚall_types_mÚall_types_zmr%   ÚnanÚline_string_nanr,   r5   r6   r#   r#   r#   r$   Ú<module>   s¤   þþþÿÿ






ÿþþÿ










ÿ

ÿ








ÿÿÿ

ÿ






ìììì ÿ
	
