QGIS связка с БД + интерактивность

Не знаете, где задать вопрос? Задавайте здесь.
Ответить
tems-ya
Интересующийся
Сообщения: 30
Зарегистрирован: 28 янв 2015, 22:07
Репутация: 1
Откуда: Воронеж

QGIS связка с БД + интерактивность

Сообщение tems-ya » 10 сен 2019, 12:05

Добрый день, друзья!

С Qgis сталкивался совсем поверхностно...
Подскажите, если кто в теме

1) Есть БД. В ней таблица. Например координаты и название точки.
Можно-ли заставить Qgis подключиться к БД, скачать данные и отобразить точки (вектора, полигоны) на карте?
Если можно то как?

Интересует хоть какой-нибудь пример или инструкция (ссылка на доки) или что иное, чтобы можно было разобраться с этим.

2) Можно ли заставить Qgis выполнять запрограмированные действия при щелчке мышкой на объектах карты?

Все это делаю на МаpInfo на MapBasic.
Встал вопрос перехода на открытое бесплатное ПО(Qgis)... Пока даже не могу оценить его пригодность (идеологическую) для решения таких задачь :(

Слышал что Qgis==C++ и криво Piton. Это непугает, но нужны примеры и/или доки

Если все это возможно, помогите освоить технологию - сделать первые шаги.

Спасибо.

wasposa
Участник
Сообщения: 85
Зарегистрирован: 02 май 2017, 13:22
Репутация: 18
Откуда: Москва

Re: QGIS связка с БД + интерактивность

Сообщение wasposa » 10 сен 2019, 16:18

Могу порекомендовать "The PyQGIS Programmer’s Guide. Extending QGIS 3.x with Python 3"

trir
Гуру
Сообщения: 4359
Зарегистрирован: 09 апр 2010, 19:30
Статьи: 1
Репутация: 793
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: QGIS связка с БД + интерактивность

Сообщение trir » 10 сен 2019, 18:46

п.1 Легко, если хранить геометрию как геометрию :D
http://wiki.gis-lab.info/w/%D0%9F%D1%80 ... 0%B8%D0%B9

tems-ya
Интересующийся
Сообщения: 30
Зарегистрирован: 28 янв 2015, 22:07
Репутация: 1
Откуда: Воронеж

Re: QGIS связка с БД + интерактивность

Сообщение tems-ya » 11 сен 2019, 15:44

Спасибо, за ответы.

Был бы премного благодарен если бы кто мопог с книжкой по 3 версии или ссылкой на место где ее можно скачать, так как принято у нас. К сожалению быстро пока найти ее не удалось, удалось скачать только по 2 версии, да и то без плясок с бубеном не обошлось. 2 Версия сильно отличается, но всяко лучше чем ничего, особенно не старте. Пока курю ее.

Про геометрию слышал, возможно, это будет следующий шаг, пока нет уверенности в правильности такого подхода.
Хотелось бы дажать классический подход когда кроме координат (длин, азимутов) больше ничего нет и по этим данным нужно отобразить точку

С горем пополам с 10 попытки подключился к БД и скормил ей (selec * from xxx). Координаты точки у меня теперь, теоретически есть. Вопрос как отобразить ее на карте? Примерчик бы...

З.Ы. Слой карты из шейпа с трудом, но удалось загрузить тоже, а вот с атрибутами, как там менять цвета и прочее пока не справился, т.к. 3 версия, от описанной в книжке 2 версии, весьма существенно отличается + с питоном никогда до этого не приходилось иметь дело.

trir
Гуру
Сообщения: 4359
Зарегистрирован: 09 апр 2010, 19:30
Статьи: 1
Репутация: 793
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: QGIS связка с БД + интерактивность

Сообщение trir » 11 сен 2019, 17:00

по этим данным нужно отобразить точку
надо просто создать точку в БД - это можно сделать через представление в БД, я так в приведённом примере из точек собираю линии, а можно из координат собирать точки

tems-ya
Интересующийся
Сообщения: 30
Зарегистрирован: 28 янв 2015, 22:07
Репутация: 1
Откуда: Воронеж

Re: QGIS связка с БД + интерактивность

Сообщение tems-ya » 12 сен 2019, 08:49

:) Это другой подход.
В общем случае у нас нет БД. У нас есть файл (Exel, csv и т.д.) и надо создать карту shp например с одной или несколькими точками из этого файла.
Нет никаких БД, нет никаких гео-надстроек над ними. Надо руками создать карту. Не может быть чтобы такой мощный инструмент не мог это сделать - вопрос в том, как это реализовать из скриптов.

