Страница 1 из 2

Какую библиотеку ГИС использовать для разработки приложения

Добавлено: 16 апр 2014, 07:40
Foma
Камрады, прошу помощи по изложенной ниже проблеме.
Я до нынешнего времени профессионально ГИС-ами не занимался. Работал в совсем другой области.
Однако, нужда приперла - пришлось заняться.
Потребовалось реализовать следующую задачу : ввести в окне векторную карту формата SHP и произвести на ней некоторые геометрические построения из линий и точек. Карта состоит из нескольких векторных слоев SHP и базового фонового слоя, в котором загружена растровая карта *.bmp .
Использовал для реализации этого проекта Delphi 7 и компонент TMap из библиотеки MapWinGIS.
При этом руководствовался материалом, изложенным в статьях http://devdelphi.ru/?page_id=3111 .
Получившееся приложение работает прекрасно и полностью меня удовлетворяет и по функциональности, и по качеству.
Однако, возникла настоятельная необходимость перевести это приложение на C++ и Microsoft Visual Studio.
Поискал в Гугле и здесь. Нашел много информации по QGIS в разделе "Программное обеспечение" -> "QGIS".
Но когда ознакомился со статьями по установке QGIS в Visual Studio :
http://gis-lab.info/qa/qgis-compile-vce.html
http://gis-lab.info/qa/build-env.html
http://gis-lab.info/qa/qgis-debug-win.html
то от сложности изложенного в них процесса установки у меня поехала крыша ... К тому же, эти статьи, к сожалению, не проясняют некоторые сложности процеса установки. С дистрибутивами тоже проблемы. Также не нашел описания библиотеки QGIS.
От обилия всех прочих ГИС-ов и их библиотек у меня также едет крыша ...
В связи с этим вопрос -
Какую библиотеку и компоненты какой ГИС можно использовать для реализации моей задачи при следующих условиях :
1. Приложение должно быть реализовано на C++ в Microsoft Visual Studio;
2. От используемой библиотеки ГИС требуется реализация следующих операций :
- ввод векторных слоев из файла *.shp и отображение его в окне;
- ввод растрового слоя из файла *.bmp с отображением в окне;
( все слои накладываются друг на друга );
- преобразование пиксельных экранных координат точки в географические для конкретной
загруженной карты;
- преобразрвание географических координат точки в пиксельные экранные для конкретной
загруженной карты;
3. Желательна простота установки библиотеки ГИС в систему ( аналогичная простоте установки
MapWinGIS в Delphi ).
Больше, в-принципе, ничего не требуется.
Буду очень признателен за конкретное указание, если таковая библиотека существует.

Re: Какую библиотеку ГИС использовать для разработки приложе

Добавлено: 16 апр 2014, 08:11
trir
http://dotspatial.codeplex.com/
Я не знаю как он дружит с C++, но с VB.NET - все прекрасно

Re: Какую библиотеку ГИС использовать для разработки приложе

Добавлено: 16 апр 2014, 12:31
Максим Дубинин
никак не дружит, С++ и .NET это два разных языка, соответственно ссылке не то, о чем спрашивает автор вопроса

Re: Какую библиотеку ГИС использовать для разработки приложе

Добавлено: 16 апр 2014, 12:56
Foma
Благодарю камрадов за ответы и немного уточняю свой вопрос - существует ли библиотека ГИС для реализации
следующего компромиссного варианта :
Имеется большой проект из множества модулей, написаных на С++, созданный в MS Visual Studio.
К этому проекту добавляется модуль моей задачи на языке, отличном от С++, при этом сохраняется
возможность обмена данными между этим модулем и всеми прочими. Перечисленные выше условия 2 и 3
остаются в силе.

Re: Какую библиотеку ГИС использовать для разработки приложе

Добавлено: 16 апр 2014, 13:17
trir
А если двигаться в другом направлении - написать плагин к QGIS который обеспечит взаимодействие?

Re: Какую библиотеку ГИС использовать для разработки приложе

Добавлено: 16 апр 2014, 13:36
Foma
trir писал(а):А если двигаться в другом направлении - написать плагин к QGIS который обеспечит взаимодействие?
Но ведь для этого, насколько я понимаю, надо сперва установить QGIS в MS Visual Studio ? Или я ошибаюсь ?
Я ранее не работал с QGIS и опыт работы c MS Visual Studio - только в рамках C++. В-основном работал с Delphi и C++ Builder. Так что, если Вас не затруднит, развейте, пожалуйста свою мысль поподробнее. Не улавливаю суть Вашего предложения. Может, меня вполне устроит то, что Вы хотите предложить.

Re: Какую библиотеку ГИС использовать для разработки приложе

