Table - Абстрактный класс таблицы

class axioma.core.dp.Table

Абстрактный класс таблицы

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

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

  • EditableTable

  • SelectionTable

    Table()

    Конструктор класса

    Table(table)

    Конструктор класса. Создать копию таблицы.

    Параметры:table (Table) – таблица
    attributeNames()

    Список имен атрибутов

    Тип результата:list [str]
    tableSchema()

    Схема таблицы

    Тип результата:TableSchema
    coordSystem()

    Координатная система таблицы. Если несколько, берется первая попавшаяся

    Результат:координатная система таблицы, либо None
    Тип результата:CoordSystem
    sourceOfChanges()

    Определяет таблицу, данные из которой являются источником изменений в текущей таблице

    Тип результата:Table
    featureIdComparator()

    Получение функтора сравнения двух идентификаторов записей в этой таблице. Используется для сортировки записей.

    Результат:функтор сравнения двух идентификаторов
    Тип результата:VariantComparator
    sourceTable()

    Изначальная таблица

    Тип результата:Table
    allFeatures()

    Все записи таблицы

    Тип результата:list [Feature]
    selectToFeatureList(query, range=PageRange())

    Записи, удовлетворяющие запросу query

    Параметры:
    • query (TableQuery) – запрос к таблице
    • range (PageRange) – диапазон страниц
    Результат:

    Список записей

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

    list [Feature]

    selectFeaturesById(ids, attribute_names=list(), range=PageRange())

    Получить записи по списку идентификаторов

    Параметры:
    • ids (list [QVariant]) – идентификаторы запрашиваемых записей
    • attribute_names (list [str]) – имена запрашиваемых атрибутов записей
    • range (PageRange) – диапазон страниц
    Результат:

    Список записей

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

    list [Feature]

    Пример использования:
    # Восстановление; получение записей с полным количеством атрибутов
    
    # ...
    # features - записи с усеченным набором атрибутов
    # ...
    
    ids = [feature.id() for feature in features]
    full_features = table.selectFeaturesById(ids, table.attributeNames())
    
    selectFeaturesInMbr(rect, attribute_names=list(), geom_attr_name=str(), range=PageRange())

    Получить записи в прямоугольнике. Сравнение производится с ограничивающим прямоугольником объекта. Для более точного соотвествия необходимо произвести дополнительную проверку.

    Параметры:
    • rect (GeoRect) – географический прямоугольник, в границах которого выбираются объекты (записи)
    • attribute_names (list [str]) – имена запрашиваемых атрибутов записей
    • geom_attr_name (str) – имя атрибута с геометрией; если пустая строка, будет выполнена попытка найти атрибут; если несколько - берется первый попавшийся, если нет - возвращается пустой список записей
    • range (PageRange) – диапазон страниц
    Результат:

    Список записей

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

    list [Feature]

    Пример использования:
    # ...
    # coord_system - Долгота-Широта
    # ...
    
    georect = GeoRect(QRectF(-180, 0, 90, 90), coord_system)
    features = table.selectFeaturesInMbr(georect, table.attributeNames())
    
    hasDataChangeConnection()

    Имеет ли кто-то подписку на сигнал изменения данных

    Результат:True, если имеет, иначе - False
    Тип результата:bool
    contentType()

    Тип контента

    Тип результата:ContentType
    dataReset()

    [signal] Изменились данные таблицы

    schemaChanged()

    [signal] Изменилась схема таблицы