Какова наилучшая организационная структура для совместного использования кода Python ArcGIS и инструментов геообработки? Или даже, разделяют ли код и инструменты разделения отдельные вопросы?
У Esri есть Методы распределения инструментов по структуре, опубликованные для Arcgis 9.3 и 10.0:
Однако в других местах люди говорят что-то вроде Also do avoid distributing your code the way its done in Arc Scripts or Code Galleries
родного Python Distutils . У Esri, похоже, нет соответствующей статьи по распространению инструментов для 10.1 ( ссылка ), что придавало некоторый вес контраргументу.
Что говорит GIS.se?
Обновление: хотя, возможно, слишком поздно, но суть этого вопроса - больше о передовых методах для структуры файлов и папок, прежде чем появятся инструменты, используемые для обмена (arcgis online, google drive, dropbox, github, bitbucket и т. Д.) играть в.
Update2: и никто не будет высказываться по поводу явно сиротского подхода distutils?
источник
Ответы:
В 10.1 и 10.2 папки с инструментальными средствами, которые вы иллюстрировали, похоже, больше не документированы.
Я подозреваю, что это потому, что текущая рекомендация будет использовать пакеты геообработки, а не папки Toolshare:
С точки зрения наилучшей организационной практики способ хранения наборов инструментов и любого кода Python, который они используют, находится в той же структуре папок, которую все еще можно использовать для их распределения, т.е. в структуре папок Toolshare.
источник
Я использую Google Drive для обмена скриптами Python и инструментами сценариев между коллегами. Все сценарии хранятся в общей папке вместе с набором инструментов ArcGIS, который содержит все связанные инструменты сценариев (и модели). У этого подхода есть несколько преимуществ: 1) все работают над одними и теми же версиями сценариев, 2) вы можете устанавливать права на запись или только чтение, и 3) совместная работа, например, между различными рабочими местами, университетами и странами, намного проще с Google. Диск, чем чем пытаться настроить доступ пользователя на сервере, который вы можете или не можете администрировать.
источник
Документация Esri ArcGIS Pro Расширение геообработки с помощью модулей Python показывает, как структурировать проект, дружественный к Distutils, включая создание бинарных установщиков Windows и Linux.
(Примечание: это для совместного использования скриптов и инструментов, это не очень хорошая модель для совместного использования скриптов, карт и данных в виде одного пакета.)
Исходный макет проекта:
Это делается в системе конечного пользователя, под
C:\Path\to\ArcGIS\Desktop\python
Они не упоминают пипс, но изучая примеры, я не понимаю, почему это не сработает. Пример: для совместного редактирования и / или набора инструментов, который часто меняется, установите с помощью
pip install --editable X:\path\to\src
,pip install --editable http://github.com/project/path/to/master
источник