<\/HEAD>
Logré que esto funcionara pero aún no puedo ver cuál era el problema con mi sintaxis original de python.<\/P>
<\/P>
Quería realizar un análisis de agua superficial sobre varios cambios propuestos en un área para ver qué tan bien podríamos prevenir inundaciones, así que obtuve un script de python de un proyecto de 2015 y lo modifiqué para ejecutarlo en un espacio de trabajo diferente para ayudarme a ejecutar estos pasos en varias superficies diferentes. <\/P>
<SPAN class="comment token"># -*- coding: utf-8 -*-<\/SPAN>
<SPAN class="comment token"># ---------------------------------------------------------------------------<\/SPAN>
<SPAN class="comment token"># Fill2Stream.py<\/SPAN>
<SPAN class="comment token"># Creado el: 2015-03-06 10:28:41.00000<\/SPAN>
<SPAN class="comment token"># (generado por ArcGIS\/ModelBuilder)<\/SPAN>
<SPAN class="comment token"># Descripción: para generar grids de dirección y acumulación de flujo a partir de un raster de elevación. <\/SPAN>
<SPAN class="comment token"># Modificado 2017-11-28 por PH para ejecutar estos pasos en el análisis del vertedero Mud Lake<\/SPAN>
<SPAN class="comment token"># ---------------------------------------------------------------------------<\/SPAN>
<SPAN class="comment token"># Importar módulo arcpy<\/SPAN>
<SPAN class="keyword token">import<\/SPAN> arcpy
<SPAN class="keyword token">from<\/SPAN> arcpy<SPAN class="punctuation token">.<\/SPAN>sa <SPAN class="keyword token">import<\/SPAN> <SPAN class="operator token">*<\/SPAN>
<SPAN class="comment token"># Solicitar cualquier licencia necesaria<\/SPAN>
arcpy<SPAN class="punctuation token">.<\/SPAN>CheckOutExtension<SPAN class="punctuation token">(<\/SPAN><SPAN class="string token">"spatial"<\/SPAN><SPAN class="punctuation token">)<\/SPAN>
arcpy<SPAN class="punctuation token">.<\/SPAN>env<SPAN class="punctuation token">.<\/SPAN>workspace <SPAN class="operator token">=<\/SPAN> <SPAN class="string token">"G:\/elevation\/lidar_2005\/MudLake\/MudLakeTerrians.gdb"<\/SPAN>
arcpy<SPAN class="punctuation token">.<\/SPAN>env<SPAN class="punctuation token">.<\/SPAN>overwrite <SPAN class="operator token">=<\/SPAN> <SPAN class="string token">"True"<\/SPAN>
<SPAN class="comment token"># Variables locales:<\/SPAN>
<SPAN class="comment token">#DEMrs = "G:\\elevation\\lidar_2005\\MudLake\\MudLakeTerrians\\DEMFloodway"<\/SPAN>
DEMrs <SPAN class="operator token">=<\/SPAN> <SPAN class="string token">"G:\\elevation\\lidar_2005\\MudLake\\MudLakeTerrians.gdb\\DEMFloodway"<\/SPAN>
<SPAN class="comment token">#DEMrs = "DEMFloodway"<\/SPAN>
Fill <SPAN class="operator token">=<\/SPAN> <SPAN class="string token">"DEMFWfill"<\/SPAN>
flowdir <SPAN class="operator token">=<\/SPAN> <SPAN class="string token">"DEMFWdir"<\/SPAN>
drop_raster <SPAN class="operator token">=<\/SPAN> <SPAN class="string token">"DEMFWDrop"<\/SPAN>
Accum <SPAN class="operator token">=<\/SPAN> <SPAN class="string token">"DEMFWaccum"<\/SPAN>
<SPAN class="keyword token">print<\/SPAN> DEMrs
<SPAN class="comment token">#Proceso: Fill<\/Span>
<SPAN class="comment token">#outFill = Fill(DEMrs)<\/Span>
<SPAN class="comment token">#outFill.save(Fill)<\/Span>
arcpy<SPAN class="punctuation token">.<\/Span>gp<SPAN class="punctuation token">.<\/Span>Fill_sa<SPAN class="punctuation token">(<\/Span>DEMrs<SPAnclass=\"punctuationtoken\">,\</SPAnclass=\"punctuationtoken\">Fill,\</SPAnclass=\"stringtoken\">)<SPAnclass=\"punctuationtoken\">)<SPAnclass=\"punctuationtoken\">
<spanclass=\"commenttoken\"># Proceso: Dirección del flujo</span>
arcpy.gp.FlowDirection_sa(Fill, flowdir, "NORMAL", drop_raster)
<spanclass=\"commenttoken\"># Proceso: Acumulación del flujo</span>
arcpy.gp.FlowAccumulation_sa(flowdir, Accum, "", "FLOAT")
<spanclass=\"commenttoken\"># Procesar rasters de líneas de corriente</span>
strm = Con(Raster(Accum) > 200000, 1, 0)
strm10 = Con(Raster(Accum) > 10000, 1, 0)
strm.save("FWstrm")
strm10.save("FWstrm10")
<spanclass=\"line-numbers-rows\"><span><<EMOJI_0>></span><span><<EMOJI_1>></span><span><<EMOJI_2>></span><span><<EMOJI_3>></span><span><<EMOJI_4>></span><span><<EMOJI_5>></span><span><<EMOJI_6>></span><span><<EMOJI_7>></span><span><<EMOJI_8>></span><span><<EMOJI_9>></span><span><<EMOJI_10>></span><span><<EMOJI_11>></span><span><<EMOJI_12>></span><span><<EMOJI_13>></span><span><<EMOJI_14>></span><span><<EMOJI_15>></span><span><<EMOJI_16>></span><span><<EMOJI_17>></span><span><<EMOJI_18>></span><span><<EMOJI_19>></span><span><<EMOJI_20>></span><span><<EMOJI_21>></span><span><<EMOJI_22>></span><span><<EMOJI_23>></span><span><<EMOJI_24>></span><span><<EMOJI_25>></span><span><<EMOJI_26>></span><span><<EMOJI_27>></span><span><<EMOJI_28>></span><span><<EMOJI_29>></span><span><<EMOJI_30>></span><span><<EMOJI_31>></span><span><<EMOJI_32>></span><span><<EMOJI_33>></span><span><<EMOJI_34>></span><span><<EMOJI_35>></span><span><<EMOJI_36>></span><span>&&&&&&&&&&&&&&&&&&&&</spaNspANspANspANspANspANspANspANspANspANspANspANspANspANspANspANspANspANspANspANspANspANspANspANspANspANspANspANspANspANspANpN<p>Aunque cada vez que ejecutaba esto obtenía "línea 32, en <módulo><BR \/> oUtFill = Fill(DEMrs)<BR \/>TypeError: 'str' object is not callable"</p<p>Así que intenté establecer DEMrs con y sin la ruta completa, cambiando el nombre de la variable de DEM a DEMrs por si DEM estaba reservado, cambiando el nombre de la variable Fill a outFill, cambiando la dirección de las barras del directorio de \/ a \\ y a \\\, y nada parecía funcionar hasta que cambié la forma de llamar a la herramienta fill de outFill = Fill(DEMrs) a arcpy.gp.Fill_sa(DEMrs, Fill, ""). Me desconcierta que eso fuera necesario ya que la Ayuda parece mostrar la herramienta Fill aquí en un script python como</p<div<divclass=\""><divclass=\""><divclass=\""><preclass=\"lia-code-sample line-numbers language-none\"><code>outFill = Fill(inSurfaceRaster, zLimit)