RangeThematicLayer - Интервалы
- class axipy.RangeThematicLayer
Базовые классы:
ThematicLayer
,StyledByIndexThematic
,ReallocateThematicColor
Тематическое оформление слоя с распределением значений по интервалам. Для распределения цветов по заданным интервалам могут быть использованы функции assign_* класса
ReallocateThematicColor
в зависимости от требуемых целей.- Параметры:
expression – Наименование атрибута таблицы или выражение.
# Пример создания тематики с последующим добавлением ее к базовому слою `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)
Классовые методы:
create
(dataObject)Создает слой на базе открытой таблицы или растра.
Свойства:
Координатная система, в которой находятся данные, отображаемые слоем.
Источник данных для слоя.
Проверка на валидность объекта.
Максимальная ширина окна, при котором слой отображается на карте.
Минимальная ширина окна, при котором слой отображается на карте.
Прозрачность слоя в составе карты.
Количество интервалов.
Управляет доступностью для выбора объектов слоя, если это поддерживается.
Тип распределения значений по интервалам.
Наименование слоя.
Управляет видимостью слоя.
Будет ли использоваться ограничение по отображению.
Методы:
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_interval_value
(idx)Возвращает предельные значения для указанного интервала в виде пары значений.
get_style
(idx)Стиль для указанного выражения.
set_interval_value
(idx, v)Заменяет предельные значения интервала.
set_style
(idx, style)Установка стиля оформления для выражения по его индексу в списке выражений.
Сигналы:
Сигнал об изменении контента слоя.
Сигнал о необходимости перерисовать слой.
- 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
Координатная система, в которой находятся данные, отображаемые слоем.
- 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_object: DataObject
Источник данных для слоя.
- get_bounds() Rect
Возвращает область, в которую попадают все данные, которые могут быть отображены на слое.
- get_interval_value(idx: int) Tuple[float, float]
Возвращает предельные значения для указанного интервала в виде пары значений.
- Параметры:
idx – Индекс диапазона.
- get_style(idx: int) Style
Стиль для указанного выражения.
- Параметры:
idx – Порядковый номер выражения.
- property is_valid: bool
Проверка на валидность объекта. Слой мог быть удален, как пример, в связи с закрытием таблицы
- property max_zoom: float
Максимальная ширина окна, при котором слой отображается на карте. Учитывается только при установленном zoom_restrict=True
- property min_zoom: float
Минимальная ширина окна, при котором слой отображается на карте. Учитывается только при установленном zoom_restrict=True
- property selectable
Управляет доступностью для выбора объектов слоя, если это поддерживается.
- set_interval_value(idx: int, v: Tuple[float, float])
Заменяет предельные значения интервала.
- Параметры:
idx – Индекс диапазона.
v – Значение в виде пары.
- set_style(idx: int, style: Style)
Установка стиля оформления для выражения по его индексу в списке выражений.
- Параметры:
idx – Индекс.
style – Назначаемый стиль.
style_new = Style.from_mapinfo("Brush (2, 255, 0)") world.thematic[0].set_style(2, style_new)
- property splitType: int
Тип распределения значений по интервалам.
Константа
Значение
Описание
EQUAL_INTERVAL
1
Распределение исходя из равномерности интервалов (по умолчанию).
EQUAL_COUNT
2
Распределение исходя их равного количества объектов в каждом интервале.
MANUAL
3
Ручное распределение значений путем задания пределов вручную.
- property visible
Управляет видимостью слоя.
Выключение видимости верхнего слоя для активной карты:
if view_manager.active is not None: view_manager.active.map.layers[0].visible = False