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' ) # На базе этой схемы можно создать таблицу definition = { 'src': '', 'schema': schema } table = provider_manager.create(definition)
attrs = [Attribute.string('one', 25), Attribute.integer( 'two'), Attribute.decimal('three')] # распаковывается список атрибутов schema = Schema(*attrs, coordsystem='prj:Earth Projection 12, 62, "m", 0')
Имеет стандартные функции работы со списком.
# Вставка атрибута на 2 позицию schema.insert(2, Attribute.string('attr_name')) # Количество атрибутов count = len(schema) # Получение атрибута по индексу attribute = schema[2] # Получение атрибута по имени attribute = schema['attr_name'] # Изменение атрибута по индексу schema[2] = Attribute.string('attr', 30) # Изменение атрибута по имени schema['name_attribute'] = Attribute.string('attr', 30) # Удаление атрибута по его индексу del schema[2] # Аналогичная команда удаления атрибута schema.delete(2) # Удаление атрибута по имени schema.delete('Население') # Добавление атрибута в конец schema.append(Attribute.string('new_attr')) # Вставка по индексу schema.insert(2, Attribute.integer('num_attr')) # Поиск атрибута по имени index = schema.index('new_attr') # проверяет существование exists = 'new_attr' in schema # Удаление по имени schema.remove('new_attr') # Получение атрибута по его имени a = schema.by_name('attr')
См.также
Изменение структуры существующей таблицы см.
Table.schema
Конструктор класса:
__init__
(*attributes[, coordsystem])Свойства:
Возвращает список имен атрибутов.
Система координат.
Методы:
by_name
(n)Возвращает атрибут по его имени.
delete
(index)Удаляет атрибут.
Возвращает индекс по имени атрибута
insert
(index, attr)Вставляет атрибут.
- 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 # удаляет