Tổng quát hóa tập tin đa giác trong khi duy trì cấu trúc liên kết trong QGIS?


35

Tôi có một Shapefile đa giác, mà tôi cần khái quát. Làm cách nào tôi có thể khái quát các poligons và đảm bảo rằng không có lỗi tôpô như "slivers".

Tôi đã thử:

  1. Vector -> Công cụ hình học -> đa giác thành dòng
  2. Vector -> Công cụ hình học -> hình học đơn giản ... ở đây tôi có thể thấy trên màn hình, rằng tôi đang tạo ra sự chồng chéo và khoảng trống tuy nhiên bây giờ tôi thử
  3. Vector -> Công cụ hình học -> đường đến đa giác

và ở đây chương trình hiển thị một lỗi và sự cố

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


Có bất kỳ tin tức về vấn đề này?
Oystein

thật không may: không
Kurt

Câu trả lời:


16

GRASS là nhận thức cấu trúc liên kết. Bạn có thể sử dụng v.generalize từ hộp công cụ Xử lý để đơn giản hóa các đa giác và nếu dữ liệu đầu vào là chính xác về mặt cấu trúc thì đầu ra cũng vậy.

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


sử dụng trình cài đặt windows Tôi gặp lỗi (thiếu phụ thuộc), khi tôi cố chạy v.generalize. Có cần một cấu hình đặc biệt?
Kurt

@Kurt: Trình cài đặt độc lập? Không chắc chắn bao gồm phiên bản GRASS. Trong Cài đặt xử lý, bạn có thể chỉ định nếu GRASS 6.x hoặc 7.x và nơi nó được cài đặt. Cố gắng điều chỉnh các cấu hình này để thiết lập của bạn.
underdark

vâng, tôi sử dụng trình cài đặt stanopol. Theo lời khuyên của bạn, tôi đã hủy kích hoạt cỏ 7 thông qua các tùy chọn xử lý và định cấu hình đường dẫn đến qrass 6 một cách chính xác. con đường này không chính xác, còn sót lại từ một qgis cũ. Bây giờ tôi có thể chạy v.generalize, nhưng cuối cùng tôi gặp một lỗi mới: Lớp đầu ra không thể mở được và cuối cùng thông báo nói rằng cỏ dường như được cài đặt và cấu hình chính xác. bạn có thể vui lòng cho tôi bất kỳ đề nghị hoặc gợi ý?
Kurt

Thông thường lỗi này có nghĩa là việc xử lý địa lý thất bại ở một số giai đoạn. Bạn phải kiểm tra nhật ký được tạo trong khi các công cụ chạy để xem lỗi xảy ra ở đâu.
underdark

7

Đây có thể được xem là sơ bộ cho câu trả lời của @ Underdark, theo đó bạn có thể làm sạch cấu trúc liên kết của lớp vectơ trước khi khái quát hóa. GRASS có chức năng v.clean chứa một số công cụ để sửa chữa lớp, chẳng hạn như:

  • snap các dòng 'snaps' đến đỉnh gần nhất
  • rmdangle mà loại bỏ bất kỳ nguy hiểm gây phiền nhiễu
  • rmdupl loại bỏ các tính năng hình học trùng lặp

và nhiều thứ khác được hiển thị trong hình dưới đây:

v.

Bạn cũng có thể đặt ngưỡng tùy thuộc vào mức độ nhạy cảm mà bạn muốn các công cụ chạy. Cá nhân, tôi có xu hướng sử dụng tính năng Kiểm tra hình học hiệu lực trong QGIS ( Vector > Công cụ hình học > Kiểm tra tính hợp lệ của hình học ) để kiểm tra xem có lỗi nào không và nếu có tồn tại, hãy sử dụng công cụ thích hợp trong v.clean . Khi các lỗi được loại bỏ, bạn nên ở một vị trí tốt hơn để khái quát.

Hi vọng điêu nay co ich!


