Sumber belajar untuk PyQGIS? [Tutup]

10

Saya mencari beberapa sumber untuk belajar PyQGIS.

Akan menarik memiliki koleksi buku atau situs web yang menyediakan beberapa contoh praktis untuk mempelajari sintaksis atau menyelesaikan tugas tertentu.

Idealnya, sumber daya ini harus memberikan panduan umum untuk pengguna pemula dan berpengalaman.

Di mana menemukan tutorial QGIS dan sumber daya web? adalah pertanyaan yang sangat mirip, tetapi memberikan bantuan untuk mempelajari QGIS, dan tidak secara khusus PyQGIS (pada kenyataannya, ia tidak memiliki tag PyQGIS).

Ada bantuan?

mgri
sumber
Bisakah Anda memposting beberapa kode untuk menggambarkan masalah Anda. Memang butuh usaha untuk masuk ke pyqgis. Pilihan terbaik Anda adalah buku masak dan api c ++.
Peter Peterson
1
Baca ini gis.stackexchange.com/questions/114301/…
Germán Carrillo
1
Bagi saya pertanyaan ini sepertinya merupakan duplikat dari pertanyaan itu. Saya pikir Anda dapat memposting jawaban Anda di sana :)
Germán Carrillo
1
Biasanya, saya akan mengatakan bahwa pertanyaan yang lebih baru (yang terlalu luas untuk tanya jawab) harus dibuat duplikat dari yang lebih lama untuk mencegah pertanyaan seperti itu diajukan. Namun, dalam kasus ini, upaya sukarela kami untuk menggabungkan yang lebih tua akan lebih sedikit menjadi yang ini sebagai wiki yang dikunci agar upaya Anda menulisnya tidak hilang.
PolyGeo
1
Pertanyaan terfokus oleh pemula harus memberikan jawaban terfokus bagi mereka.
PolyGeo

Jawaban:

10

Sumber dokumentasi berikut ini akan memudahkan pengalaman pengembangan PyQGIS Anda:

Diagram hubungan PyQGIS utama (oleh Thomas Gratier): https://raw.githubusercontent.com/webgeodatavore/qgis-class-diagram/master/diagramme_principal.png

Dokumentasi kelas PyQGIS yang dapat ditelusuri (oleh SourcePole): http://geoapis.sourcepole.com

Misalnya, addFeaturemetode yang bermasalah dengan Anda dijelaskan di sini: http://geoapis.sourcepole.com/qgispyapi/qgsvectorlayer#QgsVectorLayer.addFeature

masukkan deskripsi gambar di sini

Sebagai contoh kedua, setAttributemetode ini dijelaskan di sini: http://geoapis.sourcepole.com/qgispyapi/qgsfeature#QgsFeature.setAttribute

masukkan deskripsi gambar di sini

Germán Carrillo
sumber
geoapis.sourcepole.com memiliki kegunaan yang luar biasa, namun tidak diperbarui sejak QGIS 2.8. Apakah ada upaya untuk mempertahankan ini, atau dokumentasi bagaimana situs web ini dibangun?
Norwin
Saya benar-benar tidak tahu, tetapi sekarang Anda memiliki dokumen resmi PyQGIS API: qgis.org/pyqgis/master Jadi, saya pikir SourcePole tidak akan menghabiskan waktu memperbarui situs web PyQGIS mereka. Itu akan menjadi duplikasi upaya.
Germán Carrillo
8

Sumber daya berikut memberikan panduan umum untuk belajar atau menggunakan PyQGIS dan umumnya mengasumsikan kemampuan minimum bekerja dengan Python.


QGIS versi 3.x

  • Dokumentasi API PyQGIS 3 : dokumentasi resmi API Python. Dokumentasi untuk setiap rilis utama sejak v3.0 dan juga versi malam disediakan;

  • Cookbook Pengembang PyQGIS : ditulis untuk QGIS 2.x secara bertahap diperbarui menjadi 3.x. Ini mungkin masih bermanfaat sebagai tutorial dan panduan referensi dan memberikan gambaran yang baik tentang fungsi-fungsi utama.


Versi QGIS 2.x

