На главную... Продукты | Технологии | Классификаторы | Проекты | Скачать | Цены| Форум | Статьи | Обучение | Контакты

Николай Беспалов (Все сообщения пользователя)

Поиск  Пользователи  Правила  Войти
Форум » Пользователи » Николай Беспалов
Выбрать дату в календареВыбрать дату в календаре

Страницы: Пред. 1 2 3 4 5 6 7 8 9 10 11 ... 14 След.
При переходе с 11 версии на 12 функция ImportFromAnySxfEx перестала создавать mpt файл из dir (на Astra Linux)
 
[B]Эксперимент 1:[/B]
Передать пустую строку ожидая получить путь до создаваемого файла
[CODE]ImportFromAnySxfEx(null, "Полный/путь/до/карты.dir", "Полный/путь/до/карты.rsc", "Пустая строка размером 1024", 1024, callback, null, 0)[/CODE]На выходе получаем "Полный/путь/до/карты.mpt", но по этому пути файла нет

[B]Эксперимент 2:[/B]
Передать полный путь до создаваемого файла ожидая получить идентичную строку
[CODE]ImportFromAnySxfEx(null, "Полный/путь/до/карты.dir", "Полный/путь/до/карты.rsc", "Полный/путь/до/карты.mpt", "Полный/путь/до/карты.mpt".size(), callback, null, 0)[/CODE]На выходе получаем "Полный/путь/д". Конкретно ожидалось 79 байта, а получили 39

[B]Эксперимент 3:[/B]
Передать полный путь до директории ожидая получить путь до создаваемого файла
[CODE]ImportFromAnySxfEx(null, "Полный/путь/до/карты.dir", "Полный/путь/до/карты.rsc", "Полный/путь/до/", "Полный/путь/до/".size(), callback, null, 0)[/CODE]На выходе получаем "Полный/пут". Конкретно ожидалось 72 байта, а получили 36

Результаты навели на мысль попробовать версии функций с WCHAR. Попробовал. Безуспешно. На Windows работает.
При переходе с 11 версии на 12 функция ImportFromAnySxfEx перестала создавать mpt файл из dir (на Astra Linux)
 
При импортировании создается папка LOG рядом с dir файлом. Внутри log файлы от всех свежеполученных sit и в содержимом криминала нет. Для dir нет log файла, либо не там ищу.
Функция вернула "успех", файлы sxf превратились в sit. [B]Файла mpt нет на месте[/B].

По логам:
- и на windows и на linux содержимое идентично
- для некоторых листов говорится о несоответствии рамки и паспорта
- для некоторых листов говорится о недопустимых семантиках

НО! При идентичности логов, на windows файл mpt, после успешного импорта, оказывается на месте, а на linux - нет.

Повторюсь, на 11 версии работало и на windows и на linux.
При переходе с 11 версии на 12 функция ImportFromAnySxfEx перестала создавать mpt файл из dir (на Astra Linux)
 
Добрый день!

Мы используем функцию ImportFromAnySxfEx для конвертирования dir (с набором sxf) в mpt.
При переходе на windows функция работает ожидаемо.
При переходе на Astra Linux SE 1.5 функция перестала создавать файл mpt.

Один и тот же код для windows/linux с одними и теми же картами отрабатывает на 11 версии успешною На 12 версии для windows так же успешно. А на 12 версии для астры - нет. Т.е. после [B]успешного[/B](т.е. функция вернула не ноль) импорта файла mpt нет на месте и поиск его по всему диску не дает результата (было предположение, что файл создается в другом месте).

Подскажите в какую сторону копать. Что изменилось?
Изменено: Николай Беспалов - 19.11.2020 10:40:33
При переходе с 11 версии на 12 перестала работать функция mapGetRscObjectCodeByName
 
Причина найдена! Я думаю вам будет интересно.

Имеем имя объекта "КВАРТАЛЫ ПЛОТ.ЗАСТР.КРУП.ГОР. ", обратите внимание на пробел в конце строки.

- 11 версия выполняя mapGetRscObjectCodeByName при отсутствии пробела в конце выдает ожидаемый результат
- 12 версия выполняя mapGetRscObjectCodeByName при отсутствии пробела в конце сообщает об ошибке

Судя по всему 11 версия делала trim входной строки, а 12 версия перестала это делать и пытается искать точное соответствие. ИМХО

Почему это вылезло у нас - мы делали trim до вызова. Теперь мы передаем ровно то что было получено из mapObjectName.
При переходе с 11 версии на 12 перестала работать функция mapGetRscObjectCodeByName
 
[QUOTE]Денис Вицко написал:
Как именно ошибка проявляется у Вас?





[/QUOTE]
Ошибка как результат выполнения. Т.е. функция нашлась и вызвалась.

Узнать бы причину ошибки...
Изменено: Николай Беспалов - 18.11.2020 17:10:04
При переходе с 11 версии на 12 перестала работать функция mapGetRscObjectCodeByName
 
На 11 версии работало как часы, а на 12 - всегда ошибка. Карта та же самая.

Подскажите в какую сторону копать. Что изменилось?
Как реализован разворот флага?
 
Если добавить к флагу дополнительную точку в метрику (mapAppendPointPlane) в требуемом направлении, то он повернется
Изменение окраски выбранных площадных объектов.
 
Решилось повторным вызовом mapCommitObject после mapRedefineObject. Как считаете это нормально и не будет ли каких-то сайд эффектов?
Как реализован разворот флага?
 
Добрый день!

В ГИС Оператор есть функция "Разворот флагов". Эта функция зеркально отражает флаг.
Перекопал mapapi и не нашел ничего подходящего. Подскажите как бы это могло быть реализовано с помощью mapapi?
Изменение окраски выбранных площадных объектов.
 
Столкнулся с аналогичной проблемой. mapRedefineObject не помогает, возвращает 1, т.е. вид объекта изменился. Но визуально изменений нет. mapSemanticValue показывает, что значение применилось.

Код примерно такой:
1. mapCreateObject
2. mapRegisterObjectByKey
3. mapAppendPointPlane
4. mapCommitObject
5. цикл по семантикам объекта с целью поиска определенного кода
6. mapSemanticCode показывает, что номер семантики подходящий
7. mapSetSemanticValue
8. mapRedefineObject вернул 1
9. mapSemanticValue показывает, что значение применилось

Но, повторюсь, визуально ничего не изменилось.

Что делать?

ПС: у объекта только одна семантика и промахнуться трудно
Страницы: Пред. 1 2 3 4 5 6 7 8 9 10 11 ... 14 След.



© КБ Панорама, 1991-2024

Регистрируясь или авторизуясь на форуме, Вы соглашаетесь с Политикой конфиденциальности