Skip to content

Commit 071126a

Browse files
committed
Merge pull request #348 from ocefpaf/wms_docs_option
WMS options
2 parents fc7ed17 + 70a7d11 commit 071126a

File tree

2 files changed

+30
-45
lines changed

2 files changed

+30
-45
lines changed

folium/features.py

Lines changed: 30 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -23,45 +23,57 @@ class WmsTileLayer(Layer):
2323
2424
Parameters
2525
----------
26-
url: str
26+
url : str
2727
The url of the WMS server.
28-
format: str, default None
28+
name : string, default None
29+
The name of the Layer, as it will appear in LayerControls
30+
layers : str, default None
31+
The names of the layers to be displayed.
32+
styles : str, default None
33+
Comma-separated list of WMS styles.
34+
format : str, default None
2935
The format of the service output.
3036
Ex: 'iamge/png'
31-
layers: str, default None
32-
The names of the layers to be displayed.
3337
transparent: bool, default True
3438
Whether the layer shall allow transparency.
35-
attr: str, default None
39+
version : str, default '1.1.1'
40+
Version of the WMS service to use.
41+
attr : str, default None
3642
The attribution of the service. Will be displayed in the bottom right corner.
37-
name : string, default None
38-
The name of the Layer, as it will appear in LayerControls
3943
overlay : bool, default False
4044
Adds the layer as an optional overlay (True) or the base layer (False).
4145
control : bool, default True
4246
Whether the Layer will be included in LayerControls
47+
48+
For more information see:
49+
http://leafletjs.com/reference.html#tilelayer-wms
50+
4351
"""
44-
def __init__(self, url, format=None, layers=None,
45-
transparent=True, attr=None,
46-
name=None, overlay=True, control=True):
52+
def __init__(self, url, name=None, layers=None, styles=None, format=None,
53+
transparent=True, version='1.1.1', attr=None, overlay=True,
54+
control=True):
4755
super(WmsTileLayer, self).__init__(overlay=overlay, control=control, name=name)
48-
self._name = 'WmsTileLayer'
49-
self.tile_name = name if name is not None else 'WmsTileLayer_'+self._id
5056
self.url = url
51-
self.format = format
52-
self.layers = layers
57+
self.attribution = attr if attr is not None else ''
58+
# Options.
59+
self.layers = layers if layers else ''
60+
self.styles = styles if styles else ''
61+
self.format = format if format else 'image/jpeg'
5362
self.transparent = transparent
54-
self.attr = attr
55-
63+
self.version = version
64+
# FIXME: Should be map CRS!
65+
# self.crs = crs if crs else 'null
5666
self._template = Template(u"""
5767
{% macro script(this, kwargs) %}
5868
var {{this.get_name()}} = L.tileLayer.wms(
5969
'{{ this.url }}',
6070
{
71+
layers:'{{ this.layers }}',
72+
styles: '{{ this.styles }}',
6173
format:'{{ this.format }}',
6274
transparent: {{ this.transparent.__str__().lower() }},
63-
layers:'{{ this.layers }}'
64-
{% if this.attr %}, attribution:'{{this.attr}}'{% endif %}
75+
version: '{{ this.version }}',
76+
{% if this.attribution %}, attribution:'{{this.attribution}}'{% endif %}
6577
}
6678
).addTo({{this._parent.get_name()}});
6779

tests/test_folium.py

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -139,33 +139,6 @@ def test_custom_tile(self):
139139
bounds = map.get_bounds()
140140
assert bounds == [[None, None], [None, None]], bounds
141141

142-
def test_wms_layer(self):
143-
"""Test WMS layer URLs."""
144-
145-
map = folium.Map(location=[44, -73], zoom_start=3)
146-
wms_url = 'http://gis.srh.noaa.gov/arcgis/services/NDFDTemps/'
147-
wms_url += 'MapServer/WMSServer'
148-
wms_name = "Temperature"
149-
wms_layers = 16
150-
wms_format = "image/png"
151-
map.add_wms_layer(wms_name=wms_name,
152-
wms_url=wms_url,
153-
wms_format=wms_format,
154-
wms_layers=wms_layers,
155-
wms_transparent=True)
156-
157-
wms_temp = self.env.get_template('wms_layer.js')
158-
wms = wms_temp.render({'wms_name': map._children[wms_name].get_name(),
159-
'wms_url': wms_url,
160-
'wms_format': wms_format,
161-
'wms_layer_names': wms_layers,
162-
'wms_transparent': 'true'})
163-
assert (''.join(wms.split())[:-1] in
164-
''.join(map.get_root().render().split()))
165-
166-
bounds = map.get_bounds()
167-
assert bounds == [[None, None], [None, None]], bounds
168-
169142
def test_feature_group(self):
170143
"""Test FeatureGroup."""
171144

0 commit comments

Comments
 (0)