SymbolLimits

class axioma.render.SymbolLimits

Лимиты значений (интервал) для рассматриваемого символа

minimum

Минимальное значение

Type:QVariant
maximum

Максимальное значение

Type:QVariant

SymbolThematicStyleProvider

class axioma.render.SymbolThematicStyleProvider

Класс провайдера стилей для тематического слоя SymbolThematicLayer в виде круговой диаграммы.

Унаследован от: ThematicStyleProvider, AllocationThematic

SymbolThematicStyleProvider(layer, hmin=6, hmax=20)

Конструктор

Параметры:
  • layer (ThematicLayer) – Ссылка на тематический слой, к которому привязан данный провайдер стилей.
  • hmin (int) – Минимальная высота символа. По-умолчанию равно 6
  • hmax (int) – Максимальная высота символа. По-умолчанию равно 20
defaultStyle()

Стиль символа для отображения тематики

Результат:Стиль
Тип результата:PointStyle
setDefaultStyle(style)

Установка стиля оформления для тематики

Параметры:style (PointStyle) – Стиль
minHeight()

Минимальная высота символа

Результат:Значение
Тип результата:int
setMaxHeight(value)

Задание минимальной высоты символа

Параметры:value (float) – Новое значение
maxHeight()

Максимальная высота символа

Результат:Значение
Тип результата:int
setMaxHeight(value)

Задание максимальной высоты символа

Параметры:value (float) – Новое значение
evaluator()

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

Результат:Выражение
Тип результата:FeatureExpressionEvaluator
setEvaluator(expression)

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

Параметры:expression (FeatureExpressionEvaluator) – Задание выражения, по которому будут вычисляться значения при анализе таблицы.
calculateLimitsValues(table)

Чтение значений из таблицы и расчет интервала значений по выражению. Результат выполнения используется для задания интервалов посредством метода setLimitsValues

Параметры:table (Table) – Таблица, из которой читаются значения по заданному ранее выражению.
Результат:Существующие пределы по выражению по результатам анализа
Тип результата:SymbolLimits
limitValues()

Установленные пределы значений по данным.

Результат:Значения
Тип результата:SymbolLimits
setLimitsValues(values)

Установка пределов значений. Для расчета можно воспользоваться методом calculateLimitsValues

Параметры:values (SymbolLimits) – Новые ограничения

SymbolThematicLayer

class axioma.render.SymbolThematicLayer

Тематический слой с распределением по интервалам и с градуировкой символа по размеру

Унаследован от: ThematicLayer

SymbolThematicLayer(parent)

Конструктор

Параметры:parent (FeatureLayer) – Ссылка на слой, на базе которого создается данный тематический слой.
SymbolThematicLayer(other)

Копирующий конструктор

Параметры:other (SymbolThematicLayer) – Исходный слой, на базе которого создается новый слой.
styleProvider()

Возвращает текущий провайдер стилей для слоя.

Результат:Копия провайдера стиля, установленного для слоя на данный момент
Тип результата:SymbolThematicStyleProvider
setStyleProvider(provider)

Устанавливает новый провайдер стилей для слоя.

Параметры:provider (SymbolThematicStyleProvider) – Новый провайдер стилей.

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

# Импорт
from axioma.render import *
from axioma.core.sql import *
from axioma.mapinfo import *

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

# Добавление слоя в конец списка
def addLayer(layer, thematic):
    layer.appendLayer(thematic);

# Создание выражения по полю
def makeExpressionForWorld(layer, attr):
    evaluator = FeatureExpressionEvaluator(runtime, layer.tableSchema())
    if not evaluator.setExpression(axioma.app.mainWindow.tr(attr)):
        print(evaluator.errorString())
    return evaluator

# Символы. layer - базовый слой, на основе которого строится тематика
def addSymbolThematic(layer):
    symbolLayer = SymbolThematicLayer(layer) # Создание самого слоя
    symbolStyleProvider =  SymbolThematicStyleProvider(symbolLayer) # Стиль оформления
    evaluator = makeExpressionForWorld(layer, QObject().tr("Население"))
    if not evaluator.hasError():
        symbolStyleProvider.setEvaluator(evaluator);
        limitsValues = symbolStyleProvider.calculateLimitsValues( layer.table()) # Расчет предельных значений
        symbolStyleProvider.setLimitsValues(limitsValues)
        fs = FontSymbolStyle()
        fs.setColor(Qt.red)
        symbolStyleProvider.setDefaultStyle(fs) # Стиль точечного объекта
        symbolStyleProvider.setMaxHeight(24) # Максимальная высота символа
        symbolLayer.setStyleProvider(symbolStyleProvider)  # Установка провайдера стиля
        addLayer(layer, symbolLayer)