Chuyển đổi một dòng thành đa giác


13

Tôi có một shapefile với các khu vực thành phố nhưng tiếc là shapefile chỉ chứa các dòng duy nhất. Các shapefile trông như thế này:

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

Tôi muốn chuyển đổi các dòng đó thành một shapefile khu vực đa giác trong QGIS. Tôi đã thử nó với công cụ "Lines to polygons" (Vector> Geometry Tools> Lines to polygons), nhưng nó không hoạt động chính xác. Sau khi sử dụng công cụ này, shapefile trông như thế này:

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

Có cách nào khác để chuyển đổi shapefile dòng thành shapefile đa giác khu vực trong QGIS không?

Nhân tiện, tôi đang sử dụng QGIS 2.14.3 Essen.


2
Tôi đã nhận được một cái gì đó tương tự lần trước khi tôi sử dụng công cụ đó. Tôi đã có thể có được đa giác bằng cách sử dụng công cụ đa giác.
johns

Thnaks cho câu trả lời của bạn, tôi có thể tìm thấy công cụ đa giác ở đâu?
Đánh dấu trắng

Đa giác có thể được tìm thấy ở đây - Hộp công cụ xử lý, thuật toán địa lý QGIS, công cụ hình học Vector.
klewis

Tôi đã thử nó, nhưng khi tôi chạy đa giác, tôi nhận được một tệp hình dạng trống :-(
Mark White

Bạn có thể tải shapefile lên dropbox hoặc tương tự không?
AndreJ

Câu trả lời:


16

Công Polygonizecụ từ hộp công cụ Xử lý vẫn hoạt động tốt đối với tôi trên các dòng đơn giản:

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

Tuy nhiên, điều cần thiết là các đường giao nhau hoặc chia sẻ các đỉnh chung. Và các dòng không nên tự giao nhau.

Bạn có thể cần phải chụp các đỉnh góc để làm cho nó hoạt động. Tôi thường đặt dung sai chụp thành 10 pixel cho đỉnh.


1
Tôi cũng gặp phải vấn đề tương tự khi chuyển đổi dòng thành đa giác. Công cụ "Đa giác" đã giải quyết vấn đề. gis.stackexchange.com/a/211794/62237
Sjs

7

Chỉ là một gợi ý nếu bạn không thể tìm thấy Polygonizecông cụ. Trong bản cài đặt QGIS 2.18.3 (Windows), tôi không thể tìm thấy Polygonizecông cụ Vector geometry toolstrong Hộp công cụ. Phải mất một thời gian tôi mới nhận ra rằng tôi cần cài đặt python-shapelythư viện với OSGeo4W (cảm ơn Nick Hopton: Polygons hoàn hảo trong QGIS ).


Cảm ơn bạn! Tôi đã bối rối trong một thời gian dài bởi vì ra khỏi hộp QGIS trên Windows có một công cụ đa giác chỉ dành cho các trình quét. Một bước khác có thể hoặc không cần thiết là kích hoạt thuật toán địa lý của QGIS trong phần "Xử lý >> Tùy chọn >> Nhà cung cấp"
matt wilkie

Cảm ơn câu trả lời này. Tôi nghĩ rằng tôi sẽ phát điên khi không tìm thấy nó nữa ...
gisnside

3

Nhìn vào hình ảnh của bạn tôi sẽ cho rằng mỗi dòng không bao gồm đầy đủ một khu vực, các dòng chỉ đóng vai trò là hàng rào và không kết nối lại từ đầu. Đa giác của bạn đang được tạo từ cuối các dòng để công cụ 'dòng đến đa giác' hoạt động tốt, đó là dữ liệu là vấn đề.

Tôi e rằng điều duy nhất bạn có thể làm mà tôi có thể nghĩ đến là số hóa một lớp đa giác mới. Rất may, QGIS đã làm cho điều đó thực sự dễ dàng với công cụ số hóa dấu vết (biểu tượng nam châm) có sẵn trong 2.14


0

Nếu không có lỗ, tôi sẽ tạo một lớp đầu với một đa giác duy nhất đủ lớn để bao phủ toàn bộ khu vực của bạn. Sau đó, tôi sẽ cắt nó với kết quả đường thẳng đến đa giác của bạn và chia nó thêm khi cần thiết.


0

Đã thử nghiệm trên QGIS 2.18 và QGIS 3.4

Tôi có thể đề nghị sử dụng "Virtual Layer"thông qua Layer > Add Layer > Add/Edit Virtual Layer....

Giả sử chúng ta có năm tính năng dòng "lines", xem hình ảnh bên dưới.

Thí dụ

Với Truy vấn sau, có thể đạt được kết quả.

SELECT l.id, l.NAME, MakePolygon(AddPoint(l.geometry,StartPoint(l.geometry)))
FROM lines AS l
GROUP BY l.id

Lớp ảo đầu ra sẽ trông như thế nào

Kết quả_1

Như đã được đề cập bởi @AndreJ, các đường sẽ giao nhau hoặc chia sẻ các đỉnh chung. Và các dòng không nên tự giao nhau. Về mặt làm sạch cấu trúc liên kết của lớp, tôi có thể đề nghị khám phá v.cleanbộ công cụ GRASS.


Trong trường hợp các dòng có tự giao nhau, bạn có thể sử dụng ConvexHull với Truy vấn sau

SELECT l.id, l.NAME, ConvexHull(AddPoint(l.geometry,StartPoint(l.geometry)))
FROM lines AS l
GROUP BY l.id

Vỏ

Đầu ra


Người giới thiệu:


0

Nếu các polylines chồng lên nhau, Polygonizecông cụ không thể xử lý nó như sau:

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

Tuy nhiên, Lines to polygonscông cụ hoạt động như mong đợi như sau:

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.