I'm trying to do Map Algebra on a bunch of rasters by iterating through a for loop and saving them in an empty geodatabase. However, they aren't saving properly. Only the last raster is created and it is named "rescaledRaster" rather than the outName. Here's the code:
<SPAN class="keyword token">import</SPAN> arcpy<SPAN class="punctuation token">,</SPAN> os
<SPAN class="keyword token">from</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>sa <SPAN class="keyword token">import</SPAN> <SPAN class="operator 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">"[abspath]"</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>env<SPAN class="punctuation token">.</SPAN>scratchWorkspace <SPAN class="operator token">=</SPAN> r<SPAN class="string token">"[abspath]\rescale.gdb"</SPAN>
aprx <SPAN class="operator token">=</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>mp<SPAN class="punctuation token">.</SPAN>ArcGISProject<SPAN class="punctuation token">(</SPAN>r<SPAN class="string token">"[abspath]\filename.aprx"</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token"># Select correct interpolated rasters</SPAN>
<SPAN class="keyword token">for</SPAN> lyr <SPAN class="keyword token">in</SPAN> aprx<SPAN class="punctuation token">.</SPAN>listMaps<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">[</SPAN><SPAN class="number token">0</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">.</SPAN>listLayers<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">if</SPAN> lyr<SPAN class="punctuation token">.</SPAN>isRasterLayer<SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">if</SPAN> <SPAN class="string token">'Temp'</SPAN> <SPAN class="keyword token">in</SPAN> lyr<SPAN class="punctuation token">.</SPAN>name<SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">if</SPAN> <SPAN class="string token">'Int_Raster'</SPAN> <SPAN class="keyword token">in</SPAN> lyr<SPAN class="punctuation token">.</SPAN>name<SPAN class="punctuation token">:</SPAN>
<SPAN class="comment token"># Set local variables</SPAN>
raster <SPAN class="operator token">=</SPAN> Raster<SPAN class="punctuation token">(</SPAN>lyr<SPAN class="punctuation token">.</SPAN>dataSource<SPAN class="punctuation token">)</SPAN>
thresholds <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="number token">14</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">23</SPAN><SPAN class="punctuation token">]</SPAN>
bounds <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="number token">14</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">23</SPAN><SPAN class="punctuation token">]</SPAN>
scale <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="number token">1</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">0.496714</SPAN><SPAN class="punctuation token">]</SPAN>
transformation <SPAN class="operator token">=</SPAN> TfLinear<SPAN class="punctuation token">(</SPAN> bounds<SPAN class="punctuation token">[</SPAN><SPAN class="number token">0</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> bounds<SPAN class="punctuation token">[</SPAN><SPAN class="number token">1</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> thresholds<SPAN class="punctuation token">[</SPAN><SPAN class="number token">0</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">1</SPAN><SPAN class="punctuation token">,</SPAN> thresholds<SPAN class="punctuation token">[</SPAN><SPAN class="number token">1</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">0</SPAN> <SPAN class="punctuation token">)</SPAN>
outName <SPAN class="operator token">=</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>env<SPAN class="punctuation token">.</SPAN>scratchWorkspace <SPAN class="operator token">+</SPAN> <SPAN class="string token">"\\"</SPAN> <SPAN class="operator token">+</SPAN> raster<SPAN class="punctuation token">.</SPAN>name<SPAN class="punctuation token">.</SPAN>replace<SPAN class="punctuation token">(</SPAN><SPAN class="string token">'Int_Raster'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'Resc'</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token"># Rescale the raster</SPAN>
rescaledRaster <SPAN class="operator token">=</SPAN> RescaleByFunction<SPAN class="punctuation token">(</SPAN> raster<SPAN class="punctuation token">,</SPAN> transformation<SPAN class="punctuation token">,</SPAN> scale<SPAN class="punctuation token">[</SPAN><SPAN class="number token">0</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> scale<SPAN class="punctuation token">[</SPAN><SPAN class="number token">1</SPAN><SPAN class="punctuation token">]</SPAN> <SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token"># Save the rescaled raster</SPAN>
rescaledRaster<SPAN class="punctuation token">.</SPAN>save<SPAN class="punctuation token">(</SPAN>outName<SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">print</SPAN><SPAN class="punctuation token">(</SPAN>rescaledRaster<SPAN class="punctuation token">.</SPAN>isTemporary<SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">print</SPAN><SPAN class="punctuation token">(</SPAN>rescaledRaster<SPAN class="punctuation token">.</SPAN>name<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></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN><CODE><SPAN class="" style="color: #101094; border: 0px; font-weight: inherit;"> </SPAN>
The print statements seem correct each time; .isTemporary comes out False and .name returns the outName. Despite this, the output rasters keep getting overwritten.
I also tried outName = os.path.join(arcpy.env.scratchWorkspace, raster.name.replace('Int_Raster','Resc')) already and that didn't work either.