本文整理汇总了Python中qgis.core.QgsRasterLayer.resampleFilter方法的典型用法代码示例。如果您正苦于以下问题:Python QgsRasterLayer.resampleFilter方法的具体用法?Python QgsRasterLayer.resampleFilter怎么用?Python QgsRasterLayer.resampleFilter使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类qgis.core.QgsRasterLayer
的用法示例。
在下文中一共展示了QgsRasterLayer.resampleFilter方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: refreshtiles_apply
# 需要导入模块: from qgis.core import QgsRasterLayer [as 别名]
# 或者: from qgis.core.QgsRasterLayer import resampleFilter [as 别名]
def refreshtiles_apply(self, tilestoclean, tilestoload, tilefiles, extent):
#clean
layerstoclean = [self.loadedlayers[tile] for tile in tilestoclean]
for tile in tilestoclean:
del self.loadedlayers[tile]
QgsMapLayerRegistry.instance().removeMapLayers(layerstoclean)
log("defining self.actualzoom")
if len(tilestoload) > 0:
self.actualzoom = tilestoload[0][2]
else:
self.actualzoom = None
#load
log("loading tiles")
for i in range(len(tilestoload)):
#check file exists
if os.path.exists(tilefiles[i]):
auxfile = tm.auxfilename(tilefiles[i])
if not os.path.exists(auxfile):
osm.writeauxfile(*tilestoload[i], filename=auxfile, imagesize=tm.tilesize(self.tiletype))
#create layer, add to self.loadedlayers
layername = "qosm_%s_x%s_y%s_z%s" % ((self.tiletype,) + tilestoload[i])
layer = QgsRasterLayer(tilefiles[i], layername)
if layer.isValid():
layer = QgsMapLayerRegistry.instance().addMapLayer(layer, False)
layer.resampleFilter().setZoomedOutResampler(QgsBilinearRasterResampler())
layer.resampleFilter().setZoomedInResampler(QgsBilinearRasterResampler())
self.loadedlayers[tilestoload[i]] = layer.id()
else:
log("ERROR invalid layer produced:" + layername)
else:
#report error?
log("tile filename does not exist: " + tilefiles[i])
log("setting extent: " + extent.toString())
self.setExtent(extent)
示例2: createBaseMapLayer
# 需要导入模块: from qgis.core import QgsRasterLayer [as 别名]
# 或者: from qgis.core.QgsRasterLayer import resampleFilter [as 别名]
def createBaseMapLayer(self, map_theme, layer, tile_size, map_units_per_pixel):
"""
Create a basemap from map layer(s)
:param dataPath: The path where the basemap should be writtent to
:param extent: The extent rectangle in which data shall be fetched
:param map_theme: The name of the map theme to be rendered
:param layer: A layer id to be rendered. Will only be used if map_theme is None.
:param tile_size: The extent rectangle in which data shall be fetched
:param map_units_per_pixel: Number of map units per pixel (1: 1 m per pixel, 10: 10 m per pixel...)
"""
extent_string = '{},{},{},{}'.format(self.extent.xMinimum(), self.extent.xMaximum(), self.extent.yMinimum(),
self.extent.yMaximum())
alg = QgsApplication.instance().processingRegistry().createAlgorithmById('qgis:rasterize')
params = {
'EXTENT': extent_string,
'MAP_THEME': map_theme,
'LAYER': layer,
'MAP_UNITS_PER_PIXEL': map_units_per_pixel,
'TILE_SIZE': tile_size,
'MAKE_BACKGROUND_TRANSPARENT': False,
'OUTPUT': os.path.join(self.export_folder, 'basemap.gpkg')
}
feedback = QgsProcessingFeedback()
context = QgsProcessingContext()
context.setProject(QgsProject.instance())
results, ok = alg.run(params, context, feedback)
new_layer = QgsRasterLayer(results['OUTPUT'], self.tr('Basemap'))
resample_filter = new_layer.resampleFilter()
resample_filter.setZoomedInResampler(QgsCubicRasterResampler())
resample_filter.setZoomedOutResampler(QgsBilinearRasterResampler())
self.project_configuration.project.addMapLayer(new_layer, False)
layer_tree = QgsProject.instance().layerTreeRoot()
layer_tree.insertLayer(len(layer_tree.children()), new_layer)