axioma.render.
SymbolLimits
¶Лимиты значений (интервал) для рассматриваемого символа
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
) – Стиль
setMaxHeight
(value)Задание максимальной высоты символа
Параметры: value ( float
) – Новое значение
evaluator
()¶Заданное выражение для вычисления значения по данным таблицы
Результат: Выражение Тип результата: FeatureExpressionEvaluator
setEvaluator
(expression)¶Задание выражение для вычисления значения по данным таблицы
Параметры: expression ( FeatureExpressionEvaluator
) – Задание выражения, по которому будут вычисляться значения при анализе таблицы.
calculateLimitsValues
(table)¶Чтение значений из таблицы и расчет интервала значений по выражению. Результат выполнения используется для задания интервалов посредством метода setLimitsValues
Параметры: table ( Table
) – Таблица, из которой читаются значения по заданному ранее выражению.Результат: Существующие пределы по выражению по результатам анализа Тип результата: SymbolLimits
limitValues
()¶Установленные пределы значений по данным.
Результат: Значения Тип результата: SymbolLimits
setLimitsValues
(values)¶Установка пределов значений. Для расчета можно воспользоваться методом calculateLimitsValues
Параметры: values ( SymbolLimits
) – Новые ограничения
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)