本文整理汇总了Python中qgis.core.QgsSymbolLayerUtils.symbolPreviewPixmap方法的典型用法代码示例。如果您正苦于以下问题:Python QgsSymbolLayerUtils.symbolPreviewPixmap方法的具体用法?Python QgsSymbolLayerUtils.symbolPreviewPixmap怎么用?Python QgsSymbolLayerUtils.symbolPreviewPixmap使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类qgis.core.QgsSymbolLayerUtils
的用法示例。
在下文中一共展示了QgsSymbolLayerUtils.symbolPreviewPixmap方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: getLegend
# 需要导入模块: from qgis.core import QgsSymbolLayerUtils [as 别名]
# 或者: from qgis.core.QgsSymbolLayerUtils import symbolPreviewPixmap [as 别名]
def getLegend(layer, renderer, outputProjectFileName, safeLayerName):
if isinstance(renderer, QgsSingleSymbolRenderer):
symbol = renderer.symbol()
legendIcon = QgsSymbolLayerUtils.symbolPreviewPixmap(symbol,
QSize(16, 16))
legendIcon.save(os.path.join(outputProjectFileName, "legend",
safeLayerName + ".png"))
legend = ('<img src="legend/' + safeLayerName + '.png" /> ')
legend += layer.name()
else:
if isinstance(renderer, QgsCategorizedSymbolRenderer):
classes = renderer.categories()
elif isinstance(renderer, QgsGraduatedSymbolRenderer):
classes = renderer.ranges()
elif isinstance(renderer, QgsRuleBasedRenderer):
classes = renderer.rootRule().children()
legend = layer.name().replace("'", "\\'") + "<br />"
legend += "<table>"
for cnt, c in enumerate(classes):
symbol = c.symbol()
legend = iconLegend(symbol, c, outputProjectFileName,
safeLayerName, legend, cnt)
legend += "</table>"
symbol = classes[0].symbol()
return (legend, symbol)
示例2: categorized
# 需要导入模块: from qgis.core import QgsSymbolLayerUtils [as 别名]
# 或者: from qgis.core.QgsSymbolLayerUtils import symbolPreviewPixmap [as 别名]
def categorized(defs, sln, layer, renderer, legendFolder, stylesFolder,
layer_alpha):
cluster = False
defs += """
function categories_%s(feature, value, size, resolution, labelText,
labelFont, labelFill) {
switch(value.toString()) {""" % sln
cats = []
useAnyMapUnits = False
for cnt, cat in enumerate(renderer.categories()):
legendIcon = QgsSymbolLayerUtils.symbolPreviewPixmap(cat.symbol(),
QSize(16, 16))
legendIcon.save(os.path.join(legendFolder,
sln + "_" + unicode(cnt) + ".png"))
if (cat.value() is not None and cat.value() != ""):
categoryStr = "case '%s':" % unicode(
cat.value()).replace("'", "\\'")
else:
categoryStr = "default:"
(style, pattern, setPattern,
useMapUnits) = (getSymbolAsStyle(cat.symbol(), stylesFolder,
layer_alpha, renderer, sln, layer))
if useMapUnits:
useAnyMapUnits = True
categoryStr += '''
return %s;
break;''' % style
cats.append(categoryStr)
defs += "\n".join(cats) + "}};"
style = """
var style = categories_%s(feature, value, size, resolution, labelText,
labelFont, labelFill)""" % sln
value = getValue(layer, renderer)
return (style, pattern, setPattern, value, defs, useAnyMapUnits)
示例3: singleSymbol
# 需要导入模块: from qgis.core import QgsSymbolLayerUtils [as 别名]
# 或者: from qgis.core.QgsSymbolLayerUtils import symbolPreviewPixmap [as 别名]
def singleSymbol(renderer, stylesFolder, layer_alpha, sln, legendFolder,
layer):
symbol = renderer.symbol()
(style, pattern, setPattern,
useMapUnits) = getSymbolAsStyle(symbol, stylesFolder,
layer_alpha, renderer, sln, layer)
style = "var style = " + style
legendIcon = QgsSymbolLayerUtils.symbolPreviewPixmap(
symbol, QSize(16, 16))
legendIcon.save(os.path.join(legendFolder, sln + ".png"))
value = 'var value = ""'
return (style, pattern, setPattern, value, useMapUnits)
示例4: iconLegend
# 需要导入模块: from qgis.core import QgsSymbolLayerUtils [as 别名]
# 或者: from qgis.core.QgsSymbolLayerUtils import symbolPreviewPixmap [as 别名]
def iconLegend(symbol, catr, outputProjectFileName, layerName, catLegend, cnt):
try:
iconSize = (symbol.size() * 4) + 5
except:
iconSize = 16
legendIcon = QgsSymbolLayerUtils.symbolPreviewPixmap(symbol,
QSize(iconSize,
iconSize))
safeLabel = re.sub(r'[\W_]+', '', catr.label()) + unicode(cnt)
legendIcon.save(os.path.join(outputProjectFileName, "legend",
layerName + "_" + safeLabel + ".png"))
catLegend += """<tr><td style="text-align: center;"><img src="legend/"""
catLegend += layerName + "_" + safeLabel + """.png" /></td><td>"""
catLegend += catr.label().replace("'", "\\'") + "</td></tr>"
return catLegend
示例5: graduated
# 需要导入模块: from qgis.core import QgsSymbolLayerUtils [as 别名]
# 或者: from qgis.core.QgsSymbolLayerUtils import symbolPreviewPixmap [as 别名]
def graduated(layer, renderer, legendFolder, sln, stylesFolder, layer_alpha):
cluster = False
ranges = []
elseif = ""
useAnyMapUnits = False
for cnt, ran in enumerate(renderer.ranges()):
legendIcon = QgsSymbolLayerUtils.symbolPreviewPixmap(
ran.symbol(), QSize(16, 16))
legendIcon.save(os.path.join(
legendFolder, sln + "_" + unicode(cnt) + ".png"))
(symbolstyle, pattern, setPattern,
useMapUnits) = getSymbolAsStyle(ran.symbol(), stylesFolder,
layer_alpha, renderer, sln, layer)
ranges.append("""%sif (value >= %f && value <= %f) {
style = %s
}""" % (elseif, ran.lowerValue(), ran.upperValue(),
symbolstyle))
elseif = " else "
if useMapUnits:
useAnyMapUnits = True
style = "".join(ranges)
value = getValue(layer, renderer)
return (style, pattern, setPattern, value, useAnyMapUnits)