栅格计算器出现错误ERROR 000539:Runtime error SyntaxError: keyword can't be an expression
Con(("地形坡度数据" >= 25) & ("植被覆盖度.tif" >= 80) & ("森林灌木与草地A.tif" == 1), 5, Con(("地形坡度数据" >= 15) & ("植被覆盖度.tif" >= 60) & ("森林灌木与草地A.tif" == 1), 3, 1))
以下答案由GPT-3.5大模型与博主波罗歌共同编写:
这个错误通常表示您的代码中有语法错误。具体而言是因为您的代码中使用了某个Python中保留的关键字作为变量名,比如说在某个语句中您把“if”用作了变量名或者某些特殊字符被使用了。
为了更好地解决该错误,我们需要查看您的代码并找到问题所在。如果您能够提供错误信息周围的代码片段,我们可以更准确地找到问题所在。现在,我建议您先检查您的代码中可能存在的保留字或特殊字符,并使用其他单词来替换它们。
另外,在ArcGIS中使用栅格计算器时,需要注意输入表达式时使用的语法格式。下面是一些示例代码,供您参考:
outRas = Raster("raster1") + Raster("raster2")
outRas.save("sum_rasters")
outRas = (Raster("raster1") + Raster("raster2") + Raster("raster3")) / 3
outRas.save("avg_rasters")
如果您遵循上述建议并且仍然无法解决问题,请提供更多信息以获取更好的帮助。
如果我的回答解决了您的问题,请采纳!
我的计算式是:"C" > 0 & "SOA“ >70,结果提示一样的错误,无法计算。正确计算式应为:("C" > 0) & ("SOA“ >70),把 ”&“两侧的式子用括号括起来,然后再计算就对了。例如:("Slope_dem90_2" > 5) & ("Slope_dem90_2"<5) 也可能是输出的文件名字问题,试试开头不以数字开头,以英文字母开头,且结尾不能是符号。