ThematicIndividualStyleParam¶
-
class
axioma.render.
ThematicIndividualStyleParam
¶ Параметры для значения у тематического слоя по индивидуальным значениям. Содержит значение и соответствующий ему стиль оформления
Унаследован от:
ThematicColoredStyleParam
Конструктор с пустыми значениями
-
ThematicIndividualStyleParam
()¶
-
ThematicIndividualStyleParam
(value, color)¶ Конструктор
Конструктор. Инициализирует параметр с заданным стилем. См.
ThematicColoredStyleParam()
-
IndividualThematicStyleProvider¶
-
class
axioma.render.
IndividualThematicStyleProvider
¶ Класс провайдера стилей для тематического слоя
IndividualThematicLayer
.Унаследован от:
ThematicStyleProvider
,SplittingThematic
-
IndividualThematicStyleProvider
(layer)¶ Конструктор
- Параметры
layer (
ThematicLayer
) – Ссылка на тематический слой, к которому привязан данный провайдер стилей.
-
IndividualThematicStyleProvider
(other)¶ Копирующий конструктор
- Параметры
other (
IndividualThematicStyleProvider
) – Исходный экземпляр, на базе которого создается текущий экземпляр объекта.
-
defaultStyle
()¶ Возвращает коллекцию стилей оформления (по типам объектов), заданный по умолчанию. В дальнейшем для каждого значения стиль можно переопределить
- Результат
Коллекцию стилей
- Тип результата
-
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
) – Индекс требуемого параметра.- Результат
Параметры запрашиваемого интервала.
- Тип результата
-
thematicStyleParamCount
()¶ Количество полученных параметров (значений).
- Результат
Количество параметров.
- Тип результата
-
thematicStyleParamsList
()¶ Возвращается список параметров по существующим значениям.
- Результат
Список параметров.
- Тип результата
-
IndividualThematicLayer¶
-
class
axioma.render.
IndividualThematicLayer
¶ Тематический слой с распределением стилей по индивидуальным значением
Унаследован от:
ThematicLayer
-
IndividualThematicLayer
(parent)¶ Конструктор
- Параметры
parent (
FeatureLayer
) – Ссылка на слой, на базе которого создается данный тематический слой.
-
IndividualThematicLayer
(other)¶ Копирующий конструктор
- Параметры
other (
IndividualThematicLayer
) – Исходный слой, на базе которого создается новый слой.
-
setStyleProvider
(provider)¶ Устанавливает новый провайдер стилей для слоя.
- Параметры
provider (
IndividualThematicLayer
) – Новый провайдер стилей.
-
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 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)