斯潘8
斯潘4
大家好,
在我的工作台中,输出光栅类型特征的比例应该取决于属性半径,定义为用户可以操作的数值发布参数。我认识到,通过下面的Python脚本定义了一个私有参数。我将radius属性的默认值设置为“500”,所以比例应该是“4000”…但脚本返回值“15000”。我还尝试返回这个脚本中的radius值,以测试在运行python脚本时radius值是否仍然设置为500!半径属性绝对是数字。它的类型为“数字”。有什么问题?我真的不知道该怎么办。
最好的问候,
费利克斯
scale=0if(fme_macrovalues['radius']<=500):scale=4000elif(500<fme_macrovalues['radius']<=1000):scale=8000else:scale=15000返回比例
您好!@费利克斯德格卢埃克,
听起来可能很奇怪,但是宏值(参数)总是作为字符串返回。
设置参数时指定的类型不能总是直接转换为python类型。它主要是用来缩小(和检查)用户输入的范围。
所以为了让你的代码工作,您必须将fme_宏值[‘radius’]转换为整数(或float)。使用int(fme_宏值[‘radius’])或浮点(fme_macrovalues[‘radius’])要做到这一点,并注意这些函数在缺少的值(nonetype)上不起作用,所以你也可以先检查一下,以防万一。
[编辑]我太慢了…但我的回答更完整了一点…[/edit]
?2019安全亚搏在线软件公司|合法的