3
Và nếu việc giảm đỉnh đơn giản là đủ, v.generalize là không cần thiết, vì công cụ cắt tỉa có thể làm điều đó.
Gabor Farkas

cảm ơn bạn đã sơ bộ cho câu trả lời của @ Underdark, trong đó có các thông tin có giá trị. mặc dù tôi đã không nói một cách rõ ràng, tất nhiên tệp đa giác, mà tôi muốn khái quát hóa, là sạch về mặt tôpô [vì; rác - hết rác :-)]
Kurt

@Kurt, điều đó có ý nghĩa :)
Joseph

2

Bạn đã thử sử dụng MapShaper chưa? Tôi đã thấy đây là một cách tốt để khái quát các đa giác; cũng có phiên bản ngoại tuyến nếu bạn muốn tải xuống mã.

Một giải pháp thay thế có thể được chuyển đổi thành GeoJson và sau đó là TopoJson hỗ trợ "đơn giản hóa hình dạng bảo tồn cấu trúc liên kết" https://github.com/mbostock/topojson


Đã dùng thử Mapshaper, nó thực sự là một công cụ tuyệt vời
Kurt

1
thêm một bình luận: Như tiêu đề nói: Tôi đang tìm kiếm một giải pháp với qgis. Mapshaper imho nó không bảo tồn cấu trúc liên kết (Chứng minh cho chính bạn bằng cách khái quát hóa rất mạnh mẽ!). Topojson: đây là một loạt các javascript-sourcecode, imho chỉ hữu ích cho các lập trình viên
Kurt

Rất tiếc, đã bỏ lỡ khía cạnh duy nhất của QGIS. QGIS không xử lý Geojson mặc dù; Tôi tự hỏi liệu có hợp lý khi làm việc trong chức năng đơn giản hóa topojson thành một plugin QGIS để làm cho nó không thể truy cập được đối với những người không lập trình
djq

Tôi tiếp tục dòng ngoài chủ đề: OpenJUMP có một công cụ "Đơn giản hóa phạm vi đa giác" cho mục đích này.
dùng49584

0

Tôi vừa thực hiện một thử nghiệm nhanh và công cụ "Đơn giản hóa hình học" trong menu Vector dường như tôn trọng cấu trúc liên kết. Tôi đã thử và không có "Bật chỉnh sửa cấu trúc liên kết" được chọn trong Tùy chọn chụp. Bạn đã thử chưa?

EDIT: Điều này đã được thực hiện trực tiếp trên tệp đa giác - tại sao bạn lại chuyển đổi thành dòng đầu tiên?


Xin chào Darren, cảm ơn vì gợi ý tôi sẽ thử nó với chỉnh sửa tô pô
Kurt

1
Xin chào Darren, imho nó không tôn trọng cấu trúc liên kết. không có sự khác biệt với "kích hoạt chỉnh sửa tô pô". Tôi cho rằng, điều này là do việc tạo ra tổng quát tạo ra một lớp mới , trong khi "kích hoạt chỉnh sửa tô pô" dường như chỉ hoạt động với các lớp đã chọn - đã chọn. Bạn có thể vui lòng thực hiện kiểm tra rất mạnh mẽ và kiểm tra lại, nếu bạn có một cấu trúc liên kết chính xác bây giờ? cảm ơn
Kurt

1
Kurt; Hấp dẫn. Có vẻ như bạn đúng khi bạn thực hiện khái quát hóa mạnh mẽ! Lấy làm tiếc!
Darren đối thủ

1
Hộp kiểm này đã biến mất trong QGIS 2.2 (có lẽ sớm hơn) trong trường hợp bất kỳ ai cũng sẽ tìm kiếm.
lynxlynxlynx

0

Có một cuộc thảo luận tương tự ở đây , câu trả lời cuối cùng của tôi là SAGA thực hiện công việc cho bạn.


Theo câu trả lời của bạn trong cuộc thảo luận đó, có vẻ như SAGA không bảo tồn cấu trúc liên kết. Ít nhất là không còn nữa.
Oystein
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.