trir
Гуру
Сообщения: 4359
Зарегистрирован: 09 апр 2010, 19:30
Статьи: 1
Репутация: 793
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: QGIS связка с БД + интерактивность

Сообщение trir » 12 сен 2019, 11:08

У нас есть файл (Exel, csv и т.д.) и надо создать карту shp например с одной или несколькими точками из этого файла.
не надо, просто сделай csv с wkt - в Excel'е это можно сделать формулами

tems-ya
Интересующийся
Сообщения: 30
Зарегистрирован: 28 янв 2015, 22:07
Репутация: 1
Откуда: Воронеж

Re: QGIS связка с БД + интерактивность

Сообщение tems-ya » 12 сен 2019, 14:37

Ок, допустим.. сделаю. Точку нарисую, точнее, таким обоазом смогу импортировать на слой.

Вопрос, кака мне нарисовать на карте сектор с произвольным радиусом R, произвольным азимутом alfa и произвольной ширины с вершиной в точке с координатами LAT,LON (все значения задаются в переменных и могут меняться походу)?

Тоже в Exel формулами?

trir
Гуру
Сообщения: 4359
Зарегистрирован: 09 апр 2010, 19:30
Статьи: 1
Репутация: 793
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: QGIS связка с БД + интерактивность

Сообщение trir » 12 сен 2019, 15:28

да, но задача сложнее чем ты думаешь, или проще...
Этот сектор нужен как оформление или полигон?

https://gis.stackexchange.com/questions ... using-qgis
viewtopic.php?f=25&t=20491

tems-ya
Интересующийся
Сообщения: 30
Зарегистрирован: 28 янв 2015, 22:07
Репутация: 1
Откуда: Воронеж

Re: QGIS связка с БД + интерактивность

Сообщение tems-ya » 12 сен 2019, 16:52

Не совсем понял про оформление и полигон.
Моя хотелка простая (или сложная)

Есть сформированнная карта(или набор слоев) со всеми нужными нам объектами (как это сделать мне пока непонятно, ну допустим). Мышкой я кликаю по нужному объекту - в итоге на карте рисуется сектор, линия, символ, да что угоднго, что мне будет нужно, на основании тех данных которые хранятся в свойствах данного объекта.

Это что оформление или полигон я не знаю, склоняюсь к полигону.

З.Ы. Вот нашел, пока, кажется ближе всего (и понятнее) к тому, что требуется. Версия правда старая, ну хоть на уровне идею посмотреть, а то вообще вслепую.
http://gis-lab.info/docs/qgis/cookbook/

tems-ya
Интересующийся
Сообщения: 30
Зарегистрирован: 28 янв 2015, 22:07
Репутация: 1
Откуда: Воронеж

Re: QGIS связка с БД + интерактивность

Сообщение tems-ya » 12 сен 2019, 16:56

Нужен аналог того, что я делал сдесь
viewtopic.php?t=18754
для MapIfo

tems-ya
Интересующийся
Сообщения: 30
Зарегистрирован: 28 янв 2015, 22:07
Репутация: 1
Откуда: Воронеж

Re: QGIS связка с БД + интерактивность

Сообщение tems-ya » 13 сен 2019, 15:53

Какую-то точку удалось нарисовать так:

Код: Выделить всё

layer = QgsVectorLayer('Point?crs=epsg:4326', 'MyPoint' ,'memory')
pr = layer.dataProvider()
pt = QgsFeature()
point1 = QgsPointXY(20,20)

pt.setGeometry(QgsGeometry.fromPointXY(point1))
pr.addFeatures([pt])
layer.updateExtents()

QgsProject.instance().addMapLayer(layer)

Ответить

Вернуться в «Я новичок!»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей