Навчальні ресурси для PyQGIS? [зачинено]


10

Я шукаю деякі ресурси для вивчення PyQGIS.

Цікаво було б мати колекцію книг чи веб-сайтів, які дають кілька практичних прикладів для вивчення синтаксису або виконання конкретних завдань.

В ідеалі ці ресурси повинні давати загальні рекомендації як для початківців, так і для досвідчених користувачів.

Де знайти підручники та веб-ресурси QGIS? це дуже схоже питання, але воно допомагає вивчати QGIS, а не конкретно PyQGIS (адже він не має тегу PyQGIS).

Будь-яка допомога?


Чи можете ви опублікувати якийсь код, щоб проілюструвати вашу проблему. Дійсно потрібно певних зусиль, щоб потрапити в пікгіс. Ваші найкращі варіанти - це кулінарна книга та api c ++.
Пітер Петерсон


1
Мені це питання здається дублікатом цього. Я думаю, ви можете опублікувати свою відповідь там :)
Germán Carrillo

1
Як правило, я б сказав, що нове запитання (яке занадто широке для зосереджених запитань і запитань) повинно бути дублікатом старого, щоб не відмовитись від таких питань. Однак у цьому випадку знадобиться набагато менше наших добровільних зусиль, щоб об'єднати старішу в цю як заблоковану вікі, щоб ваші зусилля, написавши її, не втратили.
PolyGeo

1
Зосереджені запитання початківців повинні давати на них цілеспрямовані відповіді.
PolyGeo

Відповіді:


10

Наступні ресурси документації повинні полегшити ваш досвід розробки PyQGIS:

Діаграма основних відносин PyQGIS (автор Thomas Gratier): https://raw.githubusercontent.com/webgeodatavore/qgis-class-diagram/master/diagramme_principal.png

Пошук документації класів PyQGIS (від SourcePole): http://geoapis.sourcepole.com

Наприклад, addFeatureметод, у якого виникли проблеми, описаний тут: http://geoapis.sourcepole.com/qgispyapi/qgsvectorlayer#QgsVectorLayer.addFeature

введіть тут опис зображення

В якості другого прикладу setAttributeописаний метод тут: http://geoapis.sourcepole.com/qgispyapi/qgsfeature#QgsFeature.setAttribute

введіть тут опис зображення


geoapis.sourcepole.com має дивовижну зручність використання, однак він не оновлювався з QGIS 2.8. Чи є зусилля для підтримання цього чи документації, як цей веб-сайт був побудований?
Норвін

Я справді не знаю, але тепер у вас є офіційні документи PyQGIS API: qgis.org/pyqgis/master Отже, я думаю, що SourcePole не витратив би час на оновлення свого веб-сайту PyQGIS. Це було б дублювання зусиль.
Герман Каррілло

8

Наведені нижче ресурси дають загальні рекомендації щодо вивчення або використання PyQGIS і, як правило, передбачають мінімальну кваліфікацію роботи з Python.


Версії QGIS 3.x

  • Документація API PyQGIS 3 : офіційна документація API Python. Документація для кожного основного випуску, починаючи з v3.0, а також нічна версія надається;

  • Кулінарна книга для розробників PyQGIS : написана для QGIS 2.x, вона поступово оновлюється до 3.x. Він все ще може бути корисним як навчальний посібник та довідник та дає хороший огляд основних функцій.


Версії QGIS 2.x

Документація PyQGIS:

  • Кулінарна книга для розробників PyQGIS : офіційне введення в програмування PyQGIS. Він покликаний працювати як навчальний посібник, так і довідник та дає хороший огляд основних функцій;

  • Документація API PyQGIS : неофіційна документація API Python від SourcePole. Він забезпечує інтерфейс для пошуку, але не оновлювався з QGIS 2.8;

  • Документація API QGIS C ++ : офіційна документація API C ++. Описуючи API C ++, він може бути корисним для розробки pyqgis.

