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

class axipy.VectorLayer

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

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

Примечание

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

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

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

create(dataObject)

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

Свойства:

coordsystem

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

data_object

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

hidden

Скрывает слой от пользователя в окне управление слоями

hotlink

Наименование атрибута таблицы для хранения гиперссылки.

is_valid

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

label

Метки слоя.

linesDirectionVisibile

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

max_zoom

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

min_zoom

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

nodesVisible

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

opacity

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

overrideStyle

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

selectable

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

showCentroid

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

thematic

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

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 hidden

Скрывает слой от пользователя в окне управление слоями

Наименование атрибута таблицы для хранения гиперссылки.

Возможны следующие варианты

Значение

Описание

axioma://world.tab

Открывает файл или рабочее пространство в аксиоме

addlayer://world

Добавляет слой world в текущую карту

exec://gimp

Запускает на выполнение программу gimp

https://axioma-gis.ru/

Открывает ссылку в браузере

Если префикс отсутствует, то производится попытка запустить по ассоциации.

property is_valid: bool

Проверка на валидность объекта. Слой мог быть удален, как пример, в связи с закрытием таблицы

property label: Label

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

property linesDirectionVisibile: bool

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

property max_zoom: float

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

property min_zoom: float

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

property need_redraw: Signal

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

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

Signal[]

property nodesVisible: bool

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

property opacity: int

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

property overrideStyle: Style

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

property selectable

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

property showCentroid: bool

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

property thematic: ListThematic

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

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