Durante las últimas semanas hemos recibido varios correos de personas que nos preguntan sobre nuestros cursos de programación con Python y sobre qué curso deberían realizar:
¿El curso online de Python para ArcGIS – ArcPy o el curso online de Python para QGIS – PyQGIS?
¿Se puede aplicar lo aprendido en un curso para lanzarse a programar en el otro?
La duda es muy comprensible, ambos cursos se basan en Python y en la utilización de este lenguaje para operar con su software GIS correspondiente: Python para ArcGIS -ArcPy y Python para QGIS – PyQGIS.
Los dos cursos parten de cero, están destinados a usuarios nóveles en programación, únicamente hace falta tener mentalidad y ganas de aprender a programar y siempre viene bien tener destreza o algún conocimiento de partida. Con los dos cursos por tanto se puede adquirir una base que viene bien para aplicar en el otro software.
Pero ojo! los desarrolladores de cada librería han escrito sus clases propias y la sintaxis no es la misma para realizar las mismas operaciones.
Para ayudarte a decidir entre ArcPy o PyQGIS, vamos a mostrarte las ventajas y debilidades de cada librería y cómo hemos planteado cada curso.
Ventajas de ArcPy
Aunque los orígenes del uso de Python están de la parte del Open Source, lo cierto es que los esfuerzos bien dirigidos de ESRI se traducen en su módulo ArcPy: fácil de utilizar, fácil de aprender y bien documentado.
El manejo de la ArcPy es más sencillo, más estructurado y con más información.
La ArcPy es más amigable además de que, en caso de error, la consola ofrece más información.
Desventajas de ArcPy
El ámbito de uso de ArcPy es el mismo que el de ArcGIS, nuestros procesos y automatizaciones no podrán hacerse a expensas de su software (esto no quiere decir que tengamos que tener abierto ArcGIS, pero sí instalado).
Algo que limita mucho la potencia de ArcPy es el precio de las licencias de cada herramienta (fuera de las básicas) que se quiera usar.
Ventajas de PyQGIS
PyQGIS tiene más posibilidades de explotación pero están más ocultas.
La API de ArcPy puede resultar más fácil de entrada, pero con QGIS (y su API) se puede llegar más lejos, abarca y profundiza más objetos, y sin necesidad de pagar licencia puedes llegar a hacer y utilizar aplicaciones fuera de QGIS en combinación con QT designer (que es el que se encarga de la interfaz gráfica).
La expansión de QGIS como uno de los principales Sistema de Información Geográfica libre y de Código Abierto, arrastra consigo la expansión del uso de PyQGIS.
Desventajas de PyQGIS
PyQGIS es más complejo, más amplio y quizás por este motivo más complicado aprender por uno mismo.
No es fácil encontrar recursos ni ayuda, mucho menos en castellano, de lo poco que se encuentra en la Web no siempre funciona, el cookbook es un tanto caótico y los libros publicados hasta el momento no son lo que nos esperábamos.
La opinión de los alumnos sobre los cursos: ¿ArcPy o PyQGIS?
En el curso online de Python para ArcGIS empleamos PyScripter (editor y depurador de código), la verdad que ayuda mucho a entender el código, indentación, etc… y, al final, como no se trabaja meramente con la consola parece más ameno.
El curso online de PyQGIS es algo más complejo, por eso está más guiado que el de Python para ArcGIS. En este sentido los apuntes del curso PyQGIS son una información muy valiosa para el alumno. La elaboración del curso de PyQGIS ha sido mucho más costosa.
Aunque en el curso de PyQGIS no podemos englobar ni profundizar en toda su potencialidad, si se puede encontrar una muy buena base tanto para trabajos cotidianos como para alcanzar objetivos más avanzados. El temario es muy similar al de ArcPy, dirigido igualmente a cubrir mediante programación las tareas más habituales.
Conclusión
Si trabajas habitualmente con GIS, ¡te interesa aprender a automatizar tareas!
La ventaja de Python es que es un lenguaje bastante sencillo, fácil de aprender y con múltiples recursos a los que recurrir en la Web.
La potencialidad tanto de la ArcPy como de PyQGIS es alta y el grado de comprensión y de aplicación práctica que alcanzan nuestros alumnos también lo es.
De la parte del alumno las preguntas a hacerse son: ¿qué tal se me da la programación? ¿que base tengo? ¿con qué software trabajo más? y en base a esto realizar uno u otro.
Hola, sigo sin aclararme con lo de phyton, e estado mirando porque me quiero hacer el curso de phython para arcgis , porque me gustaria saber cosas con exactitud, por ejemplo que hace .net(arcobject) a diferencias de phyton, por ejemplo me gustaria sabes si se pueden crear herramientas de edicion tipo recortar un poligono mediante una linea seleccionada….. o solo trabaja con procesos de .SHP enteros.
me refiero a trabajar con geometrias cuando digo lo de recortar mediante una linea gracias
Hola Vili,
con python no se puede (quizá se pueda pero es muy complicado), ese proceso debe crearse con ArcObjects. El SDK de ArcObjets se puede utilizar con Java, C++ o .Net. La librería ArcPy se basa en las herramientas ya existentes en ArcMap, por lo que se pueden automatizar procesos de las ArcToolbox, hacer listados, acceder a la información alfanumérica y trabajar con mxds…
También dispones de los Add-Ins, para dar un poco más de funcionalidad mediante el uso de eventos y crear cuadros de dialogo.
Aquí tienes más info: http://gis.stackexchange.com/questions/67279/what-are-pros-and-cons-of-python-add-ins-vs-net-add-ins-to-arcgis-for-desktop Saludos!
Una ayuda , cuando estoy en phyton de Arcgis, coloco:
> import arcpy
Runtime error
Traceback (most recent call last):
File «», line 1, in
File «c:\program files (x86)\arcgis\desktop10.2\arcpy\arcpy\__init__.py», line 24, in
from arcpy.toolbox import *
File «c:\program files (x86)\arcgis\desktop10.2\arcpy\arcpy\toolbox.py», line 351, in
from management import Graph, GraphTemplate
File «c:\program files (x86)\arcgis\desktop10.2\arcpy\arcpy\management.py», line 22, in
import _management
File «c:\program files (x86)\arcgis\desktop10.2\arcpy\arcpy\_management.py», line 14, in
import _graph
File «c:\program files (x86)\arcgis\desktop10.2\arcpy\arcpy\_graph.py», line 27, in
import numpy
ImportError: No module named numpy
¿Qué debo hacer?, gracias
Hola Carlos, Ese tipo de errores indican que ArcGIS no ha instalado correctamente las librerñias de python. Prueba a reinstalar ArcGIS. Saludos