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

class axioma.core.dp.TableSchema

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

TableSchema()

Конструктор по умолчанию, создает пустую схему

TableSchema(attr_list)

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

Параметры:attr_list (list [AttributeDefinition]) – список атрибутов
allIndexesExcludingNames(names)

Возвращает массив индексов всех атрибутов в схеме, кроме атрибутов с указанными именами names

Параметры:names (list [str]) – список имен атрибутов
Результат:массив индексов
Тип результата:list [int]
at(index)

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

Параметры:index (int) – индекс
Тип результата:AttributeDefinition
attributeNames()

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

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

Имеет ли схема атрибуты

Тип результата:bool
static emptyInstance()

Возвращает ссылку на глобальный экземпляр пустой схемы

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

Получить индекс атрибута с геометрией. Если несколько - возвращает первый по списку. Если геометрических атрибутов не найдено, возвращает -1.

Тип результата:int
geometryIndexes()

Получить список индексов всех геометрических атрибутов

Тип результата:list [int]
getByName(name, c = Qt.CaseSensitive)

Получить атрибут по имени

Параметры:
  • name (str) – имя атрибута
  • c (Qt.CaseSensitivity) – Чувствительность к регистру. По умолчанию Qt.CaseSensitive
Тип результата:

AttributeDefinition

hasName(name)

Имеет ли схема атрибут с именем name

Параметры:name (str) – имя искомого атрибута
Тип результата:bool
indexOf(name)

Получить индекс атрибута с заданным именем

Параметры:name (str) – имя атрибута
Тип результата:int
name(index)

Получить имя атрибута с заданным индексом

Параметры:index (int) – искомый индекс
Тип результата:str
numAttributes()

Количество атрибутов

Тип результата:int
styleIndex()

Получить индекс атрибута со стилем. Если несколько - возвращает первый по списку. Если стилей не найдено, возвращает -1.

Тип результата:int
styleIndexes()

Получить список индексов всех атрибутов со стилем

Тип результата:list [int]
tryIndexOf(name)

Получить индекс атрибута с заданным именем

Параметры:name (str) – имя атрибута
Тип результата:int
tryIndexOf(id)

Получить индекс атрибута с заданным идентификатором

Параметры:id – идентификатор
Результат:индекс атрибута, либо -1
Тип результата:int
tryIndexesOfNames(names)

Возвращает массив, в котором i-й элемент соответствует позиции атрибута с именем names[i] в схеме

Параметры:names (list [str]) – список имен атрибутов
Результат:массив индексов
Тип результата:list [int]

ModifiedTableSchema - Модифицированная схема таблицы

class axioma.core.dp.ModifiedTableSchema

Задаёт схему таблицы, получаемую из исходной схемы путём перестановки или замены атрибутов.

ModifiedTableSchema()

Конструктор по умолчанию, создает пустую схему

ModifiedTableSchema(schema)

Конструктор. Создаёт новую схему на основе исходной схемы без изменений.

Параметры:schema (TableSchema) – Схема, на основании которой строится данный экземпляр
ModifiedTableSchema(schema, requestedNames)

Конструктор на основе списка атрибутов. Создаёт схему из атрибутов исходной схемы в том порядке, в котором их имена перечислены в списке requestedNames.

Параметры:
  • schema (TableSchema) – Схема, на основании которой строится данный экземпляр
  • requestedNames (list [str]) – Список атрибутов. Имена несуществующих атрибутов и незатребованные атрибуты пропускаются.
indexesInSource()

Возвращает список, в котором каждому порядковому индексу для новой схемы присвоен номер, который занимал соответствующий атрибут в старой схеме, либо -1, если такого элемента не было в старой схеме

Результат:список индексов
Тип результата:list [int]
indexesInSource(columnIndex)

Возвращает индекс, который занимал атрибут с индексом columnIndex в старой схеме, либо -1, если такого элемента не было в старой схеме

Параметры:columnIndex (int) – Индекс в текущей схеме
Результат:Индекс в исходной схеме
Тип результата:list [int]

Пример создания пользовательской схемы:

from axioma.core.dp import *
from axioma.cs import CoordSysFactory

# Описание геометрического атрибута
gd = GeometryAttributeDefinition('geometry', CoordSysFactory.defaultCoordSysFactory().LatLongCoordSystem())
# Описание атрибута с оформлением
rd = RenditionAttributeDefinition()
# Описание семантического атрибута (строковый тип с максимальной длиной 30)
sd = SimpleAttributeDefinition('semantic', QMetaType.QString, 30)
# Создание схемы на базе списка атрибутов
schema = TableSchema([gd, rd, sd])
print(schema.attributeNames())