You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Been using OWSLib to extract pictures from a WMS server version 1.3.0 and was looking to visualise them with Basemap's wmsimage.
I am seeing in the error traces that when the WebMapService instance is initialised is missing the version number is missing, which results in an initialisation of WMS version 1.1.1 , which causes the errors.
I looked at the source code and the problem is line 4455 of basemap/init.py
The wms is initialised just with the server url wms = WebMapService(server) and in reality it should have the version number included there wms = WebMapService(server, version=kwargs['version'])
Hi, @carlosloslas! Thanks for the feedback. Is the patch wms = WebMapService(server, version=kwargs['version']) working as expected in your basemap installation? If so, it should be easy to correct in the repo. For the library patch, I would replace kwargs['version'] with something like kwargs.get('version', None) or an appropriate default version value, since we also need to consider the case in which no version is provided, as before.
Hi, the bbox arg might be impacted too. I'm working on that too. I'll let you know if I manage to make it work.
My bad, I needed another coffee.
kwargs.get('version', None) won't work as it will pass None instead of a valid version value (which is mandatory).
I suggest to manage all constructors parameters for WebMapService like this:
wmsInitKeys = ['version', 'xml', 'username', 'password','parse_remote_metadata', 'timeout', 'headers', 'auth']
wms_options = {k:kwargs[v] for k in wmsInitKeys if k in kwargs}
kwargs = {k:kwargs[v] for k in kwargs if k not in wmsInitKeys}
wms = WebMapService(server, **wms_options)
Hi @molinav, thanks for the reply. I'm not running a dev version of the package, so I can't say for sure. I've been working with OWSLib all day and I'm very confident it will.
For a simple patch kwargs.get('version', '1.1.1') would be better since this is the default setting in the OWSLib. As you can see from my error trace, the wms111 refers to the version 1.1.1.
I would happily do some testing, but I've never contributed to a open source package and would need some guidance.
I am closing this issue because PR #603 implements the feature to support providing WMS version to Basemap.wmsimage and the PR is merged into the develop branch.
Activity
molinav commentedon May 15, 2024
Hi, @carlosloslas! Thanks for the feedback. Is the patch
wms = WebMapService(server, version=kwargs['version'])working as expected in yourbasemapinstallation? If so, it should be easy to correct in the repo. For the library patch, I would replacekwargs['version']with something likekwargs.get('version', None)or an appropriate default version value, since we also need to consider the case in which no version is provided, as before.Kurea commentedon May 15, 2024
Hi,
the bbox arg might be impacted too. I'm working on that too. I'll let you know if I manage to make it work.My bad, I needed another coffee.
kwargs.get('version', None) won't work as it will pass None instead of a valid version value (which is mandatory).
I suggest to manage all constructors parameters for WebMapService like this:
carlosloslas commentedon May 15, 2024
Hi @molinav, thanks for the reply. I'm not running a dev version of the package, so I can't say for sure. I've been working with OWSLib all day and I'm very confident it will.
For a simple patch
kwargs.get('version', '1.1.1')would be better since this is the default setting in the OWSLib. As you can see from my error trace, thewms111refers to the version1.1.1.I would happily do some testing, but I've never contributed to a open source package and would need some guidance.
molinav commentedon Jun 12, 2025
I am closing this issue because PR #603 implements the feature to support providing WMS version to
Basemap.wmsimageand the PR is merged into thedevelopbranch.