Конвертация из TAB в MIF

Вопросы связанные с работой ГИС Аксиома
Ответить
Аватара пользователя
Владимир В
Сообщения: 10
Зарегистрирован: 25 мар 2024, 06:54

Конвертация из TAB в MIF

Сообщение Владимир В » 09 апр 2024, 11:52

Добрый день.
Возникла задача - написать скрипт конвертации TAB в MIF. В руководстве axipy можно найти информацию по конвертации MIF в TAB, но нет информации по конвертации из TAB в MIF.
Нашел некоторое решение через команды:

table_src = provider_manager.openfile(filetab)
destination = provider_manager.mif.get_destination(filemif, Schema())
destination.export_from_table(table_src, copy_schema=True)

Геометрия и текстовые блоки экспортируются вроде корректно, но пропадают стили. Все стили сводятся к одному типу: Pen (1,2,0) Brush (1,0,16777215) Font ("Carlito",0,0,0).

Вопрос: как прописать команды конвертации TAB в MIF со сохранением стилей?
Аватара пользователя
Александр
Сообщения: 433
Зарегистрирован: 18 апр 2019, 08:21

Re: Конвертация из TAB в MIF

Сообщение Александр » 10 апр 2024, 07:47

Мы подтверждаем, что была обнаружена ошибка, из-за которой стили пропадали.
Наша команда разработчиков уже исправила эту проблему и готова предоставить вам исправленную версию для тестирования.

Пожалуйста, напишите нам на forum@axioma-gis.ru с указанием вашей операционной системы, чтобы мы могли отправить вам ссылку на сборку для тестирования.
Аватара пользователя
Владимир В
Сообщения: 10
Зарегистрирован: 25 мар 2024, 06:54

Re: Конвертация из TAB в MIF

Сообщение Владимир В » 10 апр 2024, 12:44

Протестировал. Не нашел, как задать размер шрифта в стилях текста. При конвертации из Tab в Mif размер шрифта не прописывается: Font ("Arial",1,0,16711680).
Пожелание: по аналогии с MapInfo в Mif-файле прописывать тип объекта Text на отдельной строке, на следующей строке прописывать содержание текстового блока.
Аватара пользователя
Александр
Сообщения: 433
Зарегистрирован: 18 апр 2019, 08:21

Re: Конвертация из TAB в MIF

Сообщение Александр » 10 апр 2024, 14:02

Владимир В писал(а): 10 апр 2024, 12:44 Не нашел, как задать размер шрифта в стилях текста.
Если речь про axipy, то стиль текста задаётся с помощью класса TextStyle
Подробнее см: Text и axipy.Text.create_by_style
При конвертации из Tab в Mif размер шрифта не прописывается: Font ("Arial",1,0,16711680).
Размер шрифта рассчитывается исходя из масштаба.
Совершенно неясно для какого масштаба указывать размер шрифта. Поэтому Аксиома и MapInfo в размере шрифта пишут 0.
Пожелание: по аналогии с MapInfo в Mif-файле прописывать тип объекта Text на отдельной строке, на следующей строке прописывать содержание текстового блока.
Могут быть и другие настройки, обеспечивающие лучший внешний вид mif-файла: использование табуляции или пробелов. Если выбраны пробелы, то стоит определить их количество. Можно оптимизировать файл для достижения наилучшего внешнего вида или минимизации размера. И так далее.
Мы подумаем над реализацией таких настроек.
Ответить