IndividualThematicLayer - Индивидуальные значения

digraph geometry {
    node [shape="box", style=filled, fillcolor="lightgray"]
    rankdir=LR
    labelloc="t";
    label="Иерархия классов:";

    ThematicLayer  [ href="ThematicLayer.html#ref-label-thematiclayer-class" ];
    IndividualThematicLayer  [ href="IndividualThematicLayer.html#ref-label-individualthematiclayer-class" ];
    ReallocateThematicColor  [ href="ReallocateThematicColor.html#ref-label-reallocatecolorthematiclayer-class" ];
    StyledByIndexThematic  [ href="StyledByIndexThematic.html#ref-label-styledbythematicthematiclayer-class" ];

    ThematicLayer -> IndividualThematicLayer;
    ReallocateThematicColor -> IndividualThematicLayer
    StyledByIndexThematic -> IndividualThematicLayer
}
class axipy.IndividualThematicLayer

Базовые классы: ThematicLayer, StyledByIndexThematic, ReallocateThematicColor

Тематический слой с распределением стилей по индивидуальным значением.

Параметры:

expression – Наименование атрибута или выражение.

Создание тематики с последующим добавлением ее к базовому слою.
individual = IndividualThematicLayer("Страна")
individual.assign_rainbow()
world.thematic.add(individual)
# Поменяем стиль оформления
individual.set_style(0, PolygonStyle(45, Qt.blue))

Классовые методы:

create(dataObject)

Создает слой на базе открытой таблицы или растра.

Свойства:

coordsystem

Координатная система, в которой находятся данные, отображаемые слоем.

count

Количество значений в тематике.

data_object

Источник данных для слоя.

is_valid

Проверка на валидность объекта.

max_zoom

Максимальная ширина окна, при котором слой отображается на карте.

min_zoom

Минимальная ширина окна, при котором слой отображается на карте.

opacity

Прозрачность слоя в составе карты.

title

Наименование слоя.

visible

Управляет видимостью слоя.

zoom_restrict

Будет ли использоваться ограничение по отображению.

Методы:

assign_gray([minV, maxV])

Распределение в виде градации серого.

assign_monotone(color[, minv, maxv])

Монотонная заливка разной яркости (оттенки красного, синего и т.п.).

assign_rainbow([sequential, saturation, value])

Распределение цветов по спектру.

assign_three_colors(colorMin, colorMax, ...)

Цвет, распределенный между тремя заданными цветами (с разрывом).

assign_two_colors(colorMin, colorMax[, useHSV])

Равномерно распределяет оформление по заданным крайним цветам.

get_bounds()

Возвращает область, в которую попадают все данные, которые могут быть отображены на слое.

get_style(idx)

Стиль для указанного выражения.

get_value(idx)

Выражение по указанному индексу.

set_style(idx, style)

Установка стиля оформления для выражения по его индексу в списке выражений.

Сигналы:

data_changed

Сигнал об изменении контента слоя.

need_redraw

Сигнал о необходимости перерисовать слой.

assign_gray(minV: int = 20, maxV: int = 80)

Распределение в виде градации серого. Значение задается в интервале (0..100) от черного до белого.

Параметры:
  • minV – Минимальное значение.

  • maxV – Максимальное значение.

assign_monotone(color: QColor, minv: int = 20, maxv: int = 80)

Монотонная заливка разной яркости (оттенки красного, синего и т.п.). Цветовая схема HSL. Максимальное и минимальное значения задаются в интервале (0..100).

Параметры:
  • color – Базовый цвет.

  • minV – Минимальное значение.

  • maxV – Максимальное значение.

assign_rainbow(sequential: bool = True, saturation: float = 90, value: float = 90)

Распределение цветов по спектру. Цветовая схема HSV.

Параметры:
  • sequential – Если True, то последовательное распределение цветов. В противном случае распределение случайно.

  • saturation – Яркость. Задается в интервале (0..100)

  • value – Насыщенность. Задается в интервале (0..100)

assign_three_colors(colorMin: QColor, colorMax: QColor, colorBreak: QColor, br: int, useHSV: bool = True)

Цвет, распределенный между тремя заданными цветами (с разрывом).

Параметры:
  • colorMin – Цвет нижнего диапазона.

  • colorMax – Цвет верхнего диапазона.

  • colorBreak – Цвет на уровне разрыва.

  • br – Индекс интервала, на на котором используется цвет разрыва.

  • useHSV – Если True, то будет использоваться схема HSV. В противном случае - RGB.

assign_two_colors(colorMin: QColor, colorMax: QColor, useHSV: bool = False)

Равномерно распределяет оформление по заданным крайним цветам.

Параметры:
  • colorMin – Цвет нижнего диапазона.

  • colorMax – Цвет верхнего диапазона.

  • useHSV – Если True, то будет использоваться схема HSV. В противном случае - RGB.

property coordsystem: CoordSystem

Координатная система, в которой находятся данные, отображаемые слоем.

property count

Количество значений в тематике.

classmethod create(dataObject: DataObject) Layer

Создает слой на базе открытой таблицы или растра.

Параметры:

dataObject – Таблица или растр. В зависимости от переданного объекта будет создан VectorLayer или RasterLayer.

Пример создания слоя на базе файла.
# Векторный слой
table = provider_manager.openfile(filepath)
vector_layer = Layer.create(table)
# Подпишемся на обновление контента слоя
vector_layer.need_redraw.connect(lambda: print('Update layer'))
property data_changed: Signal

Сигнал об изменении контента слоя.

Тип результата:

Signal[]

property data_object: DataObject

Источник данных для слоя.

get_bounds() Rect

Возвращает область, в которую попадают все данные, которые могут быть отображены на слое.

get_style(idx: int) Style

Стиль для указанного выражения.

Параметры:

idx – Порядковый номер выражения.

get_value(idx: int) Any

Выражение по указанному индексу.

Параметры:

idx – Индекс.

property is_valid: bool

Проверка на валидность объекта. Слой мог быть удален, как пример, в связи с закрытием таблицы

property max_zoom: float

Максимальная ширина окна, при котором слой отображается на карте. Учитывается только при установленном zoom_restrict=True

property min_zoom: float

Минимальная ширина окна, при котором слой отображается на карте. Учитывается только при установленном zoom_restrict=True

property need_redraw: Signal

Сигнал о необходимости перерисовать слой.

Тип результата:

Signal[]

property opacity: int

Прозрачность слоя в составе карты. Доступные значения от 0 до 100.

set_style(idx: int, style: Style)

Установка стиля оформления для выражения по его индексу в списке выражений.

Параметры:
  • idx – Индекс.

  • style – Назначаемый стиль.

Пример установки стиля для значения с индексом 2 первого тематического слоя.
style_new = Style.from_mapinfo("Brush (2, 255, 0)")
world.thematic[0].set_style(2, style_new)
property title: str

Наименование слоя.

property visible

Управляет видимостью слоя.

Выключение видимости верхнего слоя для активной карты:

if view_manager.active is not None:
    view_manager.active.map.layers[0].visible = False
property zoom_restrict: bool

Будет ли использоваться ограничение по отображению. Если установлено True, то для ограничения отображения слоя в зависимости от масштаба используются значения свойств zoom_min и zoom_max