SymbolLimits¶
-
class
axioma.render.SymbolLimits¶ Лимиты значений (интервал) для рассматриваемого символа
SymbolThematicStyleProvider¶
-
class
axioma.render.SymbolThematicStyleProvider¶ Класс провайдера стилей для тематического слоя
SymbolThematicLayerв виде круговой диаграммы.Унаследован от:
ThematicStyleProvider,AllocationThematic-
SymbolThematicStyleProvider(layer, hmin=6, hmax=20)¶ Конструктор
- Параметры
layer (
ThematicLayer) – Ссылка на тематический слой, к которому привязан данный провайдер стилей.hmin (
int) – Минимальная высота символа. По умолчанию равно 6hmax (
int) – Максимальная высота символа. По умолчанию равно 20
-
calculateLimitsValues(table)¶ Чтение значений из таблицы и расчет интервала значений по выражению. Результат выполнения используется для задания интервалов посредством метода setLimitsValues
- Параметры
table (
Table) – Таблица, из которой читаются значения по заданному ранее выражению.- Результат
Существующие пределы по выражению по результатам анализа
- Тип результата
-
defaultStyle()¶ Стиль символа для отображения тематики
- Результат
Стиль
- Тип результата
-
evaluator()¶ Заданное выражение для вычисления значения по данным таблицы
- Результат
Выражение
- Тип результата
-
limitValues()¶ Установленные пределы значений по данным.
- Результат
Значения
- Тип результата
-
setDefaultStyle(style)¶ Установка стиля оформления для тематики
- Параметры
style (
PointStyle) – Стиль
-
setEvaluator(expression)¶ Задание выражение для вычисления значения по данным таблицы
- Параметры
expression (
FeatureExpressionEvaluator) – Задание выражения, по которому будут вычисляться значения при анализе таблицы.
-
setLimitsValues(values)¶ Установка пределов значений. Для расчета можно воспользоваться методом calculateLimitsValues
- Параметры
values (
SymbolLimits) – Новые ограничения
-
SymbolThematicLayer¶
-
class
axioma.render.SymbolThematicLayer¶ Тематический слой с распределением по интервалам и с градуировкой символа по размеру
Унаследован от:
ThematicLayer-
SymbolThematicLayer(parent)¶ Конструктор
- Параметры
parent (
FeatureLayer) – Ссылка на слой, на базе которого создается данный тематический слой.
-
SymbolThematicLayer(other)¶ Копирующий конструктор
- Параметры
other (
SymbolThematicLayer) – Исходный слой, на базе которого создается новый слой.
-
setStyleProvider(provider)¶ Устанавливает новый провайдер стилей для слоя.
- Параметры
provider (
SymbolThematicStyleProvider) – Новый провайдер стилей.
-
styleProvider()¶ Возвращает текущий провайдер стилей для слоя.
- Результат
Копия провайдера стиля, установленного для слоя на данный момент
- Тип результата
-
Пример использования:
# Импорт 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)