Table - Таблица¶
- 
class axipy.da.Table¶
- Базовые классы: - axipy.da.DataObject- Таблица. - Менеджер контекста сохраняет изменения и закрывает таблицу. - Пример: - with provider_manager.openfile('path/to/file.tab') as table: ... # При выходе из блока таблица будет сохранена и закрыта - См.также - 
commit()¶
- Сохраняет изменения в таблице. - Если таблица не содержит несохраненные изменения, то команда игнорируется. - Исключение
- RuntimeError – Невозможно сохранить изменения. 
 
 - 
count(bbox=None)¶
- Возвращает количество записей, удовлетворяющих параметрам. - Данный метод является наиболее предпочтительным для оценки количества записей. При этом используется наиболее оптимальный вариант выполнения запроса для каждого конкретного провайдера данных. 
 - 
property data_changed¶
- Сигнал об изменении данных таблицы. Испускается когда были изменены данные таблицы. Пример подписки на изменение таблицы.¶- table = provider_manager.openfile(filepath) table.data_changed.connect(lambda : print('Таблица была изменена.')) - Тип результата
- Signal
 
 - 
insert(features)¶
- Вставляет записи в таблицу. 
 - 
items(bbox=None, ids=None)¶
- Запрашивает записи, удовлетворяющие параметрам. В качестве фильтра может быть указан либо ограничивающий прямоугольник, либо перечень идентификаторов в виде списка. 
 - 
itemsByIds(ids)¶
- Запрашивает записи по списку - listс идентификаторами записей, либо перечень идентификаторов в виде списка. Идентификаторы несохраненных записей имеют отрицательные значения.- Параметры
- Тип результата
- Результат
- Итератор по записям. 
 Пример запроса по списку идентификаторов.¶- table_world = provider_manager.openfile(filepath) items = table_world.itemsByIds([11,27,41,163,203]) for f in items: print('Feature id={}. Страна={}'.format(f.id, f['Страна'])) # Просмотр идентификаторов всех записей, включая несохраненные for f in table_world.items(): print( f.id, f['Страна'] ) 
 - 
itemsInObject(obj)¶
- Запрашивает записи с фильтром по геометрическому объекту. - Параметры
- obj ( - Geometry) – Геометрия. Если для нее не задана СК, используется СК таблицы.
- Тип результата
- Результат
- Итератор по записям. 
 Пример запроса по полигону¶- table_world = provider_manager.openfile(filepath) v = 2000000 polygon = Polygon((-v, -v), (-v, v), (v, v), (v, -v)) items = table_world.itemsInObject(polygon) for f in items: print('Feature id={}. Страна={}'.format(f.id, f['Страна'])) 
 - 
itemsInRect(bbox)¶
- Запрашивает записи с фильтром по ограничивающему прямоугольнику. - Параметры
- bbox ( - Union[- Rect,- QRectF,- tuple]) – Ограничивающий прямоугольник.
- Тип результата
- Результат
- Итератор по записям. 
 Пример запроса (таблица в проекции Робинсона)¶- table_world = provider_manager.openfile(filepath) v = 2000000 items = table_world.itemsInRect(Rect(-v, -v, v, v)) for f in items: print('Feature id={}. Страна={}'.format(f.id, f['Страна'])) 
 - 
redo()¶
- Производит откат на один шаг вперед. При этом возвращается состояние до последней отмены. 
 - 
remove(ids)¶
- Удаляет записи из таблицы. 
 - 
restore()¶
- Отменяет несохраненные изменения в таблице. - Если таблица не содержит несохраненные изменения, то команда игнорируется. 
 - 
property schema_changed¶
- Сигнал об изменении схемы таблицы. Испускается когда была изменена структура таблицы. - Тип результата
- Signal
 
 - 
property supported_operations¶
- Доступные операции. Пример использования¶- flags = table.supported_operations assert flags == SupportedOperations.ReadWrite assert flags & SupportedOperations.Insert assert SupportedOperations.Write in flags - Тип результата
 
 - 
undo()¶
- Производит откат на один шаг назад. 
 - 
update(features)¶
- Обновляет записи в таблице. - При обновлении проверяется - Feature.id. Если запись с таким идентификатором не найдена, то она пропускается.Пример использования¶- modified_feature = Feature({'attr_name': 'new_value'}, id=1) table.update(modified_feature) table.commit() - См.также 
 
-