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)