Вы можете создать подкласс WMSLayer
, чтобы добавить новую опцию, например, так:
from ipyleaflet import WMSLayer
from traitlets import Bool
class WMSLayerCustom (WMSLayer):
# Additional options
logscale = Bool(True).tag(sync=True, o=True)
Тогда вместо использования ipyleaflet.WMSLayer
вы используете свой подкласс WMSLayerCustom
:
wms = WMSLayerCustom(url=wms_url, layers=wms_layers[0], transparent=True,
format='image/png', opacity=0.33, logscale=True)
и полученный URL будет содержать:
...&version=1.1.1&logscale=true&width=256&...
Аргумент ключевого слова options
не задокументирован, и, похоже, его нельзя использовать для установки дополнительных параметров.
Я также отметил, что любой аргумент ключевого слова принимается в конструкторе, поскольку класс WMSLayer
наследуется от HasTraits
в модуле traitlets
.Установка аргумента options=['logscale']
просто переопределяет атрибут options
экземпляра WMSLayer
.
Например, если вы вызываете:
wms = ipyleaflet.WMSLayer(url=wms_url, layers=wms_layers[0], transparent=True,
format='image/png', opacity=0.33, options=['max_zoom'])
Вы получаете URL с &layers=&...&transparent=false&...
которые являются параметрами по умолчанию для параметров layer
и transparent
, таким образом игнорируя layers=wms_layers[0]
и transparent=True
при вызове WMSLayer
.