axioma.render.
ThematicIndividualStyleParam
¶Параметры для значения у тематического слоя по индивидуальным значениям. Содержит значение и соответствующий ему стиль оформления
Унаследован от: ThematicColoredStyleParam
Конструктор с пустыми значениями
ThematicIndividualStyleParam
()¶
ThematicIndividualStyleParam
(value, color)Конструктор
Параметры: Конструктор. Инициализирует параметр с заданным стилем. См.
ThematicColoredStyleParam()
Параметры:
axioma.render.
IndividualThematicStyleProvider
¶Класс провайдера стилей для тематического слоя IndividualThematicLayer
.
Унаследован от: ThematicStyleProvider
, SplittingThematic
IndividualThematicStyleProvider
(layer)¶Конструктор
Параметры: layer ( ThematicLayer
) – Ссылка на тематический слой, к которому привязан данный провайдер стилей.
IndividualThematicStyleProvider
(other)Копирующий конструктор
Параметры: other ( IndividualThematicStyleProvider
) – Исходный экземпляр, на базе которого создается текущий экземпляр объекта.
defaultStyle
()¶Возвращает коллекцию стилей оформления (по типам объектов), заданный по умолчанию. В дальнейшем для каждого значения стиль можно переопределить
Результат: Коллекцию стилей Тип результата: CollectionStyle
reallocateColorByValues
(preserveOldStyles = True)¶Перераспределение стилей по цвету. Цвет подбирается случайным образом. Дальнейшее переопределение возможно (см. пример ниже).
Параметры: preserveOldStyles ( bool
) – Сохранение существующих стилей. Применяется, когда количество значений увеличилось, хо есть желание оставить существующие стили текущими. Если False, стили переопределяются на случайные по цвету.
setDefaultStyle
(style)¶Переопределение стилей по умолчанию
Параметры: style ( CollectionStyle
) – Новый набор стилей оформления
setThematicStyleParam
(index, param)¶Замена существующего набора параметров конкретного значения по его индексу.
Параметры:
- index (
int
) – Индекс параметра.- param (
ThematicIndividualStyleParam
) – Новые параметры заданного значения.
setThematicStyleParamsList
(list)¶Замена существующего списка параметров по интервалам новым.
Параметры: list ( list
[ThematicIndividualStyleParam
]) – Новый список с параметрами.
thematicStyleParam
(index)¶Получение параметров необходимого значения по его индексу.
Параметры: index ( int
) – Индекс требуемого параметра.Результат: Параметры запрашиваемого интервала. Тип результата: ThematicIndividualStyleParam
thematicStyleParamCount
()¶Количество полученных параметров (значений).
Результат: Количество параметров. Тип результата: int
thematicStyleParamsList
()¶Возвращается список параметров по существующим значениям.
Результат: Список параметров. Тип результата: list
[ThematicIndividualStyleParam
]
axioma.render.
IndividualThematicLayer
¶Тематический слой с распределением стилей по индивидуальным значением
Унаследован от: ThematicLayer
IndividualThematicLayer
(parent)¶Конструктор
Параметры: parent ( FeatureLayer
) – Ссылка на слой, на базе которого создается данный тематический слой.
IndividualThematicLayer
(other)Копирующий конструктор
Параметры: other ( IndividualThematicLayer
) – Исходный слой, на базе которого создается новый слой.
setStyleProvider
(provider)¶Устанавливает новый провайдер стилей для слоя.
Параметры: provider ( IndividualThematicLayer
) – Новый провайдер стилей.
styleProvider
()¶Возвращает текущий провайдер стилей для слоя.
Результат: Копия провайдера стиля, установленного для слоя на данный момент Тип результата: IndividualThematicLayer
Пример использования:
# Импорт 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 addIndividualThematic(layer): individualLayer = IndividualThematicLayer(layer) # Создание самого слоя individualLayer.setName(QObject().tr("Континенты по цветам")) # Имя слоя individualStyleProvider = IndividualThematicStyleProvider(individualLayer) # Стиль оформления evaluator = makeExpressionForWorld(layer, QObject().tr("Континент")) if not evaluator.hasError(): individualStyleProvider.setEvaluator(evaluator) individualStyleProvider.initValuesFromTable( layer.table()) # чтение из таблицы individualStyleProvider.reallocateColorByValues() if individualStyleProvider.thematicStyleParamCount(): # Заменим у первого цвет на желтый param0 = individualStyleProvider.thematicStyleParam(0) param0.setColor(Qt.yellow) individualStyleProvider.setThematicStyleParam( 0, param0) if individualStyleProvider.thematicStyleParamCount() > 1: # Заменим у второго стиль на строку MapBasic param1 = individualStyleProvider.thematicStyleParam(1) # Создаем стиль из строки MapBasic style = MapBasicStyle().styleFromString("Brush (2,16776960,16777215) Pen (1,2,0)") # Заменяем стиль param1.style().setStyle(PolygonalGeometryClass(), style) individualStyleProvider.setThematicStyleParam( 1, param1) individualLayer.setStyleProvider(individualStyleProvider) # Установка провайдера стиля addLayer(layer, individualLayer)