Es posible integrar secuencias de comandos de Python o de otros lenguajes en modelos convirtiendo la secuencia de comandos en una herramienta de secuencia de comandos y agregándola a un modelo. Se puede hacer uso de este método cuando se requiere lógica de secuencia de comandos de Python o de otro lenguaje para mejorar un modelo o acceder a un paquete o programa externo desde ArcGIS.
En esta sección se describe cómo integrar R, un paquete estadístico externo, dentro del entorno de ModelBuilder. En el ejemplo descrito a continuación, existen dos scripts necesarios para ejecutar la funcionalidad R: un script de Python que llama al código fuente de R y el código fuente de R en sí. El script de Python es el código al que se llama desde ModelBuilder y sirve como un conducto que organiza y canaliza los argumentos desde ModelBuilder hasta R.
En el ejemplo se describe cómo funcionan los dos scripts e interactúan a través de un modelo dentro del entorno de ArcGIS. Puede seguir los siguientes pasos como si fuera un tutorial, o leerlos y aplicarlos a un proyecto específico.
- Descargar y extraer datos
- Instalar R en el sistema
- Crear un nuevo modelo y agregar la herramienta de script a un modelo
- Rellenar los parámetros de herramienta de script
- Ejecutar el modelo
1-Descargar y extraer datos
El script de ejemplo, Usar R en ArcGIS 10, se descarga desde el repositorio R-toolbox-py de github de Esri. La carpeta descomprimida contiene cuatro subcarpetas y una herramienta de script: Clustering de puntos (versión R).

2-Instalar R en el sistema
El paquete R debe estar instalado en el sistema antes de ejecutar la herramienta de script. Si está utilizando esta sección a modo de tutorial o quiere probar más adelante cómo funciona este script, lea y siga atentamente las instrucciones del archivo Readme.pdf que se encuentra en la subcarpeta Doc del script que ha descargado del Centro de recursos. El paquete R se utiliza específicamente para este ejemplo; si está usando un programa externo, tendrá que leer y entender los detalles de la instalación del software.
3-Crear un nuevo modelo y agregar la herramienta de script a un modelo
La carpeta descargada contiene una caja de herramientas Herramientas R con una herramienta de script. Para agregar un nuevo modelo a la caja de herramientas, haga clic con el botón derecho del ratón en Nuevo > Modelo. Se abrirá un modelo vacío. La herramienta de script Clustering de puntos (Versión R) se agrega arrastrándola al modelo desde la ventana Catálogo, como si se tratara de cualquier otra herramienta de geoprocesamiento, y crea una variable de datos derivados de salida conectada a la herramienta de script.
Los detalles sobre cómo escribir un script de Python y crear una herramienta de script no se recogen en esta sección. Se ofrece una descripción completa acerca de cómo escribir un script de Python que le enseñará a iniciar y crear un script. Consulte Integrar un modelo dentro de un modelo para aprender a crear una herramienta de script.
Información sobre el ejemplo de script de Python
La herramienta de script que se agrega al modelo se puede editar haciendo clic con el botón derecho del ratón en ella y, a continuación, haciendo clic en Editar. El script PointCluster.py se parece a la siguiente ilustración:

El código del script utiliza los parámetros de entrada en la herramienta de ArcGIS y los pasa al paquete estadístico de R a través del script de R. Cuando los parámetros se pasan a R desde ArcGIS, el programa R se ejecuta y calcula los clústeres para las entradas reunidos mediante el script de Python en ModelBuilder. Los resultados se vuelven a representar en pantalla para visualizarlos en ArcMap.
Información sobre el script de R
No es posible ver el script de R en ModelBuilder o a través de la ventana Catálogo. Sin embargo, se encuentra en la subcarpeta Scripts del archivo descargado. El script PointCluster.r se escribe y se guarda para este ejemplo concreto, y se utiliza como una función de R externa en ModelBuilder. Si utiliza otro programa, tendrá que tener en cuenta los archivos asociados que necesita crear. Después de esto, puede utilizar estos scripts, escritos para cualquier programa, desde el script de Python y ejecutarlos desde ModelBuilder.
El script PointCluster.r se muestra a continuación. El archivo de R recibe los argumentos de entrada de la herramienta de script basada en Python que se utilizó en ModelBuilder para recoger los parámetros de entrada. El archivo de R ejecuta el análisis clúster en función de las entradas proporcionadas. Estos resultados se devuelven a continuación a la aplicación de ModelBuilder o ArcGIS mediante el script de Python y se visualizan en ArcMap con la representación en pantalla aplicada.

4-Rellenar parámetros de herramienta de script
El script de ejemplo ejecuta un análisis clúster en la clase de entidad de puntos de entrada basándose en el método de clúster y los valores de atributo de los puntos. En este ejemplo, se utiliza como entrada una clase de entidad de puntos que representa llamadas de emergencia al 911. Estos datos se encuentran en la carpeta ToolData descargada del Centro de recursos. Los datos originales se han modificado para este ejemplo. Cada punto tiene un valor de contador que indica el número de llamadas dentro de un área específica alrededor de ese punto. El campo de recuento se utiliza para calcular cinco clústeres según el método de clúster KMEANS_HARTIGAN.
Estos parámetros de entrada se definen mediante el script de Python. La herramienta de script de Python tiene un cuadro de diálogo en el que se pueden designar los parámetros de entrada dentro de ArcGIS.

5-Ejecutar el modelo
Al ejecutar el modelo que contiene la herramienta de script de R, podría aparecer la ventana emergente de ejecución de línea de comandos indicando que el programa del paquete R se está preparando para ejecutarse.

El script lanza el paquete estadístico R con una ventana predeterminada de la biblioteca clusTool.

El paquete de R calcula los clústeres en función de las entradas proporcionadas mediante la herramienta de script de Python. Los resultados se envían de vuelta, se renderizan en pantalla y se visualizan en ArcMap.
