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

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

Свойства:

coordsystem

Возвращает координатную систему, в которой находятся данные, отображаемые слоем.

data_object

Возвращает источник данных для слоя.

is_valid

Возвращает признак валидности слоя.

max_zoom

Устанавливает или возвращает максимальную ширину окна, при которой слой отображается на карте.

min_zoom

Устанавливает или возвращает минимальную ширину окна, при которой слой отображается на карте.

opacity

Устанавливает или возвращает прозрачность слоя в составе карты.

selectable

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

title

Устанавливает или возвращает наименование слоя.

visible

Устанавливает или возвращает признак видимости слоя.

zoom_restrict

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

Методы:

get_bounds()

Возвращает область, которая содержит все данные слоя.

Сигналы:

data_changed

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

need_redraw

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

Специальные методы:

__eq__(other)

Оператор равенства (==).

__repr__()

Официальное строковое представление объекта при вызове repr().

__str__()

Неформальное строковое представление объекта при вызове str или print().

__eq__(other: object) bool

Оператор равенства (==).

__repr__() str

Официальное строковое представление объекта при вызове repr().

__str__() str

Неформальное строковое представление объекта при вызове str или print().

property coordsystem: CoordSystem

Возвращает координатную систему, в которой находятся данные, отображаемые слоем.

classmethod create(dataObject: Raster) RasterLayer
classmethod create(dataObject: Table) VectorLayer
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 selectable: bool

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

property title: str

Устанавливает или возвращает наименование слоя.

property visible: bool

Устанавливает или возвращает признак видимости слоя.

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

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

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

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