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

Взаимосвязь QGIS и сторонних приложений

Добавлено: 15 мар 2017, 09:48
vlad_s
Добрый день, знатоки!
Возможна ли работа с QGIS в таком режиме: есть приложение (VB6, VB.NET, Delphi), в котором можно вызвать карту (QGIS) и отобразить на ней выбранные объекты (трубопровод, его пересечения с реками, дорогами, болотами, раскладка изоляции, дефекты трубы). И наоборот: выбрать на карте некий объект (задвижка, пересечение трубопровода с автодорогой, дефект трубы) и отдать выбранный ID-объекта в приложение, из которого была вызвана карта.

Re: Взаимосвязь QGIS и сторонних приложений

Добавлено: 15 мар 2017, 10:12
freeExec
Можно как встроить так и управлять QGIS, но надо кодить.

Re: Взаимосвязь QGIS и сторонних приложений

Добавлено: 15 мар 2017, 16:48
vlad_s
Понятно, что надо кодить. В наших приложениях для трубопроводчиков сделан ActiveX (карта), который можно было в referenc-ах привязать в проект, а потом рисуешь на карте, что надо, или ловишь click в объект с этой карты. Может быть, кто-то уже проделывал такое с QGIS, нужен совет, в каком направлении копать, главное для нас - принципиально такое возможно? если возможно, то хотя бы в 2-х словах: вызывается оболочка QGIS (или может быть упрощенный вьюер) с уже подготовленными слоями, или они "набиваются" на лету? при click-в объект у нас в каждом приложении показывается паспорт объекта, в котором скрываются служебные (id, координаты click-а) поля, но, могут быть фреймы с chart-м), возможно ли получать от с карты QGIS такой паспорт?. Хотелось бы получить совет пользователя, который шел этим путем, а свои шишки мы будем набивать себе сами.

Re: Взаимосвязь QGIS и сторонних приложений

Добавлено: 16 мар 2017, 10:33
freeExec
Без проблем встраивается на QT, примеров куча, начиная с документации. Но возможно в вашем случае, то что вы описали, было бы куда проще на питоне создать плагин для самого QGIS.

Re: Взаимосвязь QGIS и сторонних приложений

Добавлено: 16 мар 2017, 12:04
vlad_s
Постепенно нахожу ответы на самые первые вопросы. И как-то продвигаюсь в плане их реализации (попробовал запуск наших приложений при клике на объектах карты. Оказалось, надо настроить для слоя вкладку "Действия"), но тут же появляются новые вопросы.
Вопрос 1: В доке для QGIS ("Параметры командной строки") можно стартануть с указанием слоев. А возможно ли дополнительно выделить требуемый item в этом слое, допустим, другим цветом, или "мерцанием" этого item?
Вопрос 2: Возможно ли при click-е объекта на карте не отображать его карточку, а сразу выполнять действие (вызов внешнего приложения)?