Слой - Layer¶
digraph geometry {
node [shape="box", style=filled, fillcolor="lightgray"]
rankdir=LR
labelloc="t";
label="Иерархия классов слоев карты:";
Layer [ href="#ref-label-layer-class" ];
VectorLayer [ href="#ref-label-vectorlayer-class" ];
RasterLayer [ href="#ref-label-rasterlayer-class" ];
ThematicLayer [ href="thematic.html#ref-label-thematiclayer-class" ];
RangeThematicLayer [ href="thematic.html#ref-label-rangethematiclayer-class" ];
PieThematicLayer [ href="thematic.html#ref-label-piethematiclayer-class" ];
BarThematicLayer [ href="thematic.html#ref-label-barthematiclayer-class" ];
SymbolThematicLayer [ href="thematic.html#ref-label-symbolthematiclayer-class" ];
IndividualThematicLayer [ href="thematic.html#ref-label-individualthematiclayer-class" ];
DensityThematicLayer [ href="thematic.html#ref-label-densitythematiclayer-class" ];
Layer -> VectorLayer;
Layer -> RasterLayer;
Layer -> ThematicLayer;
ThematicLayer -> RangeThematicLayer;
ThematicLayer -> PieThematicLayer;
ThematicLayer -> BarThematicLayer;
ThematicLayer -> SymbolThematicLayer;
ThematicLayer -> IndividualThematicLayer;
ThematicLayer -> DensityThematicLayer;
}-
class
axipy.render.Layer¶ Абстрактный базовый класс для слоя карты.
Для создания нового экземпляра для векторного или растрового источника данных необходимо использовать метод
create(). Для тематических слоев - использовать соответствующие им конструкторы.-
property
bounds¶ Область в которую попадают все данные, которые могут быть отображены на слое.
- Тип результата
-
property
coordsystem¶ Координатная система, в которой находятся данные, отображаемые слоем.
- Тип результата
-
classmethod
create(dataObject)¶ Создает слой на базе открытой таблицы или растра.
- Параметры
dataObject (
DataObject) – Таблица или растр. В зависимости от переданного объекта будет созданVectorLayerилиRasterLayer.
Пример:
# Пример создания слоя на базе таблицы table = io.openfile('world.tab') world = Layer.create(table)
- Тип результата
-
property
data_changed¶ Signal[]Сигнал об изменении контента слоя.- Тип результата
Signal
-
property
data_object¶ Источник данных для слоя.
- Тип результата
-
property
need_redraw¶ Signal[]Сигнал о необходимости перерисовать слой.Пример:
# Подпишемся на обновление контента слоя layer.need_redraw.connect(lambda: print('Update layer'))
- Тип результата
Signal
-
property
opacity¶ Прозрачность слоя в составе карты. Доступные значения от 0 до 100.
- Тип результата
-
property
Векторный слой - VectorLayer¶
-
class
axipy.render.VectorLayer¶ Базовые классы:
axipy.render.LayerСлой, основанный на базе векторных данных.
Примечание
Создание слоя производится посредством метода вызова
Layer.create()-
property
label¶ Метки слоя.
Зададим в качестве формулы метки атрибут «Страна» и запретим перекрытие меток друг другом:
world.label.text = "Страна" world.label.placementPolicy = Label.DISALLOW_OVERLAP
- Тип результата
-
property
overrideStyle¶ Переопределяемый стиль слоя. Если задан как None (по умолчанию), объекты будут отображены на основании оформления источника данных.
Пример:
style_lay = Style.from_mapinfo("Pen (1, 2, 0) Brush (8, 255) Symbol (33,255,14)") world.overrideStyle = style_lay
Для сброса переопределения достаточно задать значение None:
world.overrideStyle = None
- Тип результата
-
property
thematic¶ Перечень тематик для данного слоя.
- Тип результата
-
property
Перечень тематик для векторного слоя - ListThematic¶
-
class
axipy.render.ListThematic¶ Список тематических слоев (тематик) карты.
-
add(lay)¶ Добавить тематику.
- Параметры
lay (
ThematicLayer) – Добавляемый тематический слой.
-
at(idx)¶ Получение тематики по ее индексу.
- Параметры
idx (
int) – Индекс запрашиваемой тематики.- Тип результата
-
move(fromIdx, toIdx)¶ Поменять тематики местами.
-
Метка для векторного слоя - Label¶
-
class
axipy.render.Label¶ Метки слоя. Доступны через свойство векторного слоя
label.
Растровый слой - RasterLayer¶
-
class
axipy.render.RasterLayer¶ Базовые классы:
axipy.render.LayerКласс, который должен использоваться в качестве базового класса для тех слоев, в которых используются свойства отрисовки растрового изображения.
Пример:
# Создание слоя производится посредством вызова метода Layer.create raster = io.openfile('TrueMarble.tif') rasterLayer = Layer.create(raster)