tempId = Raster(dsm_file)*0 tempId = SRTran.GetId(tempId)
I am not sure what you are trying to do, but I don't think you can do it that way.
You cannot have the same raster on both sides of a map algebra statement.
Try making an intermediate raster, and using it on the left in line 1
and on the right in line 2
One of the dreary things about map algebra is that you end up with a lot of intermediate rasters
which you have to (that is to say, really want to) clean up afterwards (or as you finish with each one).
Unless I am mistaking your workflow,
You are starting with a raster (call it A)
and want an output raster we will call C
and need an intermediate raster we will call B
so if you make B using B = Function(A),
and make C using C = AnotherFunction(B)
you want to know why making B from A
and then deleting B before
making C from B
does not work?