VectorLayer - Векторный слой¶
-
class
axipy.render.
VectorLayer
¶ Базовые классы:
axipy.render.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
Attributes:
Координатная система, в которой находятся данные, отображаемые слоем.
Signal[]
Сигнал об изменении контента слоя.Источник данных для слоя.
Проверка на валидность объекта.
Метки слоя.
Показ направлений линий.
Максимальная ширина окна, при котором слой отображается на карте.
Минимальная ширина окна, при котором слой отображается на карте.
Signal[]
Сигнал о необходимости перерисовать слой.Показ узлов линий и полигонов.
Прозрачность слоя в составе карты.
Переопределяемый стиль слоя.
Показ центроидов на слое.
Перечень тематик для данного слоя.
Наименование слоя.
Управляет видимостью слоя.
Будет ли использоваться ограничение по отображению.
Methods:
create
(dataObject)Создает слой на базе открытой таблицы или растра.
Возвращает область, в которую попадают все данные, которые могут быть отображены на слое.
-
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'))
- Тип результата
-
property
data_changed
¶ Signal[]
Сигнал об изменении контента слоя.- Тип результата
Signal
-
property
data_object
¶ Источник данных для слоя.
- Тип результата
-
get_bounds
()¶ Возвращает область, в которую попадают все данные, которые могут быть отображены на слое.
- Тип результата
-
property
is_valid
¶ Проверка на валидность объекта. Слой мог быть удален, как пример, в связи с закрытием таблицы
- Тип результата
-
property
label
¶ Метки слоя. В качестве формулы может использоваться или наименование поля таблицы или выражение.
- Тип результата
-
property
max_zoom
¶ Максимальная ширина окна, при котором слой отображается на карте. Учитывается только при установленном zoom_restrict=True
- Тип результата
-
property
min_zoom
¶ Минимальная ширина окна, при котором слой отображается на карте. Учитывается только при установленном zoom_restrict=True
- Тип результата
-
property
need_redraw
¶ Signal[]
Сигнал о необходимости перерисовать слой.- Тип результата
Signal
-
property
opacity
¶ Прозрачность слоя в составе карты. Доступные значения от 0 до 100.
- Тип результата
-
property
overrideStyle
¶ Переопределяемый стиль слоя. Если задан как None (по умолчанию), объекты будут отображены на основании оформления источника данных.
- Тип результата
-
property
thematic
¶ Перечень тематик для данного слоя. Работа с тематическими слоями похожа на работу со списком 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
-
property