axioma.render.
DensitySizeParam
¶Параметры, описывающие количество (плотность) точек и соответствующее им вычисленное значение выражения.
axioma.render.
DensityStyleParam
¶Вид (стиль) точек, которыми будет заполняться площадной объект
Форма точки FormType
:¶Наименование величины Значение Описание ftRound 0 Круглая ftSquare 1 Квадратная
DensityStyleParam
()¶Конструктор со значениями по-умолчанию (черные круглые точки размером 1)
DensityStyleParam
(form, color, size)Конструктор
Параметры:
- form (
FormType
) – Вид формы точки.- color (
QColor
) – Цвет точки- size (
UnitSize
) – Размер точки
formType
¶Вид формы точки.
Type: FormType
axioma.render.
DensityThematicStyleProvider
¶Класс провайдера стилей для тематического слоя DensityThematicLayer
.
Унаследован от: ThematicStyleProvider
DensityThematicStyleProvider
()¶Конструктор со значениями по-умолчанию
DensityThematicStyleProvider
(other)Копирующий конструктор
Параметры: other ( DensityThematicStyleProvider
) – Исходный объект DensityThematicStyleProvider, на базе которого необходимо сделать копию.
densitySizeParam
()¶Параметры плотности точек
Результат: Заданные ранее параметры Тип результата: DensitySizeParam
setDensitySizeParam
(value)¶Задание новых параметров по плотности
Параметры: value ( DensitySizeParam
) – Новое значение
evaluator
()¶Заданное выражение для вычисления значения по данным таблицы
Результат: Выражение Тип результата: FeatureExpressionEvaluator
setEvaluator
(expression)¶Задание выражение для вычисления значения по данным таблицы
Параметры: expression ( FeatureExpressionEvaluator
) – Задание выражения, по которому будут вычисляться значения при анализе таблицы.
calculateMaximum
(table)¶Чтение значений из таблицы и расчет максимального значения по выражению. Результат выполнения используется для задания плотности точек посредством метода setDensitySizeParam
Параметры: table ( Table
) – Таблица, из которой читаются значения по заданному ранее выражению.Результат: Максимальное значение по выражению по результатам анализа Тип результата: QVariant
setDensityStyleParam
(par)¶Задание новых значений по стилю точек заполнения
Параметры: par ( DensityStyleParam
) – Новое значение
densityStyleParam
()¶Установленное значение стиля заполнения
Результат: Структура со стилем оформления Тип результата: DensityStyleParam
axioma.render.
DensityThematicLayer
¶Тематический слой с заполнением полигональных объектов точками, плотность которых зависит от вычисленного значения по выражению
Унаследован от: ThematicLayer
DensityThematicLayer
(parent)¶Конструктор
Параметры: parent ( FeatureLayer
) – Ссылка на слой, на базе которого создается данный тематический слой.
DensityThematicLayer
(other)Копирующий конструктор
Параметры: other ( DensityThematicLayer
) – Исходный слой, на базе которого создается новый слой.
styleProvider
()¶Возвращает текущий провайдер стилей для слоя.
Результат: Копия провайдера стиля, установленного для слоя на данный момент Тип результата: DensityThematicStyleProvider
setStyleProvider
(provider)¶Устанавливает новый провайдер стилей для слоя.
Параметры: provider ( DensityThematicStyleProvider
) – Новый провайдер стилей.
Пример использования:
# Импорт 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)