Hey,
I have got an georeferenced original image, coming from ArcGIS. On a copy of this raster I perform various calculations using Numpy. I save this copy with Skimage as a tif file - the georeferencing is logically lost.
<SPAN class="keyword token">print</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">'Orig: ({} {}) ({} {})'</SPAN><SPAN class="punctuation token">.</SPAN>format<SPAN class="punctuation token">(</SPAN>orig<SPAN class="punctuation token">.</SPAN>extent<SPAN class="punctuation token">.</SPAN>XMin<SPAN class="punctuation token">,</SPAN> orig<SPAN class="punctuation token">.</SPAN>extent<SPAN class="punctuation token">.</SPAN>YMin<SPAN class="punctuation token">,</SPAN> orig<SPAN class="punctuation token">.</SPAN>extent<SPAN class="punctuation token">.</SPAN>XMax<SPAN class="punctuation token">,</SPAN> orig<SPAN class="punctuation token">.</SPAN>extent<SPAN class="punctuation token">.</SPAN>YMax<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">print</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">'Copy: ({} {}) ({} {})'</SPAN><SPAN class="punctuation token">.</SPAN>format<SPAN class="punctuation token">(</SPAN>copy<SPAN class="punctuation token">.</SPAN>extent<SPAN class="punctuation token">.</SPAN>XMin<SPAN class="punctuation token">,</SPAN> copy<SPAN class="punctuation token">.</SPAN>extent<SPAN class="punctuation token">.</SPAN>YMin<SPAN class="punctuation token">,</SPAN> copy<SPAN class="punctuation token">.</SPAN>extent<SPAN class="punctuation token">.</SPAN>XMax<SPAN class="punctuation token">,</SPAN> copy<SPAN class="punctuation token">.</SPAN>extent<SPAN class="punctuation token">.</SPAN>YMax<SPAN class="punctuation token">)</SPAN>
<SPAN class="operator token">>></SPAN> Orig<SPAN class="punctuation token">:</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="number token">345750.0</SPAN> <SPAN class="number token">5645250.0</SPAN><SPAN class="punctuation token">)</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="number token">346000.0</SPAN> <SPAN class="number token">5645500.0</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="operator token">>></SPAN> Copy<SPAN class="punctuation token">:</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="operator token">-</SPAN><SPAN class="number token">0.5</SPAN> <SPAN class="operator token">-</SPAN><SPAN class="number token">511.5</SPAN><SPAN class="punctuation token">)</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="number token">511.5</SPAN> <SPAN class="number token">0.5</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>I want to try to get the georeferencing of the original raster into the copy for quite a while now. However, the extent attribute of an arcpy.sa.Raster object is not editable.
I tried to set the environement's extent to the orignal image's extent - nothing changend.
arcpy<SPAN class="punctuation token">.</SPAN>env<SPAN class="punctuation token">.</SPAN>extent <SPAN class="operator token">=</SPAN> orig<SPAN class="punctuation token">.</SPAN>extent
arcpy<SPAN class="punctuation token">.</SPAN>CopyRaster_management<SPAN class="punctuation token">(</SPAN>copy<SPAN class="punctuation token">,</SPAN> path<SPAN class="punctuation token">)</SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN></SPAN>
Running the following snippet applies the changes to the extent.
copy <SPAN class="operator token">=</SPAN> copy<SPAN class="operator token">*</SPAN><SPAN class="number token">1</SPAN>
<SPAN class="keyword token">print</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">'Copy: ({} {}) ({} {})'</SPAN><SPAN class="punctuation token">.</SPAN>format<SPAN class="punctuation token">(</SPAN>copy<SPAN class="punctuation token">.</SPAN>extent<SPAN class="punctuation token">.</SPAN>XMin<SPAN class="punctuation token">,</SPAN> copy<SPAN class="punctuation token">.</SPAN>extent<SPAN class="punctuation token">.</SPAN>YMin<SPAN class="punctuation token">,</SPAN> copy<SPAN class="punctuation token">.</SPAN>extent<SPAN class="punctuation token">.</SPAN>XMax<SPAN class="punctuation token">,</SPAN> copy<SPAN class="punctuation token">.</SPAN>extent<SPAN class="punctuation token">.</SPAN>YMax<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="operator token">>></SPAN> Copy<SPAN class="punctuation token">:</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="number token">345750.0</SPAN> <SPAN class="number token">5645250.0</SPAN><SPAN class="punctuation token">)</SPAN> <SPAN class="punctuation token">(</SPAN><SPAN class="number token">346000.0</SPAN> <SPAN class="number token">5645500.0</SPAN><SPAN class="punctuation token">)</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>CopyRaster_management<SPAN class="punctuation token">(</SPAN>copy<SPAN class="punctuation token">,</SPAN> path<SPAN class="punctuation token">)</SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>After saving my copy with CopyRaster-function i got a "blank" raster without any data.
I think i have to adjust the env's cellsize, crs, etc., too?