I am trying to plot a custom (tile) map using WMTSTileSource
with url starts with https://api.mapbox.com/v4/mapbox.satellite/...
and I get error ouput UnboundLocalError: local variable 'selected_provider' referenced before assignment
.
The case is like this:
from bokeh.plotting import figure, show
from bokeh.io import output_notebook
from bokeh.models import WMTSTileSource
output_notebook()
tk= '****'
z = 0
x = 0
y = 0
p = figure(x_range=(-4000000, 4000000), y_range=(1000000, 7000000),
x_axis_type="mercator", y_axis_type="mercator")
WMTSTileSource(
url=f'https://api.mapbox.com/v4/mapbox.satellite/{z}/{x}/{y}@2x.jpg90?access_token='{tk}')
p.add_tile(WMTSTileSource)
show(p)
part of the error output is
---> 23 p.add_tile(WMTSTileSource)
26 show(p)
File /home/ubuntu/miniconda/envs/ld/lib/python3.8/site-packages/bokeh/models/plots.py:420, in Plot.add_tile(self, tile_source, retina, **kwargs)
415 selected_provider = xyzservices.providers.query_name(tile_source)
417 scale_factor = "@2x" if retina else None
419 tile_source = WMTSTileSource(
--> 420 url=selected_provider.build_url(scale_factor=scale_factor),
421 attribution=selected_provider.html_attribution,
422 min_zoom=selected_provider.get("min_zoom", 0),
423 max_zoom=selected_provider.get("max_zoom", 30),
424 )
426 tile_renderer = TileRenderer(tile_source=tile_source, **kwargs)
427 self.renderers.append(tile_renderer)
UnboundLocalError: local variable 'selected_provider' referenced before assignment
Does WMTSTileSource
not support https://api.mapbox.com
?