• Saltar a la navegación principal
  • Saltar al contenido principal
  • Saltar al pie de página
logo web Geoinnova

Geoinnova

Consultoría y Formación en SIG y Medio Ambiente

  • Geoinnova
    • Asociación
    • Equipo
    • Visor de proyectos Geoinnova
    • Geolibrería
    • Alianzas Estratégicas
  • Consultoría
    • Consultoría y Desarrollo en Sistemas de Información Geográfica
    • Consultora Ambiental
    • Turismo sostenible
    • Planificación urbana y ordenación del territorio
    • Planes Urbanos de Actuación Municipal – PUAM
    • Geomarketing
  • Servicios
    • Planero Web
    • QElectricGIS
    • Plugins
  • Formación
    • Todos los cursos
    • Webinars
    • Máster y Diplomas
    • Cursos de ArcGIS
    • Cursos de QGIS
    • Cursos de Teledetección
    • Cursos de Medioambiente
  • Medio Ambiente
    • Consultora Ambiental
    • Estudios ambientales para proyectos de energías renovables
    • Estudios de Impacto e Integración Paisajística
    • Evaluación Ambiental Estratégica de planes y programas
    • Estudio de Impacto Ambiental para proyectos
    • Cálculo huella de carbono
    • Educación Ambiental
    • Cursos de Medioambiente
  • Coworking
  • Blog
    • SIG
    • Medio Ambiente
    • Teledetección
    • Programación y Desarrollo SIG
    • Corporativo
  • Contacto
    • Soporte de Clientes – Tickets
SIG

Cómo crear herramientas a partir de nuestro scripts en ArcPy

05/09/2016 Deja un comentario

En anteriores tutoriales de Arcpy hemos hablado de la importancia y potencia que el scripting aporta a nuestra capacidad de geoproceso. Ciertamente,  tener soltura con este tipo  de herramientas es muy útil y nos permite desarrollar procesos que de otra forma sería conllevaría mucho trabajo o simplemente sería irrealizable.

Hasta aquí todo estupendo, tenemos nuestros scripts y los ejecutamos cuando es necesario, modificándolos a nuestro antojo pero, ¿qué pasa cuando lo que tenemos que hacer es desarrollar una herramienta para terceros? Es decir, que no seamos nosotros el usuario final, sino otra persona, compañero o lo que fuere. Puede darse el caso de que tenga conocimientos de scripting como nosotros, y que además hayamos documentado bien nuestro código de modo que sea capaz de utilizarlo sin mayor problema. Pero seamos realistas, este escenario es poco probable y aún siendo así tenemos mejores alternativas que pasar el código en texto plano.

Si estás familiarizado con el uso de Model Builder seguramente conocerás las posibilidades que tiene en cuanto a la creación de herramientas tipo “Toolboxes” a partir de parámetros en el modelo y demás, de manera que transformamos nuestro modelo en una herramienta. Pues bien, esto precisamente es que lo que veremos como hacer, es decir, convertir nuestro script en una ventana de herramienta en la que podamos especificar entradas y salidas, y en definitiva ejecutar nuestro código cambiando la información de partida.

Este proceso es muy sencillo. Basta con transformar las variables que almacenan la información de partida (capas de entrada o salida, valores numéricos, directorios de trabajo…) en argumentos de arcpy, crear una “Toolbox” nueva para nuestra herramienta y finalmente añadir nuestro script,  especificando los argumentos. Bueno, quizás no era tan sencillo… mejor vamos a ver un ejemplo.

Paso 1 – Adaptando nuestro script

Este es un script que calcula diversos buffers a distancias regulares extraído de nuestro curso Curso Python para ArcGIS: Geoprocesos con ArcPy.

ArcPyLo que tenemos que modificar son las variables de entrada, aquí llamadas Local variables por argumentos (arcpy.GetParameterAsText(0)), y las llamadas a la función print que sustituiremos por su versión mensaje de ejecución (arcpy.AddMessage()). Aquí tienes el resultado:

ArcPy

Paso 2 – Añadiendo el script y especificando los argumenos

Ya en ArcMap, creamos una nueva Toolbox  y añadimos un nuevo script. En la ventana inicial rellenamos los campos Name y Label y continuamos:

ArcPy

Especificamos dónde está el archivo de nuestro script:

ArcPy

Y añadimos los parámetros. Estos parámetros no son ni más ni menos que los argumentos del script. Importante, hay que especificar los parámetros en el mismo orden que aparecen en el script y ajustar el tipo de parámetro a lo que éste representa en nuestro script. Aquí tenemos una capa de entrada de tipo Feature Layer, un directorio de salida que hemos especificado como  Folder y diversos valores numéricos que hemos definido como string.

