4

I have installed QGIS server on Ubuntu 14.04 which serves WMS. Connection uses https and basic auth. URL is https://my.awesome.url:8090/cgi-bin/project1/qgis_mapserv.fcgi I can connect with QGIS and view my data. So far so good.

I installed OSGeo4W64 on Windows and are trying to build my own application using QGIS. I managed to build a window, load a simple shape, even load another WMS service but when trying to load my own WMS I get nothing except an error.

uri_separator = '&'
uri_url = 'url=https://my.awesome.url:8090/cgi-bin/project1/qgis_mapserv.fcgi'
uri_username = 'username=user'
uri_password = 'password=pass'
uri_format = 'format=image/png'
uri_layers = 'layers=mylayer'
uri_crs = 'crs=EPSG:25831'

url_with_params = uri_separator.join((uri_url,
                                      uri_username,
                                      uri_password,
                                      uri_format,
                                      uri_layers,
                                      uri_crs))
rlayer = QgsRasterLayer(url_with_params, 'norther', 'wms')
print rlayer.error().message()

Result is:

<p><b>Raster layer:</b> Provider is not valid (provider: wms, URI: url=https://my.awesome.url:8090/cgi-bin/project1/qgis_mapserv.fcgi&username=user&password=pass&format=image/png&layers=mylayer&crs=EPSG:25831

The logs on the server don't give anything useful

I tried adding the following but that doesn't help.

uri_service = 'SERVICE=WMS'
uri_version = 'VERSION=1.3.0'
uri_request = 'REQUEST=GetMap'

I also tried remove format, layers and crs but then the error is:

<p><b>WMS provider:</b> Cannot calculate extent<p><b>Raster layer:</b> Provider is not valid (provider: wms, URI:

I'm already busy for hours and tried so many options, I'm really out of ideas...

5

Apparently it needs a styles& in the URL, even when there is no style defined.

We're looking for long answers that provide some explanation and context. Don't just give a one-line answer; explain why your answer is right, ideally with citations. Answers that don't include explanations may be removed.

  • Yes a styles parameter is required by the WMS specification, unless the WMS supports SLD, in which case it is optional when an SLD or SLD_BODY parameter is supplied as part of the GetMap request – nmtoken Jan 15 '17 at 17:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.