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)Создает слой на базе открытой таблицы или растра.
Свойства:
Координатная система, в которой находятся данные, отображаемые слоем.
Источник данных для слоя.
Скрывает слой от пользователя в окне управление слоями
Наименование атрибута таблицы для хранения гиперссылки.
Проверка на валидность объекта.
Метки слоя.
Показ направлений линий.
Максимальная ширина окна, при котором слой отображается на карте.
Минимальная ширина окна, при котором слой отображается на карте.
Показ узлов линий и полигонов.
Прозрачность слоя в составе карты.
Переопределяемый стиль слоя.
Управляет доступностью для выбора объектов слоя, если это поддерживается.
Показ центроидов на слое.
Перечень тематик для данного слоя.
Наименование слоя.
Управляет видимостью слоя.
Будет ли использоваться ограничение по отображению.
Методы:
Возвращает область, в которую попадают все данные, которые могут быть отображены на слое.
Сигналы:
Сигнал об изменении контента слоя.
Сигнал о необходимости перерисовать слой.
- 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_object: DataObject
Источник данных для слоя.
- get_bounds() Rect
Возвращает область, в которую попадают все данные, которые могут быть отображены на слое.
Скрывает слой от пользователя в окне управление слоями
- property hotlink: str
Наименование атрибута таблицы для хранения гиперссылки.
Значение
Описание
axioma://world.tab
Открывает файл или рабочее пространство в аксиоме
addlayer://world
Добавляет слой world в текущую карту
exec://gimp
Запускает на выполнение программу gimp
Открывает ссылку в браузере
Если префикс отсутствует, то производится попытка запустить по ассоциации.
- property is_valid: bool
Проверка на валидность объекта. Слой мог быть удален, как пример, в связи с закрытием таблицы
- property label: Label
Метки слоя. В качестве формулы может использоваться или наименование поля таблицы или выражение.
- property max_zoom: float
Максимальная ширина окна, при котором слой отображается на карте. Учитывается только при установленном zoom_restrict=True
- property min_zoom: float
Минимальная ширина окна, при котором слой отображается на карте. Учитывается только при установленном zoom_restrict=True
- property overrideStyle: Style
Переопределяемый стиль слоя. Если задан как None (по умолчанию), объекты будут отображены на основании оформления источника данных.
- property selectable
Управляет доступностью для выбора объектов слоя, если это поддерживается.
- property thematic: ListThematic
Перечень тематик для данного слоя. Работа с тематическими слоями похожа на работу со списком list.
# Создадим тематический слой range1 = RangeThematicLayer("Население") # Добавим в основной слой world.thematic.append(range1) # Получим добавленный тематический слой range1 = world.thematic[0] # Просмотр всех тематик слоя for t in world.thematic: print('thematic:', t.title)
- property visible
Управляет видимостью слоя.
Выключение видимости верхнего слоя для активной карты:
if view_manager.active is not None: view_manager.active.map.layers[0].visible = False