Обработка данных по сценарию на языке Lua

Top Next

Для простоты и удобства обработки значительных объёмов данных в программах на C++  может  использоваться скриптовый язык программирования Lua, язык написания и выполнения сценария (скрипта).

В Lua имеются средства для выполнения математических функций, обработки файлов, таблиц метаданных.

Диалог для интерактивного ввода и выполнения скриптов имеет вид:

 

_bm4464

 

Для расчётов семантических характеристик принимаются во внимание  выделенные на картах объекты или объекты, для которых установлен фильтр поиска по кнопке диалога Фильтр.

Окно сценария служит для ввода различных вычислительных операций, в которых могут быть использованы встроенные функции, перечисленные в поле диалога Подсказки для написания сценария. По двойному клику левой кнопкой мыши на строке подсказок выбранная функция копируется в поле ввода сценария.

В одном сценарии допустимо присутствие произвольного числа действий для расчётов семантических характеристик.

Например, умножить площадь объекта на длину из семантики с кодом 1 и запомнить полученное значение в семантике с кодом 7  (коды зависят от классификатора карты):

value = getSquare() * getCodeSem(2)

setCodeSem(7, value)

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

В диалоге можно открывать и создавать произвольное число сценариев. Сценарии размещаются в динамически подгружаемых закладках. Имя файла сценария устанавливается программно (временное имя "temp") или пользователем (кнопка Сохранить).

Удалить закладку можно нажатием левой кнопки мыши на крестик в правом углу заголовка закладки.

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

Сценарий  по окончании процесса выполнения автоматически сохраняется в  папке LOG для открытой карты.

Ошибки, возникшие в ходе выполнения расчётов по сценарию, помещаются в протокол работы программы и могут быть просмотрены по активизации кнопки Протокол ошибок.

 

Примеры скриптов на языке Lua.