¿Cuál es la mejor estructura organizativa para compartir el código Python de ArcGIS y las herramientas de geoprocesamiento? O incluso, ¿compartir código y compartir herramientas son preguntas separadas?
Esri tiene una estructura de Métodos para distribuir herramientas , publicada para Arcgis 9.3 y 10.0:
Sin embargo, en otros lugares, la gente está diciendo cosas Also do avoid distributing your code the way its done in Arc Scripts or Code Galleries
a favor de los Python Distutils nativos . Esri no parece tener un artículo de herramientas de distribución correspondiente para 10.1 ( ref ), dando algo de peso al contraargumento.
¿Qué dice GIS.se?
Actualización: aunque tal vez sea demasiado tarde, pero el meollo de esta pregunta es más sobre las mejores prácticas para la estructura de archivos y carpetas antes de que entren las herramientas utilizadas para compartir (arcgis online, google drive, dropbox, github, bitbucket, etc.) jugar.
Actualización 2: ¿ y nadie hablará sobre el enfoque aparentemente inutil de distutils?
fuente
Respuestas:
En 10.1 y 10.2, las carpetas de herramientas compartidas que usted ilustró ya no están documentadas.
Sospecho que esto se debe a que la recomendación actual sería usar paquetes de geoprocesamiento en lugar de carpetas de Toolshare:
En términos de mejores prácticas organizativas, la forma en que almaceno las cajas de herramientas y cualquier código de Python que usan está en la misma estructura de carpetas que todavía se puede usar para ayudar a distribuirlas, es decir, la estructura de carpetas de Toolshare.
fuente
He estado usando Google Drive para compartir scripts de Python y herramientas de scripts entre colegas. Todos los scripts se almacenan en una carpeta compartida junto con una caja de herramientas de ArcGIS, que contiene todas las herramientas (y modelos) de scripts vinculados. Este enfoque tiene varios beneficios: 1) Todos trabajan con las mismas versiones de script, 2) Puede establecer privilegios de escritura o solo lectura, y 3) La colaboración, por ejemplo, en diferentes lugares de trabajo, universidades y países es mucho más fácil con Google Conduzca más que tratar de configurar el acceso de los usuarios en un servidor que puede o no administrar.
fuente
El documento ArcGIS Pro de Esri La extensión del geoprocesamiento a través de módulos Python muestra cómo estructurar un proyecto que sea compatible con Distutils, incluida la construcción de instaladores binarios de Windows y Linux.
(Nota: esto es para compartir scripts y herramientas, no es un buen modelo para compartir scripts y mapas y datos como un solo paquete).
Diseño del proyecto fuente:
Se convierte en esto en el sistema del usuario final, bajo
C:\Path\to\ArcGIS\Desktop\python
No mencionan pip, pero al estudiar los ejemplos no veo por qué no funcionaría. Ej: para edición colaborativa y / o un conjunto de herramientas que cambia con frecuencia, instale usando
pip install --editable X:\path\to\src
,pip install --editable http://github.com/project/path/to/master
fuente