Hi, I'm really new at using python and I'm trying to create a script for terrain ruggedness index but I'm using 4 shapefiles. I want to convert them to rasters and then merge them and do the TRI on this one raster. My script keeps failing because of the RuntimeError: Object: Error in executing tool. I would be really grateful if anybody helps me.
I got this:
Traceback (most recent call last):
File "F:\GIS_mag\py_nmg\test.py", line 60, in <module>
arcpy.gp.FocalStatistics_sa(dmr, v3x3max, "Rectangle 3 3 CELL", "MAXIMUM", "DATA")
File "c:\program files (x86)\arcgis\desktop10.5\arcpy\arcpy\geoprocessing\_base.py", line 510, in <lambda>
return lambda *args: val(*gp_fixargs(args, True))
RuntimeError: Object: Error in executing tool
This is my script:
<SPAN class="comment token"># Import arcpy module</SPAN>
<SPAN class="keyword token">import</SPAN> arcpy
<SPAN class="comment token"># Script arguments</SPAN>
dmr1 <SPAN class="operator token">=</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>GetParameterAsText<SPAN class="punctuation token">(</SPAN><SPAN class="number token">0</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">if</SPAN> dmr1 <SPAN class="operator token">==</SPAN> '<SPAN class="comment token">#' or not dmr1:</SPAN>
dmr1 <SPAN class="operator token">=</SPAN> <SPAN class="string token">"dmr1"</SPAN> <SPAN class="comment token"># provide a default value if unspecified</SPAN>
dmr2 <SPAN class="operator token">=</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>GetParameterAsText<SPAN class="punctuation token">(</SPAN><SPAN class="number token">1</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">if</SPAN> dmr2 <SPAN class="operator token">==</SPAN> '<SPAN class="comment token">#' or not dmr2:</SPAN>
dmr2 <SPAN class="operator token">=</SPAN> <SPAN class="string token">"dmr2"</SPAN> <SPAN class="comment token"># provide a default value if unspecified</SPAN>
dmr3 <SPAN class="operator token">=</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>GetParameterAsText<SPAN class="punctuation token">(</SPAN><SPAN class="number token">2</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">if</SPAN> dmr3 <SPAN class="operator token">==</SPAN> '<SPAN class="comment token">#' or not dmr3:</SPAN>
dmr3 <SPAN class="operator token">=</SPAN> <SPAN class="string token">"dmr3"</SPAN> <SPAN class="comment token"># provide a default value if unspecified</SPAN>
dmr4 <SPAN class="operator token">=</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>GetParameterAsText<SPAN class="punctuation token">(</SPAN><SPAN class="number token">3</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">if</SPAN> dmr4 <SPAN class="operator token">==</SPAN> '<SPAN class="comment token">#' or not dmr4:</SPAN>
dmr4 <SPAN class="operator token">=</SPAN> <SPAN class="string token">"dmr4"</SPAN> <SPAN class="comment token"># provide a default value if unspecified</SPAN>
TRI <SPAN class="operator token">=</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>GetParameterAsText<SPAN class="punctuation token">(</SPAN><SPAN class="number token">4</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">if</SPAN> TRI <SPAN class="operator token">==</SPAN> '<SPAN class="comment token">#' or not TRI:</SPAN>
TRI <SPAN class="operator token">=</SPAN> <SPAN class="string token">"F:\\GIS_mag\\py_nmg\\tri"</SPAN> <SPAN class="comment token"># provide a default value if unspecified</SPAN>
<SPAN class="comment token"># Local variables:</SPAN>
dmr1_ras <SPAN class="operator token">=</SPAN> <SPAN class="string token">"F:\\GIS_mag\\py_nmg\\dmr1_ras"</SPAN>
dmr2_ras <SPAN class="operator token">=</SPAN> <SPAN class="string token">"F:\\GIS_mag\\py_nmg\\dmr2_ras"</SPAN>
dmr3_ras <SPAN class="operator token">=</SPAN> <SPAN class="string token">"F:\\GIS_mag\\py_nmg\\dmr3_ras"</SPAN>
dmr4_ras <SPAN class="operator token">=</SPAN> <SPAN class="string token">"F:\\GIS_mag\\py_nmg\\dmr4_ras"</SPAN>
dmr <SPAN class="operator token">=</SPAN> dmr1_ras<SPAN class="punctuation token">,</SPAN> dmr2_ras<SPAN class="punctuation token">,</SPAN> dmr3_ras<SPAN class="punctuation token">,</SPAN> dmr4_ras
py_nmg <SPAN class="operator token">=</SPAN> <SPAN class="string token">"F:\\GIS_mag\\py_nmg"</SPAN>
v3x3max <SPAN class="operator token">=</SPAN> <SPAN class="string token">"F:\\GIS_mag\\py_nmg\\3x3max"</SPAN>
v3x3min <SPAN class="operator token">=</SPAN> <SPAN class="string token">"F:\\GIS_mag\\py_nmg\\3x3min"</SPAN>
<SPAN class="comment token"># Process: Point to Raster</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>PointToRaster_conversion<SPAN class="punctuation token">(</SPAN>dmr1<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"Field3"</SPAN><SPAN class="punctuation token">,</SPAN> dmr1_ras<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"MOST_FREQUENT"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"NONE"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"1"</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token"># Process: Point to Raster (2)</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>PointToRaster_conversion<SPAN class="punctuation token">(</SPAN>dmr2<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"Field3"</SPAN><SPAN class="punctuation token">,</SPAN> dmr2_ras<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"MOST_FREQUENT"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"NONE"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"1"</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token"># Process: Point to Raster (3)</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>PointToRaster_conversion<SPAN class="punctuation token">(</SPAN>dmr3<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"Field3"</SPAN><SPAN class="punctuation token">,</SPAN> dmr3_ras<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"MOST_FREQUENT"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"NONE"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"1"</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token"># Process: Point to Raster (4)</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>PointToRaster_conversion<SPAN class="punctuation token">(</SPAN>dmr4<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"Field3"</SPAN><SPAN class="punctuation token">,</SPAN> dmr4_ras<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"MOST_FREQUENT"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"NONE"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"1"</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token"># Process: Mosaic To New Raster</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>MosaicToNewRaster_management<SPAN class="punctuation token">(</SPAN><SPAN class="string token">"F:\\GIS_mag\\py_nmg\\dmr1_ras;F:\\GIS_mag\\py_nmg\\dmr2_ras;F:\\GIS_mag\\py_nmg\\dmr3_ras;F:\\GIS_mag\\py_nmg\\dmr4_ras"</SPAN><SPAN class="punctuation token">,</SPAN> py_nmg<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"dmr"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">""</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"8_BIT_UNSIGNED"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">""</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"1"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"LAST"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"FIRST"</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token"># Process: Focal Statistics (2)</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>gp<SPAN class="punctuation token">.</SPAN>FocalStatistics_sa<SPAN class="punctuation token">(</SPAN>dmr<SPAN class="punctuation token">,</SPAN> v3x3max<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"Rectangle 3 3 CELL"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"MAXIMUM"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"DATA"</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token"># Process: Focal Statistics</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>gp<SPAN class="punctuation token">.</SPAN>FocalStatistics_sa<SPAN class="punctuation token">(</SPAN>dmr<SPAN class="punctuation token">,</SPAN> v3x3min<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"Rectangle 3 3 CELL"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"MINIMUM"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"DATA"</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token"># Process: Raster Calculator</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>gp<SPAN class="punctuation token">.</SPAN>RasterCalculator_sa<SPAN class="punctuation token">(</SPAN><SPAN class="string token">"SquareRoot(Abs(Square(\"3x3max\") - Square(\"3x3min\")))"</SPAN><SPAN class="punctuation token">,</SPAN> TRI<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></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></SPAN>