FeatureExpressionEvaluator

class axioma.core.sql.FeatureExpressionEvaluator

Выполнение sql выражений для таблицы или запроса

FeatureExpressionEvaluator(dialect, schema)

Конструктор

Параметры
  • dialect (Dialect) – Диалект выполнения sql запроса

  • schema (TableSchema) – Схема, по которой будет выполнено sql предложение

FeatureExpressionEvaluator(runtime, schema)

Конструктор

Параметры
  • runtime (SqlRuntime) – Среда выполнения sql предложений (sql-диалект Аксиомы)

  • schema (TableSchema) – Схема, по которой будет выполнено sql предложение

errorString()

Строка с сообщением об ошибке если при задании выражения посредством setExpression была попытка установки некорректного выражения

Результат

Строка с ошибкой

Тип результата

str

evaluate(feature)

Непосредственно выполнение выражения для записи таблицы

Параметры

feature (Feature) – Запись таблицы

Результат

Результат выполнения

Тип результата

QVariant

expressionString()

Заданное выражение

Результат

Выражение или None если не задавалось или было задано неверно

Тип результата

str

hasError()

Имеются ли ошибки при задании выражения

Результат

True, если да. В противном случае False

Тип результата

bool

setExpression(expression)

Задание поля таблицы или выражения для выполнения

Параметры

expression (str) – Выражение

Результат

True, если выражение корректно. В противном случае False. Сообщение об ошибке можно посмотреть методом errorString

Тип результата

bool

usedColumns()

Список используемых колонок из схемы

Результат

Список

Тип результата

list [ str ]

Пример использования:

# Создание переменной для обеспечения возможности вычисления выражений
runtime = SqlRuntime()

# Создание выражения по полю
evaluator = FeatureExpressionEvaluator(runtime, layer.tableSchema())
if not evaluator.setExpression("Население"):
                print(evaluator.errorString())
else:
                res = evaluator.evaluate(feature)