Đơn giản hóa hình học (khái quát hóa)


22

Các cách được đề nghị để đơn giản hóa hình học là gì? Ghi nhớ các dự báo, và đơn giản hóa hình học nhà nước chẳng hạn.

Tôi đã nghe nói về việc chuyển đổi sang phép chiếu 'đẳng thức' cho phép đơn giản hóa mà không bị biến dạng, sau đó chuyển đổi trở lại phép chiếu đã chọn.


4
Tôi không chắc chắn nhưng "khái quát hóa" có thể là một thẻ mô tả nhiều hơn cho điều này. Đơn giản hóa, ít nhất là trong bối cảnh ArcGIS, là một phương pháp để đảm bảo tính chính xác của cấu trúc liên kết. Wikipedia cho biết đơn giản hóa là một phần của Tổng quát hóa bản đồ. vi.wikipedia.org/wiki/Cartographic_generalization
Kirk Kuykendall

Gợi ý tuyệt vời @Kirk
John Weldon

Câu trả lời:


11

Như glennon đã đề cập, thuật toán tiêu chuẩn để thực hiện điều này là Douglas-Peucker , đây là thuật toán mặc định được sử dụng trong phần mềm như PostGIS (tức là GEOS) thông qua St_Simplify, ArcGIS qua Generalizevà GRASS qua v.generalize. Bài viết Wikipedia cũng liên kết đến một triển khai Python .

GRASS hỗ trợ một số thuật toán khác nhau, như được giải thích trong trang trợ giúp cho v.generalize .

Về vấn đề chiếu, tôi nghĩ trong trường hợp này đó là cá trích đỏ có thể bỏ qua. Vấn đề duy nhất nảy ra trong đầu là khả năng tăng cường các đường để ngăn chặn chúng bị quá tải.



3

Nếu bằng cách "đơn giản hóa", bạn có nghĩa là giảm số điểm đơn giản, hãy sử dụng thuật toán lọc cơ bản, như bộ lọc peucker của Doulass. Một liên kết hữu ích cho điều đó: http://mapshaper.org/

Nếu bằng cách "đơn giản hóa", bạn có nghĩa là có được hình dạng đơn giản hơn, thuật toán lọc không phải lúc nào cũng phù hợp. Các thuật toán khái quát hóa nâng cao hơn nên được sử dụng. Một số tài liệu về các thuật toán như vậy có thể được tìm thấy ở đó: http://generalisation.icaci.org/ , với một số ví dụ về kết quả: http://generalisation.icaci.org/index.php/results . Chỉ có một vài trong số các thuật toán này được triển khai trong các phần mềm GIS thương mại phổ biến. Một số có thể được truy cập bằng cách sử dụng này: http://webgen.geo.uzh.ch/


các trang web aci.ign.fr không thể truy cập. Bạn có biết nơi chúng ta có thể tìm thấy các ví dụ về "thuật toán tổng quát hóa nâng cao" mà bạn đang đề cập không?
radouxju

Url đã thay đổi, kiểm tra: generalisation.icaci.org
julien 23/12/13

2

Nếu bạn đơn giản hóa hình học do những hạn chế về sức mạnh xử lý của máy tính, bạn có thể muốn xem xét việc tạo ra các mipmap với mặt nạ alpha liên quan cho mỗi hình học ở các cấp độ khác nhau.


Rất thú vị, bạn sẽ sẵn sàng để xây dựng?
John Weldon

Chà, để làm điều này, bạn sẽ cần phải rasterize từng hình dạng vector thành một bitmap cho mỗi cấp độ mà bạn cho phép người dùng phóng to và thu nhỏ trên bản đồ. Sau đó, thay vì vẽ hình học vector cho từng cấp độ nhiều lần, bạn sẽ chỉ hiển thị bitmap thay thế. Vì vậy, việc tính toán rasterizing hình học (rất tốn kém nếu bạn có một tấn đỉnh) được thực hiện trước thay vì mỗi lần người dùng thực hiện một hành động. Mặt nạ alpha đi vào hình ảnh khi bạn vẽ bitmap - nó được sử dụng để chỉ hình dạng được vẽ.
Jon Bringhurst

1

Đây là một chủ đề khó, vì bạn phải tính đến một số loại độ phân giải của tập dữ liệu của bạn. Khi nào một đỉnh hình học bằng với một đỉnh khác? Tôi chưa bao giờ nghe nói về chuyển đổi và chuyển đổi lại, mặc dù nó sẽ là một thử nghiệm thú vị.

Hình học đơn giản, theo OGC, hình học không tự giao nhau, và trong trường hợp đa giác, hình học được định hướng chính xác, cho (các) vỏ ngoài và vỏ bên trong và sau đó.

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.