TabFileParser ================= .. currentmodule:: axioma.core.dp .. class:: TabFileParser Разборщик текстового файла TAB. Производит разботку файла MapInfo TAB и преобразует его во внутреннюю структуру .. py:method:: TabFileParser() Конструктор .. py:method:: TabFileParser(ts) :param ts: Тип источника данных :type ts: :class:`TypeSource` Конструктор .. csv-table:: Тип источника данных :data:`TypeSource`: :header: "Наименование величины", "Значение", "Описание" tsUnknown, 0, "Неизвестный формат" tsNative, 1, "Формат Mapinfo" tsRaster, 2, "Растр" tsSHP, 3, "Shapefile" tsDBF, 4, "DBF" tsODBC, 5, "ODBC" tsWMS, 6, "WMS" tsWFS, 7, "WFS" tsLinked, 8, "Связанная таблица" tsAscii, 9, "CSV" tsTileServer, 10, "Тайл сервер" tsXls, 11, "Excel" .. py:method:: setTabFile(value) Установка имени TAB файла :param value: Имя файла :type value: :class:`str` .. py:method:: setTabFile(value) Установка имени TAB файла :param value: Имя файла :type value: :class:`~PyQt5.QtCore.QFileInfo` .. py:method:: parse(fileName) Производится разбор файла TAB и преобразование во внутреннюю структуру :param fileName: Наименование файла :type fileName: :class:`str` .. py:method:: parse(fileInfo) Производится разбор файла TAB и преобразование во внутреннюю структуру :param fileInfo: Файл :type fileInfo: :class:`~PyQt5.QtCore.QFileInfo` .. py:method:: typeSource() Тип источника данных :rtype: :class:`TypeSource` .. py:method:: readOnly() Возвращает установленноое в метаданных соотвветствующее свойство :return: True, если да. В противном случае False :rtype: :class:`bool` .. py:method:: rect() Ограничивающий прямоугольник. Берется из метаданных :return: прямоугольник или пустой QRectF, если в метаданных ничего не найдено :rtype: :class:`~PyQt5.QtCore.QRectF` .. py:method:: coordSysString() Поиск в метаданных координатной системы :return: Строка PRJ если найдена или пустая строка :rtype: :class:`str` .. py:method:: setTextCodecAttributes(codec) Установка кодовой страницы для атрибутов :param codec: Кодек :type codec: :class:`~PyQt5.QtCore.QTextCodec` .. py:method:: codecAttributes() Кодек для преобразования строковых атрибутов :rtype: :class:`~PyQt5.QtCore.QTextCodec` .. py:method:: tabTypeSource() Тип источника в текстовом виде :rtype: :class:`str` .. py:method:: metadata() Возвращает метаданные :rtype: :class:`~axioma.core.dp.TabMetadata` .. py:method:: setMetadata(meta) Установка новых метаданных :param meta: Метаданные :type meta: :class:`~axioma.core.dp.TabMetadata` .. py:method:: print(out) Вывод в поток в формате Mapinfo TAB :param out: Ранее созданный объект потока :type out: :class:`~PyQt5.QtCore.QTextStream` .. py:method:: tabFile() Установленное или переданное в метод parse наименование файла :rtype: :class:`~PyQt5.QtCore.QFileInfo` .. py:method:: rasterCoordLinkList() Если в файле присутствуют точки привязки, возвращает их список :rtype: :class:`list` [ :class:`~axioma.core.dp.TabRasterCoordLink` ] .. py:method:: externalFile() Если присутствует ссылка на внешний файл, возвращает его наименование :rtype: :class:`~PyQt5.QtCore.QFileInfo` .. py:method:: setExternalFile(fi) Установка новогоо значения внешнего файла :param fi: Новое мя файла :type fi: :class:`~PyQt5.QtCore.QFileInfo` .. py:method:: rasterLayerProperties() Если это растр, возвращается свойства отображения этого растра :rtype: :class:`~axioma.core.dp.TabRasterLayerProperties` .. py:method:: setTextCodecFile(codec) Установка нового значения кодека файла :param codec: Кодек :type codec: :class:`~PyQt5.QtCore.QTextCodec` .. py:method:: attributeList() Список атрибутивных полей :rtype: :class:`list` [ :class:`~axioma.core.dp.TabField` ] Пример использования: .. code-block:: python filename = 'world.tab' parser = TabFileParser() parser.parse(filename) # Разбираем meta = parser.metadata() # Берем метаданные meta.setValue('\IsReadOnly', 'TRUE') # Меняем значение parser.setMetadata(meta) # Меняем метаданные file = QFile('world_out.tab') # Создаем выходной файлы if (file.open(QIODevice.WriteOnly)): stream = QTextStream(file ) # Сощдаем поток parser.print(stream) # Пишем в поток