Можно ли из Grassа 6.4 загрузить карту?
-
- Новоприбывший
- Сообщения: 7
- Зарегистрирован: 14 сен 2010, 18:30
- Репутация: 0
Можно ли из Grassа 6.4 загрузить карту?
Подскажите, пожалуйста:
В программе на Qt 3.0 KDevelop:C/C++ надо загрузить карту, например, в QPixMap.
Функция GisInit работает и пути к Gisdbase, Location, Mapset заданы в программе правильно.
Проблема в том, как загрузить векторные слои в QPixMap, например, из тестового проекта Spearfish? и можно ли вообще это сделать?
Или, если есть файл карты (как из проекта Spearfish его создать?), то как загрузить его?
В программе на Qt 3.0 KDevelop:C/C++ надо загрузить карту, например, в QPixMap.
Функция GisInit работает и пути к Gisdbase, Location, Mapset заданы в программе правильно.
Проблема в том, как загрузить векторные слои в QPixMap, например, из тестового проекта Spearfish? и можно ли вообще это сделать?
Или, если есть файл карты (как из проекта Spearfish его создать?), то как загрузить его?
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: Можно ли из Grassа 6.4 загрузить карту?
Из GRASS можно экспортировать растр и вектор в разные форматы (геопривязанные и просто графические). Вам нужно вытащить векторную карту в графику, так? Тогда можно исп-ть модуль v.out.svg (SVG точно работает с Qt). Ну или v.out.dxf (..?)
Другое дело, если надо сохранить привязку, атрибуты и т.п.. Тогда надо идти через GDAL/OGR (r.out.gdal для растров, v.out.ogr для векторов).
Другое дело, если надо сохранить привязку, атрибуты и т.п.. Тогда надо идти через GDAL/OGR (r.out.gdal для растров, v.out.ogr для векторов).
Редактор материалов, модератор форума
-
- Новоприбывший
- Сообщения: 7
- Зарегистрирован: 14 сен 2010, 18:30
- Репутация: 0
Re: Можно ли из Grassа 6.4 загрузить карту?
Пожалуйста, поясните несколько подробнее для чайников.
v.out.ogr это модуль для GRASS. Можно ли его вызвать из программы на Qt (у меня нет графического интерфейса, но есть доступ к функциям библиотек )? Можете, пожалуйста, написать функции библиотек ( и сами заголовочные файлы, которые надо прописать в программе ), чтобы получить карту, которую можно заслать в QPixmap.
И еще один вопрос. Файл формата .dxf, и .dwg содержит карту со слоями, или это только один слой?
В GRASS есть опция конвертировать файл .dxf в векторный слой. Что она делает?
v.out.ogr это модуль для GRASS. Можно ли его вызвать из программы на Qt (у меня нет графического интерфейса, но есть доступ к функциям библиотек )? Можете, пожалуйста, написать функции библиотек ( и сами заголовочные файлы, которые надо прописать в программе ), чтобы получить карту, которую можно заслать в QPixmap.
И еще один вопрос. Файл формата .dxf, и .dwg содержит карту со слоями, или это только один слой?
В GRASS есть опция конвертировать файл .dxf в векторный слой. Что она делает?
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: Можно ли из Grassа 6.4 загрузить карту?
oleg5551, вы уже смотрели в сторону QGIS? Там что-то похожее действует (из Qt вызываются модули GRASS). Можно посмотреть исходный код.
Лично я написать ничего не могу, т.к. не программист.
Какие типы/форматы/.. файлов понимает QPixmap?
Из документации Qt 4.7:
Лично я написать ничего не могу, т.к. не программист.
Какие типы/форматы/.. файлов понимает QPixmap?
Из документации Qt 4.7:
. Вы уверены, что надо исп-ть именно QPixmap для вывода векторного слоя? Или в этом и была идея, что в начале делаем общую карту (растр), а потом перегоняем в Qt.Qt provides four classes for handling image data: QImage, QPixmap, QBitmap and QPicture.
Редактор материалов, модератор форума
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: Можно ли из Grassа 6.4 загрузить карту?
Далее. С файлами .dwg GRASS напрямую не работает. В .dxf может быть как один слой, так и несколько. Не думаю, что для вашей задачи будет полезны DXF / DWG, выше я привёл DXF просто как пример векторного формата.
Это не опция, это отдельный модуль v.out.dxf, который экспортирует векторную карту GRASS в файл DXF.В GRASS есть опция конвертировать файл .dxf в векторный слой.
Редактор материалов, модератор форума
-
- Гуру
- Сообщения: 2627
- Зарегистрирован: 29 мар 2007, 14:12
- Репутация: 34
- Откуда: Ukraine
Re: Можно ли из Grassа 6.4 загрузить карту?
Давайте начнем с начала. Что нужно получить, для чего вообще загружать mapset в QPixmap? Нужно просто отобразить картинку или предполагается редактирование данных?
-
- Новоприбывший
- Сообщения: 7
- Зарегистрирован: 14 сен 2010, 18:30
- Репутация: 0
Re: Можно ли из Grassа 6.4 загрузить карту?
Задание таково:
Есть 2 файла формата .dxf и .dfg. Что находится в этих файлах, никто не знает. Из них надо получить карту, используя функции GRASS, и затем отобразить на каком-нибудь виджете ( желательно QPixmap, но для этого надо будет еще конвертировать карту с векторными слоями в растровый формат - как это сделать тоже никто не знает ). В дальнейшем пользователю надо будет сделать функции: просмотр слоев, масштабирование.
Программа пишется на Qt 3. Пока есть скрипт, который устанавливает переменные окружения, и в программе вызывается gisinit.
Использовать для этих целей GRASS не обязательно, важно чтобы система была бесплатной.
Есть 2 файла формата .dxf и .dfg. Что находится в этих файлах, никто не знает. Из них надо получить карту, используя функции GRASS, и затем отобразить на каком-нибудь виджете ( желательно QPixmap, но для этого надо будет еще конвертировать карту с векторными слоями в растровый формат - как это сделать тоже никто не знает ). В дальнейшем пользователю надо будет сделать функции: просмотр слоев, масштабирование.
Программа пишется на Qt 3. Пока есть скрипт, который устанавливает переменные окружения, и в программе вызывается gisinit.
Использовать для этих целей GRASS не обязательно, важно чтобы система была бесплатной.
-
- Гуру
- Сообщения: 2627
- Зарегистрирован: 29 мар 2007, 14:12
- Репутация: 34
- Откуда: Ukraine
Re: Можно ли из Grassа 6.4 загрузить карту?
Если использование GRASS не принципиально, то лучше посмотреть в сторону QGIS.
-
- Гуру
- Сообщения: 810
- Зарегистрирован: 22 авг 2007, 14:58
- Репутация: 123
- Откуда: Казань
Re: Можно ли из Grassа 6.4 загрузить карту?
И еще вопрос: будет ли на машине, для которой вы пишите программу, установлена GRASS? Если да -- то задача решается одной строчкой, без всяких библиотек и заголовочных файлов (неоднократно проделывал). Если нет, тоже решается, но уже сложнее, нужно будет ковырять библиотеки (и сам я этого ни разу не делал).
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей