Доброго времени суток, пишу скрипт по конвертации dmf в mif/mid на python, возникла такая проблема: dmf файлы версии 1.1 конвертируются без проблем, но при попытке конвертировать файл dmf версии 1.15 происходит ошибка - когда начинается разбор списка объектов, у меня есть подозрение, что версия 1.15 немного отличается от версии 1.1.
В компании пользуемся Digitals 5.0 (build 31.03.2005), конвертер которого часто создаёт некорректные файлы mif, пропуская строки и забывая экранировать кавычки и спецсимволы в текстовых значениях подписей. Не знаю как работает конвертер в более новых версиях, но приобрести его нет возможности.
Версия 1.15 отличается от 1.10 лишь наличием в карте паролей. Уберите все пароли из карты и пересохраните, получите версию 1.10. Открывать формат сохранения паролей мы не можем, иначе теряется смысл в их использовании.
Обновление стоит не так дорого. Если вы наткнулись на проблемы, которые исправлены в последних обновлениях, то конечно лучше обновиться. В новых версиях были доработки, связанные с экспортом в mid/mif. Более того мы постоянно исправляем выявленные ошибки. Если вы нашли таковые в новой версии, сообщите нам.
Сейчас возникла проблема с подписями. Я пытаюсь их конвертировать в объект Text, надо указать координаты противоположных углов описанного прямоугольника. В описании формата DMF написано, что если в значении параметра встречается символ 5, то этот параметр вынесен в виде подписи и далее идут параметры подписи: смещение подписи от центра размаха по X в м.(смещение от центра объекта? ); размер шрифта в пунктах на местности (что имеется ввиду? ), которой иногда отсутствует, в таких случаях исп. какой то дефолтный размер шрифта?
Насколько я понял, координаты для объекта Text можно получить из размера шрифта. Каким образом это можно сделать?
Вот здесь обсуждались вопросы реализации конверсии путем программирования.
Если что, то я вашему руководству этого не говорил, но обновление стоит чуть более 300 грн, а это человеко/день труда программиста. Хотя, не спорю, с конверсией подписей вопросы есть.