DensitySizeParam¶
-
class
axioma.render.DensitySizeParam¶ Параметры, описывающие количество (плотность) точек и соответствующее им вычисленное значение выражения.
DensityStyleParam¶
-
class
axioma.render.DensityStyleParam¶ Вид (стиль) точек, которыми будет заполняться площадной объект
Форма точки FormType:¶Наименование величины
Значение
Описание
ftRound
0
Круглая
ftSquare
1
Квадратная
Конструктор со значениями по умолчанию (черные круглые точки размером 1)
-
DensityStyleParam()¶
-
DensityStyleParam(form, color, size)¶ Конструктор
- Параметры
form (
FormType) – Вид формы точки.color (
QColor) – Цвет точкиsize (
UnitSize) – Размер точки
-
formType¶ Вид формы точки.
- Type
FormType
-
DensityThematicStyleProvider¶
-
class
axioma.render.DensityThematicStyleProvider¶ Класс провайдера стилей для тематического слоя
DensityThematicLayer.Унаследован от:
ThematicStyleProvider-
DensityThematicStyleProvider()¶ Конструктор со значениями по умолчанию
-
DensityThematicStyleProvider(other)¶ Копирующий конструктор
- Параметры
other (
DensityThematicStyleProvider) – Исходный объект DensityThematicStyleProvider, на базе которого необходимо сделать копию.
-
calculateMaximum(table)¶ Чтение значений из таблицы и расчет максимального значения по выражению. Результат выполнения используется для задания плотности точек посредством метода setDensitySizeParam
-
densitySizeParam()¶ Параметры плотности точек
- Результат
Заданные ранее параметры
- Тип результата
-
densityStyleParam()¶ Установленное значение стиля заполнения
- Результат
Структура со стилем оформления
- Тип результата
-
evaluator()¶ Заданное выражение для вычисления значения по данным таблицы
- Результат
Выражение
- Тип результата
FeatureExpressionEvaluator
-
setDensitySizeParam(value)¶ Задание новых параметров по плотности
- Параметры
value (
DensitySizeParam) – Новое значение
-
setDensityStyleParam(par)¶ Задание новых значений по стилю точек заполнения
- Параметры
par (
DensityStyleParam) – Новое значение
-
setEvaluator(expression)¶ Задание выражение для вычисления значения по данным таблицы
- Параметры
expression (
FeatureExpressionEvaluator) – Задание выражения, по которому будут вычисляться значения при анализе таблицы.
-
DensityThematicLayer¶
-
class
axioma.render.DensityThematicLayer¶ Тематический слой с заполнением полигональных объектов точками, плотность которых зависит от вычисленного значения по выражению
Унаследован от:
ThematicLayer-
DensityThematicLayer(parent)¶ Конструктор
- Параметры
parent (
FeatureLayer) – Ссылка на слой, на базе которого создается данный тематический слой.
-
DensityThematicLayer(other)¶ Копирующий конструктор
- Параметры
other (
DensityThematicLayer) – Исходный слой, на базе которого создается новый слой.
-
setStyleProvider(provider)¶ Устанавливает новый провайдер стилей для слоя.
- Параметры
provider (
DensityThematicStyleProvider) – Новый провайдер стилей.
-
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 addDensityThematic(layer): print("Density thematic..." ) densityLayer = DensityThematicLayer(layer) # Создание самого слоя densityStyleProvider = DensityThematicStyleProvider(densityLayer) # Стиль оформления evaluator = makeExpressionForWorld(layer, QObject().tr("Население")) if not evaluator.hasError(): densityStyleProvider.setEvaluator(evaluator); maxVal = densityStyleProvider.calculateMaximum( layer.table()) # Максимальное значение densityStyleProvider.setDensitySizeParam(DensitySizeParam(100, maxVal)) # 100 точек для максимального значения styleParam = DensityStyleParam(DensityStyleParam.ftRound, Qt.red, UnitSize(Unit.point(), 3)) # Круглые красные точки в 3 пикселя densityStyleProvider.setDensityStyleParam(styleParam) densityLayer.setStyleProvider(densityStyleProvider) # Установка провайдера стиля addLayer(layer, densityLayer)