Open carlosloslas opened 6 months ago
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.
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 therewms = WebMapService(server, version=kwargs['version'])