Chia đa giác với lưới đường trong QGIS?


8

Tôi có một lớp vectơ đa giác và một lớp vectơ dòng ở dạng lưới (cả hai đều ở định dạng .shp). Tôi cần phải chia đa giác bằng các dòng này.

Tôi đã thử các công cụ số hóa nhưng vấn đề là nó chỉ xử lý 1 dòng một lần và tôi có hơn 52.000 dòng. Sẽ mất một thời gian dài nực cười để phân chia nó bằng tay. Làm thế nào nó có thể được thực hiện cho tất cả các dòng?

Tôi có QGIS 2.18.


Chỉ cần lưu ý những câu hỏi liên quan rất chặt chẽ này có thể giúp ích: Chia dòng theo đa giác trong QGIS 2.4 ; và Làm thế nào để phân chia Đa giác theo lưới dòng?
Joseph

Câu trả lời:


9

Tôi có thể làm như sau:

  1. Chạy công cụ Lines to polygons :

    Vector > Geometry Tools > Lines to polygons
    

    Hoặc Polygonize công cụ (theo đề nghị của @GaborFarkas ):

    Processing Toolbox > QGIS Geoalgorithms > Vector geometry tools > Polygonize
    

  1. Chạy công cụ Clip bằng cách sử dụng đầu ra từ Bước 1 làm lớp Đầu vào và lớp đa giác của bạn làm lớp Clip :

    Vector > Geoprocessing Tools > Clip
    

2
Công Lines to polygonscụ chỉ chuyển đổi các loại hình học xung quanh (hình dạng của tính năng trở thành vòng ngoài của poly kết quả). Do đó, nó chỉ hoạt động nếu mọi tính năng trong lớp dòng tạo thành một ô lưới. Nếu chúng chỉ là các đường thẳng đứng và nằm ngang giao nhau, Polygonizecông cụ là công cụ phù hợp cho công việc.
Gabor Farkas

@GaborFarkas - Quả thực bạn đúng! Tôi giả sử các dòng gần để tạo thành một ô lưới dường như được đề xuất bởi OP :). Nhưng Polygonizenhiều hơn nếu một giải pháp toàn diện vì vậy cảm ơn đã đề cập!
Joseph

1
Cảm ơn cả hai vrey nhiều, Joseph và @Gabor Farkas, nó đã làm việc. Trong lưới của tôi, mọi tính năng tạo thành một ô nên các dòng trong đa giác đã làm điều đó một cách hoàn hảo. . :)
NecroSith

@NecroSith - Rất hoan nghênh, rất vui vì nó đã hoạt động =)
Joseph

1

Sau các dòng và đa giác hóa như @GaborFarkus gợi ý chạy saga hoặc tách riêng với các dòng. Các đường cần phải được đóng hình dạng. Có thể dễ dàng tạo lưới bằng 'tạo lưới'. Sau đó chạy sagas chuyển đổi điểm thành các dòng bằng cách sử dụng trái / trái trước rồi đến tùy chọn trên / trên. Hợp nhất hai lớp dòng đó. Sau đó chạy đa giác trên các dòng hợp nhất. Sau đó chạy đa giác để dòng trên đó. Điều này sẽ làm cho các dòng ô kín mà bạn có thể phân chia.

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.