Tôi đang cố gắng lập trình lại một số tập lệnh từ ArcPy sang QGIS (1.8 hoặc 2.0) và có một số chức năng đơn giản mà tôi muốn có thể làm lại nhưng không may là tài liệu trong QGIS thiếu ở một số khu vực nhất định.
Cụ thể là ba điều quan trọng nhất đối với tôi là:
Thêm trường - Thêm trường
arcpy.AddField_management(Feature, "ID", "SHORT")
Tính toán quản lý trường - Cập nhật trường đó
arcpy.CalculateField_management(Feature,"ID","!FID!")
Cập nhật / Xóa hàng - Cập nhật / Xóa hàng dựa trên điều kiện (không sao chép shapefile)
keep = ["Bob","Janet","John","Mike"]
Counter = 0
rows = arcpy.UpdateCursor(Feature)
for row in rows:
if row.Name in keep:
row.ID = Counter
rows.updateRow(row)
else:
rows.deleteRow(row)
Counter += 1
Bây giờ tôi có thể lặp lại qua từng tính năng trong QGIS bằng SEXTANTE và có được hình dạng của nó mà tôi có thể viết lại thành một shapefile mới và từ đó cập nhật / xóa một hàng hoặc trường. Bắt đầu với thứ gì đó dọc theo ...
layer = st.getobject(Polygon)
features = st.getfeatures(layer)
for f in features:
f.geometry().asPolygon()
nhưng tôi không thể tìm thấy một giải pháp đơn giản cho các chức năng được đề cập ở trên?