Học tài nguyên cho PyQGIS? [đóng cửa]


10

Tôi đang tìm kiếm một số tài nguyên để học PyQGIS.

Sẽ rất thú vị khi có một bộ sách hoặc trang web cung cấp một số ví dụ thực tế để học cú pháp hoặc hoàn thành các nhiệm vụ cụ thể.

Lý tưởng nhất, các tài nguyên này nên đưa ra một hướng dẫn chung cho cả người dùng mới bắt đầu và người dùng có kinh nghiệm.

Nơi để tìm hướng dẫn và tài nguyên web của QGIS? là một câu hỏi rất giống nhau, nhưng nó giúp ích cho việc học QGIS, và không cụ thể là PyQGIS (thực tế, nó không có thẻ PyQGIS).

Có ai giúp đỡ không?


Bạn có thể gửi một số mã để minh họa vấn đề của bạn. Nó thực sự phải mất một số nỗ lực để có được vào pyqgis. Tùy chọn tốt nhất của bạn là sách dạy nấu ăn và api c ++.
Peter Peterson


1
Đối với tôi câu hỏi này có vẻ như là một bản sao của câu hỏi đó. Tôi nghĩ bạn có thể đăng câu trả lời của mình lên đó :)
Germán Carrillo

1
Thông thường, tôi sẽ nói rằng câu hỏi mới hơn (quá rộng đối với câu hỏi và trả lời tập trung) nên được tạo thành một bản sao của câu hỏi cũ hơn để ngăn cản những câu hỏi như vậy được hỏi. Tuy nhiên, trong trường hợp này, sẽ mất ít nhiều nỗ lực tình nguyện của chúng tôi để hợp nhất cái cũ hơn với cái này như một wiki bị khóa để nỗ lực viết của bạn không bị mất.
PolyGeo

1
Câu hỏi tập trung của người mới bắt đầu nên cung cấp câu trả lời tập trung cho họ.
PolyGeo

Câu trả lời:


10

Các tài nguyên tài liệu sau sẽ giúp giảm bớt kinh nghiệm phát triển PyQGIS của bạn:

Sơ đồ về các mối quan hệ PyQGIS chính (của Thomas Gratier): https://raw.githubusercontent.com/webgeodatavore/qgis- class-diagram / master / degramme_principal.png

Tài liệu có thể tìm kiếm của các lớp PyQGIS (theo SourcePole): http://geoapis.sourcepole.com

Ví dụ: addFeaturephương pháp bạn gặp sự cố được mô tả ở đây: http://geoapis.sourcepole.com/qgispyapi/qgsvectorlayer#QgsVectorLayer.addFeature

nhập mô tả hình ảnh ở đây

Như một ví dụ thứ hai, setAttributephương thức này được mô tả ở đây: http://geoapis.sourcepole.com/qgispyapi/qgsfeature#QgsFeature.setAttribution

nhập mô tả hình ảnh ở đây


Geoapis.sourcepole.com có ​​khả năng sử dụng đáng kinh ngạc, tuy nhiên nó không được cập nhật kể từ QGIS 2.8. Có nỗ lực để duy trì điều này, hoặc tài liệu làm thế nào trang web này được xây dựng?
Norwin

Tôi thực sự không biết, nhưng bây giờ bạn có tài liệu API PyQGIS chính thức: qgis.org/pyqgis/master Vì vậy, tôi nghĩ SourcePole sẽ không dành thời gian cập nhật trang web PyQGIS của họ. Đó sẽ là sự trùng lặp của những nỗ lực.
Germán Carrillo

8

Các tài nguyên sau đây cung cấp hướng dẫn chung cho việc học hoặc sử dụng PyQGIS và thường giả định mức độ thành thạo tối thiểu khi làm việc với Python.


Phiên bản QGIS 3.x

  • Tài liệu API PyQGIS 3 : tài liệu chính thức của API Python. Tài liệu cho mỗi bản phát hành chính kể từ phiên bản 3.0 cũng như phiên bản hàng đêm được cung cấp;

  • Sách dạy nấu ăn dành cho nhà phát triển PyQGIS : được viết cho QGIS 2.x, nó dần được cập nhật lên 3.x. Nó vẫn có thể hữu ích như một hướng dẫn và hướng dẫn tham khảo và cung cấp một cái nhìn tổng quan tốt về các chức năng chính.


Phiên bản QGIS 2.x

Tài liệu PyQGIS:

  • PyQGIS Developer Cookbook : giới thiệu chính thức về lập trình PyQGIS. Nó được dự định để làm việc như là một hướng dẫn và hướng dẫn tham khảo và cung cấp một cái nhìn tổng quan tốt về các chức năng chính;

  • Tài liệu API PyQGIS : tài liệu không chính thức về API Python của SourcePole. Nó cung cấp một giao diện có thể tìm kiếm, nhưng không được cập nhật kể từ QGIS 2.8;

  • Tài liệu API QGIS C ++ : tài liệu API C ++ chính thức. Trong khi mô tả API C ++, nó có thể hữu ích cho việc phát triển pyqgis.

Sách trực tuyến:

Hướng dẫn / Blog / Tài nguyên web:

  • Nathan Woodrow : một blog chủ yếu về các công cụ của QGIS cũng xử lý các chủ đề cụ thể về việc sử dụng PyQGIS. Tác giả là một trong những nhà phát triển QGIS tích cực nhất;

  • nyalldawson.net : một blog có nhiều bài viết về việc sử dụng PyQGIS. Tác giả là một trong những nhà phát triển QGIS tích cực nhất;

  • "Cách thực hiện" trong QGIS : trang web cung cấp một số đề xuất để giải quyết vấn đề bằng PyQGIS. Khi có thể, những lời khuyên này được cung cấp thông qua các mẫu mã đơn giản. Tôi là tác giả của blog này;

  • Hướng dẫn và Mẹo của QGIS : một phần của blog này cung cấp một loạt các hướng dẫn để học tập kịch bản PyQGIS. Tác giả là một chuyên gia về GIS rất có kinh nghiệm;

  • Lutra Consulting : một danh sách các bài đăng, có thẻ PyQGIS, bao gồm một số chủ đề về PyQGIS.


2
Có ai cập nhật ở đây không? Tôi tin rằng QGIS3 sắp phát hành.
MartinT

Có ai tình cờ có ý tưởng không, khi / nếu bất kỳ cuốn sách nào được đề cập ở trên (2.x) có thể được cập nhật lên 3.x?
Ville Koivisto

Tiêu đề của Sherman đã được cập nhật cho PyQGIS3 (Hướng dẫn của lập trình viên PyQGIS: Mở rộng QGIS 3 bằng Python 3).
Ville Koivisto

0

Không chắc chắn ý của bạn trong việc vào API Python của QGIS? , nhưng tất nhiên có một hàm addFeatures (). Điều này hoạt động trong 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)

Nếu bạn không hài lòng với các tài liệu API và PyQGIS Cookbook, cơ hội cuối cùng của bạn là xem xét các plugin đang hoạt động - rốt cuộc chúng là nguồn mở - và bạn có thể dễ dàng xem liệu chúng có hoạt động trong 2.4 ...

Để cải thiện tài liệu, dự án vui vẻ chấp nhận các nguồn tài nguyên dưới mọi hình thức.


1
ngay cả layer.addFeature()khi bạn muốn.
Nathan W

Lỗi của tôi. Đó là hàm setAttribution đã gây ra lỗi - Tôi đoán, tôi đã không quá bận tâm sau khi tìm kiếm.
Florian R. Klein

Nhìn vào mã của các plugin hiện có, là cách tôi học pyqgis.
warrieka
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.