Страница 3 из 3

Re: чертить вместо Панорамы в Автокад Мап

Добавлено: 10 фев 2014, 15:36
АлексЮстасу
Еще выдается ошибка - "описание класса не соответствует зарегистрированному классу", если в файле поле не имеет значения по умолчанию, а в него копируется объект с тем же OD, в котором поле имеет значение по умолчанию. Правда, OD при этом не теряется.

Re: чертить вместо Панорамы в Автокад Мап

Добавлено: 17 фев 2014, 16:37
АлексЮстасу
Еще засада - Мапинфо не импортирует mif/mid в TAB, если размер описания таблицы (т.е. OD) больше 4000 байт.
Ноги растут в основном от типа данных в OD char, который всегда 256 символов.
У меня импорт в OD Мапинфо из mif/mid прошел, когда оставил только 17 полей в OD.
Пользователь ограничить размер символьных полей не может. И сами OD в файлах занимают много лишнего места, и при передаче данных проблемы.

Re: чертить вместо Панорамы в Автокад Мап

Добавлено: 17 фев 2014, 16:52
Донецков
Аналогичный затык в MI происходит и при других условиях, при том же конвертировании XML Росреестра в MIF/MID с помощью ряда конверторов..., т.е. это проблема чисто MI

Re: чертить вместо Панорамы в Автокад Мап

Добавлено: 17 фев 2014, 17:26
АлексЮстасу
Донецков писал(а):т.е. это проблема чисто MI
Да, конечно, мапинфовская.
Я немного в другом разрезе - что OD занимают из-за их описания символьных полей слишком много места впустую.

Re: чертить вместо Панорамы в Автокад Мап

Добавлено: 17 фев 2014, 19:18
trir
Это вообще специфика всех файловых (не БД) ГИС-форматов. Другое дело, что OD - это простой кирпич, с минимумом типов данных и отсутствием возможности регулирования размера поля, на другой стороне - БД с возможность определения размера поля до байта... со всеми вытекающими, например знанием SQL :D

Re: чертить вместо Панорамы в Автокад Мап

Добавлено: 17 фев 2014, 19:36
АлексЮстасу
Есть и промежуткие варианты: в том же Мапинфо символьное поле задается с числом символов.
По поводу описания полей OD еще: есть тип вещественный, но нет "десятичного" - определять число знаков после запятой, для округления.

Re: чертить вместо Панорамы в Автокад Мап

Добавлено: 18 фев 2014, 01:50
АлексЮстасу
В целом коварный план такой:
- написать приложение к Мап на основе Object Data,
- использовать технологию на цепочно-узловой (линейно-узловой) структуре данных.
Приложение к Мап, состоящее примерно из 50+- команд:
- для администрирования самих ОД,
- для манипулирования данными с ОД,
- для заполнения полей ОД,
- для черчения с ОД,
- для преобразований графических данных с сохранением ОД,
- для поиска по ОД,
- для работы с топологиями,
- для экспорта по ОД, экспорта по топологиям.
и т.п.
Включая:
- меню объектов картографирования - для вычерчивание определенными графическими элементами с соответствующими ОД, соответствующих объектам картографирования,
- табличное отображение ОД, синхронизированное с графикой, с возможностями редактирования значений в полях,
- оптовое присвоение ОД на основе файла-описания (классификатора), оптовые проверки взаимного соответствия графики и ОД по этому же файлу-описанию.
- проверку допустимости значений в полях ОД.
Меню объектов, оптовое присвоение и проверку соответствий, проверки допустимости значений логично бы сделать на основе одного и того же, единственного для каждого проекта файла-описания (классификатора).

Уже те команды для ОД, о которых я сообщал в соседних темах, позволяют производить многие действия оч. шустро. А когда добавится меня объектов для черчения с ОД, да появится работа с содержанием ОД в таблицах - вообще сказка :D

Re: чертить вместо Панорамы в Автокад Мап

Добавлено: 23 фев 2014, 01:52
Franklin1967
VisualBasic в помощь, сильная штука кстати !

Re: чертить вместо Панорамы в Автокад Мап

Добавлено: 23 фев 2014, 15:58
Донецков
В последних версиях от VB отказываются в пользу NET...

Re: чертить вместо Панорамы в Автокад Мап

Добавлено: 25 фев 2014, 01:43
АлексЮстасу
Сейчас у меня есть возможность только на ObjectArx.
Противопоказания, сложности с программками на ObjectArx какие-то существуют?

Re: чертить вместо Панорамы в Автокад Мап

