axioma.render.ThematicIndividualStyleParam¶Параметры для значения у тематического слоя по индивидуальным значениям. Содержит значение и соответствующий ему стиль оформления
Унаследован от: ThematicColoredStyleParam
ThematicIndividualStyleParam()¶Конструктор с пустыми значениями
ThematicIndividualStyleParam(value, color)Конструктор
Параметры: Конструктор. Инициализирует параметр с заданным стилем. См.
ThematicColoredStyleParam()
Параметры:
axioma.render.IndividualThematicStyleProvider¶Класс провайдера стилей для тематического слоя IndividualThematicLayer.
Унаследован от: ThematicStyleProvider, SplittingThematic
IndividualThematicStyleProvider(layer)¶Конструктор
Параметры: layer ( ThematicLayer) – Ссылка на тематический слой, к которому привязан данный провайдер стилей.
IndividualThematicStyleProvider(other)Копирующий конструктор
Параметры: other ( IndividualThematicStyleProvider) – Исходный экземпляр, на базе которого создается текущий экземпляр объекта.
reallocateColorByValues(preserveOldStyles = True)¶Перераспределение стилей по цвету. Цвет подбирается случайным образом. Дальнейшее переопределение возможно (см. пример ниже).
Параметры: preserveOldStyles ( bool) – Сохранение существующих стилей. Применяется, когда количество значений увеличилось, хо есть желание оставить существующие стили текущими. Если False, стили переопределяются на случайные по цвету.
thematicStyleParamsList()¶Возвращается список параметров по существующим значениям.
Результат: Список параметров. Тип результата: list[ThematicIndividualStyleParam]
setThematicStyleParamsList(list)¶Замена существующего списка параметров по интервалам новым.
Параметры: list ( list[ThematicIndividualStyleParam]) – Новый список с параметрами.
setThematicStyleParam(index, param)¶Замена существующего набора параметров конкретного значения по его индексу.
Параметры:
- index (
int) – Индекс параметра.- param (
ThematicIndividualStyleParam) – Новые параметры заданного значения.
thematicStyleParam(index)¶Получение параметров необходимого значения по его индексу.
Параметры: index ( int) – Индекс требуемого параметра.Результат: Параметры запрашиваемого интервала. Тип результата: ThematicIndividualStyleParam
thematicStyleParamCount()¶Количество полученных параметров (значений).
Результат: Количество параметров. Тип результата: int
defaultStyle()¶Возвращает коллекцию стилей оформления (по типам объектов), заданный по умолчанию. В дальнейшем для каждого значения стиль можно переопределить
Результат: Коллекцию стилей Тип результата: CollectionStyle
setDefaultStyle(style)¶Переопределение стилей по-умолчанию
Параметры: style ( CollectionStyle) – Новый набор стилей оформления
axioma.render.IndividualThematicLayer¶Тематический слой с распределением стилей по индивидуальным значением
Унаследован от: ThematicLayer
IndividualThematicLayer(parent)¶Конструктор
Параметры: parent ( FeatureLayer) – Ссылка на слой, на базе которого создается данный тематический слой.
IndividualThematicLayer(other)Копирующий конструктор
Параметры: other ( IndividualThematicLayer) – Исходный слой, на базе которого создается новый слой.
styleProvider()¶Возвращает текущий провайдер стилей для слоя.
Результат: Копия провайдера стиля, установленного для слоя на данный момент Тип результата: IndividualThematicLayer
setStyleProvider(provider)¶Устанавливает новый провайдер стилей для слоя.
Параметры: provider ( 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)