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)