Сценарии¶
В ГЕОМИКС реализован механизм взаимодействия с модулями системы посредством Python-скриптов. Это позволяет использовать скриптовый язык Python для написания пользовательских сценариев (Используется версия Python 3.10).
Предоставлена возможность:
Модуль gmx.Map - Взаимодействия с картографическим модулем
Модуль gmx.Gui - Дополнять пользовательский интерфейс
Модуль gmx.Geo - Выполнения расчетов в геологической БД ГЕОМИКС
Модуль gmx.NetBase - Выполнения расчетов в СУБД NETBASE ГЕОМИКС
Модуль gmx.Sheets - Вывода результатов расчетов в электронные таблицы ГГИС ГЕОМИКС
Также в ГГИС ГЕОМИКС осуществлен перехват стандартных функций Python print() и input() для ввода и вывода данных.
Таким образом, есть возможность запуска Python-скриптов непосредственно через ГГИС ГЕОМИКС для получения необходимых данных с проектов.
Открытие окна для работы со сценариями¶
Для того, чтобы начать работу со сценариями необходимо открыть окно «Редактирование программ». Это возможно сделать горячими клавишами Ctrl+P или через интерфейс приложения.
Для ленточного интерфейса (Рис. 449):
Открыть вкладку «Редактор карт»;
В области «Атрибуты» раскрыть выпадающий список «Запросы»;
Нажать на «Программы по БД Параметров».

Рис. 449 Запуск окна «Редактирование программ» в ленточном интерфейсе¶
Для классического интерфейса (Рис. 450):
Раскрыть выпадающий список вкладки «Сервис»;
Раскрыть там выпадающий список «Запросы»;
Нажать на «Программы по БД Параметров».

Рис. 450 Запуск окна «Редактирование программ» из классического интерфейса¶
В результате откроется окно «Редактирование программ» (Рис. 451)

Рис. 451 Окно «Редактирование програм컶
Добавление программы¶
Чтобы создать новую программу существует несколько способов:
Загрузить файл.
Добавить программу.
Добавить программу в список и загрузить в нее текст программы.
Чтобы загрузить файл необходимо совершить следующие действия:
Перейти на вкладку «Проект».
Нажать «Быстрая загрузка».
Загрузить файл программы.
Нажать «Да».
В результате при переходе к окну «Редактирование программ», загруженные программы уже будут находиться в списке, они будут с текстом скрипта, предусмотренным в загружаемом файле.
Чтобы создать новую программу необходимо выполнить следующие шаги(Рис. 452):
Перейти к окну «Редактирование программ» (Ctrl+P).
Нажать «Добавить программу».
Выбрать «Да» или «Нет» по необходимости.
Выбрать «Да» или «Нет» по необходимости.
Ввести название программы и нажать «ОК».

Рис. 452 Окно «Редактирование програм컶
В результате создастся пустой файл новой программы.
Если пустой файл программы уже добавлен в «список программ», то можно загрузить текст из файла в данную программу следующим способом:
Перейти к окну «Редактирование программ» (Ctrl+P).
Выбрать необходимую запись программы из списка и нажать «Текст программы» (или открыть его двойным кликом по записи).
Нажать «Загрузить текст программы из файла» и загрузить файл со скриптом.
Выйти из окна «Редактирование программы» с сохранением изменений.
В результате к выбранной записи добавится текст программы из загруженного файла.
Редактирование программы¶
Чтобы добавить текст программы или отредактировать её, необходимо дважды кликнуть по наименованию программы в списке окна «Редактирование программ» или выделить одним кликом и нажать кнопку «Текст программы» (Рис. 453).

Рис. 453 Окно «Редактирование програм컶
В результате откроется окно «Редактирование программы» с тремя блоками (Рис. 454):
Текст программы
Просмотр значения переменных (не используется)
Перехват выводимых сообщений

Рис. 454 Окно «Редактирование программы»¶
В области для текста программы можно ввести сам Python-скрипт. Или воспользоваться кнопкой панели инструментов «Загрузить текст программы из файла» и загрузить файл со скриптом.
Чтобы сохранить изменения необходимо нажать на кнопку закрытия окна (крестик в правом верхнем углу окна «Редактирование программы») и в появившемся окне подтверждения нажать «Да». Соответственно, чтобы не сохранять изменения в этом окне подтверждения нажать «Нет» (Рис. 455).

Рис. 455 Сохранение программы¶
Панель инструментов окна «Редактирование программы»¶
Панель инструментов окна «Редактирование программы» (Рис. 454) состоит из следующего списка команд:
- «Очистить текст программы». Очищает поле текста программы.
- «Загрузить текст программы из файла». Позволяет загрузить текст программы из существующего файла.
- «Сохранить текст программы в файл». Позволяет сохранить текст программы в файл на ваше устройство.
- «Проверить синтаксис». Запускает проверку кода на соответствие с правилами синтаксиса Python.
- «Остановить выполнение программы». Ставит на паузу выполнение программы, сохраняя текущее состояние выполнения скрипта.
- «Выполнить строку». Запускает выполнение программы выделенной строки.
- «Выполнить до текущей строки». Запускает выполнение программы от ее начала до выделенной строки.
- «Прервать выполнение программы». Останавливает выполнение программы и сбрасывает состояние выполнения.
Выполнение скрипта¶
Чтобы запустить выполнение программы необходимо выделить необходимую программу в списке и нажать «Выполнить программу» (Рис. 456).
Пошаговое воспроизведение программы:
Открыть окно «Редактирование программ» (Ctrl+P).
Выделить одним кликом необходимую программу.
Нажать «Выполнить программу»

Рис. 456 Панель инструментов окна «Редактирование программы»¶
После завершения работы скрипта выведется информационное сообщение о результатах его выполнения (Рис. 457).

Рис. 457 Панель инструментов окна «Редактирование программы»¶
Список действий и описание полей¶
Окно «Список программ». Выводит названия добавленных в проект программ. Один клик по записи в списке – выделение программы. Двойной клик по записи в списке – открытие текста программы
«Добавить программу». Кнопка для создания новой программы в списке
«Удалить программу». Кнопка удаления выделенной в списке программы
«Название программы». Поле с названием выделенной в списке программы. С возможностью редактирования и сохранения нового названия после нажатия Enter
«Название отчетной таблицы». Поле с наименованием отчетной таблицы выделенной в списке программы с выпадающим списком для выбора
«Свернуть окно». Кнопка для сворачивания окна до полей «Название программы» и «Название отчетной таблицы», если окно «Редактирование программ» развернуто
«Развернуть окно». Кнопка для раскрытия окна «Редактирование программ»
«Текст программы». Кнопка открытия окна «Редактирование программы» с текстом выделенной в списке программы
«Выполнить программу». Кнопка запуска выполнения выделенной в списке программы
«Закрыть» (крестик в углу). Кнопка закрытия окна «Редактирование программ»
Примеры работы со сценариями¶
Для упрощения обучения пользователей написанию скриптов на языке Python в ГГИС ГЕОМИКС предоставлена возможность получения справочной информации о списке функций модулей Python для взаимодействия с модулями ГГИС ГЕОМИКС.
#! python
def print_doc(module):
print(help(module))
for _dir in dir(module):
_elem = module.__dict__[_dir]
if isinstance(_elem, type):
print(help(_elem))
from gmx import Map, Gui, Sheets, NetBase, Geo
print_doc(Map)
print_doc(Gui)
print_doc(Sheets)
print_doc(NetBase)
print_doc(Geo)
Пример подключения модулей:
from gmx import Map, Gui, Sheets, NetBase, Geo