Russian Qt Forum

Qt => Общие вопросы => Тема начата: qate от Июль 27, 2015, 15:59



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




Название: Re: Как нарисовать OpenStreetMap в offline
Отправлено: Kurles от Июль 29, 2015, 09:11
Самое простое - использовать тайлы.
описание (http://wiki.openstreetmap.org/wiki/Slippy_map_tilenames) одного из форматов.
То есть предварительно надо сгенерировать кучу тайлов для нужных уровней зумов, и потом тупо картинками из отображать на виджете.
Для получения географических координат по номеру тайла и уровню зума есть формулы, так же и формулы для обратного перобразования имеются.
Так же в последнем Qt5 есть модуль  Qt Location, не знаю, умеет ли он в офлайн.


Название: Re: Как нарисовать OpenStreetMap в offline
Отправлено: qate от Июль 29, 2015, 12:58
Самое простое - использовать тайлы.
описание (http://wiki.openstreetmap.org/wiki/Slippy_map_tilenames) одного из форматов.
То есть предварительно надо сгенерировать кучу тайлов для нужных уровней зумов, и потом тупо картинками из отображать на виджете.
Для получения географических координат по номеру тайла и уровню зума есть формулы, так же и формулы для обратного перобразования имеются.
Так же в последнем Qt5 есть модуль  Qt Location, не знаю, умеет ли он в офлайн.

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


Название: Re: Как нарисовать OpenStreetMap в offline
Отправлено: vipet от Июль 31, 2015, 15:01
писали, что в Qt Location они добавят работу с оффлайновыми картами


Название: Re: Как нарисовать OpenStreetMap в offline
Отправлено: Kurles от Август 01, 2015, 00:12
писали, что в Qt Location они добавят работу с оффлайновыми картами
Вроде как с тайловыми. А тут большой разницы нет, тайловые карты реализовать - ну день работы.