6 votos

ArcGIS Pro no puede exportar modelos como código Python

ArcGIS Pro 2.1 no permite guardar/exportar un modelo construido con ModelBuilder como un script de Python.

Parece que la única manera de sortear esta limitación es hacer clic en cada elemento individual del historial de geoprocesamiento, pero, no es muy eficiente hacerlo.

¿Hay alguna otra solución?

7voto

UnkwnTech Puntos 21942

Mi respuesta original aparece debajo de la doble línea. La actualizo porque al revisar ArcGIS Pro 2.7.2 hace un momento parece que la funcionalidad que buscas ha sido devuelta en esa versión o en una anterior. Se encuentra en la pestaña ModelBuilder de la cinta de opciones, en Exportar | Exportar a archivo Python.

enter image description here



Los motivos de la supresión de esta funcionalidad se exponen en ¿Qué pasó con el botón Exportar script en ArcGIS Pro? por dflater-esristaff:

La capacidad de exportar desde ModelBuilder a un script de Python fue eliminada de ArcGIS Pro 1.1 porque no se ajustaba a las expectativas del usuario para proporcionar una exportación uno a uno de su modelo a Python. Los scripts generados por los modelos exportados carecían de submodelos anidados, y no no incluían iteradores, bucles de retroalimentación y sustitución de variables en línea. en línea. Los modelos con estos componentes requerirían cambios importantes que la mayoría de las personas que utilizan Export no son capaces de hacer por sí mismas. En Actualmente no está previsto añadir esta capacidad a ArcGIS Pro.

Dejé de exportar los modelos de ModelBuilder en ArcMap a código Python el día que descubrí Copy As Python Snippet porque el código exportado era mucho más difícil de entender y depurar debido a la forma en que nombraba las variables, no entendía los iteradores, etc.

Creo que es mucho más fácil aprender ArcPy en ArcGIS Pro utilizando Copy Python Command para copiar la sintaxis exacta de Python necesaria para ejecutar la herramienta de geoprocesamiento con la misma configuración de parámetros utilizada anteriormente, y luego pegarla en un script que esté escribiendo.

Alternativamente, si desea ejecutar rápidamente su modelo utilizando ArcPy, dflater-esristaff también describe una solución de:

Comience por construir y guardar un modelo, luego cree un nuevo archivo Python script (que no es más que un archivo de texto con extensión .py), a continuación, utilizando un editor de texto o un IDE de Python agrega líneas al nuevo script para importar arcpy, importar la caja de herramientas que contiene tu modelo, y finalmente ejecutar el modelo.

...

import arcpy
arcpy.ImportToolbox(r"c:\pathtotbx\Toolbox.tbx", "mytools")
arcpy.MyModel_mytools(r"c:\modelinputs\Data.gdb\InputFeatures")

2voto

heavyd Puntos 8845

Si lo que buscas es simplemente ejecutar un modelo de ArcGIS Pro a partir de un script en bruto, simplemente utiliza algo como esto:

import arcpy
arcpy.ImportToolbox(r"C:/Data/Toolboxname.tbx")
arcpy.Toolboxname.Modelname()

Esto ejecutará un modelo ('Modelname') desde una caja de herramientas especificada ('Toolboxname')

1voto

Galbrezu Puntos 142

Desde el Hoja de ruta de febrero de 2019 En la actualidad, Esri está estudiando la posibilidad de volver a añadir esta funcionalidad.

Se trata de una mejora a "medio plazo" (posiblemente a finales de 2019, o en 2020):

ModelBuilder a Python - Generación interactiva de fragmentos de Python mientras construir un modelo. Se puede exportar a un archivo Python script (.py).

En el momento de la publicación, ArcGIS Pro 2.3 no dispone de esta funcionalidad. "A medio plazo" sería probablemente Pro 2.5/6/7, posiblemente Pro 3.x basado en los ciclos de lanzamiento actuales.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X