Russian Qt Forum
Апрель 26, 2024, 18:31 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как нарисовать OpenStreetMap в offline  (Прочитано 5280 раз)
qate
Супер
******
Offline Offline

Сообщений: 1175


Просмотр профиля
« : Июль 27, 2015, 15:59 »

Пусть есть задача отобразить карту OpenStreetMap и нарисовать на ней несколько квадратиков разного цвета (с привязкой к дому например)
Карты можно взять тут http://be.gis-lab.info/data/osmshp/latest/ и посмотреть их в qgis - все ок
Как теперь отобразить их у себя в программе ?
Посылать и исходники qgis не надо )
Доступа к интернету не будет.
Вместо OpenStreetMap можно предложить чтото иное, с задачей столкнулся впервые.


Записан
Kurles
Бывалый
*****
Offline Offline

Сообщений: 480



Просмотр профиля
« Ответ #1 : Июль 29, 2015, 09:11 »

Самое простое - использовать тайлы.
описание одного из форматов.
То есть предварительно надо сгенерировать кучу тайлов для нужных уровней зумов, и потом тупо картинками из отображать на виджете.
Для получения географических координат по номеру тайла и уровню зума есть формулы, так же и формулы для обратного перобразования имеются.
Так же в последнем Qt5 есть модуль  Qt Location, не знаю, умеет ли он в офлайн.
Записан

Код
C++ (Qt)
while(!asleep()) sheep++;
qate
Супер
******
Offline Offline

Сообщений: 1175


Просмотр профиля
« Ответ #2 : Июль 29, 2015, 12:58 »

Самое простое - использовать тайлы.
описание одного из форматов.
То есть предварительно надо сгенерировать кучу тайлов для нужных уровней зумов, и потом тупо картинками из отображать на виджете.
Для получения географических координат по номеру тайла и уровню зума есть формулы, так же и формулы для обратного перобразования имеются.
Так же в последнем Qt5 есть модуль  Qt Location, не знаю, умеет ли он в офлайн.

сложно заранее знать какой зум будет нужен пользователю, да и хотелось чтобы он сам мог карту выбрать (заранее это тоже не известно)
пока думаю про интеграцию с qgis - пусть qgis рисует карту (у него это получается лучше и гибче), а мне "осталось" както добавить своих данных
Записан
vipet
Бывалый
*****
Offline Offline

Сообщений: 452


Просмотр профиля
« Ответ #3 : Июль 31, 2015, 15:01 »

писали, что в Qt Location они добавят работу с оффлайновыми картами
Записан
Kurles
Бывалый
*****
Offline Offline

Сообщений: 480



Просмотр профиля
« Ответ #4 : Август 01, 2015, 00:12 »

писали, что в Qt Location они добавят работу с оффлайновыми картами
Вроде как с тайловыми. А тут большой разницы нет, тайловые карты реализовать - ну день работы.
Записан

Код
C++ (Qt)
while(!asleep()) sheep++;
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.07 секунд. Запросов: 22.