Python es uno de los lenguajes más populares para programar tareas de ArcGIS, tal vez porque tiene una curva de aprendizaje relativamente baja y puede hacer mucho. Python está integrado en ArcGIS Desktop. Puedes crear complementos y cajas de herramientas en Python y en ArcMap puedes ingresar directamente expresiones de etiquetas y MapTip en Python en lugar de tener que cargar un archivo de script. Es bueno tener estas opciones.<\/P>
<\/P>
En medio de todo el amor por Python que circula, algunos han dicho que ModelBuilder es el héroe olvidado del mundo de la automatización de ArcGIS. Sostienen que ModelBuilder merece una mayor parte del protagonismo que se le da a Python. Siempre he encontrado que los profesionales GIS son pensadores visuales que adoptan la programación, por lo que tiene sentido que usen tanto Python como ModelBuilder para hacer su trabajo con ArcGIS (y muchos de ustedes probablemente lo hacen).<\/P>
Pero si hay un debate entre Python y ModelBuilder, me mantendré neutral diciendo que ambos son valiosos y tienen su lugar. Cuando un niño mayor acusa con enojo a sus padres de favoritismo hacia el intruso no deseado, los padres sabios saben responder: "Amamos a tu hermanito tanto como a ti<\/EM>". Y así es con ModelBuilder y Python.<\/P><\/P>Ambos son herramientas para automatizar análisis GIS, gestión de datos y flujos de trabajo cartográficos. A diferencia de Alex y el pequeño Sam, incluso pueden llevarse bien (puedes agregar una herramienta de script Python a un modelo, y puedes exportar un modelo a un script Python).<\/P><\/P>He escuchado llamar a ModelBuilder un "lenguaje de programación visual." Esta es una forma interesante de verlo ya que es cierto que hay muchas cosas que puedes hacer en ModelBuilder que reflejan técnicas de programación, como crear variables, iterar (hacer bucles) a través de un conjunto de datos, establecer precondiciones y anidar submodelos dentro de un modelo más grande (similar a llamar otro script desde dentro de un script).<\/P><\/P>Iluminemos un poco a ModelBuilder por si acaso se siente excluido. ¿Por qué podrías querer crear un modelo?<\/P><\/P><\/A>Visualizando Flujos de Trabajo<\/STRONG><\/P><\/P>Un modelo es extremadamente útil al diseñar y compartir un flujo de trabajo, especialmente cuando es complicado. Siempre puedes dibujar en una pizarra blanca, pero arrastrar y soltar herramientas en un modelo suma puntos de eficiencia: puedes construir y ajustar dinámicamente el flujo mientras lo piensas. Puedes reorganizar fácilmente las herramientas y elementos del modelo y agregar etiquetas de texto para documentar el flujo y los conjuntos de datos que se están creando. Al colaborar con otros, comunicar sobre un flujo usando un modelo es más efectivo que leer y desplazarse por un script. Un modelo es como un mapa: es un medio gráfico que involucra a las personas y mejora la comprensión. Incluso puedes exportar un modelo a un archivo gráfico o PDF y llevarlo a una reunión como material impreso.<\/P><\/P>Explorando Resultados y Probando Escenarios<\/STRONG><\/P><\/P>Dado que ejecutas un modelo desde dentro de ArcGIS Desktop (ArcGIS Pro o ArcMap), puedes examinar los resultados inmediatamente. De esta manera, un modelo forma parte del tejido diario de tu trabajo GIS. Si la salida del modelo genera una nueva pregunta para investigar, solo tienes que cambiar un parámetro del modelo (por ejemplo, cambiar el conjunto de datos o valor de entrada de una herramienta) y volver a ejecutar un proceso o todo el modelo, luego explorar lo que eso produce.<\/P><\/P>Con un script ciertamente es posible pero no tan fácil trabajar iterativamente así. Tienes que abrir el archivo del script, encontrar las líneas de código que necesitan ser editadas, hacer las ediciones, guardar el script, ejecutar el script, luego posiblemente abrir ArcMap y agregar la salida y tal vez algunas otras capas para contexto. Para facilitar las cosas, puedes comenzar cargando el script en la ventana Python en ArcGIS y continuar desde ahí.<\/P><\/P>Identificando Problemas<\/STRONG><\/P><\/P>Una cosa genial sobre un modelo es que puedes observar su progreso mientras se ejecuta. A medida que cada proceso se ejecuta, la herramienta parpadea en rojo y aparece una sombra debajo de sus elementos cuando el proceso termina. Puedes saber inmediatamente dónde ocurrió un error en el modelo porque se detiene allí. Solo encuentra el primer proceso que no tiene sombra.<\/P><\/P>Después de corregir el error, puedes continuar ejecutando el modelo desde ese punto; no tienes que volver al principio. Solo haz clic derecho en el elemento herramienta del proceso fallido y selecciona Ejecutar. Identificar la ubicación de un problema en un script no siempre es tan rápido.<\/P><\/P>Aplicando Habilidades Que Ya Tienes<\/STRONG><\/P><\/P>La razón más obvia para crear un modelo en lugar de un script es que careces de habilidades para programar, ya sea en Python u otro lenguaje, y no quieres o no puedes invertir tiempo para aprender programación. Aunque hoy en día es bastante fácil adquirir habilidades básicas en Python. Solo con Esri hay tutoriales gratuitos, presentaciones, seminarios de capacitación y cursos web gratuitos o económicos. Las herramientas geoprocesamiento ArcGIS generan fragmentos de código Python que puedes examinar para aprender y luego modificar según tus necesidades. Sin embargo, las habilidades básicas en Python no son suficientes si necesitas automatizar un flujo avanzado.<\/P><\/P>Los modelos encadenan y ejecutan herramientas geoprocesamiento, así que si eres profesional GIS que usa ArcGIS, muy probablemente ya tienes las habilidades necesarias para crear un modelo. Configurar correctamente un modelo requiere tiempo y planificación, como cualquier otra tarea. Debes entender tus datos, configuraciones del entorno, parámetros de herramientas y salidas deseadas. Hay matices y capacidades más avanzadas en los modelos sobre los cuales quizás necesites educarte, pero nuevamente hay muchos recursos para ello (ver la lista al final de esta publicación).<\/P><\/P>Al final, la elección entre automatizar un flujo ArcGIS usando un script o un modelo depende de con qué te sientas más cómodo haciendo. Python es una herramienta basada en texto impulsada por lógica y ModelBuilder es una herramienta visual impulsada por lógica. Al alimentar tu apetito cultural, a veces quieres leer una gran novela y otras veces quieres mirar una hermosa pintura. De manera similar, puede haber momentos en los que quieras escribir un script y otros momentos en los que quieras crear un modelo. La belleza de ArcGIS es que puedes hacer ambos fácilmente dentro del propio ArcGIS Desktop.<\/P>Publicaciones relacionadas:<\/P>ModelBuilder 101 para usuarios de ArcGIS Pro<\/A><\/LI>ModelBuilder 101 (ArcMap)<\/A>Recursos para aprender más sobre ModelBuilder:<\/LI>Opciones de capacitación Esri<\/A>Ayuda ArcGIS (ArcGIS Pro<\/> , ArcMap<\/> ) < P > < BR /> Recursos para aprender ms sobre scripting Python:< / P > < UL > < LI > < A href = "http://www.python.org" target = "_blank" title = "Sitio oficial Python" rel = "nofollow noopener noreferrer" > Sitio web Python < / A > < / LI > < LI > < A href = "http://go.esri.com/learnpython" target = "_blank" title = "Opciones capacitacin Esri para scripting Python" rel = "nofollow noopener noreferrer" > Opciones capacitacin Esri para Python < / A > < / LI > < / UL > < / BODY > < / HTML >
Los miembros registrados pueden publicar, seguir actualizaciones y más. ¿Nuevo aquí? Regístrate para una cuenta gratuita.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.