o
    Jf                     @   s"   d Z ddlmZ G dd dZdS )zCoordinate sequence utilities
    )arrayc                   @   sF   e Zd ZdZdd Zdd Zdd Zdd	 ZdddZe	dd Z
d
S )CoordinateSequencez
    Iterative access to coordinate tuples from the parent geometry's coordinate
    sequence.

    Example:

      >>> from shapely.wkt import loads
      >>> g = loads('POINT (0.0 0.0)')
      >>> list(g.coords)
      [(0.0, 0.0)]

    c                 C   s
   || _ d S N)_coords)selfcoords r   Z/home/deployuser/azure_apps/autowriter/venv/lib/python3.10/site-packages/shapely/coords.py__init__   s   
zCoordinateSequence.__init__c                 C   s   | j jd S )Nr   )r   shape)r   r   r   r	   __len__   s   zCoordinateSequence.__len__c                 c   s,    t |  D ]}t| j|  V  qd S r   )ranger   tupler   tolist)r   ir   r   r	   __iter__   s   zCoordinateSequence.__iter__c                 C   s   |   }t|tr+|| dk s||krtd|dk r || }n|}t| j|  S t|trQg }||\}}}t	|||D ]}|
t| j|   q@|S td)Nr   zindex out of rangezkey must be an index or slice)r   
isinstanceint
IndexErrorr   r   r   sliceindicesr   append	TypeError)r   keymr   resstartstopstrider   r   r	   __getitem__   s   


zCoordinateSequence.__getitem__Nc                 C   s(   |du rt d|du r| j S | jS )NFz7`copy=False` isn't supported. A copy is always created.T)
ValueErrorr   copy)r   dtyper!   r   r   r	   	__array__1   s
   
zCoordinateSequence.__array__c                 C   sX   |   }td}td}t|D ]}| j|  }||d  ||d  q||fS )zX and Y arraysdr      )r   r   r   r   r   r   )r   r   xyr   xyr   r   r	   r(   9   s   zCoordinateSequence.xy)NN)__name__
__module____qualname____doc__r
   r   r   r   r#   propertyr(   r   r   r   r	   r      s    
r   N)r,   r   r   r   r   r   r	   <module>   s    