Hi,
I need to calculate the percent difference between two rasters. Below is my code and I am getting the following error. Can somebody help me to correct my code?
Thanks in advance.
Error:
Traceback <SPAN class="punctuation token">(</SPAN>most recent call last<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">:</SPAN>
File <SPAN class="string token">"C:\Users\jayaskeradl\Desktop\Arkansas Flood\My_Phyton_Scripts\Normal_Difference.py"</SPAN><SPAN class="punctuation token">,</SPAN> line <SPAN class="number token">73</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="keyword token">in</SPAN> <SPAN class="operator token"><</SPAN>module<SPAN class="operator token">></SPAN>
outcalc2 <SPAN class="operator token">=</SPAN> Minus<SPAN class="punctuation token">(</SPAN>normal<SPAN class="punctuation token">,</SPAN> fmaskrasters<SPAN class="punctuation token">)</SPAN>
File <SPAN class="string token">"c:\program files (x86)\arcgis\desktop10.4\arcpy\arcpy\sa\Functions.py"</SPAN><SPAN class="punctuation token">,</SPAN> line <SPAN class="number token">4247</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="keyword token">in</SPAN> Minus
in_raster_or_constant2<SPAN class="punctuation token">)</SPAN>
File <SPAN class="string token">"c:\program files (x86)\arcgis\desktop10.4\arcpy\arcpy\sa\Utils.py"</SPAN><SPAN class="punctuation token">,</SPAN> line <SPAN class="number token">53</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="keyword token">in</SPAN> swapper
result <SPAN class="operator token">=</SPAN> wrapper<SPAN class="punctuation token">(</SPAN><SPAN class="operator token">*</SPAN>args<SPAN class="punctuation token">,</SPAN> <SPAN class="operator token">**</SPAN>kwargs<SPAN class="punctuation token">)</SPAN>
File <SPAN class="string token">"c:\program files (x86)\arcgis\desktop10.4\arcpy\arcpy\sa\Functions.py"</SPAN><SPAN class="punctuation token">,</SPAN> line <SPAN class="number token">4244</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="keyword token">in</SPAN> Wrapper
<SPAN class="punctuation token">[</SPAN><SPAN class="string token">"Minus"</SPAN><SPAN class="punctuation token">,</SPAN> in_raster_or_constant1<SPAN class="punctuation token">,</SPAN> in_raster_or_constant2<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">)</SPAN>
TypeError<SPAN class="punctuation token">:</SPAN> expected a raster <SPAN class="operator token">or</SPAN> layer name<SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>
months <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="number token">10</SPAN><SPAN class="punctuation token">]</SPAN>
weeks <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="number token">1</SPAN><SPAN class="punctuation token">]</SPAN>
year <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="number token">2010</SPAN><SPAN class="punctuation token">]</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>env<SPAN class="punctuation token">.</SPAN>workspace <SPAN class="operator token">=</SPAN> r<SPAN class="string token">'H:\PRISM_800m_weekly_sum\Crawford\All'</SPAN>
out <SPAN class="operator token">=</SPAN> r<SPAN class="string token">'H:\PRISM_800m_weekly_sum\Crawford\All\output'</SPAN>
<SPAN class="keyword token">for</SPAN> month <SPAN class="keyword token">in</SPAN> months<SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">for</SPAN> week <SPAN class="keyword token">in</SPAN> weeks<SPAN class="punctuation token">:</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>env<SPAN class="punctuation token">.</SPAN>workspace <SPAN class="operator token">=</SPAN> r<SPAN class="string token">'H:\PRISM_800m_weekly_sum\Crawford\All'</SPAN>
fmaskrasters <SPAN class="operator token">=</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>ListRasters<SPAN class="punctuation token">(</SPAN><SPAN class="string token">"Week_"</SPAN> <SPAN class="operator token">+</SPAN> str<SPAN class="punctuation token">(</SPAN>week<SPAN class="punctuation token">)</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">"_Sum"</SPAN> <SPAN class="operator token">+</SPAN> str<SPAN class="punctuation token">(</SPAN>year<SPAN class="punctuation token">)</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">"_"</SPAN> <SPAN class="operator token">+</SPAN> str<SPAN class="punctuation token">(</SPAN>month<SPAN class="punctuation token">)</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">"*"</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">"*"</SPAN><SPAN class="punctuation token">)</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>env<SPAN class="punctuation token">.</SPAN>workspace <SPAN class="operator token">=</SPAN> r<SPAN class="string token">'H:\PRISM_800m_weekly_sum\Crawford\All\output'</SPAN>
normal <SPAN class="operator token">=</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>ListRasters<SPAN class="punctuation token">(</SPAN><SPAN class="string token">"Crawford_Normal_Week_"</SPAN> <SPAN class="operator token">+</SPAN> str<SPAN class="punctuation token">(</SPAN>week<SPAN class="punctuation token">)</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">"_*_"</SPAN> <SPAN class="operator token">+</SPAN> str<SPAN class="punctuation token">(</SPAN>month<SPAN class="punctuation token">)</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">"*"</SPAN><SPAN class="punctuation token">)</SPAN>
outcalc2 <SPAN class="operator token">=</SPAN> Minus<SPAN class="punctuation token">(</SPAN>normal<SPAN class="punctuation token">,</SPAN> fmaskrasters<SPAN class="punctuation token">)</SPAN>
Final <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">(</SPAN>outcalc2<SPAN class="operator token">/</SPAN>normal<SPAN class="punctuation token">)</SPAN><SPAN class="operator token">*</SPAN><SPAN class="number token">100</SPAN>
finras1 <SPAN class="operator token">=</SPAN> out <SPAN class="operator token">+</SPAN> <SPAN class="string token">"\\"</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">"Crawford_Normal_Week_"</SPAN> <SPAN class="operator token">+</SPAN> str<SPAN class="punctuation token">(</SPAN>week<SPAN class="punctuation token">)</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">"_Difference"</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">"_"</SPAN> <SPAN class="operator token">+</SPAN> str<SPAN class="punctuation token">(</SPAN>month<SPAN class="punctuation token">)</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">".tif"</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>CopyRaster_management<SPAN class="punctuation token">(</SPAN>Final<SPAN class="punctuation token">,</SPAN>finras1 <SPAN class="operator token">+</SPAN> <SPAN class="string token">"_Normal_Difference_Crawford.tif"</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">""</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">""</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">""</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">""</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">""</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>