RangeThematicLayer - Интервалы

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

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

    ThematicLayer -> RangeThematicLayer;
    ReallocateThematicColor -> RangeThematicLayer
    StyledByIndexThematic -> RangeThematicLayer
}
class axipy.render.RangeThematicLayer(expression)

Тематическое оформление слоя с распределением значений по интервалам. Для распределения цветов по заданным интервалам могут быть использованы функции assign_* класса ReallocateThematicColor в зависимости от требуемых целей.

Параметры

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

Пример создания тематики по интервалам.
# Пример создания тематики с последующим добавлением ее к базовому слою `world`
range1 = RangeThematicLayer("Население")
range1.ranges = 6
range1.splitType = RangeThematicLayer.EQUAL_COUNT
range1.assign_two_colors(Qt.red, Qt.cyan)
world.thematic.add(range1)
# Пример запроса с последующей заменой::
v = world.thematic[0].get_interval_value(2) # Запрос
v = (999, v[1]) # Заменим минимальное значение для интервала с индексом 2
world.thematic[0].set_interval_value(2, v) # Замена
# Различные виды распределения интервалов тематик по цветам
range1.assign_two_colors(Qt.red, Qt.yellow)
range1.assign_three_colors(Qt.yellow, Qt.cyan, Qt.green, 4)
range1.assign_rainbow()
range1.assign_gray(80, 100)

Methods:

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])

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

create(dataObject)

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

get_bounds()

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

get_interval_value(idx)

Возвращает предельные значения для указанного интервала в виде пары значений.

get_style(idx)

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

set_interval_value(idx, v)

Заменяет предельные значения интервала.

set_style(idx, style)

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

Attributes:

coordsystem

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

data_changed

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

data_object

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

is_valid

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

max_zoom

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

min_zoom

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

need_redraw

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

opacity

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

ranges

Количество интервалов.

splitType

Тип распределения значений по интервалам.

title

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

visible

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

zoom_restrict

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

assign_gray(minV=20, maxV=80)

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

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

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

assign_monotone(color, minv=20, maxv=80)

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

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

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

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

assign_rainbow(sequential=True, saturation=90, value=90)

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

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

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

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

assign_three_colors(colorMin, colorMax, colorBreak, br, useHSV=True)

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

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

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

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

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

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

assign_two_colors(colorMin, colorMax, useHSV=False)

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

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

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

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

property coordsystem

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

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

CoordSystem

classmethod create(dataObject)

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

Параметры

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

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

Layer

property data_changed

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

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

Signal

property data_object

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

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

DataObject

get_bounds()

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

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

Rect

get_interval_value(idx)

Возвращает предельные значения для указанного интервала в виде пары значений.

Параметры

idx (int) – Индекс диапазона.

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

Tuple[float, float]

get_style(idx)

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

Параметры

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

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

Style

property is_valid

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

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

bool

property max_zoom

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

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

float

property min_zoom

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

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

float

property need_redraw

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

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

Signal

property opacity

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

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

int

property ranges

Количество интервалов.

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

int

set_interval_value(idx, v)

Заменяет предельные значения интервала.

Параметры
  • idx (int) – Индекс диапазона.

  • v (Tuple[float, float]) – Значение в виде пары.

set_style(idx, style)

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

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

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

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

Тип распределения значений по интервалам.

Допустимые значения:

Константа

Значение

Описание

EQUAL_INTERVAL

1

Распределение исходя из равномерности интервалов (по умолчанию).

EQUAL_COUNT

2

Распределение исходя их равного количества объектов в каждом интервале.

MANUAL

3

Ручное распределение значений путем задания пределов вручную.

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

int

property title

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

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

str

property visible

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

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

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

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

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

bool