Pierwsze kroki w tworzeniu wtyczek QGIS?

28

Chcę opracować prostą wtyczkę do QGIS, która otworzy niektóre dane i wykona określone przetwarzanie.

Próbowałem wyszukać na wiki QGIS, ale znalazłem tylko ten link:

http://www.qgis.org/wiki/Writing_C++_Plugins

który wydaje się być przestarzały. Było też kilka postów na blogu z 2006 roku.

Widziałem też coś o wtyczkach Python, ale nie jestem pewien, czy muszę pracować z wtyczką C ++, czy wtyczką Python.

Gdzie mogę znaleźć dokumentację lub samouczki, które pomogłyby mi zacząć?

Devdatta Tengshe
źródło

Odpowiedzi:

30

To pytanie zostało przekonwertowane na Wiki Wiki i wiki zablokowane, ponieważ jest to przykład pytania, które szuka listy odpowiedzi i wydaje się być wystarczająco popularne, aby chronić je przed zamknięciem. Powinno to być traktowane jako szczególny przypadek i nie powinno być postrzegane jako rodzaj pytania, które jest zachęcane w tej lub dowolnej witrynie Stack Exchange, ale jeśli chcesz wnieść do niego więcej treści, możesz to zrobić, edytując tę ​​odpowiedź .


Wtyczki C ++ są obecnie coraz mniej popularne. Najprawdopodobniej, ponieważ są trudniejsze do opracowania. Większość pracy dokumentacyjnej włożono we wtyczki Python. W C ++ wciąż jest miejsce na krytyczne pod względem wydajności elementy i funkcje, które powinny zostać scalone z rdzeniem QGIS (na przykład nowe renderery).

Istnieje wtyczka konstruktora wtyczek, która pomaga stworzyć podstawową strukturę wtyczki dla Ciebie.

PyQGIS Cookbook oferuje wiele fragmentów kodu dla wtyczek Pythona

Książka PyQGIS Przewodnik programisty jest kolejnym dobrym źródłem informacji.

Jeśli utkniesz, lista dyskusyjna deweloperów QGIS jest w stanie Ci pomóc.

podmrok
źródło
8

Zasadniczo musisz wiedzieć 3 rzeczy:

  1. Python: http://www.python.org/
  2. PyQT (aby stworzyć interfejs użytkownika, jeśli chcesz): http://www.riverbankcomputing.co.uk/software/pyqt/intro
  3. Qgis API: http://doc.qgis.org/head/

Wszystkie są bardzo dobrze udokumentowane, na początek polecam przeglądanie modułów QGIS API i granie z konsolą python wykonując podstawowe czynności, takie jak dostęp do funkcji warstwy wektorowej.

Później, gdy poczujesz interfejs API, możesz zadać bardziej szczegółowe pytania tutaj w GIS SE, np. Korzystanie z QGIS API i Pythona, aby zwrócić szerokość i długość geograficzną punktu?

Pablo
źródło
5

Istnieje również QGIS Plugin Builder , który przygotowuje podstawowy szkielet wtyczki na początek. Tworzy dla Ciebie wszystkie niezbędne pliki.

dimitris
źródło
1
Link to 404.
Aaron
Teraz link działa.
dimitris