本文整理汇总了Python中qgis.core.QgsRasterLayer.source方法的典型用法代码示例。如果您正苦于以下问题:Python QgsRasterLayer.source方法的具体用法?Python QgsRasterLayer.source怎么用?Python QgsRasterLayer.source使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类qgis.core.QgsRasterLayer
的用法示例。
在下文中一共展示了QgsRasterLayer.source方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: load_layer
# 需要导入模块: from qgis.core import QgsRasterLayer [as 别名]
# 或者: from qgis.core.QgsRasterLayer import source [as 别名]
def load_layer(layer_path):
"""Helper to load and return a single QGIS layer.
:param layer_path: Path name to raster or vector file.
:type layer_path: str
:returns: Layer instance.
:rtype: QgsMapLayer
"""
# Extract basename and absolute path
file_name = os.path.split(layer_path)[-1] # In case path was absolute
base_name, extension = os.path.splitext(file_name)
# Create QGis Layer Instance
if extension in ['.asc', '.tif']:
layer = QgsRasterLayer(layer_path, base_name)
elif extension in ['.shp']:
layer = QgsVectorLayer(layer_path, base_name, 'ogr')
else:
message = 'File %s had illegal extension' % layer_path
raise Exception(message)
# noinspection PyUnresolvedReferences
message = 'Layer "%s" is not valid' % layer.source()
# noinspection PyUnresolvedReferences
if not layer.isValid():
print message
# noinspection PyUnresolvedReferences
if not layer.isValid():
raise Exception(message)
return layer
示例2: loadLayer
# 需要导入模块: from qgis.core import QgsRasterLayer [as 别名]
# 或者: from qgis.core.QgsRasterLayer import source [as 别名]
def loadLayer(theLayerFile):
"""Helper to load and return a single QGIS layer"""
# Extract basename and absolute path
myBaseName, myExt = os.path.splitext(theLayerFile)
myPath = os.path.join(TESTDATA, theLayerFile)
myKeywordPath = myPath[:-4] + '.keywords'
# Determine if layer is hazard or exposure
myKeywords = read_keywords(myKeywordPath)
myType = 'undefined'
if 'category' in myKeywords:
myType = myKeywords['category']
msg = 'Could not read %s' % myKeywordPath
assert myKeywords is not None, msg
# Create QGis Layer Instance
if myExt in ['.asc', '.tif']:
myLayer = QgsRasterLayer(myPath, myBaseName)
elif myExt in ['.shp']:
myLayer = QgsVectorLayer(myPath, myBaseName, 'ogr')
else:
myMessage = 'File %s had illegal extension' % myPath
raise Exception(myMessage)
myMessage = 'Layer "%s" is not valid' % str(myLayer.source())
assert myLayer.isValid(), myMessage
return myLayer, myType
示例3: loadLayers
# 需要导入模块: from qgis.core import QgsRasterLayer [as 别名]
# 或者: from qgis.core.QgsRasterLayer import source [as 别名]
def loadLayers(theLayerList, theClearFlag=True):
"""Helper function to load layers as defined in a python list."""
# First unload any layers that may already be loaded
if theClearFlag:
for myLayer in QgsMapLayerRegistry.instance().mapLayers():
QgsMapLayerRegistry.instance().removeMapLayer(myLayer)
# Now go ahead and load our layers
myExposureLayerCount = 0
myHazardLayerCount = 0
myCanvasLayers = []
# Now create our new layers
for myFile in theLayerList:
# Extract basename and absolute path
myBaseName, myExt = os.path.splitext(myFile)
myPath = os.path.join(TESTDATA, myFile)
myKeywordPath = myPath[:-4] + '.keywords'
# Determine if layer is hazard or exposure
myKeywords = read_keywords(myKeywordPath)
msg = 'Could not read %s' % myKeywordPath
assert myKeywords is not None, msg
if myKeywords['category'] == 'hazard':
myHazardLayerCount += 1
elif myKeywords['category'] == 'exposure':
myExposureLayerCount += 1
# Create QGis Layer Instance
if myExt in ['.asc', '.tif']:
myLayer = QgsRasterLayer(myPath, myBaseName)
elif myExt in ['.shp']:
myLayer = QgsVectorLayer(myPath, myBaseName, 'ogr')
else:
myMessage = 'File %s had illegal extension' % myPath
raise Exception(myMessage)
myMessage = 'Layer "%s" is not valid' % str(myLayer.source())
assert myLayer.isValid(), myMessage
# Add layer to the registry (that QGis knows about)
QgsMapLayerRegistry.instance().addMapLayer(myLayer)
# Create Map Canvas Layer Instance and add to list
myCanvasLayers.append(QgsMapCanvasLayer(myLayer))
# Quickly add any existing CANVAS layers to our list first
for myLayer in CANVAS.layers():
myCanvasLayers.append(QgsMapCanvasLayer(myLayer))
# now load all these layers in the CANVAS
CANVAS.setLayerSet(myCanvasLayers)
DOCK.getLayers()
# Add MCL's to the CANVAS
return myHazardLayerCount, myExposureLayerCount
示例4: importLayer
# 需要导入模块: from qgis.core import QgsRasterLayer [as 别名]
# 或者: from qgis.core.QgsRasterLayer import source [as 别名]
def importLayer(self, layerType, providerKey, layerName, uriString, parent):
global isImportVectorAvail
if not isImportVectorAvail:
return False
if layerType == 'raster':
return False # not implemented yet
inLayer = QgsRasterLayer(uriString, layerName, providerKey)
else:
inLayer = QgsVectorLayer(uriString, layerName, providerKey)
if not inLayer.isValid():
# invalid layer
QMessageBox.warning(None, self.tr("Invalid layer"), self.tr("Unable to load the layer %s") % inLayer.name())
return False
# retrieve information about the new table's db and schema
outItem = parent.internalPointer()
outObj = outItem.getItemData()
outDb = outObj.database()
outSchema = None
if isinstance(outItem, SchemaItem):
outSchema = outObj
elif isinstance(outItem, TableItem):
outSchema = outObj.schema()
# toIndex will point to the parent item of the new table
toIndex = parent
if isinstance(toIndex.internalPointer(), TableItem):
toIndex = toIndex.parent()
if inLayer.type() == inLayer.VectorLayer:
# create the output uri
schema = outSchema.name if outDb.schemas() is not None and outSchema is not None else ""
pkCol = geomCol = ""
# default pk and geom field name value
if providerKey in ['postgres', 'spatialite']:
inUri = QgsDataSourceUri(inLayer.source())
pkCol = inUri.keyColumn()
geomCol = inUri.geometryColumn()
outUri = outDb.uri()
outUri.setDataSource(schema, layerName, geomCol, "", pkCol)
self.importVector.emit(inLayer, outDb, outUri, toIndex)
return True
return False
示例5: load_layer
# 需要导入模块: from qgis.core import QgsRasterLayer [as 别名]
# 或者: from qgis.core.QgsRasterLayer import source [as 别名]
def load_layer(layer_path):
"""Helper to load and return a single QGIS layer
:param layer_path: Path name to raster or vector file.
:type layer_path: str
:returns: tuple containing layer and its layer_purpose.
:rtype: (QgsMapLayer, str)
"""
# Extract basename and absolute path
file_name = os.path.split(layer_path)[-1] # In case path was absolute
base_name, extension = os.path.splitext(file_name)
# Determine if layer is hazard or exposure
layer_purpose = 'undefined'
try:
try:
keywords = read_iso19115_metadata(layer_path)
except:
try:
keywords = read_file_keywords(layer_path)
keywords = write_read_iso_19115_metadata(layer_path, keywords)
except NoKeywordsFoundError:
keywords = {}
if 'layer_purpose' in keywords:
layer_purpose = keywords['layer_purpose']
except NoKeywordsFoundError:
pass
# Create QGis Layer Instance
if extension in ['.asc', '.tif']:
layer = QgsRasterLayer(layer_path, base_name)
elif extension in ['.shp']:
layer = QgsVectorLayer(layer_path, base_name, 'ogr')
else:
message = 'File %s had illegal extension' % layer_path
raise Exception(message)
# noinspection PyUnresolvedReferences
message = 'Layer "%s" is not valid' % layer.source()
# noinspection PyUnresolvedReferences
if not layer.isValid():
print message
# noinspection PyUnresolvedReferences
if not layer.isValid():
raise Exception(message)
return layer, layer_purpose
示例6: load_layer
# 需要导入模块: from qgis.core import QgsRasterLayer [as 别名]
# 或者: from qgis.core.QgsRasterLayer import source [as 别名]
def load_layer(layer_file, directory=TESTDATA):
"""Helper to load and return a single QGIS layer
:param layer_file: Path name to raster or vector file.
:type layer_file: str
:param directory: Optional parent dir. If None, path name is assumed
to be absolute.
:type directory: str, None
:returns: tuple containing layer and its category.
:rtype: (QgsMapLayer, str)
"""
# Extract basename and absolute path
file_path = os.path.split(layer_file)[-1] # In case path was absolute
base_name, extension = os.path.splitext(file_path)
if directory is None:
path = layer_file
else:
path = os.path.join(directory, layer_file)
keyword_path = path[:-4] + '.keywords'
# Determine if layer is hazard or exposure
keywords = read_file_keywords(keyword_path)
category = 'undefined'
if 'category' in keywords:
category = keywords['category']
message = 'Could not read %s' % keyword_path
assert keywords is not None, message
# Create QGis Layer Instance
if extension in ['.asc', '.tif']:
layer = QgsRasterLayer(path, base_name)
elif extension in ['.shp']:
layer = QgsVectorLayer(path, base_name, 'ogr')
else:
message = 'File %s had illegal extension' % path
raise Exception(message)
# noinspection PyUnresolvedReferences
message = 'Layer "%s" is not valid' % str(layer.source())
# noinspection PyUnresolvedReferences
if not layer.isValid():
print message
# noinspection PyUnresolvedReferences
assert layer.isValid(), message
return layer, category
示例7: loadLayers
# 需要导入模块: from qgis.core import QgsRasterLayer [as 别名]
# 或者: from qgis.core.QgsRasterLayer import source [as 别名]
def loadLayers():
"""
Helper function to load layers into the dialog.
"""
# First unload any layers that may already be loaded
for myLayer in QgsMapLayerRegistry.instance().mapLayers():
QgsMapLayerRegistry.instance().removeMapLayer(myLayer)
# Now go ahead and load our layers
myRoot = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
myData = os.path.join(myRoot, 'test_data')
myData = myData.replace('Tim Sutton', 'TIMSUT~1')
myData = myData.replace('Rudi Thiede', 'RUDI~1')
# List all layers in the correct order.
myFileList = ['test.shp']
myCanvasLayers = []
for myFile in myFileList:
# Extract basename and absolute path
myBaseName, myExt = os.path.splitext(myFile)
myPath = os.path.join(myData, myFile)
# Create QGis Layer Instance
if myExt in ['.asc', '.tif']:
myLayer = QgsRasterLayer(myPath, myBaseName)
elif myExt in ['.shp']:
myLayer = QgsVectorLayer(myPath, myBaseName, 'ogr')
else:
msg = 'File %s had illegal extension' % myPath
raise Exception(msg)
msg = 'Layer "%s" is not valid' % str(myLayer.source())
assert myLayer.isValid(), msg
# Add layer to the registry (that QGis knows about)
QgsMapLayerRegistry.instance().addMapLayer(myLayer)
# Create Map Canvas Layer Instance and add to list
myCanvasLayers.append(QgsMapCanvasLayer(myLayer))
# Add MCL's to the CANVAS
# NOTE: New layers *must* be added to the end of this list, otherwise
# tests will break.
CANVAS.setLayerSet(myCanvasLayers)
示例8: load_layer
# 需要导入模块: from qgis.core import QgsRasterLayer [as 别名]
# 或者: from qgis.core.QgsRasterLayer import source [as 别名]
def load_layer(layer_file, directory=TESTDATA):
"""Helper to load and return a single QGIS layer
:param layer_file: Path name to raster or vector file.
:type layer_file: str
:param directory: Optional parent dir. If None, path name is assumed
to be absolute.
:type directory: str, None
:returns: tuple containing layer and its category.
:rtype: (QgsMapLayer, str)
"""
# Extract basename and absolute path
myFilename = os.path.split(layer_file)[-1] # In case path was absolute
myBaseName, myExt = os.path.splitext(myFilename)
if directory is None:
myPath = layer_file
else:
myPath = os.path.join(directory, layer_file)
myKeywordPath = myPath[:-4] + '.keywords'
# Determine if layer is hazard or exposure
myKeywords = readKeywordsFromFile(myKeywordPath)
myCategory = 'undefined'
if 'category' in myKeywords:
myCategory = myKeywords['category']
myMessage = 'Could not read %s' % myKeywordPath
assert myKeywords is not None, myMessage
# Create QGis Layer Instance
if myExt in ['.asc', '.tif']:
myLayer = QgsRasterLayer(myPath, myBaseName)
elif myExt in ['.shp']:
myLayer = QgsVectorLayer(myPath, myBaseName, 'ogr')
else:
myMessage = 'File %s had illegal extension' % myPath
raise Exception(myMessage)
myMessage = 'Layer "%s" is not valid' % str(myLayer.source())
assert myLayer.isValid(), myMessage
return myLayer, myCategory
示例9: load_layer
# 需要导入模块: from qgis.core import QgsRasterLayer [as 别名]
# 或者: from qgis.core.QgsRasterLayer import source [as 别名]
def load_layer(layer_file, directory=TESTDATA):
"""Helper to load and return a single QGIS layer
:param layer_file: Path name to raster or vector file.
:type layer_file: str
:param directory: Optional parent dir. If None, path name is assumed
to be absolute.
:type directory: str, None
:returns: tuple containing layer and its category.
:rtype: (QgsMapLayer, str)
"""
# Extract basename and absolute path
file_path = os.path.split(layer_file)[-1] # In case path was absolute
base_name, extension = os.path.splitext(file_path)
if directory is None:
path = layer_file
else:
path = os.path.join(directory, layer_file)
keyword_path = path[:-4] + ".keywords"
# Determine if layer is hazard or exposure
keywords = read_file_keywords(keyword_path)
category = "undefined"
if "category" in keywords:
category = keywords["category"]
message = "Could not read %s" % keyword_path
assert keywords is not None, message
# Create QGis Layer Instance
if extension in [".asc", ".tif"]:
layer = QgsRasterLayer(path, base_name)
elif extension in [".shp"]:
layer = QgsVectorLayer(path, base_name, "ogr")
else:
message = "File %s had illegal extension" % path
raise Exception(message)
message = 'Layer "%s" is not valid' % str(layer.source())
assert layer.isValid(), message
return layer, category
示例10: load_layer
# 需要导入模块: from qgis.core import QgsRasterLayer [as 别名]
# 或者: from qgis.core.QgsRasterLayer import source [as 别名]
def load_layer(layer_path):
"""Helper to load and return a single QGIS layer
:param layer_path: Path name to raster or vector file.
:type layer_path: str
:returns: tuple containing layer and its layer_purpose.
:rtype: (QgsMapLayer, str)
"""
# Extract basename and absolute path
file_name = os.path.split(layer_path)[-1] # In case path was absolute
base_name, extension = os.path.splitext(file_name)
# Determine if layer is hazard or exposure
layer_purpose = "undefined"
try:
keywords = read_iso19115_metadata(layer_path)
if "layer_purpose" in keywords:
layer_purpose = keywords["layer_purpose"]
except NoKeywordsFoundError:
pass
# Create QGis Layer Instance
if extension in [".asc", ".tif"]:
layer = QgsRasterLayer(layer_path, base_name)
elif extension in [".shp"]:
layer = QgsVectorLayer(layer_path, base_name, "ogr")
else:
message = "File %s had illegal extension" % layer_path
raise Exception(message)
# noinspection PyUnresolvedReferences
message = 'Layer "%s" is not valid' % layer.source()
# noinspection PyUnresolvedReferences
if not layer.isValid():
LOGGER.log(message)
# noinspection PyUnresolvedReferences
if not layer.isValid():
raise Exception(message)
return layer, layer_purpose
示例11: loadLayer
# 需要导入模块: from qgis.core import QgsRasterLayer [as 别名]
# 或者: from qgis.core.QgsRasterLayer import source [as 别名]
def loadLayer(theLayerFile, theDirectory=TESTDATA):
"""Helper to load and return a single QGIS layer
Args:
theLayerFile: Pathname to raster or vector file
DIR: Optional parameter stating the parent dir. If None,
pathname is assumed to be absolute
Returns: QgsMapLayer, str (for layer type)
"""
# Extract basename and absolute path
myFilename = os.path.split(theLayerFile)[-1] # In case path was absolute
myBaseName, myExt = os.path.splitext(myFilename)
if theDirectory is None:
myPath = theLayerFile
else:
myPath = os.path.join(theDirectory, theLayerFile)
myKeywordPath = myPath[:-4] + '.keywords'
# Determine if layer is hazard or exposure
myKeywords = readKeywordsFromFile(myKeywordPath)
myType = 'undefined'
if 'category' in myKeywords:
myType = myKeywords['category']
myMessage = 'Could not read %s' % myKeywordPath
assert myKeywords is not None, myMessage
# Create QGis Layer Instance
if myExt in ['.asc', '.tif']:
myLayer = QgsRasterLayer(myPath, myBaseName)
elif myExt in ['.shp']:
myLayer = QgsVectorLayer(myPath, myBaseName, 'ogr')
else:
myMessage = 'File %s had illegal extension' % myPath
raise Exception(myMessage)
myMessage = 'Layer "%s" is not valid' % str(myLayer.source())
assert myLayer.isValid(), myMessage
return myLayer, myType