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

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

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

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

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

__eq__(other)

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

__repr__()

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

__str__()

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

__eq__(other: object) bool

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

__repr__() str

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

__str__() str

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

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

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

get_bounds() Rect

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

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

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

Значение

Описание

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: Optional[Style]

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

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

property selectable: bool

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

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