Schema - Схема таблицы
- class axipy.Schema
Базовые классы:
list
Схема таблицы. Представляет собой список атрибутов
axipy.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])Создает экземпляр класса.
Свойства:
Возвращает список имен атрибутов.
Система координат.
Методы:
by_name
(n)Возвращает атрибут по его имени.
Возвращает индекс по имени атрибута
insert
(index, attr)Вставляет атрибут.
- __init__(*attributes: Attribute, coordsystem: Optional[Union[str, CoordSystem]] = None)
Создает экземпляр класса.
- by_name(n: str) Attribute
Возвращает атрибут по его имени. Если такого имени не существует, возвращает None.
- Параметры:
n – Наименование атрибута.
- property coordsystem: Optional[CoordSystem]
Система координат.
- Результат:
None, если СК отсутствует.
См.также
if schema.coordsystem is not None: # проверяет существование pass crs_string = schema.coordsystem # получает schema.coordsystem = 'epsg:4326' # изменяет schema.coordsystem = None # удаляет