Tạo một lớp thời gian từ một lựa chọn trong QGIS


11

Tôi muốn tạo một lớp tempory từ một lớp hiện có và chỉ nhận các tính năng đó từ lớp hiện có, được chọn. Tôi biết rằng ArcGIS có chức năng này mà bạn có thể tạo một lớp từ các tính năng được chọn.

Tuy nhiên, tôi không thể tìm thấy bất kỳ giải pháp làm việc nào cho việc này trong QGIS. Tôi biết câu hỏi này mô tả, làm thế nào để lưu lựa chọn vào một tệp mới không phải là mục tiêu của tôi ở đây.

Kiểm tra menu ngữ cảnh cho "lưu dưới dạng ..." không mang lại bất kỳ kết quả nào. Trong phần plugin có từ tìm kiếm "lựa chọn" cũng không cho kết quả có ý nghĩa.

Trong khi thử xung quanh tôi đã đưa ra một giải pháp với pyqgis nhưng tôi thích một giải pháp không liên quan đến mã hóa vì tôi cần trình bày điều này với đồng nghiệp.

* cách pyqgis :

layer = iface.activeLayer() # layer which has a selection 
feat = layer.selectedFeatures()
fields = layer.fields()

selection = QgsVectorLayer('Point', 'temp', 'memory')

dp = selection.dataProvider()
dp.addAttributes(fields)
dp.addFeatures(feat)

selection.commitChanges()
selection.updateExtents()

QgsMapLayerRegistry.instance().addMapLayer(selection)

Câu trả lời:


16

Tôi nghĩ có ít nhất hai phương pháp:

  • Chọn các tính năng của bạn và chạy công cụ Lưu tính năng đã chọn từ Hộp công cụ xử lý .

  • Như được mô tả trong câu trả lời này cho một câu hỏi liên quan :

    1. Chọn tính năng của bạn
    2. Sao chép chúng bằng Ctrl+ Choặc từ thanh thực đơn ( Edit > Copy Features)
    3. Dán các tính năng như một lớp cào tạm thời ( Edit > Paste Features as > Temporary Scratch Layer).

@LaughU - Chào mừng bạn nhất! Vui mừng vì nó đã giúp :)
Joseph
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.