ACGPRO_PYTHON

 

 

 

 

 

 

 

Hoy me gustaría presentaros a nuestro nuevo colaborador de nuestro Blog: Eric Van Rees. Como ya hemos repetido más de una vez, nuestros colaboradores son perfiles con MUCHA y DEMOSTRABLE experiencia en temas de desarrollo GIS. Eric tiene más de nueve años de experiencia como redactor jefe y editor en la creación de contenido geoespacial  (B to B y B to C) en la revista especializada GeoInformatics, de publicación internacional  y en las revistas de publicación holandesa Magazine GIS y CAD Magazine. Al final del artículo os dejo un resumen de su interesante perfil

ArcGis Pro parece que ha llegado al mercado y a los usuarios para quedarse. Los usuarios de ArcGis Desktop (ArcMap) se están cuestionando en migrar a ArcGIS Pro o usar ambos simultáneamente, pero en cualquier caso se enfrentan a las distintas versiones de Python. Afortunadamente, Esri ofrece algunos consejos y herramientas para asegurar el cambio.

ArcGIS Pro, la próxima generación de ArcMap, utiliza Python 3.4 lo que origina un cambio considerable con respecto a otros productos de ArcGIS como ArcGIS Desktop o ArcGIS Servidor que utilizan versiones de la línea de Python 2 y que no son compatibles con Python 3. Aunque sigue siendo el mismo lenguaje muchos aspectos clave han cambiado y deben de tenerse en cuenta por aquellos que se planteen comenzar a utilizar ArcGIS Pro.

El cambio de versión de Python 2 a Python 3 significa que herramientas personalizadas y scripts pudieran no funcionar como deben, por lo que Esri ofrece algunas herramientas y estrategias para garantizar un traspaso fluido.

Python 3 – Mismo lenguaje, con muchos cambios.

La línea 3 de Python se ha desarrollado y convivido junto con la línea anterior mientras la comunidad Python se actualizaba.  Esta ha seguido un claro desarrollo enfocado en la última versión. Por eso es lógico pensar que  los nuevos proyectos seguirán esta orientación y se desarrollarán en Python 3.

Los recursos online de Esri sobre migración a ArcGIS Pro describen en detalle como Python 3 es diferente a la versión anterior.

Algunos de los cambios que el  usuario encontrará son la reorganización de la librería estándar, la conversión de la instrucción print en la función print ,la importación de los marcadores __future__,  los diccionarios, las cadenas de caracteres, la codificación y el módulo io. Sin embargo es posible crear un script de Python sencillo que no requiera de cambios y posiblemente funcione sin modificaciones en ambas versiones.

Además de las diferencias en organización y sintaxis, ArcGIS Pro presenta una colección de herramientas de geoprocesamiento y funcionalidad de ArcPy distintas a las comparadas con ArcGIS Desktop. Por ejemplo  no estará disponibles el módulo arcpy.mapping (ahora renombrado a arcpy.mp) que ha sido sustituido por el modulo arcpy.na, el cual permitirá la asignación de flujos de trabajo en ArcGIS Pro y el modulo arcpy.na (módulo de ArcGIS Network Analyst extension)  incluye modificaciones relacionadas con el paso de arcpy.mapping a arcpy.mp.

Para terminar vemos como existen varios formatos de datos de ArcGIS Desktop que no son admitidos en ArcGiS PRO como el catálogo de ráster o las redes geométricas entre otros.

Para ayudar a los usuarios en la migración de ArcGis Desktop a ArcGIS Pro a utilizar las dos aplicaciones en el mismo ordenador, existen las siguientes herramientas:

  1. Python Launcher for Windows

Esta utilidad de Python  permite el control sobre la versión de Python que se utiliza cuando se ejecuta una secuencia de comandos.  Debido a que tanto ArcGIS Desktop como ArcGIS vienen con su propia versión de Python es fundamental para el usuario conocer cual versión de Python se está usando. Con una cantidad minina de símbolos de texto es suficiente para ejecutar una versión particular de Phyton.

  1. Analyze Tools For Pro

Esta herramienta de geoprocesamiento en ArcGIS analiza los scripts de Python , herramientas de geoprocesamiento personalizadas y cajas de herramientas de forma que detecta  funcionalidades no compatibles con ArcGIS Pro.

  1. Python 2to3

Aunque no es una herramienta de Esri, Python 2to3 ofrece aún más opciones que Analyze Tools for Pro. Se puede utilizar para actualizar y evaluar el código en Python 2.x además de mostrar las modificaciones para que un código pueda ser válido en Python 3.x.  Esri afirma que aunque es una herramienta excelente, no es una solución completa y es posible que necesite modificaciones para convertir un script de Python a otro.

 

Sobre el autor:

Eric Van Rees es un profesional con más de nueve años de experiencia como redactor jefe y editor en la creación de contenido geoespacial  (B to B y B to C) en la revista especializada GeoInformatics, de publicación internacional  y en las revistas de publicación holandesa Magazine GIS y CAD Magazine. Posee conocimientos profundos de la industria geoespacial obtenida en parte por participar en las principales conferencias internacionales, ferias, entrevistas a líderes de la industria, manteniéndose al día con impresos y medios digitales geoespaciales. De los cuales se puede destacar su habilidad de planificación, seguimiento y control del proceso  de producción editorial digital así como su capacidad analítica y habilidad para explicar conceptos técnicos y concisos con un lenguaje comprensible, manteniendo unos altos estándares.

Eric es experto en software GIS y en creación de contenido de cursos de formación. Tras trabajar en varios libros de tutorización se ha especializado en la suite ArcGIS Desktop y ArcGIS Pro, que lo hacen competente en proyectos que implican cartografía, análisis de datos,  imágenes por satélite,  datos LiDAR , así como SIG web. Además posee dos años de experiencia en Python scripting, utilizando ArcPy y está al corriente de las últimas novedades en el mercado SIG.

Actualmente está realizando estudios como desarrollador full stack, con contenido en CSS, HTML, JavaScript, Bootstrap , AngularJS y NodeJS . Con capacidad para hablar con fluidez cinco idiomas (Inglés, francés, alemán, holandés y español) está interesado en aprender acerca de las nuevas tecnologías y  mercados emergentes.