Добавлено: 05 май 2014, 02:04
АлексЮстасу
Повторюсь, что про Панораму знаю оч. мало.
Панорама имеет свои особенности, которые нужно учесть при подготовке для нее данных в ином ПО:
1. Определенный порядок вершин полилиний: у горизонталей и изобат - слева повышение, у водотоков и лотков - начало выше, у обозначений склонов - слева верх, у границ площадных объектов - слева объект, у объектов, связанных с "главными" для них объектами - начало от "главного".
2. Замкнутость границ площадных объектов. Причем, нужно представлять объекты только цельными замкнутыми полилиниями для доступа к управлению последовательностью вершин (см. п.1).
3. Передачу "векторных" объектов.
4. ... ???
Еще какая-то специфика есть? В подготовке вектора, семантики или еще что-то?

Порядок вершин можно подготавливать программно/вручную.
Для программной подготовки у изолиний, водотоков, изображеиий склонов и т.п. в общем случае (не всегда есть достаточная модель рельефа) чаще всего нет полных данных. Т.е. все программно не изменить.
Программное изменение порядка вершин для площадных объектов вроде бы возможно полное - для границ площадных объектов вроде бы есть однозначность?
Изменять порядок вершин для объектов, связанных с "главными", возможно, реально только вручную.
Можно еще попробовать сделать программный показ порядка вершин для облегчения ручной подготовки. Но само ручное изменение порядка вершин все равно весьма трудоемко. А программ подобных в не припомню - нужно создавать?

Отображение границ площадных объектов замкнутыми контурами требует заметных ресурсов - и трудоемко, и в разы утяжеляет файлы. Но, допустим, через "топологии" такие контуры делаются.

"Векторные" объекты Панорамы могут отображаться в Автокаде разными типами элементов - от отрезков и блоков (бергштрихи или т.п.) до динамических блоков (в т.ч. те же бергштрихи). Блоки нужно перед конвертацией разбивать? Достаточно ли, что первая точка линии того же бергштриха будет на горизонтали?

Re: чертить вместо Панорамы в Автокад Мап

Добавлено: 06 дек 2014, 19:40
АлексЮстасу
Докладываю:
Сделал сейчас в своих программах под AutoCAD Map 3d по данным аэросъемки с нуля реальный небольшой с несложной нагрузкой проект в 1:2000, который нужно сдавать в dxf и в sxf.
Мое "приложение к приложению" работает на основе Object Data.

Черчение, определение элементов как объекты - почти на отлично.
Формирование площадных объектов - точно неуд, 80% всего затраченного времени.
Ввод значений характеристик - удовлетворительно, хорошо.
Экспорт в mif/mid - на хорошо или отлично.
В целом же - вполне идея реалистична, если над решениями есть возможности работать.

Самых узких мест два - подготовка проекта и формирование площадных объектов.

Подготовка проекта включает перевод классификатора Панорамы в вид, понятный моим программам, подготовка описаний слоев, блоков и т.п. под панорамовские требования и классификатор. Особенно классификатор трудоемко описывать, но зато сделать это достаточно один раз, и им можно пользоваться и многим, и столько, сколько в Панораме его не изменят. Как и соответствующие шаблоны, блоки и т.п.

Формирование площадных объектов слабовато обеспечено в AutoCAD Map 3d, а собственных инструментов еще нет.
AutoCAD Map 3d содержит Drawing cleanup - мощный инструмент для топологической подготовки чертежей и создание "топологий", топологических моделей; оба средства опираются на цепочно-узловую топологическую модель. Мои программы также поддерживают эту модель за счет возможности определять один элемент как несколько разных объектов.
Но, волшебным образом, ни Drawing cleanup, ни проверки при создании "топологий" AutoCAD Map 3d не находят самое главное для формирования площадных объектов - разрывы в границах. То, что в других средах называется "свободные концы", "висячие концы".
Кроме того, boundary - инструмент для создания замкнутых контуров базового AutoCAD - работает в принципе некорректно или не работает вообще. Причем, с самого своего рождения году эдак в 1998-м.
Создание полигональных "топологий" в Map 3d достаточно сложно делается, желательно подгружать окно mapwspace, а работа с "топологиями" иногда непредсказуема, а иногда ставит в тупик.
В принципе значительно облегчить формирование площадных объектов можно было бы с помощью инструментов, подобных или близких boundary:
- находить, выделять линейные элементы, образующие ближайший замкнутый контур вокруг указанной точки,
- создавать замкнутой полилинией/мполигоном ближайший замкнутый контур вокруг указанной точки,
- создавать замкнутой полилинией/мполигоном замкнутый контур из указанных элементов,
- находить и обозначать разрывы между элементами, не позволяющие сформировать ближайший замкнутый контур вокруг указанной точки,
- создавать все возможные минимальные замкнутые контуры в виде замкнутых полилиний/мполигонов из линейных элементов.
Но доступных готовых решений я пока не вижу.