
    e                     N    d dl Zd dlmZ d dlmZ d dlmZ  G d de          ZdS )    N)_ATTRIBUTIONS)ElementPlot)STYLE_ALIASESc                   b     e Zd Zg dZdZed             Zd Zd Zd fd	Z	dd	Z
d fd	Z xZS )TilePlot)min_zoommax_zoomalphaaccesstokenmapboxstyleTc                 
    ddiS )Ntypescattermapbox )clskwargss     ?lib/python3.11/site-packages/holoviews/plotting/plotly/tiles.pytrace_kwargszTilePlot.trace_kwargs   s    ((    c                     dg g dddgS )Nr   mapboxF)r   latlonsubplot
showlegendr   )selfelementrangesstyler   s        r   get_datazTilePlot.get_data   s"    #Brh
 
  	r   c                     t          |          }t          |                    dd          |                    dd                     }j        }|r:i }|g|d<   t          j        t                     rkj                            d          g|d<   j        j        |d	<   j                            d
d          |d<   j                            dd          |d<   nrdD ]0}|                    d|z  d|                                z            }1|g|d<   t          j
                    D ]%\  }	}
t          fd|	D                       r|
|d	<   &d|d<   d|d<   |                    d |
                                D                        |S )Nr   zwhite-bgr   )r   r   layersz@2x)scale_factorsourcesourceattributionr   r   minzoomr	      maxzoom)XYZz{%s}c              3   *   K   | ]}|j         v V  d S N)data).0kr   s     r   	<genexpr>z)TilePlot.graph_options.<locals>.<genexpr>/   s*      ::1,::::::r   tracesbelowraster
sourcetypec                 @    i | ]\  }}t          j        ||          |S r   )r   get)r/   r0   vs      r   
<dictcomp>z*TilePlot.graph_options.<locals>.<dictcomp>5   s+    OOOA-+Aq111OOOr   )dictpopr.   
isinstance	build_urlhtml_attributionr7   replacelowerr   itemsallupdate)r   r   r   r   r   optsurllayerr8   keyattributions    `         r   graph_optionszTilePlot.graph_options   s   U))M:66		-66
 
 

 l 	QE#WDN ',-- A#*<#9#9u#9#M#M"Nh-4\-J)*#*<#3#3J#B#Bi #*<#3#3J#C#Ci  ( F FA++fqj&177992DEECC#&%h(5(;(=(= A A$C::::c::::: A5@12%E'N"*E,LLOOOOOPPPr   combinedc                     t                                          |||          }| j        s/t          d |D                       r|dv rd\  }}d\  }}	||||	f}
|
S |S )Nc              3   H   K   | ]}|d u pt          j        |           V  d S r-   )npisfinite)r/   es     r   r1   z'TilePlot.get_extents.<locals>.<genexpr>;   s6      %W%W!a4i&Er{1~~3E%W%W%W%W%W%Wr   )rJ   r.   )g|Es|EsA)g|EsrP   )superget_extentsoverlaidrB   )r   r   r   
range_typer   extentsx0x1y0y1global_extent	__class__s              r   rR   zTilePlot.get_extents9   s}    ''%%gvzBB 	!#%W%Ww%W%W%W"W"W 	!222>FB>FBR,M  r   r   c                     |g|dS )N)r2   r   r   )r   datumoptionsindexr   s        r   
init_graphzTilePlot.init_graphC   s     'W555r   NFc                 N    t                                          |||d          S )z2
        Override to force is_geo to True
        T)is_geo)rQ   generate_plot)r   rG   r   r   rb   r[   s        r   rc   zTilePlot.generate_plotF   s&     ww$$S&'$$GGGr   )rJ   )r   )NF)__name__
__module____qualname__
style_opts_supports_geoclassmethodr   r    rI   rR   r`   rc   __classcell__)r[   s   @r   r   r      s        PPPJM) ) [)       D     6 6 6 6H H H H H H H H H Hr   r   )	numpyrM   holoviews.element.tilesr   holoviews.plotting.plotlyr   holoviews.plotting.plotly.utilr   r   r   r   r   <module>ro      s        1 1 1 1 1 1 1 1 1 1 1 1 8 8 8 8 8 8BH BH BH BH BH{ BH BH BH BH BHr   