Skip to content

Commit

Permalink
- GeoNode plugin: read all the possible layer parameters from the Ma…
Browse files Browse the repository at this point in the history
…pStore blob
  • Loading branch information
afabiani committed Mar 4, 2021
1 parent 2b2325a commit b78555f
Showing 1 changed file with 58 additions and 34 deletions.
92 changes: 58 additions & 34 deletions mapstore2_adapter/plugins/geonode.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,59 @@
'\u2029': '\\u2029'
}

# {layer_param_key: default_value}
"""
ref.
https://github.com/geosolutions-it/MapStore2/blob/master/web/client/utils/LayersUtils.js#L485-L541
"""
LAYER_PARAMS = {
'version': None,
'visibility': True,
'singleTile': False,
'selected': False,
'hidden': False,
'handleClickOnLayer': False,
'wrapDateLine': False,
'hideLoading': False,
'useForElevation': False,
'fixed': False,
'opacity': 1.0,
'transparent': True,
'tiled': True,
'title': '',
'name': '',
'description': '',
'store': '',
'group': '',
'format': "image/png",
'tileSize': None,
'maxZoom': None,
'maxNativeZoom': None,
'maxResolution': None,
'minResolution': None,
'disableResolutionLimits': None,
'dimensions': None,
'search': None,
'style': None,
'styles': None,
'styleName': None,
'availableStyles': None,
'layerFilter': None,
'thumbURL': None,
'allowedSRS': None,
'matrixIds': None,
'tileMatrixSet': None,
'requestEncoding': None,
'queryable': None,
'catalogURL': None,
'capabilitiesURL': None,
'origin': None,
'thematic': None,
'tooltipOptions': None,
'tooltipPlacement': None,
'legendOptions': None,
'extraParams': None
}

class GeoNodeMapStore2ConfigConverter(BaseMapStore2ConfigConverter):

Expand Down Expand Up @@ -286,38 +339,13 @@ def get_overlays(self, viewer, request=None):
if _p_url.query:
overlay['params'] = dict(parse.parse_qsl(_p_url.query))
overlay['url'] = source['url']
overlay['visibility'] = layer['visibility'] if 'visibility' in layer else True
overlay['singleTile'] = layer['singleTile'] if 'singleTile' in layer else False
overlay['selected'] = layer['selected'] if 'selected' in layer else False
overlay['hidden'] = layer['hidden'] if 'hidden' in layer else False
overlay['handleClickOnLayer'] = layer['handleClickOnLayer'] if \
'handleClickOnLayer' in layer else False
overlay['wrapDateLine'] = layer['wrapDateLine'] if 'wrapDateLine' in layer else False
overlay['hideLoading'] = layer['hideLoading'] if 'hideLoading' in layer else False
overlay['useForElevation'] = layer['useForElevation'] if 'useForElevation' in layer else False
overlay['fixed'] = layer['fixed'] if 'fixed' in layer else False
overlay['opacity'] = layer['opacity'] if 'opacity' in layer else 1.0
overlay['title'] = layer['title'] if 'title' in layer else ''
overlay['name'] = layer['name'] if 'name' in layer else ''
overlay['store'] = layer['store'] if 'store' in layer else ''
overlay['group'] = layer['group'] if 'group' in layer else ''
overlay['format'] = layer['format'] if 'format' in layer else "image/png"
overlay['bbox'] = {}

if 'dimensions' in layer:
overlay['dimensions'] = layer['dimensions']

if 'search' in layer:
overlay['search'] = layer['search']

if 'style' in layer:
overlay['style'] = layer['style']

if 'styles' in layer:
overlay['styles'] = layer['styles']

if 'layerFilter' in layer:
overlay['layerFilter'] = layer['layerFilter']
for _key, _default in LAYER_PARAMS.items():
if _key in layer:
overlay[_key] = layer[_key]
elif _default:
overlay[_key] = _default

if 'capability' in layer:
capa = layer['capability']
Expand Down Expand Up @@ -459,10 +487,6 @@ def get_overlays(self, viewer, request=None):

featureInfo['template'] = _template
overlay['featureInfo'] = featureInfo

# Push extraParams into GeoNode layerParams
if 'extraParams' in layer and layer['extraParams']:
overlay['extraParams'] = layer['extraParams']
elif 'name' in layer and layer['name'] == 'Annotations':
overlay = layer

Expand Down

0 comments on commit b78555f

Please sign in to comment.