本文整理汇总了Python中qgis.core.QgsRasterLayer.error方法的典型用法代码示例。如果您正苦于以下问题:Python QgsRasterLayer.error方法的具体用法?Python QgsRasterLayer.error怎么用?Python QgsRasterLayer.error使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类qgis.core.QgsRasterLayer
的用法示例。
在下文中一共展示了QgsRasterLayer.error方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: special_search
# 需要导入模块: from qgis.core import QgsRasterLayer [as 别名]
# 或者: from qgis.core.QgsRasterLayer import error [as 别名]
def special_search(self, easter_code="isogeo"):
"""Make some special actions in certains cases.
:param str easter_code: easter egg label. Available values:
* isogeo: display Isogeo logo and zoom in our office location
* picasa: change QGS project title
"""
canvas = iface.mapCanvas()
if easter_code == "isogeo":
# WMS
wms_params = {"service": "WMS",
"version": "1.3.0",
"request": "GetMap",
"layers": "Isogeo:isogeo_logo",
"crs": "EPSG:3857",
"format": "image/png",
"styles": "isogeo_logo",
"url": "http://noisy.hq.isogeo.fr:6090/geoserver/Isogeo/ows?"
}
wms_uri = unquote(urlencode(wms_params))
wms_lyr = QgsRasterLayer(wms_uri, u"Ici c'est Isogeo !", "wms")
if wms_lyr.isValid:
QgsMapLayerRegistry.instance().addMapLayer(wms_lyr)
logger.info("Isogeo easter egg used and WMS displayed!")
else:
logger.error("WMS layer failed: {}"
.format(wms_lyr.error().message()))
# WFS
uri = QgsDataSourceURI()
uri.setParam("url", "http://noisy.hq.isogeo.fr:6090/geoserver/Isogeo/ows?")
uri.setParam("service", "WFS")
uri.setParam("version", "1.1.0")
uri.setParam("typename", "Isogeo:isogeo_logo")
uri.setParam("srsname", "EPSG:3857")
uri.setParam("restrictToRequestBBOX", "0")
wfs_uri = uri.uri()
wfs_lyr = QgsVectorLayer(wfs_uri, u"Ici c'est Isogeo !", "WFS")
if wfs_lyr.isValid:
wfs_style = path.join(path.dirname(path.realpath(__file__)),
"isogeo.qml")
wfs_lyr.loadNamedStyle(wfs_style)
QgsMapLayerRegistry.instance().addMapLayer(wfs_lyr)
canvas.setExtent(wfs_lyr.extent())
logger.debug("Isogeo easter egg used")
else:
logger.error("Esater egg - WFS layer failed: {}"
.format(wfs_lyr.error().message()))
elif easter_code == "picasa":
project = QgsProject.instance()
project.setTitle(u"Isogeo, le Picasa de l'information géographique")
logger.debug("Picasa easter egg used")
else:
pass
# ending method
return
示例2: toMapLayer
# 需要导入模块: from qgis.core import QgsRasterLayer [as 别名]
# 或者: from qgis.core.QgsRasterLayer import error [as 别名]
def toMapLayer(self):
from qgis.core import QgsRasterLayer, QgsContrastEnhancement, QgsDataSourceURI, QgsCredentials
rl = QgsRasterLayer(self.gdalUri(), self.name)
if not rl.isValid():
err = rl.error().summary()
uri = QgsDataSourceURI(self.database().uri())
conninfo = uri.connectionInfo(False)
username = uri.username()
password = uri.password()
for i in range(3):
(ok, username, password) = QgsCredentials.instance().get(conninfo, username, password, err)
if ok:
uri.setUsername(username)
uri.setPassword(password)
rl = QgsRasterLayer(self.gdalUri(uri), self.name)
if rl.isValid():
break
if rl.isValid():
rl.setContrastEnhancement(QgsContrastEnhancement.StretchToMinimumMaximum)
return rl