ArcGIS for Desktop

  • Documentación
  • Precios
  • Soporte

  • My Profile
  • Ayuda
  • Sign Out
ArcGIS for Desktop

ArcGIS Online

La plataforma de representación cartográfica para tu organización

ArcGIS for Desktop

Un completo SIG profesional

ArcGIS for Server

SIG en tu empresa

ArcGIS for Developers

Herramientas para crear aplicaciones basadas en la ubicación

ArcGIS Solutions

Plantillas de aplicaciones y mapas gratuitas para tu sector

ArcGIS Marketplace

Obtén aplicaciones y datos para tu organización.

  • Documentación
  • Precios
  • Soporte
Esri
  • Iniciar sesión
user
  • Mi perfil
  • Cerrar sesión

Ayuda

  • Inicio
  • Introducción
  • Mapa
  • Analizar
  • Administrar datos
  • Herramientas
  • Más...

Integrar secuencias de comandos dentro de un modelo

  • Aplicación de ejemplo
  • La secuencia de comandos de Python
  • Crear una herramienta de secuencia de comandos
  • Agregar la herramienta de secuencia de comandos a un modelo

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.

El punto de partida para integrar secuencias de comandos dentro de modelos es la propia secuencia de comandos. La secuencia de comandos se debe escribir de tal manera que se pueda integrar en el marco de geoprocesamiento. Para obtener más información, consulte Escribir una secuencia de comandos de Python.

Una vez que se ha escrito la secuencia de comandos, se puede crear y agregar una herramienta de secuencia de comandos a una caja de herramientas. Esta herramienta de secuencia de comandos se puede agregar a un modelo y utilizarse para añadir una nueva funcionalidad al modelo.

Aplicación de ejemplo

No existe ningún método integrado para trabajar con HTML en ArcGIS. Sin embargo, las secuencias de comandos de Python permiten acceder a métodos y funciones que se pueden utilizar para crear y modificar documentos HTML. Para integrar esta funcionalidad HTML con ArcGIS, integre una herramienta de secuencia de comandos de Python en un modelo.

El siguiente ejemplo realiza consultas espaciales y de atributo en una capa de parcelas y genera un informe HTML que detalla los atributos de una parcela y de parcelas circundantes especificadas por el usuario. El archivo HTML se genera dentro de una secuencia de comandos de Python que se ejecuta desde el modelo.

La secuencia de comandos de Python

La siguiente secuencia de comandos, tabletohtml.py, se utiliza para leer el contenido de una tabla de entrada y generar un informe HTML. El código de la secuencia de comandos se proporciona al final de este tema.

Secuencia de comandos de Python Tabla a HTML

Crear una herramienta de secuencia de comandos

Los siguientes pasos muestran cómo crear una herramienta de secuencia de comandos que ejecuta la secuencia de comandos tabletohtml.py. Para obtener más detalles sobre cómo crear herramientas de secuencia de comandos, consulte Recorrido rápido por la creación de herramientas de secuencia de comandos

  1. Haga clic con el botón derecho del ratón en una caja de herramientas y, a continuación, haga clic en Agregar > Secuencia de comandos.
    Agregar una nueva secuencia de comandos

    Se abrirá el asistente Agregar secuencia de comandos.

  2. Utilice el asistente Agregar secuencia de comandos para especificar propiedades generales de la secuencia de comandos.
    Propiedades generales de la secuencia de comandos
  3. En la siguiente página del asistente Agregar secuencia de comandos, especifique qué secuencia de comandos se ejecutará cuando se ejecute la herramienta de secuencia de comandos.
    Archivo fuente de la secuencia de comandos
  4. En la siguiente página del asistente Agregar secuencia de comandos, especifique las propiedades de los parámetros de la herramienta de secuencia de comandos. Esta herramienta de secuencia de comandos tiene dos parámetros: una tabla de entrada y un archivo HTML de salida. Estos parámetros también se han definido en tabletohtml.py.
    Configurar las propiedades de parámetro de la herramienta de secuencia de comandos
  5. Haga clic en Finalizar para agregar la herramienta de secuencia de comandos a la caja de herramientas.

Agregar la herramienta de secuencia de comandos a un modelo

  1. El informe de parcela del modelo realiza consultas espaciales y de atributo en una capa de parcelas. Agregue la herramienta de secuencia de comandos Tabla a HTML al modelo para agregar la funcionalidad de creación de HTML deseada.
    Agregar una herramienta de secuencia de comandos a un modelo
  2. Conecte la salida de la herramienta Seleccionar capa por ubicación como la entrada a la herramienta de secuencia de comandos y establezca la ruta de la salida de la herramienta de secuencia de comandos (la ruta del archivo HTML a generar). Además, cambie el nombre de la salida de la herramienta de secuencia de comandos a Informe y convierta la variable en un parámetro de modelo.
Modelo de ejemplo que utiliza una herramienta de secuencia de comandos
El modelo terminado, que contiene una herramienta de secuencia de comandos utilizada para generar un informe HTML

import arcpy import sys import string import os  tablePath = arcpy.GetParameterAsText(0) filePath = arcpy.GetParameterAsText(1)  outfile = open(filePath, "w") fields = arcpy.ListFields(tablePath)  fieldNames = [] for field in fields:     if (field.type <> "Geometry" and field.type <> "BLOB"):         fieldNames.append(field.name)        outfile.write("<table border=""1"">\n") outfile.write("<tr>\n")  for fieldName in fieldNames:     outfile.write("<th>" + fieldName + "</th>\n")     outfile.write("</tr>\n")  for row in arcpy.da.SearchCursor(tablePath, fieldNames):     outfile.write("<tr>\n")     for value in row:         outfile.write("<td>" + str(value) + "</td>\n")     outfile.write("</tr>\n") outfile.write("</table>\n")  outfile.flush() outfile.close()
¿Algún comentario sobre este tema?

ArcGIS for Desktop

  • Inicio
  • Documentación
  • Precios
  • Soporte

Plataforma ArcGIS

  • ArcGIS Online
  • ArcGIS for Desktop
  • ArcGIS for Server
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Acerca de Esri

  • Quiénes somos
  • Empleo
  • Blog interno
  • Conferencia de usuarios
  • Cumbre de desarrolladores
Esri
© Copyright 2016 Environmental Systems Research Institute, Inc. | Privacidad | Legal