B
    ÿNŽ[ð  ã               @   sr   d Z ddlmZmZmZ ddlmZ ddlmZm	Z	 da
dd„ Zd	ZG d
d„ deƒZe eddd e¡dƒ¡ dS )z  Plugin for reading gdal files.
é    )Úabsolute_importÚprint_functionÚdivisioné   )Úformats)ÚFormatÚ
has_moduleNc               C   s2   ydd l ma W n tk
r,   tdƒ‚Y nX tS )Nr   zhThe GDAL format relies on the GDAL package.Please refer to http://www.gdal.org/for further instructions.)Z
osgeo.gdalÚgdalÚ_gdalÚImportError© r   r   ú3lib/python3.7/site-packages/imageio/plugins/gdal.pyÚload_lib   s    r   )z.tiffz .tifz.imgz.ecwz.jpgz.jpegc               @   s2   e Zd ZdZdd„ Zdd„ ZG dd„ dejƒZdS )	Ú
GdalFormatzF

    Parameters for reading
    ----------------------
    None

    c             C   s&   |j dkrdS tdƒr"|j | jkS d S )N)z.ecwTz
osgeo.gdal)Ú	extensionr   Ú
extensions)ÚselfÚrequestr   r   r   Ú	_can_read(   s    
zGdalFormat._can_readc             C   s   dS )NFr   )r   r   r   r   r   Ú
_can_write.   s    zGdalFormat._can_writec               @   s4   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ ZdS )zGdalFormat.Readerc             C   s    t s
tƒ  t  | j ¡ ¡| _d S )N)r
   r   ZOpenr   Zget_local_filenameÚ_ds)r   r   r   r   Ú_open4   s    zGdalFormat.Reader._openc             C   s   | ` d S )N)r   )r   r   r   r   Ú_close9   s    zGdalFormat.Reader._closec             C   s   dS )Né   r   )r   r   r   r   Ú_get_length<   s    zGdalFormat.Reader._get_lengthc             C   s$   |dkrt dƒ‚| j ¡ |  |¡fS )Nr   z#Gdal file contains only one dataset)Ú
IndexErrorr   ZReadAsArrayÚ_get_meta_data)r   Úindexr   r   r   Ú	_get_data?   s    zGdalFormat.Reader._get_datac             C   s
   | j  ¡ S )N)r   ZGetMetadata)r   r   r   r   r   r   D   s    z GdalFormat.Reader._get_meta_dataN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r   r   r   ÚReader3   s
   r"   N)r   r    r!   Ú__doc__r   r   r   r"   r   r   r   r   r      s   r   r	   z#Geospatial Data Abstraction Libraryú ZiIvV)r#   Z
__future__r   r   r   Ú r   Zcorer   r   r
   r   ZGDAL_FORMATSr   Z
add_formatÚjoinr   r   r   r   Ú<module>   s   +