Russian Qt Forum

Qt => Мультимедиа => Тема начата: Олег от Май 06, 2009, 21:23



Название: Работа с векторными картами
Отправлено: Олег от Май 06, 2009, 21:23
Как в Qt работать с векторными картами???


Название: Re: Работа с векторными картами
Отправлено: Rcus от Май 06, 2009, 22:13
Тут вам не Qt, а emacs нужен :)


Название: Re: Работа с векторными картами
Отправлено: Dodge от Май 07, 2009, 03:12
Как в Qt работать с векторными картами???
Рекомендую ГИС "Панорама" (если не ошибыюсь, это ее сайт (http://www.gisinfo.ru)). Кроссплатформенная, есть примеры применения вместе с Qt 3.3.3. Имеет сертификат МО РФ и роскартографии. :)


Название: Re: Работа с векторными картами
Отправлено: mugabe от Май 07, 2009, 06:54
1. берем QGraphicsView...
2. реализуем необходимые объекты карты, наследуя их от QGraphicsItem (по сути всего 3 основных объекта - полигон, ломаная линия, точка)
3. загружаем карту (создаем необходимые объекты и добавляем их в сцену)


Название: Re: Работа с векторными картами
Отправлено: Dodge от Май 07, 2009, 13:24
1. берем QGraphicsView...
2. реализуем необходимые объекты карты, наследуя их от QGraphicsItem (по сути всего 3 основных объекта - полигон, ломаная линия, точка)
3. загружаем карту (создаем необходимые объекты и добавляем их в сцену)
1. Зачем изобретать велосипед?
2. Я боюсь QGraphicsView не потянет векторные карты, слишком большое кол-во объектов. Пример "40000 чипов" наглядно это демонстрирует.


Название: Re: Работа с векторными картами
Отправлено: BELNETMON от Май 07, 2009, 13:43
Чтобы взяться за тематику карт нужно очень четко понимать предметную область, как отрисовываются, как отсекаются, механизмы хранения, R-дерево.
Или сразу определиться, что вам нужны готовые стандарты и готовые тогда уж механизмы отображения карт.


Название: Re: Работа с векторными картами
Отправлено: mugabe от Май 07, 2009, 19:25
1. Зачем изобретать велосипед?
2. Я боюсь QGraphicsView не потянет векторные карты, слишком большое кол-во объектов. Пример "40000 чипов" наглядно это демонстрирует.

1. автор темы нечетко сформулировал задачу. какой функционал ему нужен - неизвестно. может быть изобрести велосипед куда проще.
2. 40000 чипов могут показывать все 40000 чипов одновременно. в нормальных картах есть слои с различной детализацией. редко на экране бывает одновременно более 100 объектов.

первое что я сделал когда начинал знакомиться с Qt - это именно векторная карта на базе QGraphicsView (вместо хеллоу, ворлд!). работает вполне шустро.



Название: Re: Работа с векторными картами
Отправлено: mugabe от Май 07, 2009, 19:38
да, кстати:

http://www.merkaartor.org/

редактор опен-стрит-мап на Qt. на сколько я помню тоже использует QGraphicsView, но могу ошибаться.


Название: Re: Работа с векторными картами
Отправлено: Barmaglodd от Май 08, 2009, 07:19
Merkaator жуткий тормоз в плане редактирования, QGis лучше.


Название: Re: Работа с векторными картами
Отправлено: mugabe от Май 08, 2009, 17:51
Merkaator жуткий тормоз в плане редактирования, QGis лучше.
а он тоже Qt-шный? на сайте инфы не нашел, а качать 20мб сырцов ради ответа на этот вопрос как-то не хочется) и свн не грузится


Название: Re: Работа с векторными картами
Отправлено: Олег от Май 09, 2009, 00:12
Как в Qt работать с векторными картами???
Рекомендую ГИС "Панорама" (если не ошибыюсь, это ее сайт (http://www.gisinfo.ru)). Кроссплатформенная, есть примеры применения вместе с Qt 3.3.3. Имеет сертификат МО РФ и роскартографии. :)

Про панораму я знал... Но всё равно спасибо. Действительно, штука крутая, отлично работает. Просто в ней я не до конца разобрался, некоторые вещи не пойму как сделать.


Название: Re: Работа с векторными картами
Отправлено: Олег от Май 09, 2009, 00:22
1. берем QGraphicsView...
2. реализуем необходимые объекты карты, наследуя их от QGraphicsItem (по сути всего 3 основных объекта - полигон, ломаная линия, точка)
3. загружаем карту (создаем необходимые объекты и добавляем их в сцену)

А можешь выложить исходники с примером??? Или послать на oleg_nw117@rambler.ru. Буду очень благодарен.


Название: Re: Работа с векторными картами
Отправлено: Олег от Май 09, 2009, 00:35
да, кстати:

http://www.merkaartor.org/

редактор опен-стрит-мап на Qt. на сколько я помню тоже использует QGraphicsView, но могу ошибаться.

Как я понимаю - там исходники не скачать. Мне не нужна готовая прога для работы с векторными картами. Мне нужно самому написать такую прогу.


Название: Re: Работа с векторными картами
Отправлено: Barmaglodd от Май 09, 2009, 07:45
Merkaator использует QMapControl. А вот что использует QMapControl, я не знаю, сам не работал, коллега собирал, во вторник посмотрю. Исходники Merkaartor замечательно с их страницы качаются, смотрите source edition и весят они меньше 3 мегов.


Название: Re: Работа с векторными картами
Отправлено: Олег от Май 09, 2009, 08:05
Вряд ли мне этот Source edition поможет. Мне нужно под qt-3-3-3 (


Название: Re: Работа с векторными картами
Отправлено: Khs от Май 09, 2009, 08:13
да, кстати:

http://www.merkaartor.org/

редактор опен-стрит-мап на Qt. на сколько я помню тоже использует QGraphicsView, но могу ошибаться.

Как я понимаю - там исходники не скачать. Мне не нужна готовая прога для работы с векторными картами. Мне нужно самому написать такую прогу.

http://qt-apps.org/content/show.php/Merkaartor?content=93066


Название: Re: Работа с векторными картами
Отправлено: Barmaglodd от Май 09, 2009, 08:59
Вряд ли мне этот Source edition поможет. Мне нужно под qt-3-3-3 (
Тогда

http://navicon.dk/web/normal.php?pageid=92

или старые версии  QGis, они вроде на Qt 3 начинали.


Название: Re: Работа с векторными картами
Отправлено: Dodge от Май 09, 2009, 18:29
Вряд ли мне этот Source edition поможет. Мне нужно под qt-3-3-3 (
Если софт под МСВС. Лучше разбирайтесь в панораме или пишите все с нуля. Иначе придется морочиться с лицензированием того, что будете использовать в качестве ГИС.


Название: Re: Работа с векторными картами
Отправлено: mugabe от Май 12, 2009, 04:10
Merkaator использует QMapControl. А вот что использует QMapControl, я не знаю, сам не работал, коллега собирал, во вторник посмотрю. Исходники Merkaartor замечательно с их страницы качаются, смотрите source edition и весят они меньше 3 мегов.
Посмотрел, действительно там полностью самописный виджет.

Вряд ли мне этот Source edition поможет. Мне нужно под qt-3-3-3 (
Тогда вряд ли вам и мои исходники сильно помогут. К тому же там действительно нет ничего сверхъестественного - 3 класса унаследованных от QGraphicsItem для линии, полигона и точки. Ничего, чего нельзя найти в документации.

Почитайте документацию по QGraphicsView (если он вообще есть в 3.3) и все получится.

Своим кодом не хотелось бы делиться по одной простой причине - писался на скорую руку и лишь для того, что бы посмотреть на возможности QGraphicsView. Как следствие код достаточно кривой, наверняка есть утечки памяти и фиг знает что еще :) Не хочу что бы мои ошибки переносили в чужие проекты, а потом обвиняли меня, когда они всплывут. Даже если я об этом никогда не узнаю :)


Название: Re: Работа с векторными картами
Отправлено: Dodge от Май 12, 2009, 13:08
в Qt 3.3.3  за место QGraphicsView - QCanvasView. Много чего делал с его использованием, довольно неплохо, но есть проблемы со старыми Х-серверами и их кривыми драйверами.