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)