banner banner banner
Макросы Datamine. Ресурсный геолог
Макросы Datamine. Ресурсный геолог
Оценить:
 Рейтинг: 0

Макросы Datamine. Ресурсный геолог

…»

A) Циклический алгоритм

B) Алгоритм с ветвлением

C) Линейный алгоритм

D) Мы такого не проходили

Линейные алгоритмы

Линейные алгоритмы – это алгоритмы, когда «все ясно». То есть линейный алгоритм выглядит следующим образом: «Начало макроса – выполняем действие А, затем действие Б, действие В… конец макроса». Продолжая аналогию с реальной жизнью: «выключу компьютер, надену обувь, зайду в магазин…».

Однако, поскольку целью данной книги не является обучение тому, как правильно покидать рабочее место, перейдем непосредственно к написанию макроса.

Итак, давайте решим достаточно простую задачу: необходимо по файлу каркасов минерализации и полному файлу базы данных опробования создать рудную выборку. В наиболее простом случае процедура не предполагает каких-либо вариантов действий. Если выполнять ее вручную, последовательность действий можно описать так:

– Выборка проб каркасами минерализации с зональным контролем по полю номера рудного тела.

– Композитирование выбранных проб.

– Урезка ураганных содержаний.

Давайте для простоты предположим, что нам известно следующее (файлы для тестирования[10 - https://github.com/andrey-vyaltsev/MacrosDatamine/blob/main/Wf_and_holes.7z]):

– имя файла рудных каркасов – ore_tr/pt;

– имя файла скважин – holes;

– имя поля номера рудного тела – BODY;

– имя поля урезаемых содержаний – AU;

– средняя длина проб, к которой требуется привести рудную выборку – 1 м;

– оптимальная сеть декластеризации – данные расположены по регулярной сети;

– уровень ураганных содержаний одинаков для всех рудных тел – 100 г/т;

– имя файла обработанной рудной выборки holes_ore_cut.

На многих приводимых ниже картинках с фрагментами кода в начале строки можно видеть номер. Это просто номер строки, который не является частью макроса. Номера строк автоматически проставляются многими текстовыми редакторами. Это не часть текста, это просто номера строк, они «физически» – в виде символов текста – не существуют и нужны только для облегчения адресации пользователя, например: «в строке N выполняется такое-то действие».

Макрос, выполняющий все описанные выше действия, будет выглядеть следующим образом (macro1[11 - https://github.com/andrey-vyaltsev/MacrosDatamine/blob/main/macro1.7z]):

Смотрим, что тут написано.

Строка 1 – заголовок макроса и его имя (OREHOL).

Строка 3 – запуск процесса SELWF. Строки до появления следующего восклицательного знака (до строки 16 включительно) – это параметры запуска данного процесса:

– на строке 3, кроме имени запускаемого процесса Datamine, указано, что входным файлом для процесса SELWF является файл holes – &IN (holes);

– на строке 4 указано, что файлом треугольников каркасов минерализации является файл ore_tr – WERETR (ore_tr);

– на строке 5 указано, что файлом точек каркасов минерализации является файл ore_pt – &WERETR (ore_pt);

– на строке 6 указано, что выходным файлом для процесса SELWF является файл holes_ore_cut – &OUT (holes_ore_cut).

Строки 3—6 соответствуют вкладке Files процесса SELWF:

Вкладка Files процесса SELWF в интерфейсе Datamine и в макросе

Сравнивая строки 3—6 с вкладкой Files, можно заметить, что:

– поля входных и выходных файлов в макросе имеют то же имя, что и в интерфейсе процесса: поле в интерфейсе «IN» обозначается в макросе ∈

– используемые файлы в макросе помечаются знаком «&» – как «входящие», так и «результирующие»;

– имена файлов указываются в скобках;

– параметры друг от друга отделяются запятой; если описание процесса не помещается в одну строку (помним про ограничение в 80 символов), перенос осуществляется после запятой.

Строки 7—10 соответствуют вкладке Fields интерфейса.

Вкладка Fields процесса SELWF в интерфейсе Datamine и в макросе

Сравнивая строки 7—10 с вкладкой Fields, можно заметить, что:

– поля помечаются символом «*» перед именем параметра;

– пропущенные поля в интерфейсе процесса (оставленные незаполненными) в макросе не отображаются вовсе;

– имена полей указываются в скобках.

Строки 11—16 соответствуют вкладке Parameters интерфейса.

Вкладка Parameters процесса SELWF в интерфейсе Datamine и в макросе

Сравнивая строки 11—16 с вкладкой Parameters, можно заметить, что:

– параметры вкладки Parameters помечаются символом «@»;

– значения числовых параметров указываются с помощью знака равенства;

– параметры друг от друга отделяются запятой;

– никакого разделения на вкладки (как в интерфейсе процесса) нет.