Онлайн книги:

  • Шерман Г. (2014). Посібник програміста PyQGIS : розширення QGIS 2.x на Python;

  • Вестра Е. (2014). Створення картографічних додатків за допомогою QGIS : і для початківців, і для досвідчених розробників Python ця книга охоплює багато тем про використання PyQGIS, включаючи створення плагінів QGIS та використання QGIS у зовнішньому додатку;

  • Лоухед Дж. (2015). QGIS Python Programming Cookbook : 140 рецептів для вивчення та автоматизації геопросторових робочих процесів;

  • Менке К., Річард С., Піреллі Л. (2015). Освоєння QGIS : деякі розділи надають практичні покрокові приклади ознайомлення з PyQGIS;

  • Грейзер А. (2016). Навчання QGIS - Третє видання : один розділ повністю присвячений написанню QGIS з Python, починаючи від основи до більш досконалого використання декількох доступних інструментів;

  • Lawhead J. (2017). QGIS Python Programming Cookbook - друге видання : ця книга має повне оновлення коду до QGIS 2.18 та 30 нових рецептів.

Підручники / Блоги / Веб-ресурси:

  • Натан Вудро : блог, в основному про речі QGIS, який також розглядає конкретні теми щодо використання PyQGIS. Автор - один з найактивніших розробників QGIS;

  • nyalldawson.net : блог з кількома публікаціями про використання PyQGIS. Автор - один з найактивніших розробників QGIS;

  • "Як" в QGIS : на сайті подано кілька пропозицій щодо вирішення проблем за допомогою PyQGIS. Коли це можливо, ці поради пропонуються за допомогою простих зразків коду. Я автор цього блогу;

  • Підручники та поради QGIS : у розділі цього блогу подано низку навчальних посібників для вивчення сценаріїв PyQGIS. Автор - дуже досвідчений спеціаліст з ГІС;

  • Lutra Consulting : список публікацій із тегом PyQGIS, які висвітлюють деякі теми про PyQGIS.


2
Яких тут оновлень? QGIS3 близький до випуску, я вважаю.
MartinT

Хтось має уявлення про те, коли / якщо будь-яку з вищезгаданих книг (2.x) можна буде оновити до 3.x?
Віль Койвісто

Заголовок Sherman оновлено для PyQGIS3 (Посібник програміста PyQGIS: Розширення QGIS 3 з Python 3).
Віль Койвісто

0

Не впевнені, що ви маєте на увазі під час потрапляння в Python API QGIS? , але є функція addFeatures (), звичайно. Це працює в QGIS 2.4:

mem_layer = QgsVectorLayer("Polygon?crs=epsg:4326&field=MYNUM:integer&field=MYTXT:string", "temp_layer", "memory")

if not mem_layer.isValid(): raise Exception("Failed to create memory layer")

mem_layer_provider = mem_layer.dataProvider()

my_polygon = QgsFeature()
my_polygon.setGeometry(QgsGeometry.fromRect(QgsRectangle(16,48,17,49)))
my_polygon.setAttributes([10,"hello world"])

mem_layer_provider.addFeatures([my_polygon])

mem_layer.updateExtents()
QgsMapLayerRegistry.instance().addMapLayer(mem_layer)

Якщо ви незадоволені документами API та кулінарною книжкою PyQGIS, ваш останній шанс - заглянути в робочі плагіни - вони все-таки є відкритим кодом - і ви зможете легко побачити, чи працюють вони в 2.4 ...

Для вдосконалення документації проект із задоволенням приймає будь-які ресурси.


1
навіть layer.addFeature()якщо хочете.
Nathan W

Моє ліжко. Саме функція setAttribute призвела до помилки - я думаю, я не був надто пам’ятним після пошуку.
Флоріан Р. Кляйн

Дивлячись на код існуючих плагінів, як я дізнався pyqgis.
warrieka
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.