Добавлено: 16 апр 2014, 18:38
Дмитрий Барышников
Foma писал(а): Имеется большой проект из множества модулей, написаных на С++, созданный в MS Visual Studio.
Какие С++ библиотеки используются в большом проекте?
MFC, ATL, Qt, wxWidgets, boost, mingw...

Re: Какую библиотеку ГИС использовать для разработки приложе

Добавлено: 16 апр 2014, 19:54
Foma
Дмитрий Барышников писал(а):
Foma писал(а): Имеется большой проект из множества модулей, написаных на С++, созданный в MS Visual Studio.
Какие С++ библиотеки используются в большом проекте?
MFC, ATL, Qt, wxWidgets, boost, mingw...
Диалоги строятся на Qt. Все остальное не выходит за рамки стандартных библиотек C++.

Re: Какую библиотеку ГИС использовать для разработки приложе

Добавлено: 16 апр 2014, 20:31
gamm
Foma писал(а):Благодарю камрадов за ответы и немного уточняю свой вопрос - существует ли библиотека ГИС для реализации
следующего компромиссного варианта :
Имеется большой проект из множества модулей, написаных на С++, созданный в MS Visual Studio.
К этому проекту добавляется модуль моей задачи на языке, отличном от С++, при этом сохраняется
возможность обмена данными между этим модулем и всеми прочими. Перечисленные выше условия 2 и 3
остаются в силе.
непонятно, что мешает вам сделать из вашей программы на Дельфи dll или статическую библиотеку, и просто подцепить к проекту на С++? Там никаких проблем нет (кроме некоторых причуд мелкомягких в некоторых версиях С++, где они отключили паскалевскую передачу параметров - но в последних версиях работает, и х64 тоже теперь можно делать).

Re: Какую библиотеку ГИС использовать для разработки приложе

Добавлено: 17 апр 2014, 06:33
Foma
gamm писал(а): непонятно, что мешает вам сделать из вашей программы на Дельфи dll или статическую библиотеку
Вариант с DLL, в-принципе, допустим, но не устраивает меня в силу разных технических и организационных причин, потребуются существенные изменения в интерфейсной части модуля. И, к тому же, хотелось бы иметь возможность работать со всеми модулями в рамках проекта на уровне исходных текстов.

Re: Какую библиотеку ГИС использовать для разработки приложе

Добавлено: 17 апр 2014, 09:52
Дмитрий Барышников
Если Qt, то однозначно надо разбираться с QGIS.
Поймите ГИС библиотеки бывают разные - одни с пользовательским интерфейсом, другие без.
Судя по вашему описанию вам надо с GUI. API здесь: http://qgis.org/api/2.0/

Re: Какую библиотеку ГИС использовать для разработки приложе

Добавлено: 17 апр 2014, 10:34
Foma
Дмитрий Барышников писал(а):Если Qt, то однозначно надо разбираться с QGIS...
... Чем я и занимаюсь в данный момент времени. Поскольку опыта с QGIS нет абсолютно никакого, то действую по шагам, как изложено в статье http://gis-lab.info/qa/qgis-standalone.html . В статье написано : "Будем исходить из того, что все программное обеспечение установлено при помощи установщика OSGeo4W". Но у меня получилось так, что скачал дистрибутив QGIS Valmiera и установил. Далее скачал демо-пример с самого конца статьи, запустил командную оболочку и пошагам прошел всю статью и все нормально скомпилировалось. Но на последок командой start не запускается. Значения переменных окружения исправил с учетом каталогов установки QGIS Valmiera.
Сразу же вопрос - в именах каталогов, в значениях переменных окружения допускаются пробелы или нет ? А то среда установилась в каталог "QGIS Valmiera" в каталоге "Program Files". И эквивалентна ли работа в среде QGIS Valmiera работе в среде, установленной установщиком OSGeo4W ?

Re: Какую библиотеку ГИС использовать для разработки приложе

Добавлено: 17 апр 2014, 10:44
Максим Дубинин
Foma писал(а):Будем исходить из того, что все программное обеспечение установлено при помощи установщика OSGeo4W". Но у меня получилось так, что скачал дистрибутив QGIS Valmiera и установил
Вы задаете вопрос по конкретной статье нарушив первое же основное ее положение.

Re: Какую библиотеку ГИС использовать для разработки приложе

Добавлено: 17 апр 2014, 10:52
Foma
Максим Дубинин писал(а): Вы задаете вопрос по конкретной статье нарушив первое же основное ее положение.
Охотно признаю свою вину, но у меня нет под рукой никакого другого материала

Re: Какую библиотеку ГИС использовать для разработки приложе

Добавлено: 17 апр 2014, 10:55
Foma
Дмитрий Барышников писал(а):Если Qt, то однозначно надо разбираться с QGIS.
Простите, а какая логическая связь между использованием Qt и QGIS ?