本文整理汇总了Python中qgis.core.QgsVectorLayer.readLayerXML方法的典型用法代码示例。如果您正苦于以下问题:Python QgsVectorLayer.readLayerXML方法的具体用法?Python QgsVectorLayer.readLayerXML怎么用?Python QgsVectorLayer.readLayerXML使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类qgis.core.QgsVectorLayer
的用法示例。
在下文中一共展示了QgsVectorLayer.readLayerXML方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _createLayer
# 需要导入模块: from qgis.core import QgsVectorLayer [as 别名]
# 或者: from qgis.core.QgsVectorLayer import readLayerXML [as 别名]
def _createLayer(self, node):
type = node.attribute('type')
if type == "vector":
layer = QgsVectorLayer()
elif type == "raster":
layer = QgsRasterLayer()
else:
return None
layer.readLayerXML(node)
return layer.id(), layer
示例2: _parseLayers
# 需要导入模块: from qgis.core import QgsVectorLayer [as 别名]
# 或者: from qgis.core.QgsVectorLayer import readLayerXML [as 别名]
def _parseLayers(self):
with change_directory(self.project_root):
# remove map layers
self.layerRegistry.removeMapLayers(
self.layerRegistry.mapLayers().keys()
)
for layer in self._iterateOverTagByName('maplayer'):
layer_type = self._getAttr(layer, 'type').value()
if layer_type == 'vector':
qgsLayer = QgsVectorLayer()
elif layer_type == 'raster':
qgsLayer = QgsRasterLayer()
# read layer from XML
if not(qgsLayer.readLayerXML(layer.toElement())):
raise RuntimeError(
'Layer is not readable: {}'.format(
layer.firstChildElement('id').text()
)
)
# get layer transparency
if layer_type == 'vector':
self.LAYERS_DATA[qgsLayer.id()].update({
'transparency': qgsLayer.layerTransparency()
})
elif layer_type == 'raster':
qgsRasterRender = qgsLayer.renderer()
self.LAYERS_DATA[qgsLayer.id()].update({
'transparency': (
int((1 - qgsRasterRender.opacity()) * 100)
)
})
del qgsRasterRender
# record layer type
self.LAYERS_DATA[qgsLayer.id()].update({
'type': layer_type
})
# add layer to the QgsMapLayerRegistry
if qgsLayer.isValid():
self.layerRegistry.addMapLayer(qgsLayer, False)
LOG.debug('Loaded layer: %s', qgsLayer.id())
示例3: loadqlr
# 需要导入模块: from qgis.core import QgsVectorLayer [as 别名]
# 或者: from qgis.core.QgsVectorLayer import readLayerXML [as 别名]
def loadqlr(self):
path = QFileDialog.getOpenFileName(self.iface.mainWindow(), "Add QGIS Layer Definition", QDir.home().path(), "*.qlr")
if not path:
return
with open(path, 'r') as f:
content = f.read()
doc = QDomDocument()
doc.setContent(content)
layernode = doc.elementsByTagName('maplayer').at(0)
layerelm = layernode.toElement()
layertype = layerelm.attribute("type")
layer = None
if layertype == "vector":
layer = QgsVectorLayer()
elif layertype == 'raster':
layer = QgsRasterLayer()
ok = layer.readLayerXML(layerelm)
if ok:
QgsMapLayerRegistry.instance().addMapLayer(layer)