Layer - Слой

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

    Layer  [ href="Layer.html#ref-label-layer-class", fillcolor=green, style=filled ];
    VectorLayer  [ href="VectorLayer.html#ref-label-vectorlayer-class" ];
    CosmeticLayer  [ href="CosmeticLayer.html#ref-label-cosmeticlayer-class" ];
    RasterLayer  [ href="RasterLayer.html#ref-label-rasterlayer-class" ];
    ThematicLayer  [ href="../thematic/ThematicLayer.html#ref-label-thematiclayer-class" ];
    RangeThematicLayer  [ href="../thematic/RangeThematicLayer.html#ref-label-rangethematiclayer-class" ];
    PieThematicLayer  [ href="../thematic/PieThematicLayer.html#ref-label-piethematiclayer-class" ];
    BarThematicLayer  [ href="../thematic/BarThematicLayer.html#ref-label-barthematiclayer-class" ];
    SymbolThematicLayer  [ href="../thematic/SymbolThematicLayer.html#ref-label-symbolthematiclayer-class" ];
    IndividualThematicLayer  [ href="../thematic/IndividualThematicLayer.html#ref-label-individualthematiclayer-class" ];
    DensityThematicLayer  [ href="../thematic/DensityThematicLayer.html#ref-label-densitythematiclayer-class" ];

    Layer -> VectorLayer;
    Layer -> RasterLayer;
    Layer -> ThematicLayer;
    ThematicLayer -> RangeThematicLayer;
    VectorLayer -> CosmeticLayer;
    ThematicLayer -> PieThematicLayer;
    ThematicLayer -> BarThematicLayer;
    ThematicLayer -> SymbolThematicLayer;
    ThematicLayer -> IndividualThematicLayer;
    ThematicLayer -> DensityThematicLayer;
}
class axipy.Layer

Абстрактный базовый класс для слоя карты.

Для создания нового экземпляра для векторного или растрового источника данных необходимо использовать метод Layer.create(). Для тематических слоев - использовать соответствующие им конструкторы.

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

create(dataObject)

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

Свойства:

coordsystem

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

data_object

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

is_valid

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

max_zoom

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

min_zoom

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

opacity

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

title

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

visible

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

zoom_restrict

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

Методы:

get_bounds()

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

Сигналы:

data_changed

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

need_redraw

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

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