Aunque hay algunos posts sobre este tema, no hay una respuesta en cualquiera de ellos. Esta es la razón por la que yo estoy pidiendo de nuevo.
Un post que encontré fue capa de Trama no válida
He leído la información desde el siguiente enlace: https://hub.qgis.org/wiki/17/Arcgis_rest .
He utilizado el comando: gdal_translate "http://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer?f=json&pretty=true" s.xml -de WMS. Y se generó el archivo correctamente. Sin embargo, cuando trato de abrir el archivo y, suponiendo que el proveedor wms, el código de informe de la capa no es válido.
El código que he usado es:
file = QFileDialog.getOpenFileName(self,
"Open WMS", ".", "WMS (*.xml)")
fileInfo = QFileInfo(file)
# Add the layer
layer = QgsRasterLayer(file, fileInfo.fileName(),"wms")
if not layer.isValid():
print "Failed to load."
return
Me acaba de elegir el archivo desde el cuadro de diálogo.
También probé el otro comando: qgis.utils.iface.addRasterLayer("http://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer?f=json&pretty=true","raster") mediante el siguiente código:
layer = QgsRasterLayer("http://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer?f=json&pretty=true", "layer")
if not layer.isValid():
print "Failed to load."
return
También informe "no se pudo cargar". El original de comandos se puede ejecutar correctamente en QGIS python línea de comandos. Además, si intento entrar en el código en la consola de python, la capa.isValid() devolverá true. Es sólo que no trabajen en la secuencia de comandos independiente.