本文整理汇总了Python中qgis.core.QgsProcessingParameters.parameterFromScriptCode方法的典型用法代码示例。如果您正苦于以下问题:Python QgsProcessingParameters.parameterFromScriptCode方法的具体用法?Python QgsProcessingParameters.parameterFromScriptCode怎么用?Python QgsProcessingParameters.parameterFromScriptCode使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类qgis.core.QgsProcessingParameters
的用法示例。
在下文中一共展示了QgsProcessingParameters.parameterFromScriptCode方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: getParameterFromString
# 需要导入模块: from qgis.core import QgsProcessingParameters [as 别名]
# 或者: from qgis.core.QgsProcessingParameters import parameterFromScriptCode [as 别名]
def getParameterFromString(s):
# Try the parameter definitions used in description files
if '|' in s and (s.startswith("Parameter") or s.startswith("*Parameter")):
isAdvanced = False
if s.startswith("*"):
s = s[1:]
isAdvanced = True
tokens = s.split("|")
params = [t if str(t) != str(None) else None for t in tokens[1:]]
try:
clazz = getattr(sys.modules[__name__], tokens[0])
param = clazz(*params)
if isAdvanced:
param.setFlags(param.flags() | QgsProcessingParameterDefinition.FlagAdvanced)
return param
except:
return None
else: # try script syntax
# try native method
param = QgsProcessingParameters.parameterFromScriptCode(s)
if param:
return param
# try Python duck-typed method
for paramClass in paramClasses:
try:
param = paramClass.fromScriptCode(s)
if param is not None:
return param
except:
pass
示例2: getParameterFromString
# 需要导入模块: from qgis.core import QgsProcessingParameters [as 别名]
# 或者: from qgis.core.QgsProcessingParameters import parameterFromScriptCode [as 别名]
#.........这里部分代码省略.........
params[5] = True if params[5].lower() == 'true' else False
elif clazz == QgsProcessingParameterFeatureSource:
if len(params) > 2:
try:
params[2] = [int(p) for p in params[2].split(';')]
except:
params[2] = [getattr(QgsProcessing, p.split(".")[1]) for p in params[2].split(';')]
if len(params) > 4:
params[4] = True if params[4].lower() == 'true' else False
elif clazz == QgsProcessingParameterMultipleLayers:
if len(params) > 2:
try:
params[2] = int(params[2])
except:
params[2] = getattr(QgsProcessing, params[2].split(".")[1])
if len(params) > 4:
params[4] = True if params[4].lower() == 'true' else False
elif clazz == QgsProcessingParameterMatrix:
if len(params) > 2:
params[2] = int(params[2])
if len(params) > 3:
params[3] = True if params[3].lower() == 'true' else False
if len(params) > 4:
params[4] = params[4].split(';')
if len(params) > 6:
params[6] = True if params[6].lower() == 'true' else False
elif clazz == QgsProcessingParameterField:
if len(params) > 4:
try:
params[4] = int(params[4])
except:
params[4] = getattr(QgsProcessingParameterField, params[4].split(".")[1])
if len(params) > 5:
params[5] = True if params[5].lower() == 'true' else False
if len(params) > 6:
params[6] = True if params[6].lower() == 'true' else False
elif clazz == QgsProcessingParameterFile:
if len(params) > 2:
try:
params[2] = int(params[2])
except:
params[2] = getattr(QgsProcessingParameterFile, params[2].split(".")[1])
if len(params) > 5:
params[5] = True if params[5].lower() == 'true' else False
elif clazz == QgsProcessingParameterNumber:
if len(params) > 2:
try:
params[2] = int(params[2])
except:
params[2] = getattr(QgsProcessingParameterNumber, params[2].split(".")[1])
if len(params) > 3:
params[3] = float(params[3].strip()) if params[3] is not None else None
if len(params) > 4:
params[4] = True if params[4].lower() == 'true' else False
if len(params) > 5:
params[5] = float(params[5].strip()) if params[5] is not None else -sys.float_info.max + 1
if len(params) > 6:
params[6] = float(params[6].strip()) if params[6] is not None else sys.float_info.max - 1
elif clazz == QgsProcessingParameterString:
if len(params) > 3:
params[3] = True if params[3].lower() == 'true' else False
if len(params) > 4:
params[4] = True if params[4].lower() == 'true' else False
elif clazz == QgsProcessingParameterFileDestination:
if len(params) > 4:
params[4] = True if params[4].lower() == 'true' else False
if len(params) > 5:
params[5] = True if params[5].lower() == 'true' else False
elif clazz == QgsProcessingParameterFolderDestination:
if len(params) > 3:
params[3] = True if params[3].lower() == 'true' else False
elif clazz == QgsProcessingParameterRasterDestination:
if len(params) > 3:
params[3] = True if params[3].lower() == 'true' else False
if len(params) > 4:
params[4] = True if params[4].lower() == 'true' else False
elif clazz == QgsProcessingParameterVectorDestination:
if len(params) > 2:
try:
params[2] = int(params[2])
except:
params[2] = getattr(QgsProcessing, params[2].split(".")[1])
if len(params) > 4:
params[4] = True if params[4].lower() == 'true' else False
if len(params) > 5:
params[5] = True if params[5].lower() == 'true' else False
param = clazz(*params)
if isAdvanced:
param.setFlags(param.flags() | QgsProcessingParameterDefinition.FlagAdvanced)
return param
else:
return None
else: # try script syntax
# try native method
param = QgsProcessingParameters.parameterFromScriptCode(s)
if param:
return param