# TabDataProvider - Провайдер MapInfo

class axipy.TabDataProvider

  Базовые классы: `DataProvider`

  Провайдер MapInfo.

  Примечание

  Ссылку на провайдер можно получить через глобальную переменную `axipy.provider_manager.tab`.

  Свойства:

  `id` | Идентификатор провайдера.

  Методы:

  `change_coordsystem`(filepath, coordsystem) | Изменяет координатную систему в TAB файле без изменения самих данных.
  `copy_table_files`(src_filepath, dest_filepath) | Копирует все связанные файлы с данным файлом в файловой системе под новым именем.
  `create_open`(filepath, schema) | Создает и открывает объект данных.
  `file_extensions`() | Список поддерживаемых расширений файлов.
  `get_destination`(filepath, schema) | Создает назначение объекта данных.
  `get_source`(filepath[, alias]) | Создает источник данных.
  `open`(filepath[, alias]) | Открывает объект данных.
  `remove_table_files`(filepath) | Удаляет все связанные файлы с данным файлом в файловой системе.
  `rename_table_files`(src_filepath, dest_filepath) | Переименовывает файл и все связанные файлы с ним.

  Специальные методы:

  `__repr__`() | Официальное строковое представление объекта при вызове `repr()`.

  __repr__() → str

    Официальное строковое представление объекта при вызове `repr()`.

  change_coordsystem(filepath: Union[str, Path], coordsystem: CoordSystem)

    Изменяет координатную систему в TAB файле без изменения самих данных. Меняется непосредственно сам файл, так что рекомендуется сделать копию.

    Параметры:

      - filepath – Путь к файлу TAB (имя файла).

      - coordsystem – Новое значение СК.

    Исключение:

      RuntimeError – При возникновении ошибки

    Пример использования

        in_filepath = 'path/to/input_filename.tab'
        cs = CoordSystem.from_prj('10, 104, 7, 0')
        provider_manager.tab.change_coordsystem(in_filepath, cs)

  copy_table_files(src_filepath: Union[str, Path], dest_filepath: Union[str, Path])

    Копирует все связанные файлы с данным файлом в файловой системе под новым именем.

    Параметры:

      - src_filepath – Путь к исходному файлу TAB (имя файла).

      - dest_filepath – Путь к выходному файлу TAB (имя файла).

    Исключение:

      RuntimeError – При возникновении ошибки

    Пример использования

        src_filepath = 'path/to/input_filename.tab'
        dest_filepath = 'path/to/output_filename.tab'
        provider_manager.tab.copy_table_files(src_filepath, dest_filepath)

  create_open(filepath: str, schema: Schema) → Table

    Создает и открывает объект данных.

    Параметры:

      - filepath – Путь к файлу.

      - schema – Схема таблицы.

  file_extensions() → List[str]

    Список поддерживаемых расширений файлов.

    Результат:

      Пустой список для не файловых провайдеров.

  get_destination(filepath: str, schema: Schema) → Destination

    Создает назначение объекта данных.

    Параметры:

      - filepath – Путь к файлу.

      - schema – Схема таблицы.

  get_source(filepath: Union[str, Path], alias: Optional[str] = None) → Source

    Создает источник данных.

    Параметры:

      - filepath – Путь к файлу.

      - alias – Псевдоним для открываемой таблицы.

  property id: str

    Идентификатор провайдера.

  open(filepath: str, alias: Optional[str] = None) → Table

    Открывает объект данных.

    Параметры:

      - filepath – Путь к файлу.

      - alias – Псевдоним для открываемой таблицы.

  remove_table_files(filepath: Union[str, Path])

    Удаляет все связанные файлы с данным файлом в файловой системе.

    Параметры:

      filepath – Путь к файлу TAB (имя файла).

    Исключение:

      RuntimeError – При возникновении ошибки

    Пример использования

        filepath = 'path/to/input_filename.tab'
        provider_manager.tab.remove_table_files(filepath)

  rename_table_files(src_filepath: Union[str, Path], dest_filepath: Union[str, Path])

    Переименовывает файл и все связанные файлы с ним.

    Параметры:

      - src_filepath – Путь к исходному файлу TAB (имя файла).

      - dest_filepath – Путь к новому имени файла TAB (имя файла). Файл не должен существовать.

    Исключение:

      RuntimeError – При возникновении ошибки

    Пример использования

        src_filepath = 'path/to/old_filename.tab'
        dest_filepath = 'path/to/new_filename.tab'
        provider_manager.tab.rename_table_files(src_filepath, dest_filepath)