ArcGIS 10 python-检查光栅值是否在集合中的条件语句

ArcGIS 10 python-检查光栅值是否在集合中的条件语句,python,arcgis,raster,arcpy,Python,Arcgis,Raster,Arcpy,我正在尝试根据其他光栅的输入创建光栅。 如果光栅值等于集合()中包含的数字,则我希望它为1,否则为0 我尝试了以下几点: ConfusedRaster = arcpy.Con(inraster in repeatSet, 1, 0) 及 这两种方法都不管用。我认为它们不起作用,因为where子句只接受映射代数表达式: 我还有两种方法可以考虑这样做。一个是将其转换为NumPyArray并使用它。另一种方法是在集合中循环,并为集合中的每个值创建光栅对象。循环完成后,合并它们 有人对如何进行这项工

我正在尝试根据其他光栅的输入创建光栅。 如果光栅值等于集合()中包含的数字,则我希望它为1,否则为0

我尝试了以下几点:

 ConfusedRaster = arcpy.Con(inraster in repeatSet, 1, 0)

这两种方法都不管用。我认为它们不起作用,因为where子句只接受映射代数表达式:

我还有两种方法可以考虑这样做。一个是将其转换为NumPyArray并使用它。另一种方法是在集合中循环,并为集合中的每个值创建光栅对象。循环完成后,合并它们

有人对如何进行这项工作有任何建议或意见吗


谢谢

我正在寻找类似问题的答案,并开发了一种使用“ExtractByAttributes”中的SQL子句的方法

repeatList = list(repeatSet)
ras1 = arcpy.sa.ExtractByAttributes(inraster, 'VALUE IN (' + str(repeatList).strip('[]') + ')') 
ConfusedRaster = arcpy.sa.Con(arcpy.sa.IsNull(ras1) == 0, 1, 0)

显示代码的其余部分…至少显示相关部分。
repeatList = list(repeatSet)
ras1 = arcpy.sa.ExtractByAttributes(inraster, 'VALUE IN (' + str(repeatList).strip('[]') + ')') 
ConfusedRaster = arcpy.sa.Con(arcpy.sa.IsNull(ras1) == 0, 1, 0)