Dokumentasi PyQGIS:

  • Cookbook Pengembang PyQGIS : pengantar resmi untuk pemrograman PyQGIS. Ini dimaksudkan untuk bekerja baik sebagai tutorial dan panduan referensi dan memberikan gambaran yang baik tentang fungsi utama;

  • Dokumentasi API PyQGIS : dokumentasi tidak resmi API Python oleh SourcePole. Ini menyediakan antarmuka yang dapat ditelusuri, tetapi tidak diperbarui sejak QGIS 2.8;

  • QGIS C ++ API Documentation : dokumentasi resmi C ++ API. Saat menjelaskan API C ++, ini bisa berguna untuk pengembangan pyqgis.

Buku online:

  • Sherman G. (2014). Panduan Programmer PyQGIS : memperluas QGIS 2.x dengan Python;

  • Westra E. (2014). Membangun Aplikasi Pemetaan dengan QGIS : untuk pemula dan pengembang Python berpengalaman, buku ini mencakup banyak topik tentang penggunaan PyQGIS, termasuk pembuatan plugin QGIS dan penggunaan QGIS dalam aplikasi eksternal;

  • Lawhead J. (2015). Cookbook Pemrograman Python QGIS : 140 resep untuk belajar dan mengotomatisasi alur kerja geospasial;

  • Menke K., Richard S., Pirelli L. (2015). Menguasai QGIS : beberapa bagian menyediakan contoh praktis, langkah-demi-langkah untuk membiasakan diri dengan PyQGIS;

  • Graser A. (2016). Belajar QGIS - Edisi Ketiga : satu bagian sepenuhnya didedikasikan untuk scripting QGIS dengan Python, mulai dari dasar hingga penggunaan yang lebih maju dari beberapa alat yang tersedia;

  • Lawhead J. (2017). Cookbook Pemrograman Python QGIS - Edisi Kedua : buku ini memiliki upgrade kode lengkap ke QGIS 2.18 dan 30 resep baru.

Tutorial / Blog / Sumber daya web:

  • Nathan Woodrow : sebagian besar blog tentang hal-hal QGIS yang juga membahas topik-topik spesifik tentang penggunaan PyQGIS. Penulis adalah salah satu pengembang QGIS paling aktif;

  • nyalldawson.net : blog dengan beberapa posting tentang penggunaan PyQGIS. Penulis adalah salah satu pengembang QGIS paling aktif;

  • "How To" di QGIS : situs ini memberikan beberapa saran untuk menyelesaikan masalah menggunakan PyQGIS. Jika memungkinkan, tips ini ditawarkan melalui contoh kode sederhana. Saya penulis blog ini;

  • Tutorial dan Tip QGIS : bagian dari blog ini menyediakan serangkaian tutorial untuk mempelajari skrip PyQGIS. Penulis adalah spesialis GIS yang sangat berpengalaman;

  • Lutra Consulting : daftar posting, memiliki tag PyQGIS, yang mencakup beberapa topik tentang PyQGIS.

mgri
sumber
2
Setiap pembaruan di sini? QGIS3 sudah hampir dirilis saya percaya.
MartinT
Adakah yang punya ide, kapan / jika ada buku-buku yang disebutkan di atas (2.x) dapat diperbarui ke 3.x?
Ville Koivisto
Judul Sherman telah diperbarui untuk PyQGIS3 (Panduan Programmer PyQGIS: Memperluas QGIS 3 dengan Python 3).
Ville Koivisto
0

Tidak yakin apa yang Anda maksud di Getting into Python API of QGIS? , tapi tentu saja ada fungsi addFeatures (). Ini berfungsi di 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)

Jika Anda tidak puas dengan dokumen API dan Cookbook PyQGIS, kesempatan terakhir Anda adalah melihat plugin yang berfungsi - semuanya open source - dan Anda dapat dengan mudah melihat apakah mereka bekerja di 2.4 ...

Untuk meningkatkan dokumentasi, proyek dengan senang hati menerima sumber daya apa pun.

underdark
sumber
1
bahkan layer.addFeature()jika kamu mau.
Nathan W
Salahku. Itu adalah setAttribute-function yang telah melempar kesalahan - saya kira, saya tidak terlalu berhati-hati setelah mencari.
Florian R. Klein
Melihat kode plugin yang ada, adalah bagaimana saya belajar pyqgis.
warrieka