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

Выделение объектов карты компоненты Гис Конструктор

Поиск  Пользователи  Правила  Войти
Форум » Linux » Средства разработки ГИС-приложений для Linux
Страницы: 1 2 След.
RSS
Выделение объектов карты компоненты Гис Конструктор
 
Здравствуйте уважаемые сотрудники КБ  Панорама.

Работаем под Astra Linux SE 1.6, Qt 5.11.
Наконец то дождались релиза новой версии ГИС Конструктор для Qt Designer x64 (версия 12.6.0, Qt 4, Qt 5, платформа x64, ОС "Astra Linux Special Edition", релиз "Смоленск").
Порадовал пересчёт растров на лету, которого мы так ждали)

Но по прежнему существует ещё одна проблема, которая очень критична для нашего проекта.
Я уже поднимал подобный вопрос в одной из тем ранее. Нам предложили использовать выделение методом QDMapSelect::SelectSample, но данное решение не подходит для нашей задачи.

Мы используем QDMapObj::SetStyle, который подходит в любой ситуации при работе с объектом для его выделения.

К сожалению данный метод при использовании отъедает ресурсы системы и при многократном использовании приводит к системной ошибке.
https://dropmefiles.com/SwYoj

Мы собрали тестовый проект, демонстрирующий данную ошибку.
https://dropmefiles.com/glSsh

Откройте лежащий в папке с исходниками проекта файл Noms50K.txt через пункт Меню->Создать объекты
После построения изображения вызовите выделение через пункт Меню->Выделить объекты

Подскажите пожалуйста сроки решения данной проблемы и когда будет возможно выпустить исправленную версию.
Заранее спасибо.
Изменено: Сергей Алексеев - 04.07.2019 08:57:41
 
Здравствуйте!

Хорошо, спасибо - в ближайшие несколько дней посмотрим подготовленные Вами исходные тексты и уточним причину проблемы и сроки ее решения.
 
Освежаю ссылки на файлы:
https://dropmefiles.com/AfVPG
https://dropmefiles.com/dJd2Q
 
Здравствуйте!

Спасибо за ожидание! На основании присланного Вами тестового примера мы внесли доработки - проблему исправили.
Предлагаем выслать Вам тестовую версию ГИС Конструктор с данными правками - если Вас все устроит, то мы включим данные изменения в версию 12.6.1.

Для запроса тестовой версии пришлите, пожалуйста, письмо на нашу почту (panorama@gisinfo.ru).
 
Спасибо, получили тестовую версию ГИС Конструктор с исправлениями. Мы крайне благодарны за Ваш оперативный ответ и решение данной проблемы.
На предварительных тестах функционал отрабатывает корректно, будем тестировать дальше.

Столкнулись с неожиданным поведением  метода mapObjectGUID.
При добавлении к нашей карте дополнительных ситов функцией mapCreateAndAppendSiteForMapUn мы включаем генерацию GUID'ов для объектов этих ситов. (Функция mapCreateAndAppendSiteForMapUn возвращает не 0, значит отработала корректно).
В последствии пытаемся получить GUID объекта, сформированного на этом сите функцией mapObjectGUID. При валидном HOBJ'е функция всегда возвращает 0 и пустой буфер для GUID'а. При этом в компоненте QDMapDlgObj во вкладке Инфо->Служебная ИДЕНТИФИКАТОР ОБЪЕКТА GUID присутствует.

К сожалению не успел скидать тестовый пример, но прошу вас обратить внимание на данное поведение функции.

Заранее спасибо.
 
Здравствуйте!

Мы проверим поведение данной функции. Для того, чтобы нам проверять одно и то же поведение, пришлите, пожалуйста, маленький пример (для простоты можно просто одну функцию main() вставить в сообщение). Спасибо!
 
Доработал старый пример.
https://dropmefiles.com/eRHUO

Откройте лежащий в папке с исходниками проекта файл Noms50K.txt через пункт Меню->Создать объекты
Затем либо Меню->Проверка GUID (Выведет в консоль результат взятия GUID всех созданных объектов)
Либо выбор любого объекта на карте мышью, в высплывающем диалоге при нажатии на "Выбор" появится сообщение с HOBJ и GUID.
Инфо->Служебная того же диалога GUID присутствует.

---------------------
Так же обнаружили, что софт скомпилированный с данной версией ГИС Конструктор отказывается запускаться без ключа. Это нормально? (Закупали Free версию)
Изменено: Сергей Алексеев - 10.07.2019 15:57:23
 
А что будет если заработает генерация GUID "из коробки", а у нас при создании объекта есть такой код:
Код
    QUuid newObjId;
    if (extObjId.isNull()){
        newObjId = QUuid::createUuid();
    }else{
        newObjId = extObjId;
    }
    ...
    ...

    long newObjNumber = m_site.getEditableSheet()->createObject(newObjId,
                                                               objInfo,
                                                               metric,
                                                               semantics,
                                                               sign);



    createObject(...){
    ...
    QByteArray objIdKoi8r = gis::common::convertStringToKOI8_R(
                                       gis::common::convertGUIDtoString(objId));
    long rc = mapAppendSemantic(newObj->descriptor(), OBJECTGUID,
                                objIdKoi8r.constData(),
                                objIdKoi8r.size());
    ...
    } 
И есть возможность задавать GUID снаружи, то есть сервис сначала генерирует GUID и сохраняет у себя, потому отправляет запрос сервису по работе с картами по созданию объекта на некотором слое (sit файле) с указанием GUID, который должен быть у этого объекта.

Если mapAppendSemantic заменяет семантику при наличии таковой в списке семантик объекта, то всё ок.
А если игнорирует, то у нас сломаются почти все сервисы (наносящие данные на карту), которые полагаются на возможность задавать GUID снаружи до создания объекта, ведь теперь при создании объекта GUID будут генерироваться и добавляться в виде семантики в список семантик объекта.
 
Здравствуйте!

Цитата
Сергей Алексеев написал:
Доработал старый пример. https://dropmefiles.com/eRHUO
Спасибо! В ближайшее время посмотрим.

Цитата
Сергей Алексеев написал:
Так же обнаружили, что софт скомпилированный с данной версией ГИС Конструктор отказывается запускаться без ключа. Это нормально? (Закупали Free версию)
Сейчас передали Вам обычную ключевую версию ГИС Конструктор. Если на данный момент есть такая необходимость, то можем передать Вам по запросу и тестовую FREE-версию.
 
Благодарю за Ваш ответ.
Запрос на FREE версию библиотек отправил на почту.
Пожалуйста подскажите когда нам ожидать исправленную версию?
Страницы: 1 2 След.
Читают тему (гостей: 1)



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

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