Đơn giản hóa đa giác để linestring?


16

Tôi muốn đơn giản hóa một số đa giác đại diện cho các dòng sông thành linestrings. Tôi giả định rằng các lỗ trong đa giác có thể được bỏ qua. Bất cứ ai có một số ý tưởng tốt làm thế nào để đơn giản làm điều đó?

Sẽ thật tuyệt, nếu có thể được thực hiện trực tiếp trong postgis hoặc bởi một công cụ nguồn mở khác, nhưng mô tả thuật toán ngắn gọn là đủ.

Câu trả lời:


13

Những gì bạn cần được gọi là "thuật toán bộ xương".

Hãy xem bài viết này:

Haunert, J.-H., Sester, M., Jun. 2008. Sự sụp đổ khu vực và đường tâm dựa trên bộ xương thẳng. GeoInformatica 12 (2), 169-191. URL http://dx.doi.org/10.1007/s10707-007-0028-x

Một số thuật toán được phát triển trong thư viện CGAL .


Không liên kết nào hoạt động nữa, Julien: bạn có nghĩ rằng bạn có thể cung cấp một bản tóm tắt các thuật toán hoặc ít nhất là các tài liệu tham khảo chính thức để cho phép mọi người tra cứu các bài báo không?
whuber

Vâng, tôi đã cập nhật câu trả lời với một tài liệu tham khảo thích hợp cho một bài viết gần đây hơn.
julien

2
Cảm ơn bạn! (Không thể thêm một upvote nào khác - Tôi chỉ có một để cung cấp. :-)
whuber



1

Cũng như một cảnh báo, tôi chưa bao giờ thử điều này trước đây. Thành công của bạn sẽ phụ thuộc vào chất lượng dữ liệu bạn hiện có.

Vì vậy, hãy nghĩ về đa giác như một dải hình tam giác. Mỗi tam giác kết nối với một đỉnh ở phía đối diện của hành lang với một cạnh. Bây giờ, đối với mỗi cạnh trong hành lang, chỉ cần đặt một cú đánh bên phải ở giữa. Những đỉnh mới này là điểm của dòng dõi của bạn. Bạn có thể thích thú với cách bạn chọn điểm giữa trên cạnh để có độ chính xác cao hơn.


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.