Свои результаты геообработки можно предоставить в совместное пользование в виде пакета или в виде сервиса. Если вы предоставляете результат для совместного пользования, ArcGIS создает копию вашего макета инструмента и инструмента-скрипта, проводит исследование их содержания, и вносит изменения в копию с тем, чтобы инструмент выполнялся на другом компьютере. Сверх того, в совместное пользование также предоставляются данные, которые использовались при генерации результата.
Но как быть в случае, если необходимо предоставить в совместное пользование свои пользовательские инструменты, но не данные? То есть, необходимо предоставить для совместного пользования свой набор инструментов и находящиеся в нем инструменты, чтобы пользователи могли им пользоваться как системным набором инструментов. Это можно сделать, но для решения этой задачи от вас потребуются определенные знания и умения:
- Все данные, используемые вашими инструментами, должны быть представлены входными параметрами к вашему инструменту. Невозможно напрямую делать ссылки на любые данные в своих инструментах, поскольку у получателя вашего инструмента (пользователя вашего инструмента) эти данные должны иметься в его системе. Например, если в вашем макете или скрипте предусмотрена возможность обращения к файлу D:\ToolData\cfcc_codes.dbf, ваш инструмент не сможет работать на компьютере пользователя, так как у него на компьютере нет файла D:\ToolData\cfcc_codes.dbf. Если функционирование ваших скриптов рассчитано на использовании определенных наборов данных, то необходимо создать пакет.
- Поскольку вы не предоставляете данные с помощью своих инструментов (если бы вы их предоставляли таким образом, вам пришлось бы упаковать результат), то ваши инструменты должны быть отказоустойчивы и эффективны, то есть они должны работать с любым набором данных, которые предоставляет пользователь. Для этого необходимо иметь хорошие определения параметров, эффективный механизм обработки ошибок и хорошую документацию.
- Ваши инструменты должны быть самодостаточны. В идеале, необходимо предоставлять только набор инструментов без вспомогательных файлов Python или файлов документации.
- Следует предусмотреть возможность создания вашими инструментами любых промежуточных или черновых данных; и необходимо иметь место, куда можно будет записывать промежуточные данные, а также разработать механизм удаления рабочей информации вашими инструментами.
- Следует провести тщательное тестирование своих инструментов. Незначительные с первого взгляда ошибки в работе инструментов на локальном компьютере, становятся серьезными проблемами при совместном пользовании пользовательскими инструментами.
При предоставлении пользовательских инструментов в совместное пользование можно пользоваться двумя форматами:
- Набор инструментов Python (.pyt)
- Пользовательский набор инструментов (.tbx) с макетами инструментов или инструментами-скриптами
Наборы инструментов Python прекрасно подходят для предоставления пользовательских инструментов. Все, что необходимо — это файл .pyt.
Макеты в пользовательском наборе инструментов могут предоставляться в том случае, если в них не используются какие-либо пользовательские инструменты, которых нет в другом наборе инструментов. В них могут использоваться любые системные инструменты, но необходимо помнить о возможностях лицензии вашего пользователя, то есть нельзя задействовать системные инструменты, на которые нет лицензии у вашего пользователя.
Программный код скриптов пользовательского набора инструментов должен быть встроен в инструмент. В противном случае, вместе с набором инструментов необходимо будет предоставить файл .py, как правило с помощью утилиты сжатия ZIP.
- Подробные сведения о создании пользовательских инструментов
- Подробные сведения об инструментах документирования
- Подробные сведения о работе с промежуточными данными
- Подробные сведения о внедрении скриптов и инструментах защиты пароля