VectorLayer - Векторный слой

class axipy.render.VectorLayer

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

Слой, основанный на базе векторных данных.

Примечание

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

Примеры работы со свойствами слоя.
# Зададим в качестве формулы метки атрибут "Страна" и запретим перекрытие меток друг другом:
world.label.text = "Страна"
world.label.placementPolicy = Label.DISALLOW_OVERLAP
# Задание стиля оформления слоя
style_lay = Style.from_mapinfo("Pen (1, 2, 0) Brush (8, 255) Symbol (33,255,14)")
world.overrideStyle = style_lay
# Для сброса переопределения достаточно задать значение None::
world.overrideStyle = None

Attributes:

coordsystem

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

data_changed

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

data_object

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

label

Метки слоя.

linesDirectionVisibile

Показ направлений линий.

max_zoom

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

min_zoom

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

need_redraw

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

nodesVisible

Показ узлов линий и полигонов.

opacity

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

overrideStyle

Переопределяемый стиль слоя.

showCentroid

Показ центроидов на слое.

thematic

Перечень тематик для данного слоя.

title

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

visible

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

zoom_restrict

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

Methods:

create(dataObject)

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

get_bounds()

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

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

property label

Метки слоя. В качестве формулы может использоваться или наименование поля таблицы или выражение.

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

Label

property linesDirectionVisibile

Показ направлений линий.

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

bool

property max_zoom

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

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

float

property min_zoom

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

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

float

property need_redraw

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

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

Signal

property nodesVisible

Показ узлов линий и полигонов.

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

bool

property opacity

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

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

int

property overrideStyle

Переопределяемый стиль слоя. Если задан как None (по умолчанию), объекты будут отображены на основании оформления источника данных.

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

Style

property showCentroid

Показ центроидов на слое.

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

bool

property thematic

Перечень тематик для данного слоя. Работа с тематическими слоями похожа на работу со списком list.

Пример.
# Создадим тематический слой
range1 = RangeThematicLayer("Население")
# Добавим в основной слой
world.thematic.append(range1)
# Получим добавленный тематический слой
range1 = world.thematic[0]
# Просмотр всех тематик слоя
for t in world.thematic:
    print('thematic:', t.title)
Тип результата

ListThematic

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