Làm mịn / tổng quát hóa đa giác trong QGIS?


38

Có thể làm mịn hoặc khái quát hóa một đa giác trong QGIS, có lẽ bằng cách sử dụng một plugin như plugin tổng quát hóa cho các dòng?

Tôi có thể chuyển đổi đa giác của mình thành các dòng, làm mịn chúng và chuyển đổi chúng trở lại thành đa giác nhưng điều này không hoạt động cho đa giác của tôi vì một số lý do.

Câu trả lời:


27

bạn có thể dùng:

Vector menu -> Geometry tools -> Simplify Geometries

.

simp

Bên cạnh đó, bạn cũng có thể sử dụng thuật toán Douglas-Peucker trong postgis, vì vậy bạn có thể sử dụng trong postgis sau đó thêm lớp postgis vào qgis. bạn có thể tìm thấy một số thông tin ở đây về Đơn giản hóa: Giảm trọng lượng của hình học.

SELECT simplify(the_geom,500) as simpgeom 
    FROM neighborhoods

đơn giản


4
Điều đó đơn giản hóa các dòng, làm cho chúng lởm chởm hơn. Có cách nào để làm mịn chúng (mà tôi đoán sẽ phải nội suy một số điểm)?
Tàu Nate

Đơn giản hóa chỉ cần loại bỏ các đỉnh khỏi đường hoặc đa giác, mà vẫn có thể để lại các đường răng cưa. Bạn muốn cắm Generalizer nếu bạn muốn các đường được làm mịn.
MicheleTobias

1
Để biết thêm thông tin, công cụ này đã được chuyển trong QGIS 2.16 sang hộp công cụ Xử lý / thuật toán địa lý của QGIS / Công cụ hình học vectơ / Đơn giản hóa hình học
gisnside

20

Câu trả lời của Aragon là tốt cho việc khái quát hóa. Câu trả lời của Bryan là tốt cho việc làm mịn nhưng hơi phức tạp. Đây là hai lựa chọn để làm mịn:

  • Sử dụng v.generalizercông cụ GRASS từ hộp công cụ Xử lý. Đây là mô-đun mà Trình cắm tổng quát của QGIS trong câu trả lời của Bryan được xây dựng. Công cụ GRASS cho phép bạn sử dụng đa giác để bạn có thể tránh các bước chuyển đổi thành dòng và quay lại. Nó là một công cụ tuyệt vời với rất nhiều thuật toán để làm mịn / khái quát hóa.
  • Sử dụng phương pháp tiếp cận bộ đệm-bộ đệm của trường học cũ. Đơn giản chỉ cần đệm đa giác của bạn theo một lượng thích hợp (cuộc gọi của bạn tùy thuộc vào bản chất của dữ liệu và mức độ làm mịn bạn yêu cầu). Sau đó khử bộ đệm bằng cách áp dụng cùng một giá trị cho khoảng cách bộ đệm nhưng làm cho nó âm tính lần này. Nếu bạn hòa tan bộ đệm lần đầu tiên, bạn thường có thể đồng thời loại bỏ các khoảng trống nhỏ hoặc lỗ bánh rán nếu cần (mặc dù điều này không phải lúc nào cũng mong muốn vì vậy hãy cân nhắc cẩn thận trước khi chọn giải thể).

Làm mịn thường có nghĩa là bổ sung các đỉnh (đặc biệt là với phương pháp bộ đệm-bộ đệm). Sau khi làm mịn, bạn có thể áp dụng khái quát hóa theo câu trả lời của Aragon.


1
Trình diễn tuyệt vời về cách tiếp cận bộ đệm /
giải nén

Ý tưởng tuyệt vời Tôi đã sử dụng cả hai cách tiếp cận, Ramer (đường kẻ) và dựa trên khu vực, phương pháp thứ hai cho một số polys mượt mà hơn, nhưng vẫn trông giống như dây thép gai. Hy vọng phương pháp này hoạt động tốt hơn.
culebrón

16

Tôi cũng đã có may mắn khi sử dụng plugin QGIS Generalizer (bật các plugin thử nghiệm), sau đó:

Vector > Geometry Tools > Polygons to lines

Sau đó, sử dụng plugin Generalizer để làm mịn các đường và đỉnh

Plugins > Generalizer > Generalizer
Algorithm: "Chaiken's Algorithm"

Sau đó biến các dòng trở lại thành một đa giác

Vector > Geometry Tools > Polygons to lines

Điều này làm một công việc tốt hơn thực sự làm mịn các đường và làm tròn các góc. Có một chút khó khăn khi phải chuyển đổi qua lại giữa các dòng và polys, nhưng nó hoạt động. Tôi biết rằng cũng có cách để thực hiện việc này thông qua Grass, nhưng tôi thấy chúng khó cài đặt.


Đây là một cách tiếp cận hữu ích: tuy nhiên, tôi có lỗ hổng trong đa giác của mình và tôi không thể tạo lại chúng bằng công cụ
đường-

6

Bây giờ nó có sẵn các Smooth geometrythuật toán thông qua Processing Toolbox > QGIS geoalgorithms > Vector Geometry Tools.

  1. Lấy các đối tượng hình học lởm chởmnhập mô tả hình ảnh ở đây
  2. Đặt tùy chọn (Tôi đã thay đổi Iterationstrường thành 5và hài lòng với kết quả)nhập mô tả hình ảnh ở đây
  3. Lấy đối tượng làm mịn nhập mô tả hình ảnh ở đây

"Thuật toán hình học trơn tru" vẫn là một lựa chọn hợp lệ? Vì tôi không nhận được kết quả mong muốn bằng các thuật toán khác, tôi đã tìm kiếm thuật toán này trong quá trình cài đặt QGIS 2.14 nhưng không thể tìm thấy nó. Sau đó tôi đã cài đặt QGIS 2.18.16 nhưng vẫn có thể tìm thấy thuật toán này trong thanh công cụ xử lý. Tôi đánh giá cao bất kỳ trợ giúp trong việc tìm kiếm hoặc cài đặt nó.
Taya

1
Ok, Giải pháp cho vấn đề của riêng tôi được tìm thấy sau khi khởi động lại hệ thống. Đã xảy ra sự cố với plugin xử lý ngay sau khi cài đặt mới QGIS 2.18 hoàn tất. Khởi động lại hệ thống và QGIS đã sửa lỗi này và tôi có thể thấy "Thuật toán hình học mượt mà" bên trong hộp công cụ xử lý.
Taya

Tôi nên kiểm tra gisSE thường xuyên hơn :) Tôi rất vui vì bạn đã tìm thấy giải pháp
Mykola Kozyr

Tôi nghĩ rằng bạn đang thiếu một bước ... Tôi có phiên bản tiếng Pháp cho cài đặt QGIS của tôi vì vậy tôi không thể tự thêm bước này nhưng ở đâu đó dọc theo dòng tôi phải chọn "lisser".
dùng3386170

2

Nhấp chuột phải vào bảng chính (trên cùng) sau đó kích hoạt "hộp công cụ" -> xem như bạn có thể thấy trên pic bên dưới nhập mô tả hình ảnh ở đây

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.