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

class axipy.da.Schema(*attributes, coordsystem=None)

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

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

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

  • coordsystem (Union[str, CoordSystem, None]) – Система координат для геометрического атрибута. Может быть задана или в виде строки (подробнее 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')  # удаляет по имени
property attribute_names

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

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

List[str]

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  # удаляет
insert(index, attr)

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

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

  • attr (Attribute) – Атрибут.