Russian Qt Forum
Ноябрь 23, 2024, 06:56
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Мультимедиа
>
Qt картография
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Qt картография (Прочитано 12651 раз)
Cat386
Гость
Qt картография
«
:
Март 13, 2006, 21:31 »
Народ помогите пожайлуста есть проблема которая меня привела в тупик, а как отобразить ну очень большую картинку то есть имею карту города размерами 19600х24000 ну глубину цвета я изменил на 256 цветов но размер файла просто огромный гдето прорядка 140Mb Qt 333 просто не может его открыть тоесть QPixmap *map = new QPixmap("map.png");
а map то пустой если есть предложения помогите
Записан
Asaphus_Expansus
Гость
Qt картография
«
Ответ #1 :
Март 13, 2006, 22:14 »
Хранить карту в формате, допускающем считывание и декодирование произвольного прямоугольного фрагмента, например bmp, и соответственно подгружать on demand нужный фрагмент карты и показывать только его.
Записан
Cat386
Гость
Qt картография
«
Ответ #2 :
Март 14, 2006, 18:40 »
Да конечно я об этом думал но вот проблема шоп на этом обьеме просто мрет как муха а софта для обрезки из простор инета опробовал столько что ужет нет сил искать что то хоть бери и сам пиши вот только проблема люди ждать не умеют и поэтому Великий All может есть кой какие думки
Записан
Dendy
Гость
Qt картография
«
Ответ #3 :
Март 14, 2006, 19:41 »
Для хранения нужно вьІбрать какой-нить формат с сжатием и без потери качества, например PNG. Сохранить результирующую карту квадратньІми кусками, то-есть разбить исходник на M x N частей. При получении собьІтия отрисовки смотришь какие файльІ с фрагментами должньІ бьІть подгруженьІ и если они ещё не в памяти - подгружаешь из файла. Здесь легко можно добавить хеширование - вьІгружать последние неиспользованньІе куски карт, если их общая сумма достигла критического значения. Можно также загрузить все куски, только желательно формат им вьІставить QImage::Format_Index8. 256 цветов должно хватать с головой (вспомним Старкрафт).
добавлено спустя 7 минут:
Разбить можно каким-нить фотошопом.
Ещё можно вообще не грузить данньІе в память, а хранить картинку в формате без сжатия: BMP или TGA. Разгребстись с форматом (он не сложньІй) и подгружать пиксели из нужньІх кусков файла с помощью QFile::seek() / QFile::read().
Записан
Asaphus_Expansus
Гость
Qt картография
«
Ответ #4 :
Март 14, 2006, 19:46 »
Цитировать
Ещё можно вообще не грузить данньІе в память, а хранить картинку в формате без сжатия: BMP или TGA. Разгребстись с форматом (он не сложньІй) и подгружать пиксели из нужньІх кусков файла с помощью QFile::seek() / QFile::read().
Именно это я и предлагал. Дешево и сердито, что есть правильно если надо быстро.
Записан
Cat386
Гость
Qt картография
«
Ответ #5 :
Март 15, 2006, 09:47 »
Я примерно так и делаю но вот держать в открытом формате это не желательно по этому я хочю примерно какой нибуть ресурсный файлик сделать с нарезкой и туда же закинуть и векторную информацию, типа дама дороги и т.д.
Записан
Dendy
Гость
Qt картография
«
Ответ #6 :
Март 15, 2006, 12:25 »
Тогда наверное лучший способ: куски картьІ в TGA без компрессии, засунутьІе в ZIP-архив. КаждьІй кусок при етом жмётся zlib и паролится.
Записан
Hordi
Гость
Qt картография
«
Ответ #7 :
Март 15, 2006, 12:58 »
To Dendy:
А разве функции zlib имеют возможность паролить?
Записан
Dendy
Гость
Qt картография
«
Ответ #8 :
Март 15, 2006, 13:55 »
Возможность криптовать файльІ по паролю есть в ZIP'е.
Записан
Cat386
Гость
Qt картография
«
Ответ #9 :
Март 17, 2006, 08:11 »
Народ а вообще ктонибуть творил такую прогу что бы с картами работать может есть кой какие Widget'ы или ActiveX'ы что бы все было просто и красиво а то вот написал векторный редактор все хорошо а вот как правильно найти путь из точки в точку по векторам дорог что то не подается причем не повсем дорогам ездить можно так как все зависит от транспорта тоесть грузовой ну или обычный
Записан
joktar
Гость
Qt картография
«
Ответ #10 :
Март 17, 2006, 17:36 »
Если просто искать путь - смотри например в сторону алгоритма A*(искать на сайтах по разработке игра-gamedev.ru/gamasutra.com)
Если нужны именно карты то возможно имеет смысл посмотреть в направлении ArcGIS(
www.esri.com
), это среда разработки карт в широком смысле, для встраивания в приложения есть ArcGIS Engine
Если нужно просто показывать карту - есть ActiveX Control
Недостатки ArcGIS
- интеграции с Qt - никакой(хоть садись и сам делай)
- штука ОЧЕНЬ дорогая(в разы дороже commercial Qt).
- для нормальной работы система требует обучения
Есть и Open-source GIS(например GRASS, поддержка встройки в Qt3 приложения у него есть).
Записан
MaxWin
Гость
Qt картография
«
Ответ #11 :
Март 20, 2006, 10:56 »
По работе с большими растровыми слоями, есть проект OSSIM -
http://www.ossim.org
предназначен именно для твоих целей. Связка с QT есть. Расчитан на 3QT.
С вектором - посмотри в сторону QGIS. Написан на QT.
Записан
burunduk
Гость
Qt картография
«
Ответ #12 :
Март 20, 2006, 11:39 »
Кстати я делаю похожий проект, только у меня карты векторные. И поиск пути тоже стоит как задача
Если интересно стучитесь в приват.
Записан
stump
Гость
Re: Qt картография
«
Ответ #13 :
Ноябрь 05, 2010, 00:45 »
Товарищи, помогите разобраться с QGIS...
Куча проблем и непонятностей:
- в QgsApplication... при выполнении QgsApplication::exec() зацикливания не происходит...
- делаю все по туториалу
http://blog.qgis.org/node/10
но не могу создать валидный слой...
и сохраняются ли в .exe зависимости от QGIS dll ??
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...