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

Вопрос по рисованию поверх карты

Поиск  Пользователи  Правила  Войти
Форум » Linux » Средства разработки ГИС-приложений для Linux
Страницы: 1
RSS
Вопрос по рисованию поверх карты, какой их методов рисования оптимальнее
 
Доброго времени суток.
Новичок в ГИС. Работаю с ГИС Конструктор под CentOS 7 в среде QT Creator.
Посоветуйте пожалуйста.
Имеется методика расчета зон покрытия радиосигналом.
Реализовал расчёт и визуализацию сначала на python3 (pyQT5). Использовал растровые карты SRTM (матрицы высот) и библиотеку GDAL.
Но работало это всё медленно, да и для расчетов одних высот мало, нужна модель препятствий. Переписываю всё это на Qt + C++.
Все примеры из ГИС Конструктор для QT Designer собрал и начал изучать.
Задача - Указываю точку на карте. Далее рассчитываются матрицы высот, модели препятствий и т.д. На выходе для каждой точки в регионе расчёта получаю некую величину (уровень сигнала), которую необходимо визуализировать в виде 2-3 цветов.
Примерно как на картинке
картинка тут
Вопрос - это разумнее рисовать через QPainter() и paintEvent()?
Или каким-либо образом лучше создавать пользовательский слой и визуализировать уже область покрытия на нём?
Впоследствии хотелось бы иметь несколько картинок с результатами расчёта.
Посоветуйте пожалуйста, по какому пути лучше пойти? может есть подходящий пример?
Спасибо.  
Изменено: Евгений Зуев - 04.06.2020 15:02:05
 
Здравствуйте.

Для рисования поверх карты можно воспользоваться, например, следующими способами:
- создать пользовательскую карту и нанести на нее объекты либо из классификатора, либо с помощью графических объектов (подробнее в руководстве программиста);
- добавить к карте заранее подготовленный битовый образ в виде матрицы высот помощью функции mapPutMtrFrame.
 
Большое спасибо!
 
Пользовательскую карту создал.
Как теперь нанести на нее графический примитив?
Точку, линию и т.д.?
В руководстве программиста стр.88-89 написано
не очень понятно. В каком-либо примере в examples это реализовано?
 
Здравствуйте.

Для нанесения графических объектов рекомендуем ознакомиться со следующей информацией:
- пункты 3.6.7 и 3.6.18 Руководства программиста;
- формирование описания графического объекта с помощью функции mapRegisterDrawObject в примерах myfirst и findobjectrel.

 
Константин Ганюшин,спасибо. Разобрался уже, как рисовать на пользовательском слое с помощью площадных и линейных объектов классификатора. Это оказалось гораздо удобнее, чем рисовать с помощью примитивов.
Страницы: 1
Читают тему (гостей: 1)



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

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