ArcPy

Y ya está, si todo ha ido bien ya podremos ejecutar el script como herramienta pudiendo cambiar los parámetros clave a nuestro antojo.

ArcPyAutor: Marcos Rodrigues

 

Descubre más en nuestro blog sobre tutoriales GIS

Curso de ArcPyCURSO PYTHON PARA ARCGIS: GEOPROCESOS CON ARCPY

  • Formato Online – Acceso 24 h.
  • Carga lectiva: 125 h.
  • MATRICÚLATE AQUÍ

Apúntate a nuestra newsletter semanal

"*" señala los campos obligatorios

Consentimiento*
Este campo es un campo de validación y debe quedar sin cambios.

Información legal

Cumplimos el RGPD (Reglamenteo General de Protección de Datos) y esta en la primera información que debes saber. Responsable: Asociación Geoinnova. Finalidad: Apuntarte en nuestra base de datos para poder enviarte nuestra newsletter y cualquier otra información de interes. Legitimidad: Nos das tu consentimiento para comunicarnos contigo. Derechos: Tienes derecho a acceder, rectificar, limitar y suprimir tus datos. Para una información más ampliada entra a nuestra política de privacidad.

Artículos relacionados

Terre3 - Caminado a un lugar entre el GIS y el BIM
Terre3 – Caminando a un lugar entre el GIS y el BIM
28/03/2023
superficie de sellado de suelo a partir de datos geográficos abiertos
Cómo obtener la superficie de sellado de suelo a partir de datos geográficos abiertos
07/03/2023
El Mejor Curso de SIG : ¿Cómo elegirlo sin arruinar tu inversión?
15/02/2023

Marcos Rodrigues

Interacciones con los lectores

¿Quieres comentarnos algo? Adelante! Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Footer

Menú Legal

  • Aviso Legal
  • Política de privacidad
  • Política de cookies
  • Términos y condiciones

Otras páginas de interes

  • Promociones y descuentos en formación
  • Formación bonificada FUNDAE

Contacto

Calle Luis Morondo Urra nº 8 Bajo A
31006 Pamplona (Navarra)
info@geoinnova.org
+34 948 117 137

Horario de atención

Lunes a Viernes - 09:00 a 14:00 y de 16:00 a 19:00.
Fines de semana y Festivos - Exclusivamente por mail.
Horario de Verano (01 de julio al 30 de agosto): De lunes a viernes de 8 a 15h.

Síguenos en Redes Sociales

Apúntate a nuestra newsletter

"*" señala los campos obligatorios

Consentimiento*
Este campo es un campo de validación y debe quedar sin cambios.

Entidad adherida a Confianza Online Certificado de inscripción en el Registro de huella de carbono, compensación y proyectos de absorción Logo Plazox

© 2023 · Desarrollada por Geoinnova en colaboración con OikosMSP

Gestionar el Consentimiento de las Cookies
Utilizamos tecnologías como las cookies para almacenar y/o acceder a la información del dispositivo. Lo hacemos para mejorar la experiencia de navegación y para mostrar anuncios personalizados. El consentimiento a estas tecnologías nos permitirá procesar datos como el comportamiento de navegación o las identificaciones únicas en este sitio. No consentir o retirar el consentimiento, puede afectar negativamente a ciertas características y funciones.
Funcional Siempre activo
El almacenamiento o acceso técnico es estrictamente necesario para el propósito legítimo de permitir el uso de un servicio específico explícitamente solicitado por el abonado o usuario, o con el único propósito de llevar a cabo la transmisión de una comunicación a través de una red de comunicaciones electrónicas.
Preferencias
El almacenamiento o acceso técnico es necesario para la finalidad legítima de almacenar preferencias no solicitadas por el abonado o usuario.
Estadísticas
El almacenamiento o acceso técnico que es utilizado exclusivamente con fines estadísticos. El almacenamiento o acceso técnico que es utilizado exclusivamente con fines estadísticos anónimos. Sin una requerimiento, el cumplimiento voluntario por parte de su proveedor de servicios de Internet, o los registros adicionales de un tercero, la información almacenada o recuperada sólo para este propósito no se puede utilizar para identificarlo.
Marketing
El almacenamiento o acceso técnico es necesario para crear perfiles de usuario para enviar publicidad, o para rastrear al usuario en un sitio web o en varios sitios web con fines de marketing similares.
Administrar opciones Gestionar los servicios Gestionar proveedores Leer más sobre estos propósitos
Preferencias
{title} {title} {title}