本文整理汇总了Python中qgis.core.QgsVectorLayer.error方法的典型用法代码示例。如果您正苦于以下问题:Python QgsVectorLayer.error方法的具体用法?Python QgsVectorLayer.error怎么用?Python QgsVectorLayer.error使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类qgis.core.QgsVectorLayer
的用法示例。
在下文中一共展示了QgsVectorLayer.error方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: special_search
# 需要导入模块: from qgis.core import QgsVectorLayer [as 别名]
# 或者: from qgis.core.QgsVectorLayer 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: loadEDGVLayer
# 需要导入模块: from qgis.core import QgsVectorLayer [as 别名]
# 或者: from qgis.core.QgsVectorLayer import error [as 别名]
def loadEDGVLayer(self, uri, layer_name, provider):
vlayer = QgsVectorLayer(uri.uri(), layer_name, provider)
vlayer.setCrs(self.crs)
QgsMapLayerRegistry.instance().addMapLayer(vlayer) #added due to api changes
if self.isSpatialite and (self.dbVersion == '3.0' or self.dbVersion == '2.1.3'):
lyr = '_'.join(layer_name.replace('\r', '').split('_')[1::])
else:
lyr = layer_name.replace('\r','')
vlayerQml = os.path.join(self.qmlPath, lyr+'.qml')
vlayer.loadNamedStyle(vlayerQml, False)
QgsMapLayerRegistry.instance().addMapLayer(vlayer)
if not vlayer.isValid():
QgsMessageLog.logMessage(vlayer.error().summary(), "DSG Tools Plugin", QgsMessageLog.CRITICAL)
示例3: InputNetworkTabManager
# 需要导入模块: from qgis.core import QgsVectorLayer [as 别名]
# 或者: from qgis.core.QgsVectorLayer import error [as 别名]
class InputNetworkTabManager(QtCore.QObject):
''' Class to hide managing of relative tab
'''
projectModified = QtCore.pyqtSignal()
def __init__(self, parent=None):
'''constructor'''
super(InputNetworkTabManager, self).__init__(parent)
# parent is the dock widget with all graphical elements
self.gui = parent
# init some globals
self.applicationPath = os.path.dirname(os.path.realpath(__file__))
self.project = None
self.projectPath = None
self.roadLayer = None
self.roadLayerId = None
# retrieve the current tab index
self.initTabTabIndex()
# disable tab at the beginning
self.gui.tabWidget.setTabEnabled(self.tabIndex, False)
# set basic events
self.gui.inputLayer_lineEdit.returnPressed.connect(self.loadLayer)
self.gui.selectLayer_TButton.clicked.connect(self.askLayer)
self.gui.selectFile_TButton.clicked.connect(self.askLayerFile)
self.gui.inputNetwork_validate_PButton.clicked.connect(self.validateWithNotification)
def initTabTabIndex(self):
''' Retrieve what tab index refer the current tab manager
'''
for tabIndex in range(self.gui.tabWidget.count()):
if self.gui.tabWidget.tabText(tabIndex) == "Input Network":
self.tabIndex = tabIndex
def setProject(self, project=None):
''' setting the new project on which the tab is based
'''
self.project = project
if self.project:
# set some globals
confFileName = self.project.fileName()
self.projectPath = os.path.dirname(confFileName)
# emit configurationLoaded with the status of loading
self.setTabGUIBasingOnProject()
# enable current tab because project has been loaded
self.gui.tabWidget.setTabEnabled(self.tabIndex, True)
else:
# disable current tab because no project has been loaded yet
self.gui.tabWidget.setTabEnabled(self.tabIndex, False)
def setTabGUIBasingOnProject(self):
'''Set tab basing on project conf
'''
if not self.project:
return
# get conf parameters
inputLayerFile = self.project.value('InputNetwork/inputLayer', '')
columnRoadType = self.project.value('InputNetwork/columnRoadType', '')
columnRoadLenght = self.project.value('InputNetwork/columnRoadLenght', '')
columnRoadSlope = self.project.value('InputNetwork/columnRoadSlope', '')
# if layer exist load it otherwise only reset comboboxes
if os.path.exists(inputLayerFile):
# check if layer is already loaded in layer list checking it's source
# that would be equal to the inputLayerFile (for this reason is not simple
# to work with db data)
found = False
for layerName, layer in QgsMapLayerRegistry.instance().mapLayers().items():
if inputLayerFile == layer.publicSource():
# set the found layer as roadLayer
self.roadLayer = layer
found = True
break
# if layer is not loaded... load it
if not found:
# get layer name to set as public name in the legend
layerName = os.path.splitext( os.path.basename(inputLayerFile) )[0]
# load layer
self.roadLayer = QgsVectorLayer(inputLayerFile, layerName, 'ogr')
if not self.roadLayer.isValid():
message = self.tr("Error loading layer: %s" % self.roadLayer.error().message(QgsErrorMessage.Text))
iface.messageBar().pushMessage(message, QgsMessageBar.CRITICAL)
return
# show layer in the canvas
QgsMapLayerRegistry.instance().addMapLayer(self.roadLayer)
# now layer is available
self.roadLayerId = self.roadLayer.id()
else:
#.........这里部分代码省略.........
示例4: OutputTabManager
# 需要导入模块: from qgis.core import QgsVectorLayer [as 别名]
# 或者: from qgis.core.QgsVectorLayer import error [as 别名]
#.........这里部分代码省略.........
self.gui.energyConsumption_CBox.clicked.connect(self.saveTabOnProject)
self.gui.pollutantsCO_CBox.clicked.connect(self.saveTabOnProject)
self.gui.pollutantsNOx_CBox.clicked.connect(self.saveTabOnProject)
self.gui.pollutantsNMVOCs_CBox.clicked.connect(self.saveTabOnProject)
self.gui.pollutantsCO2_CBox.clicked.connect(self.saveTabOnProject)
self.gui.pollutantsCH4_CBox.clicked.connect(self.saveTabOnProject)
self.gui.pollutantsN2O_CBox.clicked.connect(self.saveTabOnProject)
self.gui.pollutantsNH3_CBox.clicked.connect(self.saveTabOnProject)
self.gui.pollutantsSO2_CBox.clicked.connect(self.saveTabOnProject)
self.gui.pollutantsPM25_CBox.clicked.connect(self.saveTabOnProject)
self.gui.pollutantsC6H6_CBox.clicked.connect(self.saveTabOnProject)
# if and output file is specified and it's available => load it
if newOutputLayer and os.path.exists(newOutputLayer):
# check if layer is already loaded in layer list checking it's source
found = False
for layerName, layer in QgsMapLayerRegistry.instance().mapLayers().items():
if newOutputLayer == layer.publicSource():
# set the found layer as roadLayer
self.outLayer = layer
self.outLayerId = self.outLayer.id()
found = True
break
if not found:
# get layer name to set as public name in the legend
layerName = os.path.splitext( os.path.basename(newOutputLayer) )[0]
# load layer
self.outLayer = QgsVectorLayer(newOutputLayer, layerName, 'ogr')
if not self.outLayer.isValid():
message = self.tr("Error loading layer: %s" % self.outLayer.error().message(QgsErrorMessage.Text))
iface.messageBar().pushMessage(message, QgsMessageBar.CRITICAL)
return
self.outLayerId = self.outLayer.id()
# show layer in the canvas
QgsMapLayerRegistry.instance().addMapLayer(self.outLayer)
def saveTabOnProject(self):
''' Save tab configuration in the project basing on GUI values
'''
# get values from the GUI
addToInputLayer = self.gui.addToOriginaLayer_RButton.isChecked()
newOutputLayer = self.gui.outFile_LEdit.text()
Gasoline_Consumption = self.gui.fuelEnergyConsumptionGasoline_CBox.isChecked()
Diesel_Consumption = self.gui.fuelEnergyConsumptionDiesel_CBox.isChecked()
LPG_Consumption = self.gui.fuelEnergyConsumptionLPG_CBox.isChecked()
NewFuel_Consumption = self.gui.fuelEnergyConsumptionNewFuels_CBox.isChecked()
Fuel_Consumption_Total = self.gui.totalFuelConsumption_CBox.isChecked()
Energy_Consumption = self.gui.energyConsumption_CBox.isChecked()
CO = self.gui.pollutantsCO_CBox.isChecked()
NOx = self.gui.pollutantsNOx_CBox.isChecked()
NMVOC = self.gui.pollutantsNMVOCs_CBox.isChecked()
CO2 = self.gui.pollutantsCO2_CBox.isChecked()
CH4 = self.gui.pollutantsCH4_CBox.isChecked()
N2O = self.gui.pollutantsN2O_CBox.isChecked()
NH3 = self.gui.pollutantsNH3_CBox.isChecked()
SO2 = self.gui.pollutantsSO2_CBox.isChecked()
PM25 = self.gui.pollutantsPM25_CBox.isChecked()
C6H6 = self.gui.pollutantsC6H6_CBox.isChecked()