DataObject - Объект данных
![digraph geometry {
node [shape="box", style=filled, fillcolor="lightgray"]
rankdir=LR
labelloc="t";
label="Иерархия классов:";
DataObject [ href="DataObject.html#ref-label-dataobject-class" ];
Table [ href="Table.html#ref-label-table-class" ];
QueryTable [ href="QueryTable.html#ref-label-querytable-class" ];
SelectionTable [ href="SelectionTable.html#ref-label-selectiontable-class" ];
CosmeticTable [ href="CosmeticTable.html#ref-label-cosmetictable-class" ];
Raster [ href="Raster.html#ref-label-raster-class" ];
RasteredTable [ href="RasteredTable.html#ref-label-rasteredtable-class" ];
DataObject -> Table;
DataObject -> Raster;
DataObject -> RasteredTable;
Table -> CosmeticTable;
Table -> SelectionTable;
Table -> QueryTable;
}](../../_images/graphviz-9ef52b121fd2bd6d0038f27b2f39d9383e48ba70.png)
- class axipy.DataObject
Объект данных.
Открываемые объекты из источников данных представляются объектами этого типа. Возможные реализации: таблица, растр, грид, чертеж, панорама, и так далее.
Пример:
table = provider_manager.openfile('path/to/file.tab') ... table.close() # Закрывает таблицу
Для закрытия объекта данных можно использовать менеджер контекста - выражение
with. В таком случае таблица будет закрыта при выходе из блока. См.close().Пример:
with provider_manager.openfile('path/to/file.tab') as raster: ... # При выходе из блока растр будет закрыт
Свойства:
Возвращает путь к файлу таблицы.
Признак того, что объект данных является пространственным.
Возвращает признак валидности объекта.
Название объекта данных.
Дополнительные свойства объекта данных.
Провайдер изначального источника данных.
Методы:
close([wait])Закрыть объект данных.
Сигналы:
Сигнал оповещения об удалении объекта.
Специальные методы:
Вход в контекст (используется с оператором
with).__eq__(other)Оператор равенства (==).
__exit__(exception_type, exception_value, ...)Закрывает таблицу при выходе из блока кода
with.__repr__()Официальное строковое представление объекта при вызове
repr().Исключения:
Не удалось дождаться полного закрытия объекта данных в рамках установленного времени.
- exception CloseTimeout
Не удалось дождаться полного закрытия объекта данных в рамках установленного времени. Используется в функции
axipy.Table.close().
- __enter__() DataObject
Вход в контекст (используется с оператором
with).
- __exit__(exception_type: Optional[Type[BaseException]], exception_value: Optional[BaseException], traceback: Optional[TracebackType]) Optional[bool]
Закрывает таблицу при выходе из блока кода
with.
- close(wait: bool = True)
Закрыть объект данных.
- Параметры:
wait –
Будет ли метод ждать полного закрытия объекта данных. Если передать значение wait=True (по умолчанию), метод будет ждать полного закрытия объекта и освобождения всех связанных ресурсов. Если объект не был полностью закрыт в течение 1 минуты, будет вызвано исключение
axipy.DataObject.CloseTimeout. Если передать значение wait=False, метод отметит объект на закрытие, не дожидаясь полного освобождения ресурсов.Полное закрытие объекта данных означает что после выхода из функции, все связанные с объектом ресурсы, например файлы объекта данных, будут гарантированно освобождены.
- Исключение:
RuntimeError – Ошибка закрытия объекта данных.
CloseTimeout – Не удалось дождаться полного закрытия объекта данных в рамках установленного времени.
Примечание
Объект данных не всегда может быть сразу закрыт. Например, для таблиц используется транзакционная модель редактирования и перед закрытием необходимо сохранить или отменить изменения, если они есть. См.
Table.is_modified.