Сценарии

В ГЕОМИКС реализован механизм взаимодействия с модулями системы посредством Python-скриптов. Это позволяет использовать скриптовый язык Python для написания пользовательских сценариев (Используется версия Python 3.10).

Предоставлена возможность:

  • Модуль gmx.Map - Взаимодействия с картографическим модулем

  • Модуль gmx.Gui - Дополнять пользовательский интерфейс

  • Модуль gmx.Geo - Выполнения расчетов в геологической БД ГЕОМИКС

  • Модуль gmx.NetBase - Выполнения расчетов в СУБД NETBASE ГЕОМИКС

  • Модуль gmx.Sheets - Вывода результатов расчетов в электронные таблицы ГГИС ГЕОМИКС

Также в ГГИС ГЕОМИКС осуществлен перехват стандартных функций Python print() и input() для ввода и вывода данных.

Таким образом, есть возможность запуска Python-скриптов непосредственно через ГГИС ГЕОМИКС для получения необходимых данных с проектов.

Открытие окна для работы со сценариями

Для того, чтобы начать работу со сценариями необходимо открыть окно «Редактирование программ». Это возможно сделать горячими клавишами Ctrl+P или через интерфейс приложения.

Для ленточного интерфейса (Рис. 449):

  1. Открыть вкладку «Редактор карт»;

  2. В области «Атрибуты» раскрыть выпадающий список «Запросы»;

  3. Нажать на «Программы по БД Параметров».

Рис. 449 Запуск окна «Редактирование программ» в ленточном интерфейсе

Для классического интерфейса (Рис. 450):

  1. Раскрыть выпадающий список вкладки «Сервис»;

  2. Раскрыть там выпадающий список «Запросы»;

  3. Нажать на «Программы по БД Параметров».

Рис. 450 Запуск окна «Редактирование программ» из классического интерфейса

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

Рис. 451 Окно «Редактирование программ»

Добавление программы

Чтобы создать новую программу существует несколько способов:

  1. Загрузить файл.

  2. Добавить программу.

  3. Добавить программу в список и загрузить в нее текст программы.

Чтобы загрузить файл необходимо совершить следующие действия:

  1. Перейти на вкладку «Проект».

  2. Нажать «Быстрая загрузка».

  3. Загрузить файл программы.

  4. Нажать «Да».

В результате при переходе к окну «Редактирование программ», загруженные программы уже будут находиться в списке, они будут с текстом скрипта, предусмотренным в загружаемом файле.

Чтобы создать новую программу необходимо выполнить следующие шаги(Рис. 452):

  1. Перейти к окну «Редактирование программ» (Ctrl+P).

  2. Нажать «Добавить программу».

  3. Выбрать «Да» или «Нет» по необходимости.

  4. Выбрать «Да» или «Нет» по необходимости.

  5. Ввести название программы и нажать «ОК».

Рис. 452 Окно «Редактирование программ»

В результате создастся пустой файл новой программы.

Если пустой файл программы уже добавлен в «список программ», то можно загрузить текст из файла в данную программу следующим способом:

  1. Перейти к окну «Редактирование программ» (Ctrl+P).

  2. Выбрать необходимую запись программы из списка и нажать «Текст программы» (или открыть его двойным кликом по записи).

  3. Нажать «Загрузить текст программы из файла» и загрузить файл со скриптом.

  4. Выйти из окна «Редактирование программы» с сохранением изменений.

В результате к выбранной записи добавится текст программы из загруженного файла.

Редактирование программы

Чтобы добавить текст программы или отредактировать её, необходимо дважды кликнуть по наименованию программы в списке окна «Редактирование программ» или выделить одним кликом и нажать кнопку «Текст программы» (Рис. 453).

Рис. 453 Окно «Редактирование программ»

В результате откроется окно «Редактирование программы» с тремя блоками (Рис. 454):

  1. Текст программы

  2. Просмотр значения переменных (не используется)

  3. Перехват выводимых сообщений

Рис. 454 Окно «Редактирование программы»

В области для текста программы можно ввести сам Python-скрипт. Или воспользоваться кнопкой панели инструментов «Загрузить текст программы из файла» и загрузить файл со скриптом.

Чтобы сохранить изменения необходимо нажать на кнопку закрытия окна (крестик в правом верхнем углу окна «Редактирование программы») и в появившемся окне подтверждения нажать «Да». Соответственно, чтобы не сохранять изменения в этом окне подтверждения нажать «Нет» (Рис. 455).

Рис. 455 Сохранение программы

Панель инструментов окна «Редактирование программы»

Панель инструментов окна «Редактирование программы» (Рис. 454) состоит из следующего списка команд:

  1. image13 - «Очистить текст программы». Очищает поле текста программы.

  2. image14 - «Загрузить текст программы из файла». Позволяет загрузить текст программы из существующего файла.

  3. image15 - «Сохранить текст программы в файл». Позволяет сохранить текст программы в файл на ваше устройство.

  4. image16 - «Входные параметры».

  5. image17 - «Проверить синтаксис». Запускает проверку кода на соответствие с правилами синтаксиса Python.

  6. image18 - «Выполнить программу». Запускает выполнение программы.

  7. image19 - «Остановить выполнение программы». Ставит на паузу выполнение программы, сохраняя текущее состояние выполнения скрипта.

  8. image20 - «Выполнить инструкцию».

  9. image21 - «Выполнить строку». Запускает выполнение программы выделенной строки.

  10. image22 - «Выполнить до текущей строки». Запускает выполнение программы от ее начала до выделенной строки.

  11. image23 - «Прервать выполнение программы». Останавливает выполнение программы и сбрасывает состояние выполнения.

  12. image24 - «Настройка редактора».

Выполнение скрипта

Чтобы запустить выполнение программы необходимо выделить необходимую программу в списке и нажать «Выполнить программу» (Рис. 456).

Пошаговое воспроизведение программы:

  1. Открыть окно «Редактирование программ» (Ctrl+P).

  2. Выделить одним кликом необходимую программу.

  3. Нажать «Выполнить программу»

Рис. 456 Панель инструментов окна «Редактирование программы»

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

Рис. 457 Панель инструментов окна «Редактирование программы»

Список действий и описание полей

  1. image28 Окно «Список программ». Выводит названия добавленных в проект программ. Один клик по записи в списке – выделение программы. Двойной клик по записи в списке – открытие текста программы

  2. image29 «Добавить программу». Кнопка для создания новой программы в списке

  3. image30 «Удалить программу». Кнопка удаления выделенной в списке программы

  4. image31 «Название программы». Поле с названием выделенной в списке программы. С возможностью редактирования и сохранения нового названия после нажатия Enter

  5. image32 «Название отчетной таблицы». Поле с наименованием отчетной таблицы выделенной в списке программы с выпадающим списком для выбора

  6. image33 «Свернуть окно». Кнопка для сворачивания окна до полей «Название программы» и «Название отчетной таблицы», если окно «Редактирование программ» развернуто

  7. image34 «Развернуть окно». Кнопка для раскрытия окна «Редактирование программ»

  8. image35 «Текст программы». Кнопка открытия окна «Редактирование программы» с текстом выделенной в списке программы

  9. image36 «Выполнить программу». Кнопка запуска выполнения выделенной в списке программы

  10. image37 «Закрыть». Кнопка закрытия окна «Редактирование программ»

  11. image38 «Закрыть» (крестик в углу). Кнопка закрытия окна «Редактирование программ»

image39image40

Примеры работы со сценариями

Для упрощения обучения пользователей написанию скриптов на языке 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