TableLayer

class axioma.render.TableLayer

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

Унаследован от: FeatureLayer

От него наследуются: CosmeticLayer

TableLayer(table, parent)

Конструктор

Параметры:
  • table (Table) – Ссылка на таблицу - источник данных.
  • parent (QObject) – Родительский объект.
TableLayer(other)

Копирующий конструктор

Параметры:other (TableLayer) – Исходный слой, на базе которого создается слой.
deleteFeatures(features, description = "")

Удаление существующих записей

Параметры:
  • features (list [Feature]) – Список записей
  • description (str) – Текстовое описание действия
featuresById(idlist, attributes)

Возвращает записи по их идентификаторам в виде итератора

Параметры:
  • idlist (list [ QVariant ]) – Список идентификаторов
  • attributes (list [ str ]) – Список атрибутов, которые должны быть представлены в результирующем курсоре
Результат:

Результирующий итератор

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

Cursor

featuresById(idlist)

Возвращает записи по их идентификаторам в виде итератора

Параметры:idlist (list [ QVariant ]) – Список идентификаторов
Результат:Результирующий итератор
Тип результата:Cursor
featuresInRect(georect, attributes)

Возвращает записи, попадающие в определенный регион в виде итератора

Параметры:
  • georect (GeoRect) – Область карты в координатах cs и сама КС.
  • attributes (list [ str ]) – Список атрибутов, которые должны быть представлены в результирующем курсоре
Результат:

Результирующий итератор

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

Cursor

geometryAttribute()

Геометрический атрибут таблицы.

Результат:Возвращает описание геометрии слоя
Тип результата:GeometryAttributeDefinitionInterface
hasModified()

Присутствуют ли изменения в базовой таблице.

Результат:True, если да
Тип результата:bool
hasModified()

Проверяется, имеются ли изменения в таблице

Результат:True, если да. В противном случае False
Тип результата:bool
insertFeatures(features, description = "")

Вставка новых записей

Параметры:
  • features (list [Feature]) – Список записей
  • description (str) – Текстовое описание действия
isReadOnly()

Доступен ли слой только на чтение.

Результат:True, если слой доступен только на чтение, False, если слой доступен на чтение и запись
Тип результата:bool
sourceTable()

Исходная таблица.

Результат:Ссылка на таблицу
Тип результата:Table
table()

Таблица, на которой базируется слой.

Результат:Ссылка на таблицу
Тип результата:Table
tableSchema()

Схема (структура) таблицы слоя.

Результат:Возвращает структуру таблицы, на которой основан слой
Тип результата:TableSchema
updateFeatures(features, description = "")

Обновление существующих записей

Параметры:
  • features (list [Feature]) – Список записей
  • description (str) – Текстовое описание действия

Пример использования:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
from axioma.core.dp import *
import axioma.gui

widgetService = axioma.app.gui.widgetManager
# Находим нужный нам слой по имени
for mapview in widgetService.allWidgets(axioma.gui.MapView.staticMetaObject):
    layer = mapview.rootLayerGroup().findChildByName("world")
# Проверяем возможность изменения слоя и сохранения в нем информации 
    if layer is not None and not layer.isReadOnly():
# Создаем новый объект для слоя
        new_feature =  Feature.createFeature(layer.tableSchema())
# Заполняем при необходимости данными (пример можно посмотреть в классе HistorySnapshot)
# Вставляем
        layer.insertFeatures([new_feature])
# Сохраняем
        layer.table().commit()