o
    pf                     @   s>   d dl ZdZd ZdZeje dZG dd dZdd Z	dS )	    Ni   gףpEsA)loaderc                   @   s   e Zd Zdd Zdd ZdS )
Definitionc                 C   sP   || _ |d | _|d | _|dt| _|dt| _t	|
|d | _d S )Nminzoommaxzoomextentbufferfile)idr   r   getDEFAULT_EXTENTr   DEFAULT_BUFFERr   j2Environmentfrom_stringreadtext_Definition__template)selfr	   definition_yaml
filesystem r   L/home/ertert/spirit/venv/lib/python3.10/site-packages/tilekiln/definition.py__init__   s   

zDefinition.__init__c                 C   s   |j | jksJ |j | jksJ | jj|j |j|j|| j| j	 |d| j	| jt
|t
|d t
|| j	 t
|| j	 d d}d| d d| j d| j	 d d	 S )
z%Generate the SQL for a layer
        r      )zoomxybboxunbuffered_bboxr   r   tile_length	tile_areacoordinate_lengthcoordinate_areazWITH mvtgeom AS
(
z
)
zSELECT ST_AsMVT(mvtgeom.*, 'z', z, 'way', NULL)
zFROM mvtgeom;)r   r   r   r   renderr   r   r   r   r   r   r	   )r   tileinnerr   r   r   
render_sql   s    


zDefinition.render_sqlN)__name__
__module____qualname__r   r$   r   r   r   r   r      s    
r   c                 C   s   t d| jd   S )z5Returns the length of a tile, in projected units
    r      )
HALF_WORLDr   )r"   r   r   r   r   1   s   r   )
jinja2j2r   r   r)   Environment
BaseLoaderr   r   r   r   r   r   r   <module>   s    $