RasterLayer - Растровый слой

class axipy.RasterLayer

Базовые классы: Layer

Класс, который должен использоваться в качестве базового класса для тех слоев, в которых используются свойства отрисовки растрового изображения.

Примечание

Создание слоя производится посредством метода вызова Layer.create()

Примеры создания растрового слоя.
raster = provider_manager.openfile(filename)
raster_layer = Layer.create(raster)
raster_layer.transparentColor = QColor('#000014')

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

create(dataObject)

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

Свойства:

brightness

Яркость.

contrast

Контраст.

coordsystem

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

data_object

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

grayscale

Является ли данное изображение черно-белым.

is_valid

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

max_zoom

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

min_zoom

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

opacity

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

selectable

Управляет доступностью для выбора объектов слоя, если это поддерживается.

title

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

transparentColor

Цвет растра, который обрабатывается как прозрачный.

visible

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

zoom_restrict

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

Методы:

get_bounds()

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

Сигналы:

data_changed

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

need_redraw

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

property brightness: int

Яркость. Значение может быть в пределах от -100 до 100.

property contrast: int

Контраст. Значение может быть в пределах от -100 до 100.

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_changed: Signal

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

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

Signal[]

property data_object: DataObject

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

get_bounds() Rect

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

property grayscale: bool

Является ли данное изображение черно-белым.

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.

property selectable

Управляет доступностью для выбора объектов слоя, если это поддерживается.

property title: str

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

property transparentColor: QColor

Цвет растра, который обрабатывается как прозрачный.

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