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

class axipy.da.Schema

Базовые классы: list

Схема таблицы. Представляет собой список атрибутов axipy.da.Attribute. Организован в виде list и свойством coordsystem. При задании coordsystem создается геометрический атрибут.

Параметры:
  • *attributes – Атрибуты.

  • coordsystem – Система координат для геометрического атрибута. Может быть задана или в виде строки (подробнее axipy.cs.CoordSystem.from_string()) или как объект СК axipy.cs.CoordSystem.

Пример создания
schema = Schema(
    Attribute.string('one', 25),
    Attribute.integer('two'),
    Attribute.decimal('three'),
    coordsystem='prj:Earth Projection 12, 62, "m", 0'
)
Пример создания из списка
attrs = [Attribute.string('one', 25), Attribute.integer(
    'two'), Attribute.decimal('three')]
# распаковывается список атрибутов
schema = Schema(*attrs, coordsystem='prj:Earth Projection 12, 62, "m", 0')

Имеет стандартные функции работы со списком.

Пример операций
count = len(schema)  # количество атрибутов
attribute = schema[2]  # получение атрибута по индексу
schema[2] = Attribute.string('attr', 30)  # изменяет
del schema[2]  # удаляет
schema.append(Attribute.string('new_attr'))  # добавляет в конец
schema.insert(2, Attribute.integer('num_attr'))  # добавляет по индексу
index = schema.index('new_attr')  # ищет по имени
assert 'new_attr' in schema  # проверяет существование
schema.remove('new_attr')  # удаляет по имени
a = schema.by_name('attr')  # Получение атрибута по его имени

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

__init__(*attributes[, coordsystem])

Создает экземпляр класса.

Свойства:

attribute_names

Возвращает список имен атрибутов.

coordsystem

Система координат.

Методы:

by_name(n)

Возвращает атрибут по его имени.

index_by_name(n)

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

insert(index, attr)

Вставляет атрибут.

__init__(*attributes: Attribute, coordsystem: Optional[Union[str, CoordSystem]] = None)

Создает экземпляр класса.

property attribute_names: List[str]

Возвращает список имен атрибутов.

by_name(n: str) Attribute

Возвращает атрибут по его имени. Если такого имени не существует, возвращает None.

Параметры:

n – Наименование атрибута.

property coordsystem: Optional[CoordSystem]

Система координат.

Результат:

None, если СК отсутствует.

См.также

axipy.da.Table.is_spatial

Пример использования
if schema.coordsystem is not None:  # проверяет существование
    pass
crs_string = schema.coordsystem  # получает
schema.coordsystem = 'epsg:4326'  # изменяет
schema.coordsystem = None  # удаляет
index_by_name(n: str) int

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

Параметры:

n – Наименование атрибута.

insert(index: int, attr: Attribute)

Вставляет атрибут.

Параметры:
  • index – Индекс, по которому производится вставка.

  • attr – Атрибут.