How do I link geoviews polygon with range slider
import cartopy.crs as ccrs
import holoviews as hv
import geoviews as gv
import panel as pn
gv.extension("bokeh")
pn.extension()
lat_slider = pn.widgets.RangeSlider(start=-90, end=90)
lon_slider = pn.widgets.RangeSlider(start=-180, end=180)
polygon = gv.Polygons([], crs=ccrs.PlateCarree())
tile = gv.tile_sources.ESRI()
overlay = (polygon * tile).opts(global_extent=True)
layout = pn.Row(
pn.Column(lat_slider, lon_slider),
overlay
)
layout
import cartopy.crs as ccrs
import holoviews as hv
import geoviews as gv
import panel as pn
gv.extension("bokeh")
pn.extension()
def rectangle(x_range, y_range):
x1, x2 = x_range
y1, y2 = y_range
corners = np.array(
[(x1, y1), (x2, y1), (x2, y2), (x1, y2)]
)
print(x_range, y_range)
polygon = gv.Polygons([{("Longitude", "Latitude"): corners}])
return polygon
lon_slider = pn.widgets.RangeSlider(start=-150, end=150)
lat_slider = pn.widgets.RangeSlider(start=-50, end=50)
tile = gv.tile_sources.ESRI()
geomap = gv.DynamicMap(pn.bind(rectangle, lon_slider, lat_slider))
overlay = (geomap * tile).opts(global_extent=True)
layout = pn.Row(pn.Column(lat_slider, lon_slider), overlay)
layout
1 Like