Доброго времени суток. Новичок в ГИС. Работаю с ГИС Конструктор под CentOS 7 в среде QT Creator. Посоветуйте пожалуйста. Имеется методика расчета зон покрытия радиосигналом. Реализовал расчёт и визуализацию сначала на python3 (pyQT5). Использовал растровые карты SRTM (матрицы высот) и библиотеку GDAL. Но работало это всё медленно, да и для расчетов одних высот мало, нужна модель препятствий. Переписываю всё это на Qt + C++. Все примеры из ГИС Конструктор для QT Designer собрал и начал изучать. Задача - Указываю точку на карте. Далее рассчитываются матрицы высот, модели препятствий и т.д. На выходе для каждой точки в регионе расчёта получаю некую величину (уровень сигнала), которую необходимо визуализировать в виде 2-3 цветов. Примерно как на картинке картинка тут Вопрос - это разумнее рисовать через QPainter() и paintEvent()? Или каким-либо образом лучше создавать пользовательский слой и визуализировать уже область покрытия на нём? Впоследствии хотелось бы иметь несколько картинок с результатами расчёта. Посоветуйте пожалуйста, по какому пути лучше пойти? может есть подходящий пример? Спасибо.
Для рисования поверх карты можно воспользоваться, например, следующими способами: - создать пользовательскую карту и нанести на нее объекты либо из классификатора, либо с помощью графических объектов (подробнее в руководстве программиста); - добавить к карте заранее подготовленный битовый образ в виде матрицы высот помощью функции mapPutMtrFrame.
Пользовательскую карту создал. Как теперь нанести на нее графический примитив? Точку, линию и т.д.? В руководстве программиста стр.88-89 написано не очень понятно. В каком-либо примере в examples это реализовано?
Для нанесения графических объектов рекомендуем ознакомиться со следующей информацией: - пункты 3.6.7 и 3.6.18 Руководства программиста; - формирование описания графического объекта с помощью функции mapRegisterDrawObject в примерах myfirst и findobjectrel.
Константин Ганюшин,спасибо. Разобрался уже, как рисовать на пользовательском слое с помощью площадных и линейных объектов классификатора. Это оказалось гораздо удобнее, чем рисовать с помощью примитивов.